自然語言及語音處理項(xiàng)目式教程 實(shí)訓(xùn)指導(dǎo) 實(shí)訓(xùn)11 垃圾短信分類_第1頁
自然語言及語音處理項(xiàng)目式教程 實(shí)訓(xùn)指導(dǎo) 實(shí)訓(xùn)11 垃圾短信分類_第2頁
自然語言及語音處理項(xiàng)目式教程 實(shí)訓(xùn)指導(dǎo) 實(shí)訓(xùn)11 垃圾短信分類_第3頁
自然語言及語音處理項(xiàng)目式教程 實(shí)訓(xùn)指導(dǎo) 實(shí)訓(xùn)11 垃圾短信分類_第4頁
自然語言及語音處理項(xiàng)目式教程 實(shí)訓(xùn)指導(dǎo) 實(shí)訓(xùn)11 垃圾短信分類_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

《自然語言處理技術(shù)》圖31所示。圖STYLEREF1\s3SEQ圖\*ARABIC\s11垃圾短信分類的基本流程實(shí)訓(xùn)步驟數(shù)據(jù)預(yù)處理數(shù)據(jù)預(yù)處理需要經(jīng)過加載停用詞表、加載數(shù)據(jù)集、中文分詞和去除停用詞的步驟。數(shù)據(jù)預(yù)處理如REF_Ref131448110\h代碼31所示。代碼STYLEREF1\s3SEQ代碼\*ARABIC\s11數(shù)據(jù)預(yù)處理importjieba#導(dǎo)入jieba庫importpandasaspd#導(dǎo)入pandas庫importnltk#導(dǎo)入nltk庫fromnltk.corpusimportstopwords#導(dǎo)入停用詞#加載停用詞表withopen('../data/stopwordsHIT.txt','r')asf:stop_words=[line.strip()forlineinf.readlines()]#加載停用詞表并去重#加載數(shù)據(jù)集data=pd.read_table('../data/junk_message.txt',sep='\t',header=None,names=['label','content'])#讀取文本文件,使用制表符分隔,沒有表頭,指定列名為label和content#中文分詞和去除停用詞defcut_words(text):#定義cut_words函數(shù)words=[wordforwordinlist(jieba.cut(text))ifwordnotinstop_words]#對(duì)文本進(jìn)行分詞,并去除停用詞return''.join(words)#返回分詞后的文本,單詞之間用空格分隔data['content']=data['content'].apply(cut_words)#對(duì)data['content']中的文本進(jìn)行分詞和去除停用詞的處理print("第1個(gè)文本的分詞結(jié)果為:",cut_words(data['content'][0]))#輸出第1個(gè)文本的分詞結(jié)果運(yùn)行REF_Ref131448110\h代碼31,得到數(shù)據(jù)預(yù)處理結(jié)果如下。第1個(gè)文本的分詞結(jié)果為:商業(yè)秘密秘密性維系商業(yè)價(jià)值壟斷地位前提條件特征工程特征工程需要經(jīng)過初始化TF-IDF向量化器、對(duì)文本數(shù)據(jù)進(jìn)行向量化處理、獲取文本標(biāo)簽的步驟,從中提取出最能代表數(shù)據(jù)特征的信息。特征工程如REF_Ref131448130\h代碼32所示。代碼STYLEREF1\s3SEQ代碼\*ARABIC\s12特征工程fromsklearn.feature_extraction.textimportTfidfVectorizer#提取特征vectorizer=TfidfVectorizer()#初始化TF-IDF向量化器X=vectorizer.fit_transform(data['content'])#對(duì)文本數(shù)據(jù)進(jìn)行向量化處理,生成tf-idf矩陣y=data['label']#獲取文本標(biāo)簽print("文本向量為:\n",X)運(yùn)行REF_Ref131448130\h代碼32,得到文本向量化后結(jié)果,部分結(jié)果的展示如下。文本向量為:(0,1313) 0.3779644730092272(0,1799) 0.3779644730092272……(1,3089) 0.2327379867795795模型訓(xùn)練模型訓(xùn)練需要先劃分?jǐn)?shù)據(jù)集,導(dǎo)入所需模塊,最后訓(xùn)練模型,從而生成一個(gè)能夠?qū)π聰?shù)據(jù)進(jìn)行預(yù)測或分類的模型。模型訓(xùn)練如REF_Ref131448152\h代碼33所示。代碼STYLEREF1\s3SEQ代碼\*ARABIC\s13模型訓(xùn)練fromsklearn.model_selectionimporttrain_test_split#導(dǎo)入train_test_split模塊#劃分?jǐn)?shù)據(jù)集X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)#導(dǎo)入MultinomialNB模塊和accuracy_score、f1_score模塊fromsklearn.naive_bayesimportMultinomialNBfromsklearn.metricsimportaccuracy_score,f1_score#訓(xùn)練模型clf=MultinomialNB()#構(gòu)建先驗(yàn)概率為多項(xiàng)式分布的貝葉斯分類模型clf.fit(X_train,y_train)MultinomialNB是一種樸素貝葉斯分類器,它適用于離散特征的分類問題(如文本分類),它是基于貝葉斯定理的一種分類方法,假設(shè)特征之間相互獨(dú)立,在處理文本分類問題時(shí),特征通常是單詞的出現(xiàn)頻率。MultinomialNB函數(shù)的常用參數(shù)說明如REF_Ref133335629\h表31所示。表STYLEREF1\s3SEQ表\*ARABIC\s11MultinomialNB函數(shù)的常用參數(shù)說明參數(shù)名稱參數(shù)說明alpha接收float,表示平滑參數(shù),用于避免概率為0的情況,通常取值在0~1之間。默認(rèn)為1.0fit_prior接收bool,表示是否學(xué)習(xí)類的先驗(yàn)概率。默認(rèn)為Trueclass_prior接收numpy數(shù)組,表示類的先驗(yàn)概率,若指定,則不根據(jù)數(shù)據(jù)自動(dòng)計(jì)算先驗(yàn)概率。默認(rèn)為None模型評(píng)估模型評(píng)估需要預(yù)測測試集的標(biāo)簽并計(jì)算準(zhǔn)確率,以便選擇最佳的模型并進(jìn)行優(yōu)化。模型評(píng)估如REF_Ref131448211\h代碼34所示。代碼STYLEREF1\s3SEQ代碼\*ARABIC\s14模型評(píng)估#預(yù)測并評(píng)估模型y_pred=clf.predict(X_test)#預(yù)測測試集的標(biāo)簽acc=accuracy_score(y_test,y_pred)#計(jì)算準(zhǔn)確率print('準(zhǔn)確率為:',acc)在Python中可以使用sklearn庫中的accuracy_score函數(shù)計(jì)算分類準(zhǔn)確率,accuracy_score函數(shù)的常用參數(shù)如REF_Ref132316086\h表32所示。表STYLEREF1\s3SEQ表\*ARABIC\s12accuracy_score函數(shù)的常用參數(shù)說明參數(shù)名稱參數(shù)說明y_pred接收numpy數(shù)組,表示分類模型的預(yù)測結(jié)果。無默認(rèn)值y_true接收numpy數(shù)組,表示分類的真實(shí)標(biāo)簽。無默認(rèn)值運(yùn)行REF_Ref131448211\h代碼34,得到模型評(píng)估準(zhǔn)確率結(jié)果如下。準(zhǔn)確率為:0.88636363636363

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論