孫本旺,田 芳
(1.青海大學(xué) 計算機技術(shù)與應(yīng)用系,青海 西寧 810016; 2.青海大學(xué) 信息化技術(shù)中心,青海 西寧 810016)
藏文情感詞典的構(gòu)建研究是自然語言處理的重要部分,也是藏文文本情感分析的基礎(chǔ)。基于藏文情感詞典的情感計算,主要是通過藏文基礎(chǔ)情感詞、藏文程度詞、藏文否定詞等來實現(xiàn),因此藏文情感詞典構(gòu)建的好壞直接影響情感分類的結(jié)果。利用已有的中文情感詞典資源自動構(gòu)建藏文情感詞典,不但能解決藏文詞典構(gòu)建費時費力的問題,還能保證藏文情感詞典擁有足夠多的詞匯量。藏文情感詞典構(gòu)建方法的研究將有利于推動藏文詞典的構(gòu)建研究、藏文文本的情感傾向分析研究。
祁坤鈺構(gòu)造了一個英藏機器翻譯的藏語語義分類體系,并提出了藏語語義詞典設(shè)計的理論框架、語義分類思想和屬性描述原則[1];邱莉榕等研究了藏文語義本體中的上下位關(guān)系模式匹配算法來構(gòu)建藏文語義本體[2];柔特基于Word Net對比英文和藏文詞之間的語義關(guān)系、構(gòu)建雙語大型數(shù)據(jù)庫和制定映射過程中詞匯空缺等方法,構(gòu)建了基于半自動匹配的藏文語義詞典[3];巴桑卓瑪?shù)热斯な占驼砹艘徊坎匚幕鶞?zhǔn)情感詞典,在此基礎(chǔ)上,基于詞向量擴充情感詞典,并利用KNN擴充法自動擴建藏文情感詞,最終建立了一部比較實用的藏文情感詞典[4];杜雪峰提出利用藏漢雙語詞典和Hownet相結(jié)合的辦法來構(gòu)建藏文詞典,構(gòu)建了包含基礎(chǔ)情感詞、否定詞、轉(zhuǎn)折詞和程度副詞等的藏文詞典[5];Zhang Zhen等利用英文情感詞典和藏英詞典相結(jié)合的方式來構(gòu)建藏文基本情感詞典[6];Yan X等通過人工手段建立了一個全面的、高效的極性詞典,其中包括基本詞典、程度副詞詞典等藏文詞典[7]。
麻省理工學(xué)院的Picard教授最早提出了情感分析的概念。Picard教授在1995年發(fā)表了論文《Affective Computing》[8],并在兩年后在此論文的基礎(chǔ)上撰寫了有關(guān)情感計算的最早同名論著[9]。在藏文情感分析方面,扎西本等基于情感詞典的褒貶義詞、轉(zhuǎn)折詞及否定詞來計算藏文句子的情感傾向[10];張俊等通過借鑒中文微博情感分析中比較常見的基于統(tǒng)計的方法和基于詞典的方法對藏文微博進行情感分析,實驗結(jié)果是基于藏文詞典的藏文微博情感分析的準(zhǔn)確率明顯高于基于TF-IDF的藏文微博情感分析的準(zhǔn)確率[11];普次仁等將藏文分詞后,用詞向量表示詞語,把藏文語句變?yōu)橛稍~向量組成的矩陣,利用無監(jiān)督遞歸自編碼算法對該矩陣向量化,有監(jiān)督地訓(xùn)練輸出層分類器以預(yù)測藏文語句的情感傾向[12];袁斌針對藏文微博中存在的藏漢混排問題,提出了一種基于語義空間的藏文微博情感表示方法,該方法通過句法樹實現(xiàn)了語義向量化,提高了情感特征中的語義成分,并解決了多語言混合文本處理問題[13];李苗苗提出了藏文文本情感分析的詞語級、句子級、篇章級三層框架,提出了利用情感詞典和規(guī)則集分析藏文句子情感的一種方法,采用SVM算法對篇章級進行情感分析[14];江濤等提出了基于多特征的情感傾向性分析算法,算法以情感詞、詞性序列、句式信息和表情符號作為特征,并針對藏文微博常出現(xiàn)中文表述的情況,將中文的情感信息也作為特征進行情感計算,利用雙語情感特征有效提高了情感傾向性分析的效果[15]。
研究藏文情感詞典的構(gòu)建,將有利于藏文微博的情感傾向分析,推動藏文的網(wǎng)絡(luò)輿情分析、機器人情感識別等應(yīng)用研究。
基于現(xiàn)有的中文情感詞典構(gòu)建情感基本信息庫。收集了清華大學(xué)褒貶義詞典(包含情感正反極性,褒義詞4 468個,貶義詞5 567個),臺灣大學(xué)NTUSD詞典[16](包含情感正反極性,褒義詞2 810個,貶義詞8 276個),Hownet詞典[17](包含情感正反極性,褒義詞4 766個,貶義詞4 370個,程度詞分為最(most)、很(very)、較(more)、稍(ish)、欠(insufficiently)、超(over)、以及否定詞表),以及哈工大停用詞詞典(包含停用詞767個)。《藏漢大辭典》[18]中所有單詞表現(xiàn)格式如下所示:

