李德玉,王佳,王素格
(1.山西大學(xué) 計算機與信息技術(shù)學(xué)院,山西 太原 030006;2.山西大學(xué) 計算智能與中文信息處理教育部重點實驗室,山西 太原 030006)
隨著社交媒體、網(wǎng)絡(luò)論壇的流行,消費者更多地通過社交媒體、網(wǎng)絡(luò)論壇來發(fā)表自己對于已購買產(chǎn)品的評價,評論中既包含對產(chǎn)品整體的評價,也包含了對產(chǎn)品某一部件或是某一性能的評價,而且,一些潛在消費者也會發(fā)表自己對于新產(chǎn)品的期待。在產(chǎn)品評論領(lǐng)域中,用戶評論經(jīng)常帶有明確的指向,例如,針對產(chǎn)品的某一部分或某一功能做出評價。為了對這些評論文本進行處理、分析、歸納和推理[1],抽取其評價對象是必不可少的環(huán)節(jié)[2-3],而評價對象在評價文本中包括被評論中產(chǎn)品名稱或產(chǎn)品屬性。
對于評價對象的抽取,目前已經(jīng)有許多相關(guān)工作,大致分為兩大類:基于規(guī)則的方法和基于機器學(xué)習(xí)的方法?;谝?guī)則的方法有江騰蛟等人[2]結(jié)合語義角色標(biāo)注與依存句法分析,設(shè)計了評價對象-情感詞對抽取規(guī)則,用于解決評價對象構(gòu)成的復(fù)雜性問題。Li等人[3]利用情感詞典和主題詞詞典篩選出〈情感詞,評價對象〉的組合,使用該二元組中的評價詞與評價對象之間的關(guān)系進行抽取。Popescu等人[4]利用互信息算法抽取特性。基于統(tǒng)計機器學(xué)習(xí)方法有王榮洋等人[5]采用CRF模型,探索了多種特征在評價對象抽取任務(wù)中的性能,并將特征歸納為詞法、依存關(guān)系、相對位置、語義四大類別,引入語義角色標(biāo)注新特征,表明其提出的語義角色標(biāo)注特征對評價對象抽取有較好地指示作用。鄭敏潔等人[6]提出了一種基于層疊條件隨機場的中文句子評價對象抽取方法。該方法首先通過低層條件隨機場獲得候選評價對象集,然后通過降噪模型對噪聲進行過濾,補充模型對缺失的候選評價對象進行補充,合并模型對復(fù)合短語候選評價對象進行合并,最后抽取出評價對象。實驗結(jié)果顯示,該方法能有效地識別復(fù)合詞評價對象和未登錄評價對象,從而提高了中文句子評價對象的識別精度。近年來,研究者不斷將深度學(xué)習(xí)技術(shù)應(yīng)用于評價對象的抽取任務(wù),李盛秋等人[7-8]將長短期記憶模型(LSTM)應(yīng)用于手機、筆記本、相機和汽車四個領(lǐng)域評價對象的抽取,實驗證明LSTM在評價對象抽取任務(wù)上有較好的表現(xiàn)。程夢等人[9]利用雙向LSTM和注意力機制,對句子進行了重新表示,并使用CRF模型對屬性進行了標(biāo)注。上述研究是針對評價對象實體進行單獨抽取,并沒有考慮評價屬性。若能同時正確抽取出評價對象實體與屬性,可以更快捷地獲取到評價產(chǎn)品更多的信息。
在產(chǎn)品評論中,用戶不僅關(guān)心評價產(chǎn)品實體,同時也關(guān)注評價產(chǎn)品屬性。通過對大量真實產(chǎn)品評論文本的觀察發(fā)現(xiàn),產(chǎn)品評價對象經(jīng)常以這三種方式出現(xiàn):①產(chǎn)品的整體;②產(chǎn)品的某個部件;③產(chǎn)品的特性及其外延[10]。例如:在汽車評論文本中,被評價的對象通常有:“奔馳依舊是表現(xiàn)最出色的”“豐田的車型真是好看”“寶馬的安全、質(zhì)量和口碑真是沒得說”。為了敘述的方便,本文對上述情形不再細分,我們將第①類的評價對象稱為“產(chǎn)品名稱”,例句中,“奔馳”“豐田”“寶馬”就是評價產(chǎn)品名稱;第②類和第③類的評價對象統(tǒng)稱為“產(chǎn)品屬性”。例句中的“車型”“安全”“質(zhì)量”“口碑”即為評價產(chǎn)品屬性。為了同時抽取汽車產(chǎn)品名稱和產(chǎn)品屬性,本文引入了挖掘中文內(nèi)部筆畫信息的cw2vec模型,并將雙向長短期記憶模型(BiLSTM)結(jié)合CRF模型,構(gòu)建了cw2vec-BiLSTM-CRF模型,用于汽車產(chǎn)品名稱和產(chǎn)品屬性的抽取。通過在汽車產(chǎn)品的評論數(shù)據(jù)集上進行實驗,實驗結(jié)果表明,cw2vec模型和BiLSTM-CRF模型的結(jié)合識別的汽車產(chǎn)品名稱和產(chǎn)品屬性性能更加有效。
目前已經(jīng)存在很多的詞向量模型,但是較多的詞向量模型都是基于西方語言,然而,由于中文書寫和西方語言完全不同,單個英文字符是不具備語義的,而中文漢字往往具有很強的語義信息,中文詞語包含很少的中文字符,然而,中文字符內(nèi)部包含了較強的語義信息,因此,本文使用了基于漢字筆畫信息的中文詞向量模型cw2vec[11]來訓(xùn)練詞向量,以達到充分利用中文字符內(nèi)部的語義信息的目標(biāo)。
cw2vec模型是使用一種基于n元筆畫的損失函數(shù),公式如下:
λEw′~P[logsigmoid(-sim(w,w′))]
(1)
其中,w和c分別表示當(dāng)前詞語和上下文的詞語,T(w)是當(dāng)前詞語上下文窗口內(nèi)的所有詞語集合,D是訓(xùn)練語料,λ是負采樣的數(shù)量。Ew′~P[·]是期望,并且選擇的負采樣w′服從分布P,主要按照詞頻分布,因此,語料中出現(xiàn)次數(shù)越多的詞語越容易被采樣。詞語相似性計算函數(shù)構(gòu)造如下:
(2)
(1)詞語分割:把中文詞語分割為單個字。
(2)詞語筆畫信息獲取:將詞語按照字的筆畫獲取信息,并將這些筆畫信息合并,得到詞語的筆畫信息。
(3)筆畫特征數(shù)字化:將筆畫劃分為5類,利用數(shù)字1-5表示,其對應(yīng)關(guān)系如表1所示。
表1 筆畫名稱與數(shù)字的對應(yīng)關(guān)系
(4)N元筆畫特征獲取:提取詞語筆畫信息的N-gram特征。
以“寶馬車型好看”為例,分詞結(jié)果為:寶馬 車型 好看;以“車型”為當(dāng)前詞語,其上下文詞為:寶馬、好看。cw2vec模型表示如圖1所示。
圖1 以“寶馬車型好看”為示例的cw2vec模型表示
如圖1所示,對于“寶馬 車型 好看”。首先將當(dāng)前詞語“車型”拆解成n元筆畫,并找出其數(shù)字編碼,然后按照窗口大小得到所有n元筆畫,計算當(dāng)前詞語的n元筆畫和上下文詞語的相似度,再根據(jù)損失函數(shù)求梯度,并對上下文詞向量和n元筆畫向量進行更新。最后,利用上下文詞向量(context word embedding)作為最終cw2vec模型的輸出詞向量。
LSTM是一種基于序列標(biāo)注數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。輸入序列變量(x1,x2, …,xn),返回相對應(yīng)的另一個序列(h1,h2,…,hn)。LSTM模型通過特有的門結(jié)構(gòu)來保持和更新狀態(tài),以達到長期記憶功能,并且已經(jīng)被證明該模型能夠捕獲長距離依賴信息[12-14]。短期記憶模型中“三門”記憶單元計算公式分別如下:
it=σ(Wxixt+Whiht-1+Wcixt-1+bi,
(3)
ft=σ(Wxfxt+Whfht-1+Wcfxt-1+bf) ,
(4)
ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc) ,
(5)
ot=σ(Wxoxt+Whoht-1+Wcoxt-1+bo) ,
(6)
ht=ottanh(ct) ,
(7)
其中,σ是logistic sigmoid 函數(shù),i表示輸入門,f表示遺忘門,o表示輸出門,c表示神經(jīng)元向量。所有計算過程中的向量維度都與隱藏層向量h維度保持一致。其中,Whi表示隱藏層輸入門矩陣,Wxo表示輸入-輸出門矩陣等。其中,權(quán)重矩陣是神經(jīng)單元到門向量的對角矩陣,因此,每個元素在每一個門單元中只接收當(dāng)前元素的單元向量。
CRF主要綜合了隱馬爾科夫模型和最大熵模型的優(yōu)點。在CRF模型中,已知輸入序列x=x1,…,xn-1,xn的情況下,可求出輸出序列Y的概率p(y|x)最大時的狀態(tài)序列,因此,CRF模型可用來解決序列標(biāo)注問題[16]。y的條件概率定義如下:
(8)
其中tk(yi-1,yi,x,i),sk(yi,x,i)表示特征函數(shù),λk,μk是其相對應(yīng)的權(quán)重,Z(x)表示歸一化函數(shù):
為了同時抽取評論文本中的評價對象和評價屬性,本文利用cw2vec進行詞向量表示,再結(jié)合BiLSTM和CRF兩種模型進行抽取,其網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖2所示。
圖2 BiLSTM-CRF網(wǎng)絡(luò)結(jié)構(gòu)示意圖
整個抽取過程如下:
(1)使用了BIO標(biāo)注法來對汽車領(lǐng)域產(chǎn)品評論語料進行標(biāo)注,標(biāo)注格式見表2所示。
表2 句子序列標(biāo)注格式
(9)
再用softmax層計算出所有可能標(biāo)簽的概率如公式(10)。
(10)
再將公式進行變換得到公式(11)
(11)
(3)多次迭代后,不斷調(diào)整網(wǎng)絡(luò)參數(shù),獲得得分最高的序列作為預(yù)測標(biāo)記的正確序列。
為了對模型進行有效性評估,本文收集了汽車領(lǐng)域6 577條用戶評論數(shù)據(jù),并進行了手工標(biāo)注。其中5 311條評論數(shù)據(jù)作為訓(xùn)練集,1 266條評論數(shù)據(jù)作為測試集。
產(chǎn)品名稱與產(chǎn)品屬性的識別評價指標(biāo)采用準(zhǔn)確率(P)、召回率(R)和綜合指標(biāo)(F值)。
為了對比各類方法在汽車領(lǐng)域產(chǎn)品名稱與屬性抽取任務(wù)中的性能,選取以下幾種方法進行比較:
1)CRF:利用條件隨機場模型,結(jié)合詞特征抽取產(chǎn)品名稱和產(chǎn)品屬性。
2)word2vec-BiLSTM:利用雙向LSTM抽取產(chǎn)品名稱和產(chǎn)品屬性。
3)word2vec-BiLSTM-CRF:結(jié)合BiLSTM和CRF抽取產(chǎn)品名稱和產(chǎn)品屬性。
4)cw2vec-BiLSTM:使用cw2vec進行word embedding后,使用雙向LSTM抽取產(chǎn)品名稱和產(chǎn)品屬性。
5)cw2vec-BiLSTM-CRF:使用cw2vec進行word embedding后,結(jié)合BiLSTM和CRF抽取產(chǎn)品名稱和產(chǎn)品屬性。
根據(jù)第2.2節(jié)的設(shè)置的實驗,列出了5種方法在同一數(shù)據(jù)集上實驗的得到的結(jié)果,實驗結(jié)果見表3,其中,表中的“OB”表示產(chǎn)品名稱、“AT”表示產(chǎn)品屬性。
由表3在汽車領(lǐng)域產(chǎn)品名稱與屬性識別任務(wù)的5種方法的性能,可以看到:
(1)使用cw2vec模型后,相比于僅使用通用word2vec模型,準(zhǔn)確率、召回率、F值都有所提升。
(2)使用CRF模型的F值是最低的。然而無論是采用word2vec還是cw2vec作為詞表示,再與LSTM模型結(jié)合使用,所有的指標(biāo)均有所提升,說明詞向量表示是有效的。
(3)BiLSTM-CRF與BiLSTM相比,產(chǎn)品名稱和產(chǎn)品屬性的抽取準(zhǔn)確率都有很大提升,表明融合了CRF模型后,通過結(jié)合前后標(biāo)簽將有利于預(yù)測當(dāng)前標(biāo)簽,然而,召回率卻有所降低。
表3 5種方法的性能對比
(4)5種方法識別產(chǎn)品名稱的指標(biāo)均高于識別產(chǎn)品屬性的指標(biāo)。主要原因是專業(yè)名詞多集中在產(chǎn)品屬性,例如“渦輪增壓器”“渦輪進氣口”等,造成識別難度較大。
通過分析識別出的產(chǎn)品名稱與產(chǎn)品屬性,對實驗結(jié)果的錯誤分析如下:
(1)因產(chǎn)品名稱與產(chǎn)品屬性之間沒有明確的界限,對預(yù)測結(jié)果產(chǎn)生了一定的影響。例如“2013款本田雅閣”“本田NEWCIVIC”“16.4grand 超跑”等這類“品牌+型號”組合的產(chǎn)品名稱,在產(chǎn)品名稱和屬性識別時出現(xiàn)了錯誤標(biāo)記。
(2)在線用戶產(chǎn)品評論用詞偏口語化,對汽車產(chǎn)品名稱多有別稱、簡寫,也給識別帶來了困難。例如“benz”(奔馳的別稱)為產(chǎn)品名稱,未能正確識別。
(3)當(dāng)屬性詞前加定語修飾時,例如“后排空間”“品牌價值”“廣告成本”“配件質(zhì)量”等詞,識別時出現(xiàn)漏掉定語的情況,僅抽取出“空間”“價值”“成本”“質(zhì)量”作為產(chǎn)品屬性。
(4)當(dāng)出現(xiàn)動詞性短語時,容易識別錯誤。例如“渦輪進氣口松動不算大問題”,此句中“渦輪進氣口松動”為一個整體。
針對汽車領(lǐng)域眾多評論文本的分析,需要明確識別產(chǎn)品名稱產(chǎn)品屬性問題。本文采用了BiLSTM-CRF模型,并結(jié)合了能挖掘出中文字符筆畫特征信息的cw2vec模型,提出了一種基于cw2vec-BiLSTM-CRF深度學(xué)習(xí)模型的實體識別方法。該方法利用可以記憶上文信息的LSTM 模型作為隱藏層,融合了 CRF 作為標(biāo)簽推理層,從而解決了文本序列標(biāo)簽依賴問題,同時采用了cw2vec模型,使得中文字符內(nèi)部包含的語義信息得到有效利用。在汽車領(lǐng)域數(shù)據(jù)上進行實驗,驗證了cw2vec-Bi-LSTM-CRF模型在中文汽車領(lǐng)域產(chǎn)品名稱和產(chǎn)品屬性識別任務(wù)中的有效性。