◆薛興榮 靳其兵
(北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院 北京 100029)
伴隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)上積累著海量的評(píng)論資源,通過(guò)對(duì)這些評(píng)論文本的分析和挖掘,從中可以識(shí)別出評(píng)論者的情感態(tài)度,進(jìn)而可以掌握消費(fèi)者的消費(fèi)習(xí)性、了解人們對(duì)熱點(diǎn)話題的看法、預(yù)測(cè)輿情的發(fā)展趨勢(shì)等。因此對(duì)網(wǎng)絡(luò)輿論的情感自動(dòng)識(shí)別和分類(lèi)進(jìn)行研究不論對(duì)于個(gè)人、企業(yè)還是政府都非常有意義。情感自動(dòng)分類(lèi)就是通過(guò)自動(dòng)識(shí)別評(píng)論文本中的某些關(guān)鍵信息后,對(duì)評(píng)論文本自動(dòng)劃分為差評(píng)、中評(píng)、好評(píng)等類(lèi)別,它的研究對(duì)象主要是網(wǎng)絡(luò)上存在的各類(lèi)評(píng)論文本,然后以分析這些文本中蘊(yùn)含的情感態(tài)度為目的。針對(duì)網(wǎng)絡(luò)評(píng)論這一具有鮮明情感色彩的數(shù)據(jù)資源,本文首先利用爬蟲(chóng)技術(shù)爬取國(guó)內(nèi)某電商網(wǎng)店平臺(tái)上關(guān)于“999 感冒藥”的銷(xiāo)售評(píng)論文本數(shù)據(jù),然后對(duì)采集的評(píng)論文本做預(yù)處理,接著使用本文提出的基于語(yǔ)義詞典的方法對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行情感分類(lèi)及極性值計(jì)算,最后依據(jù)準(zhǔn)確率、召回率及F1值等指標(biāo)對(duì)該方法進(jìn)行性能分析。
近年來(lái),網(wǎng)絡(luò)文本情感分類(lèi)方面的研究已取得大量的研究成果,而且還在吸引越來(lái)越多的研究者投入其中,但是與國(guó)內(nèi)相比,國(guó)外在這方面的研究要更早且涉及的領(lǐng)域也更廣。目前,情感傾分類(lèi)研究的最小單位粒度分為詞語(yǔ)、句子、文檔三個(gè)層次,但是大部分是以詞作為最小單位粒度。主要采用機(jī)器學(xué)習(xí)和詞典匹配等方法來(lái)實(shí)現(xiàn)文本情感識(shí)別。其中,屬于無(wú)監(jiān)督分類(lèi)方案的基于語(yǔ)義詞典的方法,它需要先從語(yǔ)料文本中通過(guò)構(gòu)建的各類(lèi)詞典識(shí)別情感詞,根據(jù)相關(guān)的判斷規(guī)則或算法計(jì)算該文本的整體情感值,對(duì)該文本的情感類(lèi)別作出判斷[1]。這種方法雖然簡(jiǎn)單有效,但是需要人為地構(gòu)建各類(lèi)詞典,且對(duì)詞典的質(zhì)量有著嚴(yán)格的要求。而屬于有監(jiān)督學(xué)習(xí)的機(jī)器學(xué)習(xí)分類(lèi)方法,雖然更容易建模,但是該方法對(duì)特征選擇及訓(xùn)練數(shù)據(jù)的規(guī)模都非常依賴(lài),且在處理復(fù)雜問(wèn)題時(shí)泛化能力也受到很大的限制。深度學(xué)習(xí)的快速興起為這類(lèi)問(wèn)題提供了一種新的解決方案[2]。由于本文的任務(wù)之一是實(shí)現(xiàn)文本的情感極性計(jì)算,所以本次選用基于詞典的方法。
在情感詞典構(gòu)建方面,國(guó)外主要有WordNet[3]、SentiWordNet[4]等詞典,此外,國(guó)外研究者也對(duì)情感詞典的構(gòu)建也展開(kāi)了相關(guān)研究[5]。國(guó)內(nèi)的情感詞典主要有Hownet[6]、NTSUD[7]、情感詞匯本體[8]等,與此同時(shí),還對(duì)網(wǎng)絡(luò)流行語(yǔ)等領(lǐng)域情感詞典的構(gòu)建進(jìn)行了相關(guān)研究[9-11]。在對(duì)詞典的自動(dòng)擴(kuò)展方面,為了分析新詞的情感類(lèi)別,朱嫣嵐等人采用了Hownet 詞典并標(biāo)注部分已知的種子詞的方法[12]。還有的學(xué)者考慮將多個(gè)不同類(lèi)型的詞典進(jìn)行合并從而達(dá)到詞典擴(kuò)充的目的。例如,王勇等人在基礎(chǔ)情感詞典中融入了符號(hào)詞典、否定詞典,以此來(lái)實(shí)現(xiàn)詞典的合并任務(wù),最后還利用合并后的新詞典結(jié)合相關(guān)規(guī)則來(lái)對(duì)微博評(píng)論文本的情感類(lèi)別進(jìn)行分析,他們的實(shí)驗(yàn)證明,這種融合多個(gè)詞典的方法有更高的準(zhǔn)確率[13]。此外,還有學(xué)者對(duì)未登錄詞的情感極性進(jìn)行了研究,如Turney 等人采用計(jì)算詞語(yǔ)間的點(diǎn)互信息來(lái)實(shí)現(xiàn)將未登錄詞加入情感詞典以實(shí)現(xiàn)詞典的擴(kuò)充和文本的情感分類(lèi)任務(wù)[14]。
本文的文本情感分類(lèi)及極性值計(jì)算流程如圖1 所示,主要包含以下幾個(gè)步驟:
(1)利用爬蟲(chóng)技術(shù)抓取電商網(wǎng)站上的商品評(píng)論數(shù)據(jù)。
(2)加載用戶(hù)自建的用戶(hù)詞典,并對(duì)評(píng)論文本進(jìn)行繁簡(jiǎn)轉(zhuǎn)化、重復(fù)數(shù)據(jù)過(guò)濾、中文分詞和去停用詞等預(yù)處理操作。
(3)對(duì)未登錄詞進(jìn)行識(shí)別。在分詞過(guò)程中出現(xiàn)未登錄詞時(shí),利用fastText 算法進(jìn)行新詞識(shí)別,并將其添加到用戶(hù)詞典中,接著使用本文的情感極值計(jì)算算法確定其情感極性,最后再將其添加至語(yǔ)義情感詞典中。
(4)提取情感特征信息。加載各類(lèi)已經(jīng)構(gòu)建完成的語(yǔ)義詞典,然后把分詞后的語(yǔ)料與各個(gè)詞典進(jìn)行匹配,得到以情感詞為中心,程度副詞和否定詞等為輔助的匹配結(jié)構(gòu),最后再以標(biāo)點(diǎn)符號(hào)完成斷句。