按先行經(jīng)驗,通過基于Hownet詞典和《藏漢大辭典》來構(gòu)建藏文情感詞典(Tibetan sentiment dictionary,TSD)。TSD詞典包含基礎(chǔ)情感詞、程度詞、否定詞、轉(zhuǎn)折詞。構(gòu)建流程如圖1所示。

圖1 TSD藏文情感詞典的構(gòu)建
主要采用合并去重算法,首先將Hownet詞典和清華大學(xué)褒貶義詞典合并,然后將合并結(jié)果與臺灣大學(xué)NTUSD詞典合并去重,最后將合并結(jié)果與《藏漢大辭典》通過匹配算法來構(gòu)建藏文情感詞典(Sanjiang source Tibetan sentiment dictionary,SSTSD),SSTSD情感詞典用Hownet詞典表達的TXT表示。利用哈工大停用詞典與《藏漢大辭典》通過匹配算法來構(gòu)建藏文停用詞詞典。首先,通過匹配算法查找相應(yīng)詞匯自動構(gòu)建藏漢雙語詞典;然后校對檢驗對應(yīng)詞匯的正確性;最后提取藏文詞匯,并利用去重算法得到正確的SSTSD藏文情感詞典和停用詞詞典。SSTSD詞典除了轉(zhuǎn)折詞、雙重否定詞等小部分通過人工翻譯和校對得到,絕大部分是自動構(gòu)建。SSTSD詞典包含基礎(chǔ)情感詞、程度詞、否定詞、轉(zhuǎn)折詞、雙重否定詞、藏文停用詞。構(gòu)建步驟如圖2所示。

圖2 SSTSD詞典的構(gòu)建
基于情感詞典的藏文微博情感分析的方法一般是通過微博中情感詞或情感短語的權(quán)值疊加計算來判斷某條微博的情感傾向。在進行微博情感計算時首先要考慮去停用詞,然后考慮藏文微博是否含有轉(zhuǎn)折詞。微博中的轉(zhuǎn)折詞可以改變整條微博的情感傾向,因此對藏文微博情感傾向的判斷分兩種情況處理,即微博包含轉(zhuǎn)折詞的情況和微博未出現(xiàn)轉(zhuǎn)折詞的情況。
3.1.1 未出現(xiàn)轉(zhuǎn)折詞
如果微博中包含褒義情感詞或情感短語,則按照式1來計算:

(1)
其中,W_Emotion_Result(i)表示褒義情感類在微博中通過累加計算的情感值;W_Emotion(x)表示微博中第x個褒義情感詞的情感權(quán)重值,最終通過疊加微博中的褒義情感值得到某條微博在褒義情感類下的情感值。
如果微博中包含貶義情感詞或情感短語,則按照式2來計算:

