国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

中文文本分類模型對比研究

2023-02-20 03:24陳海紅黃鳳坡
赤峰學院學報·自然科學版 2023年1期
關鍵詞:準確率向量詞語

陳海紅,司 威,黃鳳坡

(赤峰學院 數(shù)學與計算機科學學院,內(nèi)蒙古 赤峰 024000)

1 引言

文本分類問題是自然語言處理領域的重要研究問題,可以進行主客觀分類、輿情情感分析等。文本分類的模型也是比較多的,本文采用7種方法對中文文本進行二分類(正向情感、負向情感)或三分類(正向情感、中性情感、負向情感)研究對比,找到各種方法的優(yōu)缺點,并將其應用到輿情情感分析等文本分類領域。

2 數(shù)據(jù)的準備

我們從網(wǎng)絡上收集了很多領域的評論數(shù)據(jù),以及日常的微博數(shù)據(jù),并對數(shù)據(jù)進行了預處理,去除多余的空格,表情符號,Html標簽等。然后對這些數(shù)據(jù)進行標注,再將數(shù)據(jù)轉(zhuǎn)換成各種模型能夠識別的格式。模型在使用的時候把這些數(shù)據(jù)分成開發(fā)集(development set)和測試集(test set),開發(fā)集又分成訓練集(training set)和開發(fā)測試集(development test set)。本文中使用的開發(fā)集樣本數(shù)是17130條,測試集樣本數(shù)是4187條,此外,還收集了停用詞典,情感詞典(分為正向詞典和負向詞典),程度副詞,否定詞典等數(shù)據(jù)。

3 中文文本分類法

3.1 基于情感詞典的分類法

基于情感詞典的分類法是對人類的記憶和判斷思維的最簡單模擬,人類會通過學習來記憶一些基本詞匯,如否定詞有“不”,積極詞有“幸福”“驕傲”,消極詞有“討厭”,從而在大腦中形成一個基本的語料庫,然后對輸入的句子進行拆分,看看記憶的詞匯表中是否存在相應的詞,然后根據(jù)這個詞的類別來判斷情感。

這里使用了一種比較簡單的算法,將詞語的權重值劃分為四類,分別為P、N、DaP、DaN。P類型的詞語權重值為1,包括積極詞語、否定詞+消極詞語;N類型的詞語權重值為-1,包括消極詞、否定詞+積極詞語、積極詞語+否定詞;DaP類型的詞語權重為2,包括程度副詞+積極詞語;DaN類型的詞語權重為-2,包括程度副詞+消極詞語。并假定情感值滿足線性疊加原理,最終算出的權重值在(-∞,+∞)范圍內(nèi),越大說明越積極。為了方便劃分類別,將最終的權重值放入sigmoid函數(shù)轉(zhuǎn)換成(0,1)之間的數(shù)值。上述方法在測試集上進行測試,最終結(jié)果的準確率為60%。

該方法存在的問題:(1)假設了所有積極詞語、消極詞語的權重值都是相等的,但我們知道中文文本本身帶有非常豐富的感情色彩,同為積極/消極詞語但語氣程度可能是不同的;(2)對否定詞和程度副詞僅做了取反和加倍,但事實上,不同的否定詞和程度副詞的權重程度也是不同的;(3)假設了權重值是線性疊加的,但事實上,人腦情感分類是非線性的,不僅僅在想這個句子是什么情感,還會判斷句子的類型,整體的結(jié)構(gòu)(主語、謂語、賓語等),甚至還會聯(lián)系上下文對句子進行判斷,基于簡單的線性疊加性能是有限的;(4)情感詞典沒有自動擴充能力,人類獲得新知識的手段不僅僅靠他人的傳授,還會自己進行學習、總結(jié)和猜測,如“喜歡”和“熱愛”是積極詞語,那么人類就會知道“喜愛”也是積極的詞語。

3.2 snowNLP庫

SnowNLP是一個python寫的類庫,可以方便地處理中文文本內(nèi)容,是受到了TextBlob的啟發(fā)而寫的,它囊括了中文分詞、詞性標注、情感分析、文本分類、轉(zhuǎn)換拼音、繁體轉(zhuǎn)簡體、關鍵字/摘要提取、文本相似度等諸多功能,像隱馬爾科夫模型、樸素貝葉斯、TextRank等算法均在這個庫中有對應的應用。SnowNLP對情感的測試值為0到1,值越大,說明情感傾向越積極。

使用SnowNLP對數(shù)據(jù)進行測試,測試數(shù)據(jù)有4187條,測試結(jié)果以0.5為界,大于0.5的判定為正向,小于0.5的判定為負向,最終的準確率為73%。如果大于0.8判定為正向,小于0.3判定為負向,中間為中性,最終的準確率為67%。