圖1 基于語(yǔ)義詞典的情感分類(lèi)流程
(5)評(píng)論文本情感值極性計(jì)算。先對(duì)評(píng)論中各詞的情感值進(jìn)行確定,然后通過(guò)累加求均值的方法確定評(píng)論中每個(gè)句子的情感值,最后再對(duì)各句的情感值累加求均值最終得到評(píng)論整體的情感極性值。
(6)評(píng)論情感分類(lèi)。判斷最終得到的情感極性值是否大于設(shè)定的閾值,若大于閾值則評(píng)論為正面文本,小于則為負(fù)面文本,否則為中性文本。
首先對(duì)數(shù)據(jù)進(jìn)行清洗,主要是刪除沒(méi)有意義的數(shù)據(jù)以及一些重復(fù)數(shù)據(jù)。刪除這類(lèi)數(shù)據(jù)可以使用Excel 中的函數(shù)或者使用正則表達(dá)式完成。接下來(lái)對(duì)文本進(jìn)行切分、分詞和去停用詞等操作。由于評(píng)論文本內(nèi)容通常比較簡(jiǎn)短,故只進(jìn)行分詞和去停用詞即可,分詞就是把句子切分為一個(gè)個(gè)單獨(dú)的詞語(yǔ),它是進(jìn)行文本分類(lèi)的基礎(chǔ)。分詞完成之后還需進(jìn)行名詞、形容詞、副詞等詞性標(biāo)注。在分詞時(shí)需要加載用戶(hù)詞典,用戶(hù)詞典由未登錄詞、候選情感詞以及用戶(hù)自己構(gòu)建的詞典組成。在中文中,一篇文本的內(nèi)容是通過(guò)名詞、動(dòng)詞、形容詞、代詞、介詞和連詞等詞匯構(gòu)成,其中,名詞等實(shí)詞對(duì)文本情感極性計(jì)算有極大的幫助作用;而介詞、連詞、冠詞等虛詞以及一些常用詞匯則不能提供太多的幫助,將這些對(duì)文本情感極性計(jì)算幫助不大的詞稱(chēng)作停用詞。在進(jìn)行文本處理時(shí)往往都需要去停用詞,比如英文中的“the、of、and、to、for”等,漢語(yǔ)中如“的,地,這個(gè),那個(gè)”等助詞。在本文中針對(duì)研究?jī)?nèi)容共收集停用詞 1208 個(gè),部分如表1 所示。分詞和去停用詞可以使用jieba 完成。至此,實(shí)現(xiàn)文本的預(yù)處理操作,粗略篩選出有用詞條。

