任高山,韓友德
(南昌航空大學(xué),南昌330063)
文本情感分析是指分析作者在傳達(dá)信息時(shí)所隱含的情緒狀態(tài),對(duì)作者的意見進(jìn)行判斷或者評(píng)估,給出作者態(tài)度是褒義、貶義的結(jié)論。企業(yè)和商家面對(duì)用戶的大量情感評(píng)論信息,可以不斷挖掘有傾向的數(shù)據(jù),統(tǒng)計(jì)用戶對(duì)消費(fèi)產(chǎn)品的反饋,向消費(fèi)者推薦潛在消費(fèi)品等用途。
本文的結(jié)構(gòu)是這樣組織的:第一部分介紹了情感分析的相關(guān)研究現(xiàn)狀;第二部分對(duì)情感分析語料文本的預(yù)處理進(jìn)行了概要闡述;第三部分對(duì)不同的特征提取模型和不同的機(jī)器學(xué)習(xí)分類算法做出了實(shí)驗(yàn)驗(yàn)證,并對(duì)結(jié)果進(jìn)行了詳細(xì)的分析;第四部分給出了結(jié)語。
基于詞向量表征模型,Mikolov提出了一種基于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方式將詞語映射成連續(xù)(高維)向量的Word2vec算法[1],利用中心詞及其上下文建立局部詞嵌入窗口模型,用以進(jìn)行詞語特征向量的優(yōu)化訓(xùn)練[1]。詞向量具有良好的語義特性,是表示詞語特征?;赪ord2Vec,Le和Mikolov等人[2]提出了Doc2Vec方法作為一個(gè)處理可變長(zhǎng)度文本的總結(jié)性方法。除了在增加一個(gè)段落向量以外,Doc2vec幾乎等同于Word2Vec。相比于Word2Vec,Doc2Vec優(yōu)勢(shì)在于訓(xùn)練出每一篇文本的向量,更能全面理解文本的語義特征。
對(duì)于語料文本信息需要進(jìn)行文本預(yù)處理,主要包括規(guī)范編碼格式、文本分詞等步驟。
①規(guī)范編碼格式,對(duì)于評(píng)論語料,通常情況下,會(huì)統(tǒng)一存儲(chǔ)為規(guī)范的編碼格式,如utf-8格式等。
②文本分詞,文本的單詞將會(huì)被后續(xù)分類操作中作為特征來表征文本,文本分詞是否正確、高效直接影響后續(xù)實(shí)驗(yàn)結(jié)果。Python中文分詞組件Jieba,可以實(shí)現(xiàn)分詞、添加自定義詞典、關(guān)鍵詞提取、詞性標(biāo)注、并行分詞等功能,在全模式下,速度可達(dá)到1.5MB/s,本文采取的便是Jieba分詞。
圖1 DBOW模型結(jié)構(gòu)圖
Doc2vec是一個(gè)無監(jiān)督框架,學(xué)習(xí)文本段落的連續(xù)分布向量表示。文本可以是可變長(zhǎng)度的從句子到文檔。該方法可以應(yīng)用于可變長(zhǎng)度的文本,任何從短語或句子到大型文檔。Doc2vec 有兩種模型:Distributed Bag of Words(DBOW)和Distributed Memory(DM),分別對(duì)應(yīng) Word2vec中CBOW與Skip-gram。以文本短句“The cat sat on mat”為例,其模型結(jié)構(gòu)如圖1所示。在訓(xùn)練過程中,文本片段Paragraph的ID保持不變,共享著同一個(gè)段落向量(即“The cat sat on mat”的向量表示)。DM在給定上下文和段落向量的情況下預(yù)測(cè)中心單詞的概率;DBOW則在僅給定段落向量的情況下預(yù)測(cè)段落中一組隨機(jī)單詞的概率。針對(duì)概率的目標(biāo)函數(shù),DM與DBOW利用隨機(jī)梯度下降進(jìn)行詞向量與段落向量的聯(lián)合更新[2]。
本文采用的是譚松波教授整理的酒店評(píng)論語料正負(fù)平衡語料各3000個(gè)和標(biāo)記好的淘寶網(wǎng)商品評(píng)論好評(píng)與差評(píng)的語料,正向標(biāo)記文本共17696個(gè),負(fù)向標(biāo)記文本13428個(gè),數(shù)據(jù)類型為短文本,用以研究情感分析分類的特征選擇算法及分類算法。
本文在評(píng)價(jià)分類器效果時(shí),引入了信息檢索中的混淆矩陣:傳統(tǒng)的準(zhǔn)確率計(jì)算公式就是考慮精確度Accuracy,考量了分類器對(duì)于兩個(gè)類別的總體的分類效果,由于其在不平衡樣本中效果不好,所以提出了精度(precision)和召回率(recall)這兩個(gè)。本文采用一種F-measure檢驗(yàn)的方法。
式1是經(jīng)常用到的F1指標(biāo),本文采用精確度、召回率、F1值來評(píng)估實(shí)驗(yàn)結(jié)果。
實(shí)驗(yàn)針對(duì)正向標(biāo)記文本共17696個(gè),負(fù)向標(biāo)記文本13428個(gè)建立詞向量,選擇80%的數(shù)據(jù)作為訓(xùn)練集,20%的作為測(cè)試集,先對(duì)標(biāo)記語料進(jìn)行文本預(yù)處理工作,然后分別采用Word2vec的 cbow(continuous bag of words,cbow) 型和Doc2vec 的 dbow(distributed bag of words,dbow),同時(shí)分別采用支持向量機(jī)(Support Vector Machine,SVM)、邏輯回歸(LogisticRegression,LR)、隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)、高斯樸素貝葉斯 (Gassian Naive Bayes,GassianNB)四種機(jī)器學(xué)習(xí)的分類算法建立預(yù)測(cè)模型,完成各種模型組合之下的實(shí)驗(yàn)預(yù)測(cè)效果對(duì)比。
實(shí)驗(yàn)將上述2種特征提取方法與4種機(jī)器學(xué)習(xí)算法分別進(jìn)行組合預(yù)測(cè),比較最終的誤差率,其中Word2vec與Doc2vec采用默認(rèn)參數(shù),模型采用CBOW(DBOW),文本window(表示當(dāng)前詞與預(yù)測(cè)詞在一個(gè)句子中的最大距離)設(shè)為5,詞向量維度100,訓(xùn)練epoch為10。設(shè)置min_count=1,min_coun(t以下都稱為詞典詞頻)是模型中很重要的一個(gè)參數(shù),表示模型在訓(xùn)練詞向量對(duì)詞典做截?cái)鄷r(shí),少于該參數(shù)次數(shù)的詞會(huì)去掉。將SVM、SGD、GassianNB、LR四種機(jī)器學(xué)習(xí)算法的參數(shù)設(shè)置成較好預(yù)測(cè)效果的參數(shù)。實(shí)驗(yàn)結(jié)果如表1所示:
表1 實(shí)驗(yàn)結(jié)果
由表1可知,采用Doc2vec模型的精確率,召回率,F(xiàn)1值都大于Word2vec模型的??梢奃oc2vec提取的特征向量表達(dá)了更多的情感傾向信息,原因在于:Word2vec對(duì)詞向量進(jìn)行平均處理,忽略了詞語之間的語序,語序?qū)ξ谋厩楦袃A向信息產(chǎn)生的影響很大,而Doc2vec具有上下文分析的上下文“語義分析”能力。
本文首先對(duì)情感分析研究現(xiàn)狀和文本語料的預(yù)處理做了概述,然后通過實(shí)驗(yàn)驗(yàn)證了Doc2Vec基于短文本分類的情感傾向性的有效性,證明了Doc2Vec加SVM方法可以有效提高文本傾向性分析的預(yù)測(cè)精度。