SnowNLP的分詞效果沒有結(jié)巴分詞效果好,而且原料是基于幾個方向的評論留言,語料文件比較片面,且其中有些語句意向不準確,導致效果并不是特別好,但如果沒有其他知識的情況下做中文文本處理,使用SnowNLP是一個不錯的選擇。

3.3 邏輯回歸

邏輯回歸是一個非常經(jīng)典的分類算法,目前仍被廣泛應用到各個領域,Bahalul Haque等人利用邏輯回歸,根據(jù)年齡、性別、國家和地區(qū)預測COVID-19導致的個人死亡[1]。

我們首先對文本進行特征提取,提取方法采用TF-IDF(Term Frequency-Inverse Document Frequency),計算公式為:

S1是tf值與idf值的乘積,tf(t,d)表示某一篇文檔d中,詞項t的頻度。

nd表示訓練集文本數(shù),df(d,t)表示包含詞項t的文檔總數(shù)。用S1和S2對訓練集和測試集文本進行特征提取,在訓練集上得到的特征矩陣維度是(17130,41000),這是一個非常龐大的稀疏矩陣。然后使用sklearn中的LogisticRegression[2]對該矩陣數(shù)據(jù)進行邏輯回歸訓練,訓練參數(shù)選擇newton-cg作為優(yōu)化算法,選擇1.0作為懲罰系數(shù)。訓練好的模型應用到測試集上進行測試,測試結(jié)果的logloss:0.527,準確率83%。

文本的特征提取是自然語言處理領域的最重要問題,它決定著最終結(jié)果的上限。目前word2vec是一種應用較廣泛的特征提取方法,它產(chǎn)生了很多變體,應用于很多方面[3,4]。這里我們使用word2vec對文本再次進行特征提取。使用TF-IDF進行特征提取時,它能過濾掉一些常見的卻無關緊要的詞語,同時保留影響整個文本的重要詞語,但丟失了文本上下文之間的聯(lián)系。使用word2vec進行特征提取時,它會考慮上下文,并且維度更少。首先使用gensim庫中的word2vec[5]對1.3G的中文語料進行建模,生成維度為400的詞向量,使用該詞向量對[‘微積分’,‘統(tǒng)計學’,‘蘋果’]進行heatmap分析,發(fā)現(xiàn)微積分與統(tǒng)計學具有很多的相似性,與蘋果相差很多。

圖1 熱圖分析數(shù)值

然后將一個句子中所有詞的詞向量相加取平均,得到句子向量,再將句子向量輸入到上述邏輯回歸模型進行訓練,并測試。測試結(jié)果的logloss:0.617,準確率76%,發(fā)現(xiàn)并沒有得到比TF-IDF更好的結(jié)果。后面第3.4節(jié)也使用這個word2vec訓練的詞向量,得到了不錯的結(jié)果。

3.4 簡單的全連接網(wǎng)絡和LSTM模型

深度學習可以幫助我們從多角度提取文本特征,文本的分類問題同樣可以使用深度學習模型進行處理。我們先使用keras[6,7]中的Sequential搭建一個簡單的3層全連接網(wǎng)絡查看效果。在搭建神經(jīng)網(wǎng)絡之前,先在word2vec訓練的詞向量的基礎上對特征數(shù)據(jù)進行標準化/歸一化處理,因為如果某個特征的方差遠大于其他特征的方差,那么它將會在算法學習中占據(jù)主導位置,導致模型不能像我們期望的那樣,去學習其他的特征,這將導致最后的模型收斂速度慢甚至不收斂。

model=Sequential()

model.add(Dense(256,input_dim=400,activation=” relu” ))

model.add(Dense(256,activation=” relu” ))

model.add(Dense(3))

model.add(Activation(” softmax” ))

模型中間加Dropout[8]和BatchNormalization()來防止過擬合,優(yōu)化器選擇adam,損失函數(shù)選擇categorical_crossentropy,測試結(jié)果的logloss:0.453,準確率82%。

CNN(Convolutional Neural Network)和RNN(Recurrent Neural Network)都會將矩陣形式的輸入編碼為較低維度的向量,而保留大多數(shù)有用的信息,但卷積神經(jīng)網(wǎng)絡更注重全局的模糊感知,循環(huán)神經(jīng)網(wǎng)絡更注重鄰近位置的重構(gòu),而自然語言是具有時間序列特征的數(shù)據(jù),每個詞的出現(xiàn)都依賴于它的前一個詞和后一個詞。由于這種依賴的存在,我們使用循環(huán)神經(jīng)網(wǎng)絡來處理這種時間序列數(shù)據(jù)更適合。Long Short Term Memory Units(LSTMs)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡,從抽象的角度看,LSTM保存了文本中長期的依賴信息。