表1 部分停用詞
2.2.1 基礎(chǔ)情感詞典構(gòu)建
情感詞是指能表達(dá)出意見(jiàn)持有者情感傾向的詞匯,它是情感計(jì)算過(guò)程的基礎(chǔ),包括名詞、動(dòng)詞、形容詞、副詞以及成語(yǔ)等。本文將臺(tái)灣大學(xué)NTUSD 情感詞典、大連理工大學(xué)的中文情感詞匯本體庫(kù),和中國(guó)知網(wǎng)的Hotnet 情感詞典作為基礎(chǔ)詞典,分別合并這三個(gè)詞典中的正向和負(fù)向情感詞,過(guò)濾掉情感極性不明顯、存在情感傾向歧義以及重復(fù)的情感詞,最終得到正、負(fù)向基礎(chǔ)情感詞典,構(gòu)建過(guò)程如圖2 所示。

圖2 基礎(chǔ)情感詞典構(gòu)建流程圖
首先,將《中文情感詞匯本體庫(kù)》里面極性為正的詞添加到正向基礎(chǔ)情感詞典中,同理,得到負(fù)向基礎(chǔ)情感詞典。然后分別遍歷NTUSD 和Hotnet 的褒義詞和貶義詞,若是新詞則添加到對(duì)應(yīng)的基礎(chǔ)情感詞典,實(shí)現(xiàn)基礎(chǔ)情感詞典的構(gòu)建。
利用基于詞典的方法進(jìn)行文本情感極性計(jì)算,結(jié)果依賴(lài)于情感詞典的準(zhǔn)確性和全面性,但是僅考慮情感詞是不全面的,此外,還需考慮程否定詞和度副詞等其他詞性的影響。
2.2.2 程度副詞詞典構(gòu)建
程度副詞的影響體現(xiàn)在它可以對(duì)文本的情感進(jìn)行一定程度的加強(qiáng)或減弱,它在情感詞的前后位置均可出現(xiàn)。在分詞結(jié)束并確定情感詞后,以情感詞為中心先逆向搜索再正向搜索,搜索的同時(shí)確定該情感詞附近是否有程度副詞出現(xiàn),若出現(xiàn)則根據(jù)該程度副詞對(duì)該情感詞的加強(qiáng)或減弱作用的幅度對(duì)該情感詞的極性值進(jìn)行變更,一旦遇到斷句的標(biāo)點(diǎn)符號(hào)時(shí)則停止搜索。另外,如果在評(píng)論中遇到總結(jié)性的詞匯,如:總而言之、綜上所述等,這類(lèi)詞也屬于程度副詞,同時(shí)賦予一個(gè)較高的權(quán)值。本文共整理了221 個(gè)程度副詞,并劃分為±1、±2、±3、±4、±5 五個(gè)情感強(qiáng)度等級(jí)。當(dāng)不能區(qū)分其極性程度時(shí),則統(tǒng)一標(biāo)注正面詞的極性程度為+3,負(fù)面詞的極性程度為-3。
2.2.3 否定詞詞典的構(gòu)建
否定詞可以改變句子極性,因此,它對(duì)文本情感的影響非常大。否定詞在文本中一般是作為前綴來(lái)對(duì)情感詞進(jìn)行修飾,故對(duì)文本進(jìn)行分詞和確定情感詞后,搜索該情感詞前面是否出現(xiàn)了否定詞,若出現(xiàn)則將該情感詞的極性置反,當(dāng)為雙重否定時(shí)則其極性保持不變。本研究一共收集了29 個(gè)否定詞。

