唐 莉,劉 臣
(上海理工大學(xué),上海 200093)
隨著電子商務(wù)的迅猛發(fā)展,網(wǎng)絡(luò)購物用戶數(shù)量不斷增加。中國作為全球規(guī)模最大的網(wǎng)絡(luò)零售市場,2017年12月中國網(wǎng)絡(luò)購物用戶規(guī)模已達(dá)5.33億,由此產(chǎn)生的網(wǎng)絡(luò)評論數(shù)據(jù)呈幾何式增長。龐大的評論數(shù)據(jù)帶來的信息超載問題日益嚴(yán)重,海量的評論信息的分析和提煉成為需要解決的首要問題。
文本情感分析采用計(jì)算機(jī)自動分析在線評論中表達(dá)的觀點(diǎn)或情感,具有廣泛的應(yīng)用前景,已成為近年來的研究熱點(diǎn)。
文本情感分析可以被大致分成特征級、短語級[1]、句子級、文檔級[2]。其中特征級情感分析是對產(chǎn)品屬性及其對應(yīng)情感的提取和分析。它一般被分為有監(jiān)督和無監(jiān)督學(xué)習(xí)方法。
無監(jiān)督學(xué)習(xí)方法不需要標(biāo)記數(shù)據(jù),但是依賴于利用啟發(fā)式程序和規(guī)則來找到隱藏的結(jié)構(gòu)[3]。常見的無監(jiān)督學(xué)習(xí)有頻繁模式挖掘[4-5]、語義規(guī)則挖掘[6]、話題模型[7]等。有監(jiān)督學(xué)習(xí)則需要標(biāo)記數(shù)據(jù)來訓(xùn)練和標(biāo)注。常見的有監(jiān)督學(xué)習(xí)方法有隱馬爾可夫模型和條件隨機(jī)場。其中,條件隨機(jī)場能夠使用局部信息進(jìn)行信息提取,但對于特征詞與情感詞之間的依賴關(guān)系這種信息并不能有效利用。對此,文中首先使用融合“SBV”,“ATT”,“COO”三種依存句法關(guān)系的條件隨機(jī)場對句子中的特征和情感詞進(jìn)行抽取,然后利用已抽取的特征情感詞構(gòu)成一個二分網(wǎng),最后使用一種基于點(diǎn)互信息的HITS算法來抽取特征和情感詞對。
基于高頻名詞通常是真實(shí)的特征的想法,Hu等[4]提出使用關(guān)聯(lián)規(guī)則挖掘找到高頻名詞作為候選特征,然后使用剪枝挑選出的結(jié)果作為特征。基于這個研究,Popescu等[5]利用名詞與產(chǎn)品類別之間的點(diǎn)互信息(PMI)來抽取產(chǎn)品特征。
除了使用頻率的方法,利用語義規(guī)則提取特征也是一類重要的方法。Zhuang等[8]使用特征情感詞之間的出現(xiàn)次數(shù)最多的依賴關(guān)系抽取電影評論數(shù)據(jù)集中的特征。Qiu等[9]考慮到句子中詞間存在著直接關(guān)系和間接關(guān)系。直接關(guān)系就是兩個詞之間直接依賴或者都同時依賴同一個詞。間接關(guān)系則是兩個詞之間都非直接依賴第三個詞。因此,他們提出了基于直接關(guān)系的雙向傳播算法并設(shè)計(jì)一些規(guī)則來抽取語料庫中特征和情感詞。
此外,還有通過對候選特征排序來提取特征的方法。Eirinaki等[10]認(rèn)為一個名詞與越多的形容詞進(jìn)行搭配,那么這個名詞越有可能是一個特征?;谶@種想法,他們提出了HAC算法,通過對與名詞搭配的形容詞進(jìn)行計(jì)數(shù)來確定名詞的分?jǐn)?shù),搭配越多形容詞的名詞分?jǐn)?shù)越高。Yan等[11]和Zhang等[12]分別利用PageRank算法和HITS算法根據(jù)候選特征和形容詞之間的搭配關(guān)系以及共現(xiàn)頻率對候選特征進(jìn)行排序,從而識別特征詞。
條件隨機(jī)場(conditional random field,CRF)是由John Lafferty于2001年提出,是一種流行的用于結(jié)構(gòu)化預(yù)測的概率方法,廣泛用于各領(lǐng)域。該模型結(jié)構(gòu)類似于有條件訓(xùn)練的隱馬爾可夫模型,并且具有有效的推理算法[13]。
在近年來情感分析任務(wù)中,CRFs模型表現(xiàn)優(yōu)異。在使用條件隨機(jī)場時,最常使用的結(jié)構(gòu)是線性鏈CRFs。為了解決長范圍依賴關(guān)系問題和能夠在同一序列上執(zhí)行多個級聯(lián)標(biāo)記任務(wù),Charles等[14]提出了動態(tài)條件隨機(jī)場(DCRF)。它是線性鏈CRFs的泛化,其將每個時間片都包含一組狀態(tài)變量和邊,并且參數(shù)跨時間片綁定。Niklas等[15]為了解決模型的單一領(lǐng)域和跨領(lǐng)域的特征抽取問題,將詞、詞性、短依存關(guān)系、詞距以及觀點(diǎn)詞作為輸入特征。
條件隨機(jī)場是給定一組輸入隨機(jī)變量條件下另一組輸出隨機(jī)變量的條件概率分布模型,其特點(diǎn)是假設(shè)輸出隨機(jī)變量構(gòu)成馬爾可夫隨機(jī)場[16]。假設(shè)X=(X1,X2,…,Xn)和Y=(Y1,Y2,…,Yn)都是隨機(jī)變量,X是需要標(biāo)注的觀測序列,Y是X對應(yīng)的標(biāo)記序列。P(Y|X)是條件隨機(jī)場所要構(gòu)建的條件概率模型。無向圖G=(V,E)表示由Y構(gòu)成的馬爾可夫隨機(jī)場。
即:
P(Yv|X,Yw,w≠v)=P(Yv|X,Yw,w~v)
(1)
對任意節(jié)點(diǎn)v成立,則P(Y|X)為條件隨機(jī)場。式1中,w~v表示節(jié)點(diǎn)v與節(jié)點(diǎn)w是無向圖G=(V,E)中的鄰居節(jié)點(diǎn)。Yv和Yw是節(jié)點(diǎn)v與w對應(yīng)的隨機(jī)變量[13]。
文中主要使用線性鏈條件隨機(jī)場。線性鏈條件隨機(jī)場中,隨機(jī)變量X=(X1,X2,…,Xn)和Y=(Y1,Y2,…,Yn)都是線性鏈表示的隨機(jī)變量序列,它可以被表示為:
P(Yi|X,Y1,…,Yi-1,Yi+1,…,Yn)=P(Yi|X,Yi-1,Yi+1),i=1,2,…,n
(2)
在情感分析任務(wù)中,特征情感詞的提取可被看作為一個序列標(biāo)注問題,因此可采用線性鏈CRF模型。下文中描述用作CRF模型輸入的特征。
詞與詞性是在自然語言處理任務(wù)中經(jīng)常被使用到的特征。這兩個特征是將句子中當(dāng)前詞與該詞的詞性作為特征,兩者對于特征和情感詞的提取有相當(dāng)大的影響。
對于句子的分詞和詞性標(biāo)注都是通過哈爾濱工業(yè)大學(xué)開發(fā)的LTP(HIT-SCIR,Http://www.ltp-cloud.com/)。
另外,文中使用了依存句法關(guān)系作為特征。依存句法關(guān)系的提取同樣使用的是LTP。保留了三種特征、情感詞間經(jīng)常存在的依存句法關(guān)系,分別是定中關(guān)系(ATT)、平行關(guān)系(COO)和主謂關(guān)系(SBV)[17]。
文中采用CRF++0.58工具包來執(zhí)行模型的訓(xùn)練和標(biāo)注。使用CRF++工具包需要設(shè)計(jì)特征模板。特征模板將從特征集中提取特征并添加到模型中。文中基于上述語言相關(guān)特征設(shè)計(jì)了特征模板。
表1展示了標(biāo)注特征和情感詞使用的模板。
表1 標(biāo)注特征和情感詞使用的特征模板
其中,t表示當(dāng)前詞的標(biāo)記,w表示詞本身,pos表示對應(yīng)詞的詞性,dp表示對應(yīng)詞的依存關(guān)系標(biāo)注。
使用依存關(guān)系是提取特征-情感詞對的一種常用方法,但是使用依存關(guān)系提取的特征-情感詞對的效果依賴于句子語法表達(dá)的正確性以及依存關(guān)系的人工選擇。為了避免以上問題,文中利用MHITS算法[17]來提取特征情感詞對,其考慮了特征和情感詞間的共現(xiàn)頻率,以及特征與情感各自的重要性。
為了使用MHITS算法對特征-情感詞對的值進(jìn)行計(jì)算,首先需要構(gòu)建特征-情感詞二分網(wǎng)絡(luò)。上階段使用CRF提取的特征詞和情感詞分別作為網(wǎng)絡(luò)中的權(quán)威節(jié)點(diǎn)fi和樞紐節(jié)點(diǎn)sj。在測試數(shù)據(jù)集中,同一句話中出現(xiàn)的任意兩個特征詞和情感詞之間都存在著一條邊eij。邊eij的權(quán)重wij、權(quán)威節(jié)點(diǎn)的值p(fi)和樞紐節(jié)點(diǎn)的值p(sj)都使用MHITS算法進(jìn)行計(jì)算。MHITS算法具體如下:
初始步:對于在全部數(shù)據(jù)集中特征詞與情感詞在同句話中出現(xiàn)過的詞對的權(quán)重為其共現(xiàn)頻次。其余網(wǎng)絡(luò)中邊的權(quán)重wij的初始值為1。
迭代過程:
權(quán)威(特征)節(jié)點(diǎn):每個權(quán)威節(jié)點(diǎn)都更新為與其相連的樞紐節(jié)點(diǎn)的邊權(quán)之和。
(3)
樞紐(情感)節(jié)點(diǎn):每個樞紐節(jié)點(diǎn)更新為與其相連的權(quán)威節(jié)點(diǎn)的邊權(quán)之和。
(4)
邊權(quán):邊連接的權(quán)威節(jié)點(diǎn)和樞紐節(jié)點(diǎn)的點(diǎn)互信息。
(5)
其中,k表示當(dāng)前的迭代次數(shù);T表示權(quán)威節(jié)點(diǎn)fi連接的樞紐節(jié)點(diǎn)的集合;U表示樞紐節(jié)點(diǎn)sj連接的權(quán)威節(jié)點(diǎn)的集合;F表示所有權(quán)威節(jié)點(diǎn)的集合;S表示所有樞紐節(jié)點(diǎn)的集合。
第一輪迭代中網(wǎng)絡(luò)的邊權(quán)是根據(jù)特征詞與情感詞之間共現(xiàn)頻率計(jì)算兩者之間的點(diǎn)互信息,然后更新特征和情感節(jié)點(diǎn)的值,之后的每一輪都是根據(jù)上一輪的值計(jì)算邊權(quán)和節(jié)點(diǎn)的值。
算法在不斷迭代中收斂,最終結(jié)果會趨于平穩(wěn)。根據(jù)MHITS算法計(jì)算的邊權(quán)的值對(特征-情感)對進(jìn)行排序,邊權(quán)值大于某個閾值的節(jié)點(diǎn)對會被保存在最終列表中。
為了驗(yàn)證算法的有效性,使用京東商城上的評論數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。
實(shí)驗(yàn)數(shù)據(jù)是Liu等[17]使用的評論數(shù)據(jù)集中的三種商品,分別是華為手機(jī)、洗面奶以及羽毛球拍,見表2。
表2 數(shù)據(jù)集
文中使用精確率(P)、召回率(R)、F指標(biāo)(F1)去評估模型的質(zhì)量。精確率計(jì)算的是模型提取的所有特征或情感中正確的特征-情感詞對的比例。召回率計(jì)算的是模型提取的正確的特征-情感對占評論中所有特征-情感詞對的比例。F1指標(biāo)是精確率和召回率的調(diào)和平均值。
其計(jì)算公式分別為:
(6)
(7)
(8)
其中,TP表示真正例,即模型提取出的正確的特征-情感詞對;FP表示假正例,即模型提取出來的錯誤的特征-情感詞對;FN表示假負(fù)例,是模型未能提取出來的評論中的特征-情感詞對。
文中首先使用融合詞、詞性和依存句法關(guān)系的線性鏈CRF提取特征和情感詞。特征模板使用表1中序號1-7的模板。然后在CRF標(biāo)注的情感詞和特感詞構(gòu)建特征-情感網(wǎng)絡(luò)并運(yùn)行MHITS算法。對比的方法分別是:
依存關(guān)系:對評論進(jìn)行句法分析后提取符合“SBV”,“ATT”,“COO”關(guān)系的特征情感對。具體的提取規(guī)則有5種,可分為“SBV”,“ATT”兩個大類。具體提取的規(guī)則見表3。
表3 提取特征情感詞對的規(guī)則
依存+CRF:在使用CRF標(biāo)注特征情感詞后利用“SBV”,“ATT”,“COO”關(guān)系抽取特征-情感詞對。
HITS+CRF:使用CRF標(biāo)注的特征和情感詞構(gòu)建二分網(wǎng),然后使用Zhang等提出的基于二分網(wǎng)的HITS算法對特征和情感詞組成的詞對進(jìn)行排序[12]。
MHITS+CRF:使用CRF標(biāo)注的特征和情感詞構(gòu)建二分網(wǎng),然后使用MHITS算法對特征和情感詞組成的詞對進(jìn)行排序。
實(shí)驗(yàn)使用排序的最佳閾值為在評論上的最高F值。最終在三個數(shù)據(jù)集上的結(jié)果如表4所示。
表4 在華為手機(jī)、羽毛球和洗面奶 數(shù)據(jù)集上的比較結(jié)果
從表4中可以看出,使用依存+CRF和HITS+CRF提取特征-情感詞對具有較高的準(zhǔn)確性,但召回率比較低。而僅使用依存關(guān)系則具有較高的召回率,準(zhǔn)確率非常低。MHITS+CRF算法在準(zhǔn)確率和召回率上都表現(xiàn)中等。
從表5可以看出,MHITS+CRF的平均F1值相對較高。
表5 在全部數(shù)據(jù)集上的平均值
通過比較依存關(guān)系和依存+CRF兩種方法可以看出,使用CRF提取特征和情感后再使用依存關(guān)系提取特征情感對能夠顯著提升提取特征和情感對的效果。MHITS+CRF與依存+CRF、HITS+CRF方法比較之下,準(zhǔn)確率較低,但是召回率較高。另外,由于MHITS算法考慮詞對的共現(xiàn)頻率,最終F1值稍高于使用HITS算法排序的結(jié)果。
文中提出了一種兩階段的特征-情感詞對提取方法。首先使用CRF模型,融合詞、詞性、依存句法關(guān)系三種文本特征對評論文本中的特征和情感詞進(jìn)行識別,然后使用MHITS算法對特征-情感詞對進(jìn)行提取。實(shí)驗(yàn)結(jié)果表明,相較于基準(zhǔn)方法,該方法在特征-情感詞對的提取上取得了一定的效果。但該方法也存在一定的不足:使用的是有監(jiān)督的CRF模型,需要預(yù)先標(biāo)注大量的數(shù)據(jù);會受到數(shù)據(jù)量大小的影響,特別是對于數(shù)據(jù)量小和特征與情感詞少的評論效果較差。因此,下一步的改進(jìn)方向是減少數(shù)據(jù)量大小對方法的影響。