程傳鵬,王海龍
(中原工學院計算機學院,河南 鄭州450007)
基準詞集是指褒貶義傾向非常明顯、強烈、具有代表性的詞匯所構(gòu)成的集合[1].情感傾向判斷中,基準詞是衡量其他詞語情感傾向的一個參照物,因此,基準詞的選擇對正確地判斷情感的傾向有著至關(guān)重要的作用.在文獻[2]中,Turney通過分析詞匯上下文信息研究其情感傾向,采用PMI-IR方法,使用2個詞匯作為種子來判斷其他短語的語義傾向.之后又將單對種子擴展成多對種子,選取了正反面各7個詞匯作為情感基準詞.文獻[3]首先從《知網(wǎng)》中選擇出2 146個褒義詞和3 299個貶義詞,從這些詞語中選擇沒有褒貶歧義的常用詞語作為測試集,然后將測試集中的詞語在Google中搜索,返回hits數(shù),即它們在Web上的詞頻降序排列,選取詞頻最高的280個詞語作為基準詞.文獻[4]將文獻[3]中所選出的基準詞中語義重復的詞替換成新的、有較高hits數(shù)的褒義詞或貶義詞,最后得到新的40組褒貶基準詞,這40組褒貶基準詞的特點是在保留較高的使用頻率外,排除了語義相同的情況,提高了詞匯的覆蓋面.文獻[5]通過詞的聚類,將中文詞聚類應用到基準詞的選擇中,從構(gòu)建好的目標領域本體中選出一組初始的種子詞,通過詞的擴展聚類得出下一代種子詞,然后通過迭代得出優(yōu)化的基準詞.文獻[6]利用公式計算語料庫中名詞、形容詞和動詞的類別區(qū)分能力,選出區(qū)分能力較強的詞M個,用所選出的詞與已有的情感詞表做交集,選擇語料中出現(xiàn)頻率高的前N個詞作為最終的基準詞.文獻[6]使用的基礎情感詞以《知網(wǎng)》發(fā)布的情感詞語集為基礎,通過人工挑選,去掉一些不太常用或者情感傾向不很明顯的詞語,最后得到褒義詞3 219個,貶義詞2 905個,最終的基礎情感詞詞典包含6 196個基礎情感詞.然后計算它們的情感傾向權(quán)值,去掉分類不正確的詞以及權(quán)值過低的中性詞,最后得到5 281個基礎情感詞.文獻[7]選擇基準詞的方法是:從《知網(wǎng)》[8]所提供的情感詞語中選擇全部義項只有一種極性的形容詞和名詞作為基準詞,并且認為單一義項的詞語不會出現(xiàn)褒貶歧義和情感極性較弱的情況.
通過人工選擇具有傾向性的基準詞方法的優(yōu)點是選擇的基準詞準確率高,但由于人知識的有限性和片面性,選擇的基準詞往往會漏選、錯選.通過已經(jīng)制定好的褒貶傾向性詞典,然后利用同義詞詞典對詞典進行擴展的方法,雖然所選擇的基準詞較全面,但給后面的傾向性判斷帶來大量的計算.由于搜索引擎的更新,利用搜索引擎所返回來的hits數(shù)篩選基準詞的方法,實際上也是不夠客觀的.
一個詞語要作為基準詞,一般應該滿足3個條件:情感代表性強、情感歧義少、情感極性強.下面分別從這3個因素來敘述本文所提出的基準詞選擇的方法.
通過改進的詞語相似度計算方法,來選擇情感歧義少的情感詞作為基準詞.文獻[9]基于《知網(wǎng)》的相似度計算,依照《知網(wǎng)》對義原的描述,文獻[9]將所有的義原用一個樹狀的層次結(jié)構(gòu)圖來表示,如圖1所示.
由于所有的義原根據(jù)上下位關(guān)系構(gòu)成了一個樹狀的義原層次體系,假設2個義原在這個層次體系中的路徑距離為d,文獻[9]采用式(1)來計算2個義原之間的語義距離:
式中各參數(shù)的含義見文獻[9].式(1)的計算,并沒有考慮義原在語義樹狀圖中的深度.依照樹狀圖的定義,越是處于層次低的義原節(jié)點,概念描述的越具體,比如“獸”和“走獸”,而處在層次越高的義原節(jié)點概念描述越籠統(tǒng),比如“萬物”和“物質(zhì)”.因為對于d值相同的2對義原,處于語義層次樹較低層次的應該比處于較高層次的2對詞語的相似度要大.因此,把式(1)改進為
式中:H(pi)為義原節(jié)點到根節(jié)點的路徑長度,L(pi,pj)為2個義原節(jié)點第1次到達同一個父節(jié)點所經(jīng)過的最長路徑長度.
圖1 樹狀的義原層次結(jié)構(gòu)Fig.1 Arborescence hierarchical structure of semantic unit
假設情感詞 W1的義項為{S11,S12,…,S1n},情感詞 W2的義項為{S21,S22,…,S2m},義項之間的相似度計算,依然參照文獻[9]中的計算方法,詞語W1和W2的相似度為各個義項的相似度之最大值,如式(3)所示:
如果直接將式(3)用于情感傾向判斷中的詞語相似度計算,實際上是不太合理的.具有多個義項的詞語可能會在情感傾向上產(chǎn)生歧義,也就是說詞語的某個義項可能為正面情感傾向,而另外一個義項可能為負面情感傾向.在選擇基準詞的時候,應該盡量排除掉具有情感歧義的詞.因此本文在計算情感詞語義相似度時采用情感詞W1和W2的各個義項的語義相似度之和的平均值,假設情感詞W1有n個義項,W2有 m 個義項,如果用 E(W1,W2)表示 W1、W2情感詞語義相似度,其計算公式可以表示成式(4):
情感度指情感詞能夠代表負面情感詞或者正面情感詞的程度.通過對情感詞的情感度的計算,選擇出一些最具有代表性的情感詞作為基準詞.基準詞的情感傾向應該特別明顯,而且從計算量上考慮,情感詞越少越好.應該從正面情感詞和負面情感詞中選擇出最具有傾向性代表意義的詞語來作為基準詞.
假設在情感詞表中有另外的5個情感詞S1、S2、S3、S4、S5,它們與 W1、W2的情感語義相似度如表1所示.表1 中,sim(Si,Wj)≠1,因為如果相似度等于1的話,那么可能2個詞為同義詞或者近義詞.從表1中可以看出,W1與其他5個情感詞的情感語義相似度都要大于W2與其他5個情感詞的情感語義相似度,直觀地判斷,應該選擇W1為基準詞.
表1基于知網(wǎng)的詞語相似度計算Table 1 Similarity calculation of words based on HowNet
對于所有的情感詞表,分別計算兩兩之間的情感語義相似度,如果用 S(Wi,Wj)表示 Wi、Wj情感語義相似度,那么所有詞的情感語義相似度可以表示成如表2所示.
表2 情感詞之間的語義相似度Table 2 Semantic similarity between emotion words
如果 S(Wi,Wj)≥α,建立 Wi和 Wj之間的關(guān)系,處理完所有的情感詞后,形成如下圖2所示.
圖2 基準詞語義連接Fig.2 Semantic connection diagram of standard words
定義1 情感度(emotion degree)指的是候選基準詞能夠代表正面情感詞或者負面情感詞情感的程度,用D1(Wi)表示.
定義2 詞對連接強度C(W1,W2)指的是2個詞語連接的緊密程度,用2個詞語的情感語義相似度表示,即 C(W1,W2)=E(W1,W2).
定義3 Wi的鄰接詞條指的是指滿足C(Wi,Wj)≥λ并且i≠j的所有Wj的集合.
基準詞指的是情感表現(xiàn)力強,最能夠體現(xiàn)正面情感或者負面情感的詞條,依據(jù)此定義,一個情感詞要作為基準詞,應該存在以下2個事實:
1)如果一個詞條與情感詞集合中其他詞條都有較高的連接度,那么該詞條的情感度高;
2)如果一個詞條的情感度高,那么與該詞條連接度高的詞條的相應的情感度也高;
設Wi是某個候選基準詞,其情感度為D1( Wi),記Fj是所有Wi的所有鄰接詞條的集合,nj=|Fj|是指滿足E(Wk,Wj)≥α的所有Wk的總數(shù),依據(jù)上面2個事實,候選基準詞的情感度可以用式(5)進行計算:
定義詞語語義的鄰接矩陣:
式中:
在鄰接矩陣G=(gij)定義的基礎上,式(6)可寫成:
如果情感詞表中有n個候選基準詞,它們的情感度可以用一個n維的列向量P來表示,即
則式(7)可寫成:
式中:Aij=gij/nj.
式(8)是遞歸定義的,因此可以用迭代的辦法求解.可以看出,候選基準詞的情感度 P=(D1(Wi))實為矩陣AT對應于特征根為1的特征向量,當時,將得到P1=P2,無法比較候選基準詞的情感度的大小.因此,要對式(8)進行改進.采用加權(quán)算法如式(9):
式中:n為候選基準詞個數(shù);E為n×n的矩陣,矩陣的元素值都是 1;d∈[0,1],參照文獻[10],文中 d的取值為0.85.
通過對情感詞情感傾向度的計算,選擇情感傾向較大的詞來作為基準詞.設 Wn1,Wn2,…,Wn1000為上一步所選擇的負面基準詞,個數(shù)為1 000.Wp1,Wp2,…,Wp1000為1 000個正面情感基準詞.如果直接用劉群所開發(fā)的相似度計算軟件,會發(fā)現(xiàn)一些情感傾向相反的詞語,語義相似度的值卻很大,比如一對明顯語義相反的詞語“小氣”和“大方”,按照劉群的計算方法sim(“小氣”,“大方”)=0.81,通過查看義項發(fā)現(xiàn)“大方”的義項是“ADJ avalue|屬性值,tolerance|氣量,generous|慷慨”,“小氣”的義項是““ADJ avalue|屬性值,tolerance|氣量,miser|吝嗇 ”劉群所開發(fā)的軟件是基于《知網(wǎng)》的,《知網(wǎng)》是一個以漢語和英語的詞語所代表的概念為描述對象,以揭示概念與概念之間以及概念所具有的屬性之間的關(guān)系為基本內(nèi)容的常識知識庫[9].在《知網(wǎng)》中,義原之間除了上下位關(guān)系外,還有很多種其他的關(guān)系,如果在計算時考慮進來,可能會得到更精細的義原相似度度量,義原一方面作為描述概念的最基本單位,另一方面,義原之間又存在復雜的關(guān)系.《知網(wǎng)》認為,具有反義或者對義關(guān)系的2個義原比較相似,因為它們在實際的語料中可以互相替換的可能性很大.因此在判斷情感傾向時,如果1個負面情感詞和1個正面情感詞語義相似度高的話,說明它們二者之間的情感傾向距離大.如果用D2(W)表示詞語W的情感傾向度,那么正面情感詞Wp的情感傾向度可以用該詞與所有的負面情感詞的語義相似的和來表示,負面情感詞Wn的情感傾向度可以用該詞與所有的正面情感詞的語義相似的和來表示,計算方法為
1)從2010年《知網(wǎng)》所發(fā)布的3 730個正面評價詞語和3 116個負面評價詞語中,去掉單字和不常見的詞,結(jié)果得到3 256個正面情感詞和2 986個負面情感詞,以這些情感詞作為最初的候選基準詞;
2)由前面方法分別計算正面情感詞和負面情感詞的情感度;
3)分別從正面情感詞和負面情感詞中選擇出情感度排名靠前的1 000個詞;
4)由前面方法分別計算出1 000對正面情感詞和負面情感詞的情感傾向度;
5)選擇情感傾向度較大的詞語,作為最終的基準詞;
經(jīng)過前面5步的選擇后,排名靠前的40對正面情感詞和負面情感詞分別如下所示:
“良好、美好、最佳、上等、容易、最好、美麗、頂級、寬大、精彩、快樂、端正、穩(wěn)定、優(yōu)秀、高級、確切、明亮、熱情、清新、出色、大方、便宜、積極、著名、靈活、牢固、真實、簡單、超級、必需、先進、純樸、輕快、歡樂、仁愛、平坦、聰明、出色、平安、成熟”.
“暗淡、昂貴、傲慢、薄弱、悲觀、病弱、不當、愚蠢、臟亂、自大、糟糕、罪惡、雜亂、愚昧、有害、陰冷、虛假、嚴重、陰暗、凄涼、消極、下等、無效、無情、強制、兇狠、頹廢、貪心、缺德、奢侈、散亂、危險、窮困、破舊、蕭條、小氣、輕狂、失常、俗氣”.
為了進一步豐富基準詞,本文通過哈爾濱工業(yè)大學信息檢索研究室所提供的《同義詞詞林擴展版》對所選擇的負面情感基準詞和正面情感基準詞進行同義詞擴充.結(jié)構(gòu)如圖3所示.
為了避免出現(xiàn)某些詞和基準詞語義相似度高而詞義卻相反所帶來的誤判,對未知詞語的情感判斷時,首先查找基準詞以及基準詞的同義詞,如果沒有找到,則計算未知詞語和基準詞的語義相似度.
圖3 基準詞同義擴展Fig.3 Synonym expansions of standard words
從網(wǎng)上的評論中搜集到4個領域的中文數(shù)據(jù)集,分別是:國內(nèi)某知名網(wǎng)上商城中對某款電子產(chǎn)品的用戶評價作為測試語料1,新浪網(wǎng)財經(jīng)論壇中對某只股票的用戶評價作為測試語料2,攜程旅行網(wǎng)上對某個酒店的用戶評價作為測試語料3,搜狐體育上對某個比賽規(guī)則的用戶評價作為測試語料4.其中,測試語料1包含正面評價3 690條,負面評價4 721條;測試語料2包含正面評價4 215條,負面評價3 976條;測試語料3包含正面評價2 876條,負面評價3 128條;測試語料4包含正面評價4 134條,負面評價3 157條.以本文所選擇的基準詞與文獻[2]所選擇的基準詞和文獻[3]所選擇的基準詞進行情感判斷比較.其中文獻[2]的基準詞是由人工選擇的,所選擇的40對基準詞如下所示:
“健康、安全、天下第一、美麗、超級、保險、衛(wèi)生、天使、英雄、精選、快樂、權(quán)威、穩(wěn)定、優(yōu)秀、高級、精英、最好、最佳、幸福、容易、高手、文明、積極、著名、漂亮、完美、真實、簡單、和平、開通、先進、便宜、優(yōu)質(zhì)、歡樂、美好、良好、不錯、出色、成熟、完善”.
“合作、黑客、瘋狂、錯誤、事故、非法、失敗、背后、麻煩、不良、病人、惡意、色情、暴力、黃色、浪費、落后、漏洞、有害、討厭、自負、不安、魔鬼、花樣、野蠻、陷阱、不當、腐敗、無情、失誤、淫穢、流氓、虛假、殘酷、變態(tài)、脆弱、不合格、愚人、惡劣、惡魔”.
文獻[3]中所選擇的基準詞是通過詞典進行構(gòu)造的,如下所示:
“好、安全、不錯、喜歡、加速、舒適、豪華、滿意、愛、解決、風格、優(yōu)勢、保證、全新、實在、舒服、穩(wěn)定、方便、品質(zhì)、提升、樂趣、省油、先進、成功、漂亮、最好、保護、好車、值得、良好、滿足、享受、出色、提高、適合、平穩(wěn)、輕松、優(yōu)點、完美、實用”.
“碰撞、噪音、事故、毛病、不好、嚴重、下降、缺點、不夠、死、不足、故障、缺陷、郁悶、撞擊、斷裂、失望、擔心、倒、車禍、遺憾、懷疑、不行、變形、斷、危險、震動、損失、噪聲、麻煩、沖擊、隱患、后悔、恐怕、粗糙、顛簸、造成、難看、不爽、傷害”.
采用KNN分類的方法,以這些情感基準詞作為KNN分類器的特征詞,特征詞的加權(quán)方法為
式中:W(t,d)為情感詞t在在語料d中的權(quán)重,而tf(t,d)為t在d中的詞頻,N為文檔的總數(shù),nt為語料中出現(xiàn)t的文檔數(shù).
1)λ1=0.6,λ2=0.4;
2)λ1=0.5,λ2=0.5;
3)λ1=0.4,λ2=0.6.
sims(P1,P2)公式中 α1、α2也分別取了 3 組值:
1)α1=0.6、α2=0.4;
2)α1=0.7、α2=0.3;
3)α1=0.5、α2=0.5.
在構(gòu)造鄰接矩陣G時,λ取值為0.75.
用的評價指標為
式中:NC=能正確找出文本傾向的總數(shù);NT=測試文本的總數(shù).KNN分類中K的取值分別為1 000、1 200、1 400、1 500,分別采用40組人工選擇的基準詞對、由詞典構(gòu)造的基準詞對和本文所選擇的40組情感詞對分別作為特征詞,對4組語料進行情感傾向分類.分類準確率的結(jié)果比較如圖4~7所示.
由于本文在選擇基準詞時,考慮到了情感詞的情感歧義、情感度、情感傾向性.本文所提出的方法在準確率上都要優(yōu)于其他2種方法,因而本文的方法具備有一定的實用性.圖4~7的實驗數(shù)據(jù)的比較結(jié)果,也驗證了該結(jié)論.
圖4 對測試語料1的準確率比較Fig.4 Accuracy comparison for test corpus 1
圖5 對測試語料2的準確率比較Fig.5 Accuracy comparison for test corpus 2
圖6 對測試語料3的準確率比較Fig.6 Accuracy comparison for test corpus 3
圖7 對測試語料4的準確率比較Fig.7 Accuracy comparison for test corpus 4
為了驗證不同的基準詞個數(shù)對情感分類準確率的影響,分別從本文所得到的基準詞中選擇出排名靠前的 15、20、25、30、40、50、60、75、80、85、90、95、100、120對基準詞,對4組測試語料分別測試,取其平均值.得到的準確率如圖8所示.從圖8可以看出,基準詞的數(shù)量從15~40時,情感傾向的分類的準確率得到了很快的提高,其中,在選擇40對基準詞時,準確率為85%;基準詞的數(shù)量大于40之后,準確率雖然得到了提高,但總體上來看變化趨勢較為緩慢.在實際應用中,隨著基準詞數(shù)量的增多,計算量也會增大.從準確率和時間開銷綜合考慮,應該選擇的基準詞數(shù)量在40~60.
圖8 不同基準詞個數(shù)對準確率的影響Fig.8 Influence of the number of different standard words on accuracy rate
本文分析了已有工作中基準詞選擇的優(yōu)點和缺點,在此基礎上,提出了一種情感傾向判斷中基準詞選擇的方法.分別考慮到了情感詞的情感歧義性、情感代表性、情感傾向性,并相應地給出了計算公式.通過實驗測試表明,本文所提出的基準詞,在情感傾向的判斷上準確性較高.文章的主要貢獻有:
1)對詞語相似度方法進行了改進,通過計算情感詞的情感語義相似度,排除掉一些有情感歧義的詞作為基準詞的可能.
2)通過計算情感度,選擇出情感代表性強的詞語作為候選基準詞.
3)通過對情感詞情感度的計算,選擇出情感傾向性強的情感詞作為候選基準詞.
實驗結(jié)果表明,采用本文選擇的基準詞,在情感傾向判斷的準確率上,要優(yōu)于傳統(tǒng)的方法.由于詞典資源的不完備性,以及網(wǎng)絡上的新詞,比如“二”、“浮云”、“偽娘”等,都沒有在詞典中出現(xiàn),以后的研究中,將進一步的考慮這些未登錄詞的語義對文本相似度的影響.
[1]孫春華,劉業(yè)政,彭學仕.一種含強度的基準詞選擇和詞匯傾向性判別方法[J].情報學報,2011,30(12):1261-1267.SUN Chunhua,LIU Yezheng,PENG Xueshi.A method for paradigm words selection with intensity information and word sentiment orientation discrimination[J].Journal of the China Society for Scientific and Technical Information,2011,30(12):1261-1267.
[2]PETER D T.Thumbs up or thumbs down?Semantic orientation applied to unsupervised classification of reviews[C]//Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics.Philadelphia,USA,2002:417-424.
[3]朱嫣嵐,閔錦,周雅倩,等.基于HowNet的詞匯語義傾向計算[J].中文信息學報,2006,20(1):14-20.ZHU Yanlan,MIN Jin,ZHOU Yaqian,et al.Semantic orientation computing based on HowNet[J].Journal of Chinese Information Processing,2006,20(1):14-20.
[4]楊昱昺,吳賢偉.改進的基于知網(wǎng)詞匯語義褒貶傾向性計算[J].計算機工程與應用,2009,45(21):91-93.YANG Yubing,WU Xianwei.Improved lexical semantic tendentiousness recognition computing[J].Computer Engineering and Applications,2009,45(21):91-93.
[5]彭學仕,孫春華.面向傾向性分析的基于詞聚類的基準詞選擇方法[J].計算機應用研究,2011,28(1):114-116.PENG Xueshi,SUN Chunhua.Paradigm words selecting method based on word clustering for sentiments analysis[J].Application Research of Computers,2011,28(1):114-116.
[6]柳位平,朱艷輝,栗春亮,等.中文基礎情感詞詞典構(gòu)建方法研究[J].計算機應用,2009,29(10):2875-2877.LIU Weiping,ZHU Yanhui,LI Chunliang,et al.Research on building Chinese basic semantic lexicon[J].Journal of Computer Applications,2009,29(10):2875-2877.
[7]宋樂,何婷婷,王倩,等.極性相似度計算在詞匯傾向性識別中的應用[J].中文信息學報,2010,24(4):63-67.SONG Le,HE Tingting,WANG Qian,et al.Application of polarity similarity in word semantic orientation identification[J].Journal of Chinese Infornation Processing,2010,24(4):63-67.
[8]董振東,董強.知網(wǎng)[DB/OL].[2012-09-25].http://www.keenage.com.
[9]劉群,李素建.基于《知網(wǎng)》的詞匯語義相似度的計算[C]//第3屆漢語詞匯語義學研討會.臺北,中國,2002.
[10]方芳,李仁發(fā),何建軍.基于改進PageRank的BA演化模型[J].計算機工程與設計,2010,31(9):1901-1904.
FANG Fang,LI Renfa,HE Jianjun.BA evolution model based on improved PageRank[J].Computer Engineering and Design,2010,31(9):1901-1904.