圖3 情感詞典擴(kuò)充的流程
2.2.4 情感詞典的擴(kuò)充
情感詞典的質(zhì)量對(duì)基于語(yǔ)義詞典的文本情感極性計(jì)算具有非常大的影響。由于使用人工方式對(duì)情感詞典進(jìn)行擴(kuò)充需要大量的人力、物力及時(shí)間周期較長(zhǎng)等緣故,目前大家更加傾向于情感詞典自動(dòng)構(gòu)建的方法。本文從未登錄詞中實(shí)現(xiàn)情感詞典擴(kuò)充的流程如圖3 所示。
借助Google 開(kāi)源工具word2vec 得到分詞后語(yǔ)料和基礎(chǔ)情感詞典的向量表示,然后計(jì)算語(yǔ)料和基礎(chǔ)情感詞典的語(yǔ)義相似度距離來(lái)判斷語(yǔ)料中未登錄詞的情感傾向,再利用極性判斷算法將該未登錄詞劃分到與之最相近的基礎(chǔ)情感詞典中,實(shí)現(xiàn)自動(dòng)判斷語(yǔ)料中未登錄詞的情感傾向和擴(kuò)充基礎(chǔ)情感詞典的目的。其中,語(yǔ)義相似度距離可以通過(guò)計(jì)算兩個(gè)詞向量的余弦值得到,余弦值越大,表示兩個(gè)詞語(yǔ)的語(yǔ)義越相近。

大規(guī)模語(yǔ)料情感詞典自動(dòng)擴(kuò)充的難點(diǎn)是如何表達(dá)己知的基礎(chǔ)情感詞典和用戶(hù)詞典之間的語(yǔ)義相似度,即通過(guò)對(duì)兩個(gè)詞匯的情感相似度計(jì)算,進(jìn)而識(shí)別語(yǔ)料中的情感詞并實(shí)現(xiàn)情感詞典的自動(dòng)擴(kuò)充。基于“相似的詞匯出現(xiàn)在相似的上下文語(yǔ)境中”的分布性假設(shè)[15],本文采用計(jì)算兩個(gè)詞向量的余弦值方法實(shí)現(xiàn)語(yǔ)料中情感詞的自動(dòng)提取與基礎(chǔ)情感詞庫(kù)的自動(dòng)擴(kuò)充,情感詞的極性由EO(w)與預(yù)設(shè)的閾值決定,當(dāng)EO(w)大于閾值時(shí),w的情感極性為正向;小于閾值時(shí),w的情感極性為負(fù)。向其擴(kuò)充算法描述如表2 所示。
構(gòu)建好的新情感詞典中既包含了原來(lái)的基礎(chǔ)情感詞,又包含了新增的情感詞。最終整理得到的各個(gè)詞典信息如表3 所示。

