Python機(jī)器學(xué)習(xí)項(xiàng)目化教程(微課視頻版)課件 第16章 深度學(xué)習(xí)垃圾郵件分類_第1頁(yè)
Python機(jī)器學(xué)習(xí)項(xiàng)目化教程(微課視頻版)課件 第16章 深度學(xué)習(xí)垃圾郵件分類_第2頁(yè)
Python機(jī)器學(xué)習(xí)項(xiàng)目化教程(微課視頻版)課件 第16章 深度學(xué)習(xí)垃圾郵件分類_第3頁(yè)
Python機(jī)器學(xué)習(xí)項(xiàng)目化教程(微課視頻版)課件 第16章 深度學(xué)習(xí)垃圾郵件分類_第4頁(yè)
Python機(jī)器學(xué)習(xí)項(xiàng)目化教程(微課視頻版)課件 第16章 深度學(xué)習(xí)垃圾郵件分類_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第16章綜合案例分析:垃圾郵件分類目錄CONTENTS16.1文本預(yù)處理16.2中文垃圾郵件分類算法及實(shí)現(xiàn)16.3本章小結(jié)16.1文本預(yù)處理學(xué)習(xí)基礎(chǔ)學(xué)習(xí)認(rèn)知能力信息素養(yǎng)高為了將該問(wèn)題轉(zhuǎn)換為分類問(wèn)題,需要處理這些文本信息,將其轉(zhuǎn)化為分類問(wèn)題所要求的特征空間和標(biāo)簽空間,從而選擇合適的機(jī)器學(xué)習(xí)方法進(jìn)行參數(shù)學(xué)習(xí),然后對(duì)郵件進(jìn)行分類。中文文本經(jīng)過(guò)分詞之后,仍然是非結(jié)構(gòu)化的,為方便計(jì)算機(jī)處理,必須轉(zhuǎn)換為機(jī)器可識(shí)別的格式,同時(shí)盡可能保留文本的原有語(yǔ)義信息,就需要進(jìn)行文本表示。0102中文分詞(ChineseWordSegmentation)是處理中文自然語(yǔ)言問(wèn)題的第一步工作,它指的是將一個(gè)漢字序列切分成一個(gè)個(gè)單獨(dú)的詞。16.1文本預(yù)處理中文分詞1.基于規(guī)則的分詞基于規(guī)則的分詞方法也稱為機(jī)械分詞方法,主要借助于詞典工具,將語(yǔ)句中的每個(gè)字符串與詞典中的詞進(jìn)行逐一匹配,找到則切分,否則不切分。常用的幾種機(jī)械分詞方法如下: 正向最大匹配法。 逆向最大匹配法。 雙向最大匹配法。16.1文本預(yù)處理16.1.1非參數(shù)估計(jì)與參數(shù)估計(jì)defcut_words(self,text):dic=['計(jì)算機(jī)','程序','設(shè)計(jì)','藝術(shù)']whiletext_length>start_i:forword_lengthinrange(self.words_size+start_i,start_i,-1):word=text[start_i:word_length]ifwordindic:start_i=word_length-1breakstart_i=start_i+1result.append(word)returnresult16.1文本預(yù)處理(2)逆向最大匹配defcut_words(self,text):size=self.word_sizewhilecobegin<coend:whilesize>0:seg_word=text[coend-size:coend]ifseg_wordinself.dic:coend-=sizeout.append(seg_word)size=self.word_sizebreakelse:#匹配失敗