(2)
其中,W_Emotion_Result(j)表示貶義情感類在微博中通過累加計算的情感值;W_Emotion(x)表示微博中第x個貶義情感詞的情感權(quán)重值,最終通過疊加微博中的貶義情感值得到某條微博在貶義情感類下的情感值。
如果微博中未包含情感詞或情感短語,則判定此條微博的情感傾向是中性的。
3.1.2 出現(xiàn)轉(zhuǎn)折詞
在微博中一般只包含一個轉(zhuǎn)折詞,如果出現(xiàn)了轉(zhuǎn)折詞,直接取轉(zhuǎn)折詞后面的微博部分。如果轉(zhuǎn)折詞后面的微博部分中包含褒義情感詞或情感短語,則按照式1來計算;如果轉(zhuǎn)折詞后面的微博部分中包含貶義情感詞或情感短語,則按照式2來計算;如果轉(zhuǎn)折詞后面的微博部分中未包含情感詞或情感短語,則判定此條微博的情感傾向是中性的。
因為藏文語料較少且沒有開放,文中采用人工切分好的藏文微博語料進行實驗。在微博的情感傾向計算中,首先將藏文微博分詞,去停用詞。將褒貶義情感詞的初始權(quán)值都賦值為1;然后查找對應(yīng)情感詞的程度詞級別,不同級別的程度詞將會給出不同的程度級別。如果微博中含有奇數(shù)的否定詞則情感傾向取反,含有雙重否定詞則情感值要適當(dāng)增強;最后微博得分是整條微博的褒貶義傾向權(quán)值的差值。如果差值大于零則微博為正向傾向,如果差值小于零則微博為負向傾向,否則微博為中性傾向。
算法步驟如下:
Input:
Set micro-blog positivescore:positive
Set micro-blognegative score:negative
Set degree word Wi:={most,very,more,-ish,insufficiently,over};
Set degree level W_Degree(Wa):={2,1.75,1.25,0.75,0.5,1.5};
Set micro-blog number M:={M1,M2,…,Mk};
Output:
Micro-blog scores: Scores(k);
for each Mkdo
for word in Mk
if(word in stop_word)
Delete word;
else if(word in turn_word)
Mk=word.next;
else if(word in pos_word)
positive=W_Emotion_REsuit(i);
if(word.pre==Wi)
positive=W_Emotion_REsuit(i)*W_Degree(Wa);
else if(word in neg_word)
negative=W_Emotion_REsuit(j);
if(word.pre==Wi)
negative=W_Emotion_REsuit(j)*W_Degree(Wa);
else if(word.pre==deny_word)
positive=(-1)*positive;
negative=(-1)*negative;
else if(word.pre==double-deny_word)
positive=2*positive;
negative=2*negative;
for each Scores(k) do
Scores=positive-negative;
end
end
end
算法最后對比了基于不同藏文情感詞典的情感傾向性分析結(jié)果,驗證詞典的正確性。
SSTSD詞典得到了4 183個褒義情感詞,4 823個貶義情感詞,1 427個中性詞,192個程度詞,17個否定詞,11個轉(zhuǎn)折詞,13個雙重否定詞。巴桑卓瑪?shù)葮?gòu)建的藏文情感包括2 000 個正向情感詞,2 000個負向情感詞,1 739個中性情感詞。杜雪峰構(gòu)建的情感詞典包含了5 070個藏文基礎(chǔ)情感詞,否定詞的總個數(shù)為26,雙重否定詞的總個數(shù)為11,程度副詞的個數(shù)為71,轉(zhuǎn)折詞的個數(shù)為2。
從以上信息可以得出,SSTSD詞典更加系統(tǒng)全面,具有良好的參考性。
利用500條藏文微博語料,通過不同藏文情感詞典計算得出微博情感傾向,將基于TSD詞典與SSTSD詞典得到的正確微博情感句和錯誤微博情感句作對比,如圖3所示。

圖3 實驗結(jié)果對比
通過圖3可以看出,在微博語料相同的條件下,基于SSTSD詞典的正確微博情感句要明顯高于基于TSD詞典的正確微博情感句,基于SSTSD詞典的錯誤微博情感句又明顯低于TSD詞典的錯誤微博情感句。
基于兩個詞典的實驗結(jié)果通過評價指標(biāo)進行對比,如表1所示。

表1 TSD詞典與SSTSD詞典的對比 %
從表1可以得出,基于SSTSD情感詞典的準(zhǔn)確率、召回率、F值相對于TSD情感詞典,分別提高了8.6%、9.2%、15.1%。
將基于TSD詞典和SSTSD詞典的準(zhǔn)確率、召回率和F值進行對比,如圖4所示。

圖4 實驗結(jié)果計算對比
通過圖4可以看出,基于SSTSD詞典的情感分類準(zhǔn)確率、召回率和F值都大于基于TSD詞典情感分類。TSD詞典含有情感詞4 093個,SSTSD詞典含有情感詞10 433個。通過分析可以看出,基于情感詞典的情感傾向性分析很大程度上依賴情感詞,情感詞的好壞直接影響情感分類的準(zhǔn)確性。基于情感詞典的情感分析方法簡單容易實現(xiàn),后期要實現(xiàn)新情感詞不斷得自動添加。
文中構(gòu)建的藏文情感詞典更加系統(tǒng)全面,其總詞量達到10 666個,含有基礎(chǔ)情感詞、停用詞、否定詞、轉(zhuǎn)折詞等,在以后的工作中還會不斷更新完善。此外人工半自動地構(gòu)建了藏文語義情感詞典,情感分類更加細化,詞匯量達到了2萬多。基于SSTSD詞典的藏文微博情感傾向分析的準(zhǔn)確率達到了76.6%,實驗結(jié)果表明,該詞典達到了實用性和參考性的價值。