在使用LSTM建模之前,先測定訓練集和測試集中的句子長度,測試結(jié)果如圖2所示,根據(jù)圖中的結(jié)果,又計算了句子長度小于150的句子總數(shù)占61%,句子長度小于210的句子總數(shù)占93%,因此選擇句子長度為210,在訓練的過程中,加入了回調(diào)函數(shù),使得模型能夠停止在最佳的迭代節(jié)點,最終結(jié)果如圖3所示,在epoch=25時達到了最佳節(jié)點。最終測試結(jié)果的logloss:0.32,準確率86%。

圖2 不同句子長度的數(shù)量分布

圖3 句子長度為210時的acc和loss

3.5 BERT模型

BERT(Bidirectional Encoder Representations from Transformers)模型來源于論文[9],它的網(wǎng)絡架構(gòu)使用的是《Attention is all you need》中提出的多層Transformer結(jié)構(gòu),它解決了傳統(tǒng)模型的一些問題:(1)解決了RNN模型本身的序列依賴結(jié)構(gòu)不適合大規(guī)模并行計算的問題;(2)詞向量訓練模型word2vec在預訓練好詞向量后就永久不變了,但不同語境中相同的詞可能代表不同的含義。BERT詞向量包含了雙向的語境信息,在很多方面具有比較好的效果,也出現(xiàn)了很多針對它的改進模型。

主要的思路:將一句話進行分詞,通過BERT模型之后輸出各個分詞對應的詞向量及CLS對應的詞向量,CLS中包含了整句話的信息,然后通過CLS進行類別的判斷。最終測試結(jié)果的logloss:0.31,準確率88%。

4 結(jié)果

F1和精確匹配(Exact Match,EM)是模型性能評價的兩個指標。如果預測值與真實值完全相同,則EM值為1,否則為0;F1則是平衡精確率和召回率之間關系的指標,值越大越好。幾種方法的EM和F1值如表1所示。測試集數(shù)據(jù)是一個三分類的數(shù)據(jù),標記為1的代表正向情感,標記為2的代表負向情感,標記為0的代表中性情感,個數(shù)見表1所示?;谇楦性~典的思路簡單,穩(wěn)定性強,但精確度不高,需要提取好情感詞典,而這一步,往往需要大量的工作才能保證準確率,而且必須要對中文語義足夠了解才可以做到。測試時將結(jié)果值大于0.8的分類為正向情感,小于0.3的分類為負向情感,其余的分類為中性情感,結(jié)果的F1值為49%。SnowNLP的測試結(jié)果也是數(shù)值,和情感字典一樣做三分類劃分,F(xiàn)1值是51%。

表1 測試集樣本個數(shù)

機器學習允許我們在幾乎零背景的前提下,為某個領域的實際問題建立模型。在機器學習模型中,BERT模型達到了最高的準確率和最低的loss,表2的BERT模型結(jié)果是在learning_rate=2e-5,num_train_epochs=1.0,vocab_size=21128(詞表大?。┑臈l件下獲得的。使用機器學習模型需要我們對相關框架、算法、知識點足夠的了解,如果沒有相關方面的知識又想做中文文本分類的話可以使用SnowNLP庫。根據(jù)表2的結(jié)果基于TF-IDF的邏輯回歸取得了不錯的效果,基于word2vec的邏輯回歸使用了平均詞向量方法獲得句子向量,這種方法的缺點是認為句子中的所有詞對于表達句子含義同樣重要。因此如果是簡單的任務,使用基于TFIDF的邏輯回歸將會是不錯的選擇,總體來講深度學習的方法精確度更高。

表2 結(jié)果對比

5 總結(jié)

本文使用基于情感詞典的分類方法,SnowNLP庫,邏輯回歸,全連接神經(jīng)網(wǎng)絡,LSTM,BERT模型等多種方法對相同的文本進行分類研究。我們發(fā)現(xiàn)預訓練模型雖然在很多時候能取得不錯的結(jié)果,但需要忍受更大的模型尺寸及更高的延遲,因此在解決具體任務時,傳統(tǒng)的普通方法也許能取得不錯的結(jié)果,而且沒有更大的開銷。

猜你喜歡
準確率向量詞語
容易混淆的詞語
向量的分解
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產(chǎn)品質(zhì)量檢驗分析
聚焦“向量與三角”創(chuàng)新題
找詞語
高速公路車牌識別標識站準確率驗證法
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線