基于細粒度屬性分類的感情分析引擎的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)的微博和微信評論技術(shù)領(lǐng)域,尤其涉及基于細粒度屬性分類的感 情分析引擎。
【背景技術(shù)】
[0002] 目前,與情感詞相類似,評價對象屬性的描述也是多種多樣,同一類對象屬性,可 以有多種語言表達雖然這些詞語不相同,但描述的含義、概念是基本相同的。細粒度情 感計算工作之前,評價對象必須確定好屬性類別,以方便情感匯總統(tǒng)計。所以屬性分類 (attribute classification)工作對細粒度情感分析十分重要,要在實際應(yīng)用中實現(xiàn)有效 的屬性分類還比較困難。所以如何有效、正確的進行屬性分類是細n粒度情感計算、情感匯 總的首要工作。已有不少研究者進行了產(chǎn)品屬性分類的相關(guān)研究。
[0003] 現(xiàn)在網(wǎng)絡(luò)微博和微信評論已成為我們生活中的一部分,在開發(fā)中采用通過有監(jiān)督 學(xué)習(xí)方法對屬性分類進行研究,在特征設(shè)計時主要利用了屬性識別結(jié)果及其上下文詞匯信 息,以及屬性識別結(jié)果對應(yīng)的詞性標(biāo)注信息及其上下文詞性標(biāo)注信息。由于細粒度情感標(biāo) 注語料的資源少、標(biāo)注工作量大的特點,在實際的開發(fā)過程中存在工作量等問題,存在著不 足
[0004] 綜上所述,針對現(xiàn)有技術(shù)存在的不足,特別需要基于細粒度屬性分類的感情分析 引擎,以解決現(xiàn)有技術(shù)的不足。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是提供基于細粒度屬性分類的感情分析引擎,實現(xiàn)對缺失評價對象 屬性的情感信息進行合理屬性類的指派,使情感匯總計算更為合理有效。
[0006] 本發(fā)明為解決其技術(shù)問題所采用的技術(shù)方案是,
[0007] 基于細粒度屬性分類的感情分析引擎,采用的模型為最大熵模型,該系統(tǒng)的情感 極性強度量化方法的算法思路:先利用已有的情感詞典通過字頻統(tǒng)計的方法,計算出每個 字的情感傾向值;然后利用字的情感傾向值設(shè)計相應(yīng)的公式進行詞的情感傾向值計算;步 驟如下:
[0008] 首先統(tǒng)計每個字的在情感詞典中作為褒義詞和貶義詞的權(quán)重,
[0011] 其中,Pci為字ci作為褒義詞的權(quán)重,Nci為字ci作為貶義詞的權(quán)重,fPd為字 ci出現(xiàn)在褒義詞表中的頻率,frid為字ci出現(xiàn)在貶義詞表中的頻率,利用以上公示可以計 算出每個字作為褒義詞和貶義詞的權(quán)重,n為褒義詞表中出現(xiàn)的所有字的個數(shù),m為貶義詞 表中出現(xiàn)的所有字的個數(shù),為了平衡情感詞典中褒義詞與貶義詞之間的詞數(shù)差異性,以上 兩個公式對每個字在褒貶詞表中出現(xiàn)的頻率進行了歸一化處理;
[0012] 最后可以利用一下計算出字ci的情感傾向值Sci
[0013] Sci=(Pci-Nci)
[0014] 如果Sci的值為正數(shù),ci是褒義字,負數(shù)則是貶義字,接近于0的話,說明ci趨向 于是中性,當(dāng)計算新詞w的情感傾向值時,如果該詞由字Cl、C2、C3…Cp組成的話,只要計 算每個字的平均情感值,如下公式所示,其中P為詞w中字的個數(shù),如果字cj沒有情感值, 貝U Scj取值為0 ;
[0016] 如果Sw的值為正,說明詞w的情感為褒義,Sw的值為負則詞w為貶義詞,Sw的值 接近〇的話,說明詞w為中性詞,或者叫非情感詞。
[0017] 進一步,基于情感詞分類計算的極性強度量化方法:情感詞的極性強度量化工作 完全可以通過分類計算達到更好的效果,我們對情感詞分為兩大類處理,第一類是基礎(chǔ)情 感詞,也就是首字不含有否定詞、程度修飾詞且字數(shù)不超過2個字的情感詞;第二類是復(fù)合 情感詞,其首字含有否定詞或程度修飾詞的情感詞或包含2個字以上的情感詞,在基礎(chǔ)情 感詞的極性強度量化計算工作中,我們首先計算出字的情感值,然后設(shè)計相關(guān)規(guī)則計算出 詞的情感值;在復(fù)合情感詞的計算工作中,學(xué)習(xí)相應(yīng)的語言學(xué)知識,設(shè)計相應(yīng)的規(guī)則方法, 利用詞與詞的組合關(guān)系進行復(fù)合計算。
[0018] 進一步,基礎(chǔ)詞的情感值計算方法:分析基礎(chǔ)情感詞的構(gòu)造特點,我們不難發(fā)現(xiàn)其 情感傾向值往往約等于所有字情感傾向值中的最大值,在計算基礎(chǔ)詞的情感傾向值時,我 們主要
[0019] Sw=sign (Sci) *Max (abs (Sci))
[0020] 其中Max (abs (Sa))為所有字中最大的情感值的絕對值,sign(SJ則為該字的符 號值,如果該字的情感值大于〇,則為+1,如果小于〇,則為-1。
[0021] 進一步,復(fù)合情感詞的極性強度量化計算方法:復(fù)合情感詞其往往由基礎(chǔ)情感詞、 否定詞、程度修飾詞等多類詞匯組合而成,復(fù)合情感詞分為五類:
[0022] (1)基礎(chǔ)情感詞的疊詞,這類詞我們可以通過尋找詞根的方法找到基礎(chǔ)情感詞的 情感傾向值,由于疊詞一般來說對原詞的情感值影響不大,為了簡化問題,我們直接取基礎(chǔ) 詞的情感值;
[0023] (2)基礎(chǔ)情感詞+基礎(chǔ)情感詞,這類組合詞的計算我們采用求平均值的方法實現(xiàn);
[0024] (3)否定詞+基礎(chǔ)情感詞,這類組合詞的計算可通過對基礎(chǔ)情感詞的情感傾向值 取反運算來實現(xiàn);
[0025] (4)程度修飾詞+基礎(chǔ)情感詞,這類組合詞的計算可以先獲得基礎(chǔ)詞的情感值,然 后根據(jù)事先定義的不同程度修飾詞的作用強度獲得相應(yīng)的作用系數(shù)(取值范圍為〇. 5、0. 7、 0.9、1. 1、1.3、1.5),該組合詞的最終情感傾向值為兩者的乘積,如果該值超出了詞的情感 傾向值范圍[_1,+1],我們就取最大極值;
[0026] (5)否定詞+程度修飾詞+基礎(chǔ)情感詞/程度修飾詞+否定詞+基礎(chǔ)情感詞,這類 組合詞的計算相對比較復(fù)雜,前兩者之間的位置關(guān)系直接影響情感詞的傾向值計算,我們 利用公式來實現(xiàn)該類復(fù)合詞的情感傾向值求解;
[0028] 其中Swi為基礎(chǔ)詞的情感值,Dwi為程度詞的作用系數(shù)(范圍為0. 55、0. 75、0. 95、 1.15、1.35、1.55),為程度詞反作用系數(shù),以§11(51^)也就是作用系數(shù)1)?1的范圍情感值的 符號值,如果該詞的情感值大于〇,則為+1,如果小于〇,則為-1,abs(Swi)為情感值的絕對 值;
[0029] 基于不同領(lǐng)域的情感未定詞極性強度量化計算還存在248個情感未定詞,由于這 些詞的極性及其情感傾向值往往跟具體應(yīng)用領(lǐng)域相關(guān),所以不能給出明確的情感值信息, 人工標(biāo)注時被統(tǒng)一標(biāo)記為〇,這些情感詞只能跟具體應(yīng)用領(lǐng)域關(guān)聯(lián),才能給出較為合理的情 感值,們首先安排學(xué)生對這229個情感未定詞在酒店領(lǐng)域的情感傾向值進行人工標(biāo)注,然 后利用已區(qū)分褒貶的評論進行情感未定詞的極性判定及極性強度量化計算,使用公式來實 現(xiàn)情感未定詞的極性判定及極性強度量化計算;
[0032] 其中,Pwi為詞wi作為褒義詞的權(quán)重,Nwi為詞wi作為貶義詞的權(quán)重,fpwi為詞 wi出現(xiàn)在褒義評論中的頻率,fnwi為詞wi出現(xiàn)在貶義評論中的頻率。
[0033] 進一步,最大熵模型是一個比較成熟的統(tǒng)計模型,適合于解決分類問題,其基本思 想是,給定一個已知事件集,在已知事件集上挖掘出潛在的約束條件,選擇一種模型,而把 所有未知的事件排除在外,這個模型必須滿足已知的約束條件,同時對未知事件,盡可能使 其分布均勻,假設(shè)d表示某一具體事件,c表示該事件被分類的結(jié)果,我們引入了特征函數(shù) (有時簡稱為特征)的概念,特征函數(shù)一般為二值函數(shù),對于分類問題,可選擇"特征一一類 另IJ"對作為一個特征函數(shù),比如對于特征w和類別c',它的特征函數(shù)如公式:
[0034]
[0035] 給定特征集合后,首要的任務(wù)是基于訓(xùn)練集合計算每個特征的期望值,每個特征 的限制條件都要求這個經(jīng)驗期望(empiricalexpection)與模型中的理想特征期望值相 同,在所有滿足限制的概率分布模型中,選取滿足使熵值最大化的分布;
[0036] 利用最大熵模型得出在特征限制條件限制下具有最優(yōu)的概率分布,即概率值P (c|d),根據(jù)最大熵原理,概率值P(c|d)的取值符合以下公式的指數(shù)模型:
[0038] 其中ZA (d)為范化常數(shù),
圮為特征函數(shù),Ai表示特征函 數(shù)fi的權(quán)值,即特征函數(shù)對于模型的重要程度;
[0039] 屬性分類中,在預(yù)測一個屬性描述詞是否為某一屬性類過程中會涉及各種因素, 假設(shè)X就是一個由這些因素構(gòu)成的向量,變量y的值為語義角色類型,p(y|X)是指系統(tǒng)對 某個屬性描述詞預(yù)測為某一屬性類的概率,這個概率可以用上述思想來估計,最大熵模型 要求P(yIX)在滿足一定約束的條件下滿足:
[0041] 最大熵模型的一個最顯著的特點是其不要求具有條件獨立的特征,因此可以相對 任意地加入對最終分類有用的特征,而不用顧及它們之間的相互影響,另外,最大熵模型能 夠較為容易地對多類分類問題進行建模,并且給各個類別輸出一個相對客觀的概率值結(jié) 果,便于后續(xù)推理步驟使用。
[0042] 本發(fā)明的優(yōu)點在于,適用于網(wǎng)絡(luò)中的微博和微信等,針對評論中可能存在情感詞 缺少對象屬性的情況,究通過計算PMI值來確定評價對象屬性類與情感詞之間的關(guān)聯(lián)概 率,實現(xiàn)對缺失評價對象屬性的情感信息進行合理屬性類的指派,使情感匯總計算更為合 理有效。而且感觀性能優(yōu)。
【附圖說明】
[0043] 下面結(jié)合附圖和【具體實施方式】來詳細說明本發(fā)明:
[0044]圖1是本發(fā)明提出分層策略架構(gòu)示意圖;
[0045]圖2是本發(fā)明各個子數(shù)據(jù)庫以及支撐型項目圖;
【具體實施方式】
[0046] 為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達成目的與功效易于明白了解,下面結(jié) 合圖示與具體實施例,進一步闡述本發(fā)明。
[0047] 本發(fā)明提出的基于細粒度屬性分類的感情分析引擎,采用的模型為最大熵模型, 該系統(tǒng)的情感極性強度量化方法的算法思路:先利用已有的情感詞典通過字頻統(tǒng)計的方 法,計算出每個字的情感傾向值;然后利用字的情感傾向值設(shè)計相應(yīng)的公式進行詞的情感 傾向值計算;步驟如下:
[0048] 首先統(tǒng)計每個字的在情感詞典中作為褒義詞和貶義詞的權(quán)重,
[0051] 其中,Pci為字ci作為褒義詞的權(quán)重,Nci為字ci作為貶義詞的權(quán)重,fpei為字 ci出現(xiàn)在褒義詞表中的頻率,frid為字ci出現(xiàn)在貶義詞表中的頻率,利用以上公示可以計 算出每個字作為褒義詞和貶義詞的權(quán)重,n為褒義詞表中出現(xiàn)的所有字的個數(shù),m為貶義詞 表中出現(xiàn)的所有字的個數(shù),為了平衡情感詞典中褒義詞與貶義詞之間的詞數(shù)差異性,以上 兩個公式對每個字在褒貶詞表中出現(xiàn)的頻率進行了歸一化處理;
[0052] 最后可以利用一下計算出字ci的情感傾向值Sci
[0053] Sci=(Pci-Nci)
[0054] 如果Sci的值為正數(shù),ci是褒義字,負數(shù)則是貶義字,接近于0的話,說明ci趨向 于是中性,當(dāng)計算新詞w的情感傾向值時,如果該詞由字Cl、C2、C3…Cp組成的話,只要計 算每個字的平均情感值,如下公式所示,其中P為詞w中字的個數(shù),如果字cj沒有情感值, 貝U Scj取值為0 ;
[0056] 如果Sw的值為正,說明詞w的情感為褒義,Sw的值為負則詞w為貶義詞,Sw的值 接近〇的話,說明詞w為中性詞,或者叫非情感詞。
[0057] 進一步,基于情感詞分類計算的極性強度量化方法:情感詞的極性強度量化工作 完全可以通過分類計算達到更好的效果,我們對情感詞分為兩大類處理,第一類是基礎(chǔ)情 感詞,也就是首字不含有否定詞、程度修飾詞且字數(shù)不超過2個字的情感詞;第二類