陳可嘉,柯永誠,林鴻熙
(1.福州大學 經(jīng)濟與管理學院,福建 福州 350108;2.莆田學院 商學院,福建 莆田 351100)
人們往往會查閱產(chǎn)品評論進行購買決策,但用戶偏好的不同以及海量評論易導致信息過載[1]。因此,評論挖掘技術應運而生,產(chǎn)品特征提取作為首要任務,其結果好壞會直接影響后續(xù)任務[2]。產(chǎn)品特征提取可分為顯式和隱式特征提取。顯式特征是以文字形式在評論出現(xiàn)的特征;隱式特征是不以文字形式出現(xiàn)在評論的特征,但能通過語境推斷[3],如“太貴了”中“貴”經(jīng)由語境推斷出它修飾特征“價格”。30%的中文評論含有隱式特征[4]。因此,深入研究隱式特征提取能獲得更完整的特征信息。
當前隱式特征提取的主要策略是通過某種算法提取顯式特征與情感詞,基于其共現(xiàn)關系為情感詞確定隱式特征[5]。其研究方法包括關聯(lián)規(guī)則、主題模型、句法關系、機器學習等。前兩種方法難以發(fā)現(xiàn)低頻詞,機器學習又過于依賴標注數(shù)據(jù)集,而句法關系能利用詞語依存關系提取出低頻詞,所以近年來有不少研究都融入了句法關系。但還存在以下不足:一是以名詞為候選特征,并主要考慮主謂關系[6],但特征詞還有動詞、動名詞等詞性,在句法關系上也有動補結構、并列關系等。二是僅考慮形容詞[7,8],或利用情感詞典識別情感詞[9],前者忽略其它詞性的情感詞,后者是情感詞有限,且與英文詞典資源相比,中文詞典資源較為匱乏。三是由于隱式特征難以觀測,使多數(shù)研究僅關注顯式特征提取[10,11],少數(shù)隱式特征提取研究也基本上面向英文評論[3,12],不利于隱式特征提取研究發(fā)展。
針對上述不足,本文主要考慮中文評論出現(xiàn)情感詞條件下的隱式特征提取,提出一種基于句法規(guī)則與情感詞的隱式特征提取方法。通過考慮多種特征詞詞性及句法關系,利用詞向量和中文情感詞典構建特征詞典和混合情感詞典,以此定義句法規(guī)則來提取顯式特征-情感詞,并基于其共現(xiàn)情況來提取隱式特征。
目前特征提取研究主要關注顯式特征提取。邱云飛等[7]使用條件隨機場和貪婪式特征選擇來提取顯式特征。Wan等[13]將詞匯關聯(lián)組合及相關約束融入主題模型來提取顯式特征詞。Lee等[14]改進卷積神經(jīng)網(wǎng)絡來提取關鍵特征。
在隱式特征提取上的研究相對較少。最早的隱式特征提取思想是由Liu等[15]提出,利用關聯(lián)規(guī)則提取顯式特征-情感詞對,根據(jù)其映射關系提取隱式特征。隨后,Wang等[16]使用頻率、點互信息(pointwise mutual information,PMI)等多種算法計算共現(xiàn)度,通過規(guī)則選擇來識別隱式特征。Zainuddin等[17]使用關聯(lián)規(guī)則和詞性模式提取顯式特征,并結合句法分析器提取隱式特征。Karagoz等[18]通過匹配候選詞與情感詞,以及情感詞與顯式特征的共現(xiàn)關系確定隱式特征。Eldin等[19]使用語言及啟發(fā)式模式提取顯式特征,并應用布谷鳥搜索算法從候選特征列表識別隱式特征。在利用機器學習或深度學習識別隱式特征方面,Rana等[20]定義規(guī)則來識別用戶意見的潛在線索,考慮意見詞、隱式特征線索和歸一化谷歌距離的共現(xiàn)關系提取隱式特征。Feng等[21]利用深度卷積神經(jīng)網(wǎng)絡提取顯式特征-情感詞,考慮特征詞作為主題及其與情感詞的匹配度提取隱式特征。Afzaal等[22]使用餐廳和酒店領域的決策樹為單詞指定特征類。Mir等[23]使用BiLSTM-CRF來提取顯式特征,并將結果用于處理各類隱式評論。
本文提出一種基于句法規(guī)則與情感詞的隱式特征提取方法,包括數(shù)據(jù)收集與預處理、情感資源構建和隱式特征提取3個階段,其框架流程如圖1所示。首先從數(shù)據(jù)集提取評論數(shù)據(jù),進行分句、分詞等預處理操作,并基于實驗語料和外部語料訓練詞向量;然后,借助中文情感詞典構建混合情感詞典,并使用外部語料詞向量實現(xiàn)情感詞擴展;最后,使用實驗語料詞向量構建特征詞典,根據(jù)構建的兩個詞典,通過定義句法規(guī)則來提取顯式特征-情感詞,根據(jù)其共現(xiàn)關系獲得隱式特征詞典,以此提取隱式特征。
圖1 本文方法框架流程
從評論數(shù)據(jù)集提取實驗語料R={r1,r2,…,rn},同時收集大規(guī)模文本作為外部語料。后續(xù)預處理工作包括:
評論分句。按照標點符號將長評論ri(1≤i≤n) 切分成多個單句sij,即ri={si1,si2,…,sij},其中j≥1。
分詞與詞性標注。采用jieba分詞對分句后的實驗語料和外部語料進行分詞和詞性標注。
依存句法分析。采用哈工大Pyltp[10]進行句法分析,獲得詞語的依存句法關系。
詞向量訓練。利用Gensim庫的Word2Vec類分別對實驗語料和外部語料進行向量表示,得到相應詞向量。
情感資源構建工作包括中文情感資源收集、混合情感詞典構建和基于評論語料的情感詞擴展3個方面。
2.2.1 中文情感資源收集
中文語境的情感詞識別及極性判斷,一般要借助情感詞典,通過判斷情感詞、否定詞和程度副詞來度量情感極性或強度。具體來說,情感詞表達積極、中立或消極的觀點,否定詞能轉變情感方向,程度副詞能增強或減弱情感。為了識別情感詞及修飾詞,本文使用3種詞典,即混合情感詞典、程度副詞和否定詞詞典。
(1)基礎情感詞典
現(xiàn)有不少公開可用的中文情感詞典資源,如HowNet詞典、NTUSD詞典、大連理工情感詞匯本體[24]、中文褒貶義詞典。這些詞典將作為構建混合情感詞典的基礎情感詞典。
(2)程度副詞和否定詞詞典
本文選擇HowNet的程度副詞詞典來識別副詞,并利用網(wǎng)絡整理了一份如表1的否定詞詞典。
表1 否定詞詞典
2.2.2 混合情感詞典構建
本文結合情感詞在基礎情感詞典的極性來構建混合情感詞典。步驟如下:
步驟1 取出各情感詞典中極性較明顯的情感詞,通過合并去重得到情感詞集E={e1,e2,…,ew}。
步驟2 對于情感詞ev(1≤v≤w),其極性值pv范圍為[-4,0)∪(0,+4]。通過統(tǒng)計ev在各情感詞典的極性來確定pv,計算方式如式(1)所示
pv=∑poscountv-∑negcountv
(1)
式中:∑poscountv為ev在各詞典中極性為積極的總次數(shù),∑negcountv為ev在各詞典中極性為消極的總次數(shù)。
步驟3 根據(jù)極性值pv的大小判斷ev極性。如果pv大于零、小于零或等于零,則ev的情感極性分別為積極、消極或中性,并添加到混合情感詞典的積極詞表DO、消極詞表DB或中性詞表DU。
2.2.3 基于評論語料的情感詞擴展
為進一步擴展情感詞,本文利用外部語料詞向量,使用詞嵌入模型的相似性功能來搜索實驗語料的情感詞。這里僅考慮形容詞作為擴展對象。步驟如下:
步驟1 對某個不在混合情感詞典而在實驗語料的形容詞A,預設兩個空子列表,分別用于存放語義相近的積極、消極情感詞。
步驟2 利用外部語料詞向量計算A與詞表DO、DB內(nèi)各情感詞的相似度,并設置閾值。如果A與某積極情感詞的相似度大于閾值,則將該情感詞添加到積極子列表,消極情感詞的添加方式同理。情感分數(shù)AC計算方式如式(2)
(2)
式中:apos>0或aneg>0,apos為積極子列表的詞數(shù),aneg為消極子列表的詞數(shù)。
步驟3 根據(jù)情感分數(shù)AC確定A的極性。如果AC大于零、小于零或等于零,則A的情感極性分別為積極、消極或中性,并加入情感詞集E及相應極性詞表。
構建混合情感詞典是為了有效識別情感詞,以便在特征提取時使用。接下來就是通過定義句法規(guī)則提取顯式特征及情感詞,以此實現(xiàn)隱式特征提取。主要工作包括建立產(chǎn)品特征詞典、顯式特征提取和隱式特征指定。
2.3.1 建立產(chǎn)品特征詞典
建立特征詞典能約束特征提取過程中的句法分析結果,以減少噪音詞?;谖墨I[10],建立步驟如下:
步驟1 根據(jù)官網(wǎng)、電商平臺等網(wǎng)站的產(chǎn)品說明,以及用戶評價習慣,將產(chǎn)品特征細分為一些粗粒度特征和細粒度特征,得到細粒度特征集F={f1,f2,…,fk}。
步驟2 統(tǒng)計實驗語料中名詞、動詞、動名詞等詞頻,設置閾值,并為細粒度特征fh(1≤h≤k) 人工選取代表詞mhl(l≥1),其中mhl表示fh的第l個代表詞,從而獲得基礎特征詞典。
步驟3 利用實驗語料詞向量歸類剩余詞匯,計算待歸類詞cword和各細粒度特征的相似度,即計算cword和fh下代表詞簇的相似度平均值,將其分配到相似度最高的細粒度特征。同時設置閾值過濾一些噪音詞。待歸類詞cword與fh的相似度計算如式(3),其中y∈[1,l]且為整數(shù)
(3)
步驟4 人工校驗并修正歸類結果,得到細粒度特征fh={featureh1,featureh2,…,featurehx},其中featurehx表示fh下屬的第x個顯式特征詞,由此獲得最終的特征詞典。
2.3.2 顯式特征提取
本文提取的詞對以[特征詞,情感詞,修飾詞]的形式表示。文中使用的句法關系見表2。提取方法如下:①定義6種句法規(guī)則,從句法分析結果提取[特征詞,情感詞]二元組。②根據(jù)情感詞與修飾詞的句法關系,提取修飾詞,構成更為完善的三元組。
表2 句法關系描述及示例
(1)定義句法規(guī)則提取二元組
本文提出以下6種句法規(guī)則來提取顯式特征,相關示例的句法分析如圖2所示。
圖2 相關句法規(guī)則的示例分析
SBV規(guī)則:如果某特征詞featurehx為主語,情感詞ev為謂語,并且兩者存在SBV關系,則能提取出二元組[featurehx,ev]。以“性價比比較高”為例,其句法分析如圖2(a)所示。
VOB規(guī)則:如果某特征詞featurehx為賓語,情感詞ev為謂語,并且兩者存在VOB關系,則能提取出二元組[featurehx,ev]。評論“包裝太垃圾”的句法分析可見圖2(b)。
FOB規(guī)則:如果某特征詞featurehx作為評價對象,情感詞ev為謂語,并且兩者存在FOB關系,就能提取出二元組[featurehx,ev]。評論“價位也還能接受”的句法分析可見圖2(c)。
ATT規(guī)則:如果某情感詞ev是定語,修飾特征詞featurehx,則能構成二元組[featurehx,ev]。評論“很漂亮的鏡頭”的句法分析可見圖2(d)。
CMP規(guī)則:當特征詞為動詞時,其情感詞一般為動詞補足語。因此,如果情感詞ev是動詞補足語,修飾特征詞featurehx,則能構成二元組[featurehx,ev]。評論“成像很好”的句法分析可見圖2(e)。
COO規(guī)則:如果特征詞featurehx、featurebc(b≠h或c≠x)并排出現(xiàn)在評論中,并且兩者存在COO關系,而featurehx與情感詞ev又存在某種句法關系,則認為featurebc與ev也有這種關系,從而提取二元組[featurehx,ev]和[featurebc,ev]。以“外形和手感都不錯”為例,其句法分析如圖2(f)所示。
(2)包含修飾詞的三元組提取
僅提取二元組是不夠的,還需要根據(jù)情感詞的句法關系來識別修飾詞,形成更為完善的三元組。
ADV規(guī)則:當某修飾詞q與[featurehx,ev]的情感詞ev存在ADV關系時,且該修飾詞在副詞或否定詞詞典中,則能形成三元組[featurehx,ev,q]。以圖2(a)為例,通過SBV規(guī)則能提取出[性價比,高],同時“比較”修飾“高”,兩者存在ADV關系,因此能提取出“比較”,構成三元組[性價比,高,比較]。
CMP規(guī)則:如果某修飾詞q與[featurehx,ev]的情感詞ev存在CMP關系,且該修飾詞在副詞或否定詞詞典中,則能形成三元組[featurehx,ev,q]。如圖2(g)的示例,根據(jù)SBV規(guī)則能提取[價格,高],而“一些”修飾“高”,兩者存在CMP關系,因此,能提取并形成三元組[價格,高,一些]。
2.3.3 隱式特征指定
根據(jù)2.3.2節(jié)獲得基于實驗語料的情感詞集E’,以此統(tǒng)計顯式特征與情感詞的搭配次數(shù),根據(jù)其共現(xiàn)關系提取隱式特征。步驟如下:
步驟1 將E’中情感詞ev與不同特征詞的搭配次數(shù)轉化為與其上屬細粒度特征的共現(xiàn)次數(shù)。即ev與細粒度特征fh的共現(xiàn)次數(shù)為ev與其下屬特征詞featurehx搭配次數(shù)的總和。
步驟2 以ev對應共現(xiàn)次數(shù)最多的細粒度特征作為其默認特征,推出E’中各情感詞的默認特征,獲得{情感詞:隱式特征}形式的隱式特征詞典。
步驟3 重新遍歷評論,如果評論有在E’而未被提取的情感詞,則根據(jù)隱式特征詞典推導隱式特征,提取包含隱式特征的元組。
實驗數(shù)據(jù)集來自Zhang等[25]發(fā)布的相機評論數(shù)據(jù)集。每條評論都標注了顯式特征及情感詞,示例如圖3所示。其中,[價格,超值,1,1,N]里“1”表示標注詞極性,“N”表示沒有情感否定。本文提取了20 000條用戶評論作為實驗語料,同時人工標注200條含隱式特征的評論,共14個細粒度特征的297個結果。
圖3 相機數(shù)據(jù)集評論示例
分句過程以“????!。.”等標點符號作為分句標志。使用jieba分詞進行分詞與詞性標注,并加入自定義詞典來提高分詞準確率,包括感光度、遮光罩等。在詞性標注去掉了顏表情、無意義字符等字符。在依存句法分析上,則使用Pyltp的依存句法分析模塊,將句法關系保存為七元組,如[ATT,做工,0,v,手感,1,n],其中第一位表示兩詞的句法關系,第二至四位分別表示該句法關系指向的核心詞及其位置、詞性,第五至七位分別表示該句法關系從屬的修飾詞及其位置、詞性。此外,對實驗語料和外部語料進行詞向量訓練的相關參數(shù)見表3。
表3 詞向量訓練語料及參數(shù)
本文以精確率(Precision)、召回率(Recall)和F1值作為評價指標,計算公式如式(4)~式(6)所示
(4)
(5)
(6)
3.2.1 情感資源構建
首先在情感詞選擇上,HowNet選用正負面的情感詞與評價詞表,大連理工情感本體選用極性標注為0、1、2的情感詞,NTUSD和中文褒貶義詞典則全部選用。然后,通過合并去重獲得總情感詞表,利用式(1)計算各情感詞的極性值,由此構建混合情感詞典,其中積極詞表、中性詞表、消極詞表分別包含16 037、3324、18 414個情感詞。最后,利用外部語料詞向量和式(2)進行情感詞擴展,擴展的積極詞、中性詞、消極詞分別為137、19、129個。另外,構建過程不考慮詞長在4以上的情感詞,相似度閾值為0.5。部分擴展詞如圖4所示。
圖4 基于實驗語料擴展的情感詞
3.2.2 隱式特征提取
首先,基于中關村、京東等網(wǎng)站的產(chǎn)品說明,結合用戶評價習慣建立基礎特征詞典,得到價格、外觀設計、曝光控制、鏡頭、電源、拍攝性能、屏幕、基本參數(shù)、服務這9類粗粒度特征,其下包括價格、性價比、顏色、材質(zhì)等21個細粒度特征。其次,通過詞頻統(tǒng)計,為各細粒度特征人工選取3個詞頻在3以上的代表詞,得到21個細粒度特征下的63個代表詞匯。如“鏡頭配置”選取的代表詞為鏡頭、濾鏡和鍍膜。然后,利用實驗語料詞向量和式(3)計算待歸類詞與各細粒度特征的相似度,進行特征歸類,相似度閾值為0.5。最后,人工校驗歸類結果,得到255個顯式特征詞,即相機特征詞典,部分歸類結果見表4。
表4 相機評論的特征歸類結果
根據(jù)2.3.2節(jié)定義的句法規(guī)則,以及建立的特征詞典和混合情感詞典,從實驗語料提取了31 966個元組,包括[耗電量,大,太]、[顏色,美觀]等?;谒迷M,統(tǒng)計情感詞與顯式特征的搭配次數(shù),并轉化為與不同細粒度特征的共現(xiàn)次數(shù)。將共現(xiàn)次數(shù)最多的細粒度特征作為情感詞的默認特征。例如,根據(jù)圖5發(fā)現(xiàn)情感詞“好看”與細粒度特征“顏色”、“外觀”、“拍照性能”的共現(xiàn)次數(shù)分別為120、275和14,則可以指定“好看”的默認隱式特征為“外觀”。由此獲得隱式特征詞典。最后,重新遍歷評論,如果評論有在情感詞集而未被提取的情感詞,則根據(jù)隱式特征詞典確定隱式特征,并提取元組。如評論“確實不好看”,“好看”由于缺少相應的顯式特征而未被提取,那么重新遍歷時,則能根據(jù)隱式特征詞典查到其隱式特征為“外觀”,并根據(jù)句法關系,提取三元組[外觀,好看,不]。
圖5 情感詞與細粒度特征的共現(xiàn)次數(shù)
3.2.3 對比與分析
本文設計了對比實驗來表明提出方法的有效性。實驗共分3組:第一組是驗證加入句法關系和混合情感詞典的有效性;第二組是與其它顯式特征提取工作的對比實驗;第三組是與其它隱式特征提取工作的對比實驗。
(1)加入句法關系和混合情感詞典的有效性驗證實驗
為驗證句法關系和混合情感詞典的有效性,本文設計一組實驗來比較不同方法的準確度、召回率和F1值?;A方法包括:①基于詞向量歸類的特征詞典的特征詞提取,由base_WE表示;②結合歸類的特征詞典、句法關系、以形容詞為情感詞的特征提取方法,由base_WE+DE表示;③結合歸類的特征詞典、句法關系、以HowNet為情感詞典的特征提取,由base_WE+DE+HN表示;④結合歸類的特征詞典、句法關系和以混合情感詞典為情感詞典的特征提取,由base_WE+DE+EW表示,即本文方法。另外,將隱式特征提取表示為Imp_Recogn。結果見表5。
表5 基礎方法組合及結果
從表5可知,不同方法的精確率、召回率和F1值存在差異。base_WE的精確率和F1值最低,召回率較低,原因可能是語料標注詞沒有本文的特征詞典那么細致,一些特征詞并不在原標注詞內(nèi),如“價?!?、“對焦”等。加入句法關系后(即base_WE+DE),其精確率和F1值大幅提高,召回率略降,一個可能原因是利用句法關系能有效識別情感詞,提取更多的特征詞。為提高情感詞識別能力,將HowNet和混合情感詞典分別融入base_WE,發(fā)現(xiàn)雖然精確率略降,但召回率和F1值都有所提升,其中本文方法(即base_WE+DE+EW)的F1值最高,融入HowNet的base_WE次之,可能原因在于情感詞典的情感詞更多,詞性更豐富,因此能覆蓋更多的語料情感詞,召回更多的特征詞。根據(jù)圖6,基礎情感詞典中NTUSD的情感詞覆蓋率最低,HowNet最高,與其相比,擴展的混合情感詞典的情感詞更多,情感詞覆蓋率比HowNet高17.4%,足以體現(xiàn)本文構建與擴展混合情感詞典方法的有效性。
圖6 各詞典在實驗語料的情感詞覆蓋率
(2)顯式特征提取工作對比實驗
本文選擇下列3種方法作為對比方法,以驗證本文方法在顯式特征提取的有效性。
(1)詞性標記法,記為base-POS。將名詞、動詞作為候選特征,提取詞頻在3以上的候選特征詞。
(2)基于FP-growth的提取方法,記為base-FP?;谖墨I[6]的方法,使用FP增長算法提取產(chǎn)品特征的頻繁項集,最小支持度為1%,并進行單字剪枝和非特征項過濾。
(3)基于句法規(guī)則的提取方法,記為base-Rule。根據(jù)文獻[26]使用由詞性和句法關系構成的評價搭配模板來提取特征詞及評價詞。
不同方法的顯式特征提取結果見表6。
表6 不同方法的顯式特征提取結果
由表6可以發(fā)現(xiàn),本文方法表現(xiàn)最好,在精確率和F1值上與對比方法相比有較大提升,說明了本文方法的有效性。詞性標注法將所有名詞與動詞視為特征詞,召回特征詞的同時也包含了大量噪音詞,因此雖然召回率最高,但精確率太低,影響最終的F1值。基于FP增長算法的提取方法由于僅考慮高頻詞,排除了低頻詞,導致最終性能受限。而基于句法規(guī)則的提取方法,雖然評價搭配模板能提取出較遠距離的評價對象及評價詞,但受用戶表達習慣的影響,移植性差,因此最終性能也有限。與上述方法相比,本文方法雖然召回率較低,但在精確率和F1值上取得了更優(yōu)的效果,不僅考慮了句法關系,同時兼顧特征詞與情感詞的識別,利用特征詞典和混合情感詞典約束句法分析結果,排除一些無效或干擾項,使方法的移植性更強,更易實現(xiàn)。
(3)隱式特征提取工作對比實驗
PMI算法通過計算兩個詞在上下文的共現(xiàn)概率來判斷其相關性,共現(xiàn)概率越高,則相關性越大。詞w1與詞w2的PMI值計算如下
(7)
文獻[16]利用PMI算法來獲取評論的隱式特征,本文以此作為隱式特征提取對比的基準方法?;谒锰卣?情感詞元組,使用PMI算法查找實驗語料中顯式特征與情感詞的共現(xiàn)情況,找到各情感詞相應PMI值最大的特征詞,并對應到上屬細粒度特征。實驗結果在297個隱式特征標注結果中非“外觀”的有162個,而正確提取的僅35個,其余均為“外觀”,因此結果并不理想,召回率為19.87%。可能原因在于“外觀”作為常見的細粒度特征,其相關特征詞在評論語料的出現(xiàn)概率很高,導致其最終PMI值偏高。由表5的結果可知,本文隱式特征提取的召回率為72.05%,遠高于基準方法,因此具有一定的有效性。
本文提出了一種基于句法規(guī)則與情感詞的隱式特征提取方法。首先,提取評論數(shù)據(jù)并進行預處理,再分別利用實驗語料和外部語料訓練詞向量。然后,借助中文情感詞典資源、外部語料詞向量構建并擴展混合情感詞典。最后,使用實驗語料詞向量構建特征詞典,根據(jù)兩個詞典和定義的句法規(guī)則來提取顯式特征及情感詞,根據(jù)其共現(xiàn)關系獲取隱式特征詞典,通過重新遍歷評論來發(fā)現(xiàn)隱式特征。實驗結果表明本文方法具有一定的有效性。不過,本文僅考慮了出現(xiàn)情感詞條件下的隱式特征提取,對于產(chǎn)品評論可能不會出現(xiàn)情感詞的特征提取情況還有待進一步探索與研究。