柳文婷
( 安徽理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 安徽 淮南 232001 )
微博新情感詞的提取一般分為新詞提取和新詞情感識(shí)別[1].目前,新詞提取方法主要分為基于規(guī)則的方法和基于統(tǒng)計(jì)的方法.基于規(guī)則的方法提取新詞[2]主要是根據(jù)構(gòu)詞學(xué)原理或詞性信息來(lái)匹配新詞,但由于該方法需要人工標(biāo)注信息,所以需要耗費(fèi)大量的人力物力.基于統(tǒng)計(jì)的方法提取新詞[3]是使用統(tǒng)計(jì)學(xué)方法來(lái)建造模型并判斷字串是否為新詞,該方法適用于大規(guī)模的語(yǔ)料庫(kù).也有學(xué)者將上述兩種方法結(jié)合起來(lái)提取新詞,這種方法雖然效果較為穩(wěn)定,但在實(shí)際應(yīng)用中很難獲得高質(zhì)量的標(biāo)記語(yǔ)料[4].
近年來(lái),在微博情感傾向的相關(guān)研究中,大多數(shù)學(xué)者都是通過(guò)對(duì)微博中的詞匯和句子進(jìn)行情感判斷來(lái)分析微博的情感傾向[5-7],而對(duì)微博新情感詞的相關(guān)研究較少.對(duì)微博的情感分析目前可分為基于詞典的方法、基于機(jī)器學(xué)習(xí)的方法和基于詞典與機(jī)器學(xué)習(xí)相結(jié)合的方法.基于詞典的方法[8]主要是通過(guò)構(gòu)造情感詞典和制定一系列的規(guī)則來(lái)計(jì)算新詞的情感值,該方法雖然判斷新詞情感的準(zhǔn)確率較高,但召回率偏低,且構(gòu)建不同領(lǐng)域情感詞典的成本較高.基于機(jī)器學(xué)習(xí)的方法[9]是將文本的情感分析作為分類(lèi)問(wèn)題進(jìn)行分析,分類(lèi)算法主要有深度學(xué)習(xí)的方法和支持向量的方法.前者計(jì)算量大,但準(zhǔn)確率較高;后者準(zhǔn)確率相對(duì)較高,但不適用于大規(guī)模數(shù)據(jù).基于詞典與機(jī)器學(xué)習(xí)相結(jié)合的方法[10]是將詞典融合到機(jī)器學(xué)習(xí)的模型中進(jìn)行文本情感分析,該方法雖然可提高機(jī)器學(xué)習(xí)性能,但卻需要人工收集情感詞,因此使得情感詞庫(kù)的覆蓋面較低.基于上述研究,本文結(jié)合新詞構(gòu)詞特點(diǎn),提出一種基于互信息和構(gòu)造情感詞庫(kù)的微博新情感詞提取方法,并通過(guò)實(shí)驗(yàn)驗(yàn)證該方法的可行性.
微博作為一種服務(wù)類(lèi)的社交網(wǎng)站,它具有公開(kāi)性、及時(shí)性以及多樣性.絕大多數(shù)用戶都能隨時(shí)隨地以文字、圖片或視頻來(lái)表達(dá)自己的所思所想,但由于微博用戶的教育背景、生活習(xí)慣、語(yǔ)言表達(dá)等的不同,因此使得微博數(shù)據(jù)較為混亂,其中最常見(jiàn)的問(wèn)題有: ①重復(fù)性.微博上內(nèi)容重復(fù)的網(wǎng)頁(yè)較多,且其真實(shí)性有待確認(rèn).②隨意性.微博用詞(包括文本、圖片等)缺少規(guī)范,隨意性很大.③領(lǐng)域廣.微博文本涉及的領(lǐng)域廣,僅使用某一領(lǐng)域的提取方法會(huì)極大地影響新詞的提取準(zhǔn)確率.④人造詞多.用戶使用的一些新詞或是來(lái)自某地方言或是自創(chuàng),不存在于字典中,因此難以判斷其情感傾向.為解決以上問(wèn)題,并達(dá)到快速、準(zhǔn)確地提取新情感詞,本文提出一種基于多字互信息和詞間情感相似度的微博新情感詞提取方法.該方法主要分為兩個(gè)階段:新詞提取和新詞情感傾向分析.
1)新詞提取階段.該階段的主要工作是對(duì)預(yù)處理的數(shù)據(jù)進(jìn)行N元切分,以此得到候選字串;然后再根據(jù)多字互信息和左右側(cè)鄰接熵計(jì)算候選字串的內(nèi)部統(tǒng)計(jì)量和外部統(tǒng)計(jì)量的值,以此得到候選新詞集;最后將得到的候選新詞集與詞典進(jìn)行對(duì)比,刪除詞典中已有的詞后即得到新詞集.
2)新詞情感傾向分析階段.該階段主要是根據(jù)新詞之間的情感傾向影響來(lái)改進(jìn)情感傾向點(diǎn)互信息公式,以此得到詞間情感相似度的計(jì)算公式; 根據(jù)該公式計(jì)算新詞的情感傾向值,并依據(jù)該值判斷新詞的情感傾向,刪除中性新詞后剩下的即為新情感詞.
新情感詞的提取過(guò)程如圖1所示.
圖1 微博新情感詞的提取過(guò)程
由于微博具有用戶背景不同、包含領(lǐng)域廣、文本書(shū)寫(xiě)不規(guī)范、字?jǐn)?shù)有限等特點(diǎn),因此通過(guò)爬取方法所獲得的微博數(shù)據(jù)中存在大量的噪聲.為此,本文對(duì)微博數(shù)據(jù)進(jìn)行預(yù)處理,預(yù)處理后文本的處理時(shí)間和數(shù)據(jù)的存儲(chǔ)空間可得到有效提高.預(yù)處理的主要方法是刪除和替換.
1)刪除.刪除微博數(shù)據(jù)中的鏈接、重復(fù)的標(biāo)點(diǎn)符號(hào)以及“#***#”、“@+用戶名”等微博程序自帶的固定字串.
2)替換.用ICTCLAS詞法分析系統(tǒng)切分微博文本中的詞句,將切分后得到的標(biāo)點(diǎn)符號(hào)和停用詞用空格代替,并將繁體字換成簡(jiǎn)體字.
1)N元切分方法.一般的分詞系統(tǒng)都是根據(jù)已有的字典對(duì)句子進(jìn)行切分,這種切分方法可能會(huì)造成錯(cuò)誤切分或遺漏新詞.例如“王經(jīng)/理/了/理/袖口”,分詞系統(tǒng)有可能會(huì)將這個(gè)句子劃分成“王/經(jīng)理/了/理/袖口”,遺漏掉“王經(jīng)”這個(gè)新詞.所以,本文采用N元切分方法來(lái)切分文本.N元切分方法的基本思想是對(duì)文本進(jìn)行逐一掃描、N字切分,切分后的每N個(gè)單字構(gòu)成一個(gè)字串.因目前二元和三元切分技術(shù)較為成熟,且新詞一般由2~4個(gè)字組成[11],所以本文中的N取2和3.
2)多字互信息.互信息是表示兩個(gè)字之間的依賴程度,傳統(tǒng)的互信息的表達(dá)式為
(1)
其中:P(xy)表示x和y在語(yǔ)料庫(kù)中共同出現(xiàn)的頻次與語(yǔ)料庫(kù)中總詞數(shù)的比;P(x)和P(y)分別表示x和y單獨(dú)出現(xiàn)在語(yǔ)料庫(kù)中的頻次與語(yǔ)料庫(kù)中總詞數(shù)的比.
由公式(1)可以看出,傳統(tǒng)的互信息只考慮了候選詞被劃分成兩部分的構(gòu)成模式,即該方法只可對(duì)2字詞進(jìn)行劃分,而無(wú)法對(duì)多字詞進(jìn)行劃分.因此,本文對(duì)傳統(tǒng)互信息進(jìn)行改進(jìn),即考慮多字候選詞(字?jǐn)?shù)超過(guò)2的候選詞)的構(gòu)成模式.3字詞的所有構(gòu)成模式如圖2所示.根據(jù)圖2可類(lèi)推4字詞的構(gòu)成模式(7種),且所有構(gòu)成模式包含的元素為9種.
圖2 3字詞的構(gòu)成模式
為了擴(kuò)大新詞識(shí)別的范圍和提高新詞識(shí)別的準(zhǔn)確率,本文對(duì)多字互信息進(jìn)行如下定義:
定義1多字互信息(multiword mutual information,MMI)是在多種構(gòu)成模式下衡量多字詞的內(nèi)部凝聚度,其計(jì)算公式為
(2)
3)左右側(cè)鄰接熵.左右側(cè)鄰接熵能夠反映字符串鄰接元素的不確定性,熵值越大鄰接元素的不確定性越大,即該字符串成為詞的可能性也越大.左側(cè)鄰接熵和右側(cè)鄰接熵的計(jì)算公式[12]分別為:
(3)
(4)
其中: |Vl|和|Vr|分別為左右側(cè)鄰接字種類(lèi)的數(shù)量;n和m分別為左右側(cè)鄰接字的總個(gè)數(shù);ni和mj分別為左右側(cè)某一種鄰接字的個(gè)數(shù).
本文提出的微博新詞提取算法(算法1)如下:
輸入:微博文本集合T, 字頻閾值θ1, 多字互信息閾值θ2, 左右側(cè)鄰接熵閾值θ3和θ4, 詞典D
輸出:微博新詞集合E
step 1 對(duì)微博文本集合T進(jìn)行預(yù)處理.
step 2 對(duì)step 1中得到的內(nèi)容進(jìn)行N元切分得到二元字串和三元字串,并統(tǒng)計(jì)每個(gè)字串的頻率,刪除頻率小于θ1的字串后得到候選字串.
step 3 計(jì)算step 2中候選字串的多字互信息MMI(a1,a2,…,an), 刪除多字互信息小于θ2的字串.
step 4 計(jì)算step 3中剩余候選字串中二元字串的左右側(cè)鄰接熵{El,Er}.若El≥θ3,且Er≥θ4, 則將該字串添加到新詞集合E中.
step 5 計(jì)算step 3中剩余候選字串中三元字串的左側(cè)鄰接熵El.若El≥θ3, 字串的左邊界確定,執(zhí)行step 6;否則,字串向左擴(kuò)展一個(gè)字后,執(zhí)行step 6.
step 6 計(jì)算step 5中得到的字串的左側(cè)鄰接熵{El,Er}.若El≥θ3,且Er≥θ4, 則將該字串添加到新詞集合E中.
step 7 對(duì)比新詞集合E和詞典D,刪除共有的詞后即得到最終的新詞集合.
從上述的算法中可以看出:算法首先對(duì)微博文本進(jìn)行掃描,以此判斷并建立候選字串集,此時(shí)的時(shí)間復(fù)雜度為O(n),n為候選字串的個(gè)數(shù).然后再對(duì)候選字串集進(jìn)行多字互信息過(guò)濾,此時(shí)的時(shí)間復(fù)雜度為O(n).候選字串為二元字串的有k個(gè),三元字串的有(n-k)個(gè).通常情況下,三元字串運(yùn)用左右側(cè)鄰接熵進(jìn)行擴(kuò)展的次數(shù)極少超過(guò)2次,因此擴(kuò)展的時(shí)間復(fù)雜度可記為O(n).
在微博中,表情符號(hào)和情感詞都是用戶情感的直接表達(dá),因此本文使用基于詞典的方法分析新詞情感傾向.本文將知網(wǎng)情感詞典與臺(tái)灣大學(xué)簡(jiǎn)體中文情感極性詞典合并、去重后的情感詞集作為基礎(chǔ)情感詞典,然后選取傾向性明顯的(出現(xiàn)頻次在前36個(gè))的褒貶義表情符號(hào)作為微博表情符號(hào)詞表,如表1所示.最后將基礎(chǔ)情感詞典與微博表情符號(hào)詞表去重、合并得到微博基礎(chǔ)情感詞庫(kù).
表1 微博褒貶義表情符號(hào)
一般情況下,微博中出現(xiàn)的新詞是用戶情緒的一種宣泄或表達(dá),而情感詞是用戶情感的直接體現(xiàn).因用戶發(fā)表的微博內(nèi)容中出現(xiàn)的新詞和情感詞的情感傾向大多是類(lèi)似的,所以可以從用戶使用的情感鮮明的情感詞來(lái)分析新詞的情感傾向.由于傳統(tǒng)的情感傾向點(diǎn)互信息只考慮了微博情感詞庫(kù)中已經(jīng)存在的情感詞,未考慮新詞的情感對(duì)與其共同出現(xiàn)的其他新詞情感的影響,因此需對(duì)傳統(tǒng)的情感傾向點(diǎn)互信息進(jìn)行改進(jìn).本文通過(guò)分析新詞之間的情感傾向影響,對(duì)情感傾向點(diǎn)互信息進(jìn)行改進(jìn),即通過(guò)分析詞間相似度來(lái)分析新詞之間的情感傾向影響.詞間情感相似度的相關(guān)定義和公式如下:
定義2詞間情感相似度(sentiment similarity between the words,SW)是衡量同一個(gè)文本中某個(gè)新詞和情感詞對(duì)同一條微博中的其他新詞的情感傾向的影響程度,其計(jì)算公式為:
SWj=α(PA_PMIj-NA_PMIj).
(5)
由以上可知,由算法1得到的微博新詞只有經(jīng)過(guò)詞間情感相似度的判斷才能確定某個(gè)新詞是否是具有情感的新詞.微博新情感詞提取算法(算法2)如下:
輸入:微博新詞集合E, 微博基礎(chǔ)情感詞庫(kù)C, 詞間情感相似度閾值θ5和θ6
輸出:微博新情感詞集合S
step 1 結(jié)合微博基礎(chǔ)情感詞庫(kù),計(jì)算新詞集合中每個(gè)詞的詞間情感相似度SW;
step 2 如果SW<θ5或SW>θ6, 則判定該詞為微博新情感詞.
從算法2中可看出,只需對(duì)微博新詞集合進(jìn)行1次掃描即可完成所有新詞的情感傾向分析,其時(shí)間復(fù)雜度為O(m), 新詞個(gè)數(shù)為m.
1)新情感詞提取.爬取2018年11月—2019年3月3個(gè)不同熱門(mén)話題(“軍訓(xùn)式應(yīng)援”“楊超越登上《人物》雜志”“翟天臨學(xué)術(shù)造假”)的40 000條微博,用于微博新情感詞提取.
2)停用詞庫(kù).對(duì)哈工大停用詞詞庫(kù)、四川大學(xué)機(jī)器學(xué)習(xí)智能實(shí)驗(yàn)室停用詞庫(kù)、百度停用詞表進(jìn)行整理、去重后得到本文的停用詞庫(kù)共計(jì)1 598個(gè)停用詞,(不包括英文詞和中文標(biāo)點(diǎn)符號(hào)),用于微博數(shù)據(jù)預(yù)處理階段.
3)詞典.將知網(wǎng)文本詞庫(kù)與同義詞詞林相結(jié)合后得到的詞語(yǔ)集合即為本文中使用的詞典,用于候選新詞篩選.
4)微博基礎(chǔ)情感詞庫(kù).將知網(wǎng)情感詞典、臺(tái)灣大學(xué)簡(jiǎn)體中文情感極性詞典以及本文列出的微博褒貶義表情符號(hào)(表1)進(jìn)行合并、去重,所得的情感詞集即為本文的基礎(chǔ)情感詞典,用于新詞情感傾向識(shí)別階段.
采用準(zhǔn)確率P(precision)、召回率R(recall)、綜合指標(biāo)F(F-score)來(lái)評(píng)價(jià)算法的準(zhǔn)確性,各指標(biāo)的計(jì)算公式為:
P=TP/(TP+FP)×100%,
(6)
R=TP/(TP+FN)×100%,
(7)
F=2PR/(P+R)×100%.
(8)
其中:TP表示將待測(cè)的詞語(yǔ)預(yù)測(cè)為新(情感)詞,實(shí)際也為新(情感)詞的數(shù)量;FP表示將待測(cè)的詞語(yǔ)預(yù)測(cè)為新(情感)詞,實(shí)際為非新(情感)詞的數(shù)量;FN表示將待測(cè)的詞語(yǔ)預(yù)測(cè)為非新(情感)詞,實(shí)際為新(情感)詞的數(shù)量.
為了驗(yàn)證本文算法的有效性,進(jìn)行兩方面實(shí)驗(yàn):一是微博新詞提取算法(算法1)的有效性驗(yàn)證,二是微博新情感詞提取算法(算法2)的有效性驗(yàn)證.由于各個(gè)話題討論的內(nèi)容不同,所以本文將他們分開(kāi)討論.話題1(“軍訓(xùn)式應(yīng)援”)是針對(duì)國(guó)內(nèi)某個(gè)明星而提出的,由于該明星形象良好,因此微博中出現(xiàn)的都是情感偏正向的詞.話題2(“楊超越登上《人物》雜志”) 是剛出道的明星(楊超越)登上《人物》雜志而出現(xiàn)的各種不同評(píng)價(jià).話題3(“翟天臨學(xué)術(shù)造假”)由于是因翟天臨學(xué)術(shù)造假而引起的話題,所以該話題中的詞大部分都是情感負(fù)向的詞.算法1在3個(gè)話題中得到的部分高頻新情感詞如表2所示.
表2 高頻新詞識(shí)別結(jié)果示例
表3為本文算法1、傳統(tǒng)的N元方法和文獻(xiàn)[3]算法的新詞提取結(jié)果.由表3可知,本文算法1比傳統(tǒng)的N元方法的準(zhǔn)確率、召回率和F1值分別提高了25.86%、31.52%和30.60%,比文獻(xiàn)[3]算法的準(zhǔn)確率、召回率和F1值分別提高了10.16%、11.47%和11.03%.算法1的提取效果優(yōu)于傳統(tǒng)的N元方法和文獻(xiàn)[3]算法的主要原因是:傳統(tǒng)的N元方法對(duì)多字詞的識(shí)別率較低,而且也未考慮新詞內(nèi)部統(tǒng)計(jì)量和外部統(tǒng)計(jì)量對(duì)新詞識(shí)別的影響;文獻(xiàn)[3]的算法過(guò)度依賴于分詞系統(tǒng),使一些詞被錯(cuò)分.
表3 不同方法的新詞提取結(jié)果 %
表4是通過(guò)本文算法2得到的微博新情感詞示例,表5是算法2和文獻(xiàn)[4]算法的新情感詞提取結(jié)果.從表5可以看出,算法2比文獻(xiàn)[4]算法的準(zhǔn)確率、召回率和F1值分別提高了13.14%、5.81%和8.59%.其主要原因是文獻(xiàn)[4]的算法只考慮了內(nèi)部統(tǒng)計(jì)量和外部統(tǒng)計(jì)量對(duì)新情感詞提取的影響,并沒(méi)有考慮新詞的語(yǔ)義信息,進(jìn)而導(dǎo)致提取結(jié)果中有很多新詞不是情感詞;而算法2在統(tǒng)計(jì)量的基礎(chǔ)上加入了詞在情感詞典中的語(yǔ)義信息,進(jìn)而使得新情感詞的提取準(zhǔn)確率有所提高.
表4 微博新情感詞示例
表5 2種算法的新情感詞提取結(jié)果 %
本文基于新詞構(gòu)詞模式多樣的特點(diǎn),提出了一種基于多字互信息和詞間情感相似度的微博新情感詞提取方法.實(shí)驗(yàn)結(jié)果表明,本文方法的微博新詞提取的準(zhǔn)確率(50.51%)、召回率(43.55%)和F1值(46.77%)均優(yōu)于傳統(tǒng)的N元方法和文獻(xiàn)[3]的方法,新詞情感傾向識(shí)別的準(zhǔn)確率、召回率和F1值比文獻(xiàn)[4]方法分別提高了13.14%、5.81%和8.59%,因此本文算法具有很好的應(yīng)用價(jià)值.在今后的研究中,我們將通過(guò)完善微博情感詞庫(kù)以及使用融合機(jī)器學(xué)習(xí)的方法來(lái)進(jìn)一步提高新詞情感傾向識(shí)別的準(zhǔn)確率和召回率.