表3 最終整理得到的各個(gè)詞典信息
有些標(biāo)點(diǎn)符號(hào)對(duì)文本的情感分析也會(huì)有一定的影響,如“!”和“?”。當(dāng)句末有“!”時(shí),通常是對(duì)整個(gè)句子起強(qiáng)調(diào)作用,如果句末出現(xiàn)則把整個(gè)句子的極性強(qiáng)度再擴(kuò)大一倍。當(dāng)句末有“?”時(shí),既可能是疑問(wèn)句也可能是反問(wèn)句,反問(wèn)句語(yǔ)氣強(qiáng)烈會(huì)對(duì)文本內(nèi)容起到強(qiáng)調(diào)作用,進(jìn)而也會(huì)影響情感分析,但疑問(wèn)句不會(huì)造成大的影響,對(duì)句末帶“?”的句子,通過(guò)搜索查找該句中是否存在反問(wèn)句標(biāo)記詞,若存在則為反問(wèn)句并把整個(gè)句子的極性置反。
(1)計(jì)算句子中每個(gè)詞的情感值
首先要對(duì)句子進(jìn)行主觀性和客觀性區(qū)分。具有情感色彩或者表達(dá)了作者的某種態(tài)度的語(yǔ)句視為主觀性句子;客觀性句子通常是指沒(méi)有任何感情色彩的語(yǔ)句,因此可以將其過(guò)濾掉。通過(guò)情感詞典對(duì)分詞后的句子進(jìn)行匹配,若匹配過(guò)程中出現(xiàn)了情感詞則為主觀句,然后對(duì)該主觀句中的各個(gè)詞賦予對(duì)應(yīng)的情感權(quán)值,各類(lèi)語(yǔ)義詞典的情感值權(quán)重大小如表4 所示。

表4 各類(lèi)詞典的情感值權(quán)重
(2)計(jì)算評(píng)論中每個(gè)句子的情感均值
可以通過(guò)加權(quán)求和的方法來(lái)計(jì)算每個(gè)句子的情感均值。每個(gè)句子經(jīng)過(guò)預(yù)處理之后表示為Sj={W1,W2,…,Wi,…,Wn},則任意一個(gè)句子的情感均值計(jì)算如下:

其中,Neg為句子中的否定詞個(gè)數(shù),n為句子中的情感詞個(gè)數(shù),EO(Wi)表示句子中每個(gè)詞的情感值,m是對(duì)應(yīng)的第i個(gè)情感詞的修飾詞個(gè)數(shù),modj是對(duì)應(yīng)第j個(gè)修飾詞的權(quán)重。
(3)計(jì)算整篇文本的情感均值
文本D一般是由多個(gè)句子組成,即D= {S1,S2,…,Sj,…,Sy},可以通過(guò)斷句的標(biāo)點(diǎn)符號(hào)對(duì)文章進(jìn)行分句,這里只考慮“,”、“。”、“!”、“?”、“;”、“……”這六種符號(hào)。其中當(dāng)為“!”時(shí),整個(gè)句子的情感得分乘2;當(dāng)為“?”且含有反問(wèn)句標(biāo)記詞時(shí),整個(gè)句子的得分乘-1;當(dāng)為其他標(biāo)點(diǎn)符號(hào)時(shí),句子的得分保持不變。
最后,對(duì)評(píng)論的各個(gè)句子的得分再加權(quán)求和作為整個(gè)評(píng)論的情感得分。本文中將情感閾值T設(shè)為0,當(dāng)最終的情感得分Score(D)大于T時(shí),則評(píng)論為正面評(píng)論,小于T則為負(fù)面評(píng)論,否則為中性評(píng)論。計(jì)算公式如下:

本次實(shí)驗(yàn)使用的語(yǔ)料數(shù)據(jù)是利用爬蟲(chóng)技術(shù)爬取某大型電商平臺(tái)上關(guān)于“999 感冒藥”銷(xiāo)售的評(píng)論數(shù)據(jù),去除不規(guī)范文本,最終選出2550 條評(píng)論數(shù)據(jù)。手工對(duì)所有數(shù)據(jù)進(jìn)行情感傾向性標(biāo)注,然后把所有語(yǔ)料分為兩部分,其中2100 條評(píng)論作為訓(xùn)練語(yǔ)料,其余的450 條作為測(cè)試語(yǔ)料,語(yǔ)料基本信息如表5 所示。圖4 為語(yǔ)料的句子長(zhǎng)度分布,圖5 以詞云的形式展示了語(yǔ)料的一些關(guān)鍵信息。

