摘 要: 針對新聞情感傾向性識別問題,提出給單個傾向詞分配傾向性、強(qiáng)度、極性和標(biāo)志4個屬性,通過依存句法找出傾向詞之間的依存關(guān)系,再通過所提出的情感識別算法結(jié)合傾向詞詞典得出整個句子的情感值,最后將整篇新聞中關(guān)鍵句的情感值疊加,得到整篇新聞的情感值。實驗結(jié)果表明,該方法具有很好的準(zhǔn)確率和召回率。
關(guān)鍵詞: 依存語法;情感傾向性;淺層語義分析;傾向詞搭配
0 引言
網(wǎng)絡(luò)上的負(fù)面新聞有很高的利用價值,銀行、保險和風(fēng)險投資機(jī)構(gòu)通過分析這些負(fù)面新聞來決定是否與該客戶或者企業(yè)開展合作。
目前主要有兩種情感傾向性識別方法:基于統(tǒng)計的方法[1-3]和基于規(guī)則的方法[4-6]。林政等人[1]在設(shè)計關(guān)鍵句抽取算法時考慮了3個特征,分別是情感特征、位置特征和關(guān)鍵詞特征。這種方法處理結(jié)構(gòu)復(fù)雜的句子時容易產(chǎn)生丟失句子信息的情況,比如丟失否定前綴或者丟失程度前綴。劉永丹等人[4]提出一種基于語義分析的方法,從待分析的句子中提取出相應(yīng)的格,然后通過事先設(shè)定好的規(guī)則和詞表來判定分析單元的傾向性。但是這種方法提取出的格的準(zhǔn)確率非常低,而且判斷規(guī)則的設(shè)計也很困難。
本文提出給單個傾向詞分配傾向性、強(qiáng)度、極性和標(biāo)志4個屬性,通過人工確定情感詞相應(yīng)屬性的值,將一系列情感詞制成特定的情感詞典。然后,通過依存句法找出情感詞之間的依存關(guān)系,通過本文提出的情感判定算法得出整個句子的情感值,最后將整篇新聞中關(guān)鍵句的情感值疊加,得到整篇新聞的情感值。
1 傾向詞語料庫
1.1傾向詞
對人或事表達(dá)態(tài)度或者情感傾向的語句叫作情感語句。情感語句中體現(xiàn)態(tài)度或者情感傾向的詞叫作情感詞。情感詞、否定詞和強(qiáng)度詞這三類詞統(tǒng)稱為傾向詞。
對真實的負(fù)面新聞?wù)Z料進(jìn)行分析發(fā)現(xiàn),有些傾向詞可以直接判斷出情感傾向性,如“倒閉”、“破產(chǎn)”、“違法”等,這些傾向詞稱為獨立傾向詞;有些傾向詞單獨分析時得不出情感傾向性,只有與搭配詞搭配起來,才能表達(dá)一定的情感傾向性,如單獨分析“凈利潤”情感傾向性時,它的情感傾向性為中立的,但是當(dāng)“凈利潤”與搭配詞“下降”搭配時,其表達(dá)的情感傾向性即為負(fù)面的,這類傾向詞稱為搭配傾向詞。
1.2 傾向詞的數(shù)據(jù)結(jié)構(gòu)
本文給傾向詞設(shè)定4個屬性:傾向性、強(qiáng)度、極性和標(biāo)志。
(1)傾向性(orientation):指出傾向詞是正面的、負(fù)面的還是中立的。正面取1,負(fù)面取-1,中立取0。
?。?)強(qiáng)度(intensity):指該傾向詞對情感句子的情感傾向性有增強(qiáng)或者減弱的作用。增強(qiáng)取2,減弱取0.5,既不增強(qiáng)也不減弱取1。
?。?)極性(polarity):指該傾向詞是否逆轉(zhuǎn)了句子的情感傾向性。一般否定詞會逆轉(zhuǎn)句子的情感傾向性。
?。?)標(biāo)志(flag):指出該傾向詞是獨立傾向詞還是搭配傾向詞。flag取0代表該傾向詞是獨立傾向詞;flag取正整數(shù)i,代表該傾向詞是搭配傾向詞,該正整數(shù)i指出該搭配傾向詞的搭配詞只能取自搭配詞詞表的第i類記錄中的值。
2 淺層語義分析
2.1 依存句法簡介
依存句法由法國語言學(xué)家TESNIERE L最先提出。它將句子分析成一棵依存句法樹,描述句子內(nèi)部各個詞之間的依存關(guān)系[7]。
為了便于本文后續(xù)的描述,在此給出3個定義:
定義1節(jié)點詞:可作為句子某種確定成分(主/謂/賓/定/狀/補(bǔ))的簡單詞語或詞組。
定義2依存邊:如果句子中兩節(jié)點詞g與d之間存在依存關(guān)系,其中g(shù)是支配詞,d是從屬詞,則g與d間構(gòu)成一個依存對,用一條由從g指向d的有向邊l來表示,記為。
定義3后繼節(jié)點:考察節(jié)點詞g,若存在依存邊,那么節(jié)點詞d就稱為節(jié)點詞g的后繼節(jié)點。
圖1給出一個包含節(jié)點詞、依存邊的簡單的依存語法樹示例。由圖可知,節(jié)點詞“凈利潤”的第一個后繼節(jié)點是節(jié)點詞“下降”;節(jié)點詞“公司”的第二個后繼節(jié)點是節(jié)點詞“凈利潤”,第三后繼節(jié)點是節(jié)點詞“下降”。
2.2 依存句法分析器
本文利用復(fù)旦大學(xué)自然語言處理實驗室開發(fā)的FNLP對句子進(jìn)行依存句法分析[8]。使用FNLP對句子進(jìn)行依存句法分析時,用4個數(shù)組表示分析結(jié)果:數(shù)組words表示句子分詞結(jié)果,數(shù)組pos表示詞語對應(yīng)的詞性,數(shù)組relations表示詞與詞之間的依存關(guān)系,數(shù)組heads表示詞語的第一后繼節(jié)點詞的下標(biāo)。對句子“今年公司的凈利潤大幅下降?!边M(jìn)行依存句法分析,得到的結(jié)果如表1所示。
3 情感識別算法
設(shè)S={x1,…,xn}為句子,xi(1≤i≤n)是句子中第i個字;K={y1,…,ym}為關(guān)鍵詞,yj (1≤j≤m)為關(guān)鍵詞的第j個字,文本中句子與關(guān)鍵詞集相似度計算公式如式(1)所示。
當(dāng)計算出的相似度大于或等于閾值時,該句子就是關(guān)鍵句。新聞文本中所有的關(guān)鍵句構(gòu)成了關(guān)鍵句群。
設(shè)關(guān)鍵句S中的第i個詞為wi,S的情感值為score,句子對應(yīng)的傾向性值為ORIENTATION,句子對應(yīng)的強(qiáng)度值為INTENSITY,句子對應(yīng)的極性值為POLARITY。如果wi是獨立傾向詞,則計算式(2)、(3)、(4):
ORIENTATION+=wi.orientation (2)
INTENSITY×=wi.intensity (3)
POLARITY×=wi.polarity (4)
如果wi是搭配傾向詞,則通過句子的依存關(guān)系尋找詞wi的后繼節(jié)點詞wj,計算式(2)、(3)、(5):
POLARITY×=(wi.polarity×wj.polarity)(5)
整個句子所有的情感傾向詞掃描完之后,計算式(6):
score=ORIENTATION×INTENSITY×POLARITY(6)
score的值即為句子的情感值。
設(shè)整篇文章的關(guān)鍵群中的句子數(shù)為n,整篇文章的情感值為SCORE,則:
score(i)為第i個情感句子的情感值。
具體的算法偽代碼如下:
算法1 情感傾向性識別主算法
Input:目標(biāo)新聞文本T
Output:新聞情感值
function IDENTIFY_NewsSentiment(T)
begin
從目標(biāo)新聞T提取關(guān)鍵句群S;
for each sentence s∈S do
//調(diào)用FNLP依存關(guān)系分析接口
[words,pos,relations,heads]=dependency(s);
for each word do
//判斷wi詞性是否是名詞、動詞、形容詞、副詞
if(Match_WordClass(pos[i]))then
//判斷wj是否是獨立傾向詞
if(wi在傾向詞表里&&wi·flag==0)then
ORIENTATION+=wi.orientation
INTENSITY×=wi.intensity
POLARITY×=wi.polarity
//判斷wi是否是搭配傾向詞
elseif(wi在傾向詞表里&&!wi·flag=0)then
//調(diào)用搭配詞查找算法找搭配詞
wj=
FIND_MATCHER(i,j,words,heads,pos);
if (wj!=null) then
ORIENTATION+=wi.orientation;
INTENSITY*=wi.intensity;
POLARITY*=
(wi.polarity*wj.polarity) ;
end if;
end if;
end if;
end for;
sore=ORIENTATION*INTENSITY*POLARITY;
SCOER+=score;
end for;
return SCORE;
end begin;
算法2 搭配詞查找算法
Input:搭配傾向詞下標(biāo)i、j,words,heads,pos
Output:搭配詞
function FIND_Matcher(i、j,words,heads,pos)
begin
從搭配詞表中提取標(biāo)志位flag為j的所有記錄R;
if(heads[i]!=-1)then//當(dāng)前詞的后繼詞不為空
wm=words[heads[i]];//尋找第一后繼節(jié)點詞
if(Match_WordClass(pos[m])&&wm∈R)then
return wm;
elseif(heads[m]!=-1)then
wn=words[heads[m]];//尋找第二后繼節(jié)點詞
if(Match_WordClass(pos[n])&&wn∈R))then
return wn;
elseif(heads[n]!=-1)then
wo=words[heads[n]];//尋找第三后繼節(jié)點詞
if(Match_WordClass(pos[t])&&wo∈R))
then
return wo;
end if;
end if;
end if;
end if;
return null;
end begin;
4 試驗及結(jié)果
本文實驗數(shù)據(jù)取自某銀行2012年度人工收集的 2 362條情感傾向性新聞。人工選取了比較有代表性的936條新聞作為訓(xùn)練語料,從這些語料中人工抽取傾向詞和搭配詞,制成傾向詞詞典和搭配詞詞典。另外取 1 426條新聞作為測試語料。
使用準(zhǔn)確率(Precision)、召回率(Recall)和F值(F-measure)作為實驗結(jié)果的評估指標(biāo):
圖2給出了算法實驗結(jié)果的圖形展示。
5 結(jié)論
本文以企業(yè)新聞的情感傾向性分析為應(yīng)用背景,利用依存語法分析和通過給傾向詞分配屬性值為基礎(chǔ),提出了一個識別新聞情感傾向性的算法。實驗表明,該方法具有很好的準(zhǔn)確率和召回率。但是,該算法的性能與傾向詞語料庫密切相關(guān),語料庫中的語料的存儲格式和語料庫中語料的豐富程度,都對準(zhǔn)確率和召回率有很大的影響。因此,如何構(gòu)建高性能、完備的語料庫值得深入研究。
參考文獻(xiàn)
[1] 林政,譚松波,程學(xué)旗.基于情感關(guān)鍵句抽取的情感分類研究[J].計算機(jī)研究與發(fā)展,2012,49(11):2376-2381.
[2] Fan Xinghua, Wang Peng, Zhou Peng. Two step text orientation identification based on feature extension[J]. Computer Engineering and Applications, 2012,48(1):162-165.
[3] SAJIB D, VINCENT N. Mine the easy, classify the hard: a semi-supervised approach to automatic sentiment classification[C]. Proceedings of the 47th Annual Meeting of the ACL and the 4th IJCNLP of the AFNLP, Singapore, 2009: 701-709.
[4] 劉永丹,曾海泉,李榮陸,等.基于語義分析的傾向性文本過濾[J].通信學(xué)報,2004,25(7):78-85.
[5] Ye Qiang, Shi Wen, Li Yijun. Sentiment classification for movie reviews in Chinese by improved semantic oriented approach[C]. Proceedings of the 39th Hawaii International Conference on System Sciences, 2006,3:1-5.
[6] 曹歡歡.負(fù)面新聞判斷算法的研究與應(yīng)用[D].合肥:中國科學(xué)技術(shù)大學(xué),2014.
[7] 鄧欣.面向依存文法的漢語語法分析[D].長沙:國防科學(xué)技術(shù)大學(xué),2000.
[8] Qiu Xipeng, Zhang Qi, Huang Xuanjing. FudanNLP: a toolkit for Chinese natural language processing[C]. Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (ACL), Sofia, 2013:49-54.