size-=116.1文本預(yù)處理(3)雙向最大匹配雙向最大匹配算法的原理就是結(jié)合正向最大匹配算法和逆向最大匹配算法的分詞結(jié)果,選擇正確的分詞方式。選擇的原則是:: 在兩個(gè)分詞結(jié)果中,如果切分后詞的數(shù)量不同,則選擇數(shù)量較少的那個(gè)作為分詞結(jié)果。 分詞后,如果詞的數(shù)量相同,則分為兩種情況來(lái)處理:若分詞結(jié)果相同,則返回任意一個(gè)。若分詞結(jié)果不同,則返回分詞為單字的數(shù)量較少的那個(gè);若詞為單字的數(shù)量也相同,則任意返回一個(gè)。16.1文本預(yù)處理2.基于統(tǒng)計(jì)的分詞方法(1)建立統(tǒng)計(jì)語(yǔ)言模型目前主要采用n元語(yǔ)言模型(n-gram),這種模型結(jié)構(gòu)簡(jiǎn)單、直接,但同時(shí)也因?yàn)閿?shù)據(jù)缺乏而必須采取平滑算法。由長(zhǎng)度為n個(gè)詞構(gòu)成句子s的概率為:16.1文本預(yù)處理下面通過(guò)一個(gè)簡(jiǎn)單的例子說(shuō)明HMM模型的訓(xùn)練過(guò)程。16.1文本預(yù)處理狀態(tài)轉(zhuǎn)移概率矩陣A:觀測(cè)轉(zhuǎn)移矩陣B:16.1文本預(yù)處理(2)利用維特比算法求解狀態(tài)序列時(shí)刻t狀態(tài)為i的所有單個(gè)路徑中概率最大值為,其公式表示為:16.1文本預(yù)處理3.目前的分詞系統(tǒng)與語(yǔ)料庫(kù)Jieba有3種分詞方式:精確模式、全模式、搜索模式。importjiebas='人工智能實(shí)驗(yàn)室總監(jiān)'s_list=jieba.cut(s,cut_all=False)print('精確模式:','/'.join(s_list))s_list=jieba.cut(s,cut_all=True)print('全模式:','/'.join(s_list))s_list=jieba.cut_for_search(s)print('搜索模式:','/'.join(s_list))精確模式:人工智能/實(shí)驗(yàn)室/總監(jiān)全模式:人工/人工智能/智能/實(shí)驗(yàn)/實(shí)驗(yàn)室/總監(jiān)搜索模式:人工/智能/人工智能/實(shí)驗(yàn)/實(shí)驗(yàn)室/總監(jiān)16.1文本預(yù)處理2.向量空間模型TF-IDF(termfrequent-inversedocumentfrequency,詞頻-逆文檔頻率)表示每個(gè)詞語(yǔ)(特征)在文本中的權(quán)重,其中詞頻通過(guò)用一個(gè)詞在一篇文檔中出現(xiàn)的次數(shù)來(lái)表示該詞的重要性,IDF用一個(gè)詞在多少個(gè)文檔中出現(xiàn)來(lái)表示該詞在文檔中的區(qū)分度。16.1文本預(yù)處理3.概率模型pLSA(ProbabilisticLatentSemanticAnalysis,淺層概率語(yǔ)義分析)、LDA(LatentDirichletAllocation,隱含狄利克雷分布)等語(yǔ)義模型來(lái)實(shí)現(xiàn)。pLSA和LDA是通過(guò)概率手段計(jì)算潛在主題與word、document之間的關(guān)系,這種方法也稱為主題模型,其核心公式為:16.2中文垃圾郵件分類算法及實(shí)現(xiàn)1.讀取數(shù)據(jù)正常郵件保存在ham_data.txt文件中,垃圾郵件保存在spam_data.txt文件中。frame1=pd.DataFrame(ham_txt)frame2=pd.DataFrame(spam_txt)frame1.insert(1,'class',np.ones(len(ham_txt)))frame2.insert(1,'class',np.zeros(len(spam_txt)))frame=pd.concat([frame1,frame2])frame.head()16.2中文垃圾郵件分類算法及實(shí)現(xiàn)2.郵件文本數(shù)據(jù)的可視化在對(duì)郵件進(jìn)行分類之前,我們可以通過(guò)對(duì)分詞后的兩類文本數(shù)據(jù)進(jìn)行詞云展示,觀察它們的差異情況。ham_txt_processed=remove_stopwords(ham_txt)#去除正常郵件中的停用詞

spam_txt_processed=remove_stopwords(spam_txt)#去除垃圾郵件中的停用詞

show_wordcloud("".join(ham_txt_processed))#正常郵件的詞云顯示show_wordcloud("".join(spam_txt_processed))#垃圾郵件的詞云顯示16.2中文垃圾郵件分類算法及實(shí)現(xiàn)3.貝葉斯模型訓(xùn)練在建立貝葉斯模型對(duì)郵件數(shù)據(jù)訓(xùn)練之前,需要先對(duì)數(shù)據(jù)樣本進(jìn)行劃分,我們利用train_test_split()函數(shù)將數(shù)據(jù)按8:2劃分為訓(xùn)練集和測(cè)試集,即80%為訓(xùn)練集,20%為測(cè)試集。train,test,train_label,test_label=train_test_split(frame.text,frame.label,test_size=0.2)CV=CountVectorizer()TF=TfidfTransformer()train_tfidf=TF.fit_transform(CV.fit_transform(train))16.2中文垃圾郵件分類算法及實(shí)現(xiàn)4.貝葉斯模型測(cè)試與評(píng)估。test_tfidf=TF.transform(CV.transform(test))pre=model_gaussian.predict(test_tfidf.toarray())print(metrics.classification_report(test_label,pre))16.2中文垃圾郵件分類算法及實(shí)現(xiàn)svm=SVC(kernel='linear',C=0.5,random_state=0)model_svc=svm.fit(train_tfidf,trainlabel)pre2=model_svc.predict(test_tfidf.toarray())print(metrics.classification_report(testlabel,pre2))16.2中文垃圾郵件分類算法及實(shí)現(xiàn)16.2中文垃圾郵件分類算法及實(shí)現(xiàn)16.2中文垃圾郵件分類算法及實(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論