圖4 語(yǔ)料句子長(zhǎng)度分布

圖5 語(yǔ)料關(guān)鍵信息詞云圖

表5 語(yǔ)料信息
本次實(shí)驗(yàn)在Spyder 開(kāi)發(fā)環(huán)境下使用Python 語(yǔ)言完成的,實(shí)驗(yàn)環(huán)境配置信息如表6 所示。

表6 實(shí)驗(yàn)環(huán)境配置
衡量文本分類(lèi)問(wèn)題的分類(lèi)性能可以從準(zhǔn)確度方面進(jìn)行考慮,準(zhǔn)確度可以由準(zhǔn)確率(P)、召回率(R)和F1值三個(gè)指標(biāo)來(lái)衡量。

其中,TP為真正率,TF為真負(fù)率,F(xiàn)N為假負(fù)率,F(xiàn)P為假正率,關(guān)系如表7 所示。

表7 評(píng)價(jià)指標(biāo)的參數(shù)關(guān)系
最終的實(shí)驗(yàn)結(jié)果如表8 所示,驗(yàn)證結(jié)果如表9 所示。

表8 基于詞典的文本極性計(jì)算模型評(píng)價(jià)指標(biāo)結(jié)果

表9 基于詞典的文本極性計(jì)算模型驗(yàn)證結(jié)果
由表8 中數(shù)據(jù)可以看出,本文提出的方法在網(wǎng)絡(luò)評(píng)論文本分類(lèi)和情感極性值計(jì)算任務(wù)中,對(duì)實(shí)驗(yàn)語(yǔ)料的正面情感類(lèi)別劃分的準(zhǔn)確率為75%,負(fù)面語(yǔ)料準(zhǔn)確率為79%,但中性語(yǔ)料的準(zhǔn)確率只有65%,說(shuō)明本文的方法單從準(zhǔn)確性角度考慮,對(duì)具有正面和負(fù)面情感傾向的評(píng)論文本有更好的識(shí)別作用;在從召回率角度來(lái)看,正面、中性、負(fù)面的召回率依次為79%、74%、64%,說(shuō)明該方法在查全性方面只對(duì)正面和中性的評(píng)論更有作用;最后再?gòu)腇1 值的角度來(lái)看,正面評(píng)論的F1值為77%,略高于負(fù)面評(píng)論的71%以及中性情感傾的70%。此外,還可以發(fā)現(xiàn)模型的總體準(zhǔn)確率、召回率、F1值均在為73%,這表明本文的方法在電子商務(wù)在線評(píng)論文本情感極性計(jì)算及分類(lèi)任務(wù)中,分類(lèi)效果較為理想。
表9 展示了本文模型的驗(yàn)證效果,模型基本上以100%的準(zhǔn)確率實(shí)現(xiàn)了評(píng)論數(shù)據(jù)的正確分類(lèi)。此外,當(dāng)情感值為正時(shí),表示該評(píng)論為好評(píng),為負(fù)時(shí)表示為差評(píng),等于0 時(shí)表示中評(píng),情感值既可以進(jìn)一步確定分類(lèi)的準(zhǔn)確性,又可以實(shí)現(xiàn)文本情感的數(shù)字化衡量。
雖然基于詞典的方法實(shí)施簡(jiǎn)單并且計(jì)算速度快,但是其缺點(diǎn)也是非常顯著的。隨著機(jī)器學(xué)習(xí)尤其是深度學(xué)習(xí)的發(fā)展,為解決這些問(wèn)題提供了一種有效的方法,因此下一步的工作是融合這兩種方法,充分發(fā)揮各自的優(yōu)勢(shì)進(jìn)一步提高中文文本信息挖掘能力。