李 璐, 何利力
(浙江理工大學(xué) 信息學(xué)院, 杭州 310018)
隨著“互聯(lián)網(wǎng)+”技術(shù)日趨成熟,基于“互聯(lián)網(wǎng)+”營銷企業(yè)需要根據(jù)不同屬性對用戶進行類別劃分,為不同類別用戶制定不同的營銷策略,評論的質(zhì)量可作為用戶的一個屬性。評論屬于自然語言,人為對評論的質(zhì)量評估,是可行的,但評論數(shù)量過大,人為評估速度慢,無法滿足現(xiàn)營銷企業(yè)的需求。自然語言處理針對結(jié)構(gòu)復(fù)雜的文本信息進行處理,其中關(guān)鍵詞的提取是基礎(chǔ)與核心技術(shù),在檢索信息、文本分類、信息匹配、話題跟蹤、自動摘要、人機對話等領(lǐng)域有廣泛的應(yīng)用[1-3]。
在自然語言處理領(lǐng)域中處理提取評論關(guān)鍵詞的方法大致可以分為兩類:監(jiān)督學(xué)習(xí),無監(jiān)督學(xué)習(xí)[4]。監(jiān)督學(xué)習(xí)是從特定的訓(xùn)練數(shù)據(jù)集訓(xùn)練出函數(shù)模型,根據(jù)函數(shù)模型判斷該詞語是否屬于關(guān)鍵字類別,對訓(xùn)練集的要求較高,通常需要人工預(yù)處理。在無監(jiān)督學(xué)習(xí)中,無法預(yù)知樣本類型,需要根據(jù)樣本數(shù)據(jù)間的內(nèi)在結(jié)構(gòu)對樣本集進行聚類,使同一類別數(shù)據(jù)差距最小化,不同類別數(shù)據(jù)差距最大化[5]。常見的主流無監(jiān)督關(guān)鍵字提取方法可以分為基于TF-IDF數(shù)值統(tǒng)計的關(guān)鍵詞提取、基于LDA主題模型的關(guān)鍵字提取、基于詞圖模型的關(guān)鍵字提取3種類型[6-7]。上述方法都有各自的優(yōu)點和局限性。
本文主要針對TF-IDF展開相關(guān)研究,綜合考慮評論信息中詞語的位置、詞性、詞長3種影響因子,對每種影響因子賦予一定的權(quán)重,最后加權(quán)得到最終的特征權(quán)重,獲取權(quán)重最大前5的詞語作為該短文本的關(guān)鍵詞。通過余弦相似度來衡量評論與標(biāo)題關(guān)鍵詞的相似度,獲取重要評論。該方法可識別垃圾評論、重要評論,可用于企業(yè)對用戶某一屬性的衡量。
相關(guān)技術(shù)研究包括TF-IDF、信息熵、Trie樹、詞語的權(quán)重、余弦相似度這5個方面。設(shè)定一個文本集合D,集合中包含N個文本,每個文本都包含標(biāo)題title和評論comment兩部分[7]。comment內(nèi)容是由評論句子組成,評論句子是由多個詞語組成。
TF-IDF是常見的加權(quán)算法,通常用于資源檢索與數(shù)據(jù)挖掘等方向,衡量文本集中一個特征詞對包含該特征詞的文本的重要程度,優(yōu)于其它算法[6]。TF-IDF是TF與IDF的乘積,TF-IDF的詞條提取函數(shù)如式(1) :
Wtf-idf=TF(i)×IDF(i),
(1)
其中,Wtf-idf表示第i個詞語的TF-IDF值,TF(i)表示該詞的詞頻。主要思想是:如果該特征詞i在該文本中出現(xiàn)的次數(shù)較多,TF(i)越大,則表明該詞可能會較好地描述了該文本的主要信息,計算如式(2):
(2)
其中,ni為該詞i出現(xiàn)的次數(shù),n為所有關(guān)鍵詞的總數(shù)。
IDF(i)表示逆文檔頻率,若包含該詞i文檔數(shù)越少,IDF(i)越大,說明該詞i具有良好的類型區(qū)分作用,計算如式(3):
(3)
其中,N為文檔總數(shù),df(i)是為文檔出現(xiàn)詞語i的文檔數(shù)。
TF-IDF算法表明:在文本comment中出現(xiàn)頻率足夠高,而在整個文本集合D的其他文檔中出現(xiàn)頻率足夠低的特征詞是區(qū)別該文本comment最關(guān)鍵的詞語[7-8]。TF詞頻代表同類文本特征,不同類別文本的特征由IDF來表示。IDF主要用于調(diào)整TF,抑制噪聲加權(quán),但TF-IDF的結(jié)構(gòu)過于簡單,無法有效地反映單詞的重要性和特征單詞的位置分布,并且調(diào)整權(quán)限功能不是有效的,因此TF-IDF方法的準(zhǔn)確性不高,且TF-IDF算法沒有體現(xiàn)特征詞的位置信息、詞性、詞長的重要性。對于一篇文檔而言,不同結(jié)構(gòu)的內(nèi)容體現(xiàn)的信息是不同的,即權(quán)重也應(yīng)按照不同的結(jié)構(gòu)特征來分配,避免忽視文本結(jié)構(gòu)問題[9]。特征詞在不同的位置、詞性、詞長對文本內(nèi)容的反映程度不同,其權(quán)重計算方式也應(yīng)有所不同。因此,應(yīng)該給文檔中不同位置、詞性、詞長的特征詞賦予不同的系數(shù),并乘以特征詞的TF-IDF值,以增強文本表達的效果。
互信息反映兩個詞語的凝聚力,互信息的計算如式(4):
(4)
其中,p(x,y)為詞語x,y的聯(lián)合分布概率;p(x),p(y)為詞語x,y邊緣分布概率;PMI(x,y)的單位為bit。
根據(jù)互信息挑選的預(yù)選詞,利用信息熵確定該預(yù)選詞為新詞。信息熵是一個具體事件發(fā)生所帶來的信息[10],描述信息源的不確定度,熵是該預(yù)選詞的所有可能取值,即所有可能發(fā)生預(yù)選詞組合所帶來的信息量的期望[11],來表示預(yù)選詞的自由度。對于一個預(yù)選詞所有可能的組合X,其信息熵為公式(5)
H(X)=-∑p(x)log2p(x).
(5)
其中,p(x)是x在系統(tǒng)事件中出現(xiàn)的概率。熵越大,則該預(yù)選詞大概率為一個新詞。
Trie索引樹是一種數(shù)據(jù)結(jié)構(gòu),是由非線性結(jié)構(gòu)形式表示的鍵樹,由首字散列表和字典索引樹結(jié)點兩部分組成,通常用于文本詞頻統(tǒng)計[12]。Trie樹可保存鍵值對映射關(guān)系,但key必須是字符串,除根節(jié)點,其它節(jié)點都只包含一個字符,每個節(jié)點的孩子節(jié)點包含的字符都不相同。其核心思想是通過最長公共前綴迅速查詢到結(jié)果,空間換時間,降低時間復(fù)雜度。通過Trie樹來存儲和計算詞語的信息熵,用于篩選出新詞。
針對TF-IDF算法的局限性,引入詞語權(quán)重。詞語權(quán)重分為詞語位置權(quán)重,詞性權(quán)重,詞長權(quán)重。活動的標(biāo)題的title一般能概括活動的主要內(nèi)容,則出現(xiàn)在標(biāo)題中的詞語成為關(guān)鍵詞的概率更大;在評論中出現(xiàn)詞語可能會反映該活動的隱藏關(guān)鍵詞或活動相關(guān)關(guān)鍵詞,則評論的詞語也應(yīng)該適當(dāng)重視[13-14]。特征詞位置的權(quán)重設(shè)置見表1。
表1 位置權(quán)重設(shè)置
中文中的詞性可分為實詞和虛詞兩類。實詞一般包含:名詞、動詞、形容詞、代詞、數(shù)詞、量詞等;虛詞一般包含:介詞、連詞、嘆詞、助詞等[13]。關(guān)鍵詞的詞性通常是以名詞或名詞性短語為主,其次是動詞、副詞和其他修飾詞。特征詞的詞性權(quán)重設(shè)置見表2。
表2 詞性權(quán)重設(shè)置
關(guān)鍵詞過短無法體現(xiàn)包含信息,關(guān)鍵詞過長,包含信息越多,則表示該關(guān)鍵詞可以再次切分。研究表明,關(guān)鍵詞的詞長一般在[2,7]之間,詞長過長過短需要過濾[15-16]。詞長權(quán)重計算公式(6):
(6)
其中,ilen是第i個詞語的詞長,avg(len)是平均詞長。
綜合上述多特征權(quán)重,詞語權(quán)重計算公式(7):
Wword=αWl+βWc+γWlen.
(7)
其中,Wword、Wl、Wc、Wlen分別為詞語權(quán)重、詞語的位置權(quán)重、詞性權(quán)重、詞長權(quán)重,α、β、γ為系數(shù)分別為0.6、0.3、0.1。
本文目標(biāo)是評測用戶評論質(zhì)量,需要與一個相對標(biāo)準(zhǔn)指標(biāo)進行對比。余弦相似度是通過測量兩類關(guān)鍵詞向量的夾角余弦值來度量它們之間的相似性。余弦相似度計算公式(8):
(8)
評論中關(guān)鍵詞的權(quán)重作為A向量,標(biāo)準(zhǔn)關(guān)鍵詞權(quán)重作為B向量,計算兩者之間的cosθ。
提取關(guān)鍵詞算法步驟為:
(1)文本獲?。豪门老x爬取活動標(biāo)題、用戶評論,寫入文本中保存。
(2)文本預(yù)處理:清除文本中的噪聲,例如:文本中的空格,表情符號,特殊符號等。
(3)分詞:將文本分為標(biāo)題、評論兩部分,同時對這兩部分進行分詞,分詞結(jié)果分為標(biāo)題分詞結(jié)果集和評論分詞結(jié)果集,本文采用結(jié)合字典樹和信息熵對文本進行分詞。
(4)停用詞過濾:由于停用詞的普遍性,通常自身沒有特定的意思,對文本主題的表達能力低。例如“的”,“啊”,“然后”,“哈哈哈”等詞語以及標(biāo)點符號,過濾停用詞,消除對關(guān)鍵詞提取的干擾。
(5)詞性/詞長過濾:對詞性為語氣助詞、介詞、連詞、擬聲詞等詞語過濾,過濾詞長小于2大于7的詞語。過濾這些詞語可提高工作效率,避免增加工作量。
(6)利用TF-IDF算法計算詞語的Wtf-idf。
(7)根據(jù)式(7)計算詞語的權(quán)重Wword。
(8)計算詞語的最終權(quán)重W=Wtf-idf*Wword。
(9)根據(jù)余弦相似度公式計算評論與標(biāo)題的相關(guān)度。
本文實驗數(shù)據(jù)來自某微信公眾號的活動評論。評論共有91 120條,去除只含表情、評論過短的評論,剩余評論為83 680條。本文中該公眾號名都用“XXXX”來表示。
2.2.1 分詞效果對比
互聯(lián)網(wǎng)營銷活動的標(biāo)題和評論包含新詞,傳統(tǒng)分詞算法可能無法實現(xiàn)新詞的提取。本實驗利用互信息和左右熵,以Tire樹為數(shù)據(jù)結(jié)構(gòu)提取新詞?;バ畔⑹且粋€詞語中包含的關(guān)于另一個詞語的信息量,即兩個詞共同出現(xiàn)的概率。左右熵衡量預(yù)選詞的自由度。左右熵越大,說明該預(yù)選詞越有可能是獨立詞語。通過傳統(tǒng)分詞算法和基于互信息和左右熵的分詞算法的分詞結(jié)果見表3。
表3 兩種分詞對比表
從表3可以看出,傳統(tǒng)分詞將“XXXX”分成“XX”和“XX”兩個詞,將“尋味杭州”分為“尋味”和“杭州”,基于互信息和左右熵分詞算法將“XXXX”、“尋味杭州”作為獨立詞語,這兩個詞語是與文本源——某公眾號的活動相關(guān)。由此可見傳統(tǒng)的分詞算法無法識別新詞,會導(dǎo)致Wtf-idf不準(zhǔn)確。
2.2.2 關(guān)鍵詞提取效果對比
采用準(zhǔn)確率(Precision)、召回率(Recall)和F1值來衡量關(guān)鍵詞提取算法的優(yōu)劣。準(zhǔn)確率是指預(yù)測正確的樣本數(shù)除以總樣本數(shù),召回率是實際為正確的被預(yù)測為正確樣本的概率,則綜合準(zhǔn)確率和召回率這兩個指標(biāo)提出了F1值,若F1比較高,則說明該算法效果較好[5]。
準(zhǔn)確率計算公式如式(9):
(9)
其中,numcorrect表示符合主題的關(guān)鍵詞數(shù)量,numtotal是關(guān)鍵詞總量。
召回率計算公式如式(10):
(10)
其中,numactual表示文本真實關(guān)鍵詞數(shù)量。
F1值綜合準(zhǔn)確率和召回率兩個指標(biāo),計算公式如式(11):
(11)
通過準(zhǔn)確率、召回率和F1值對傳統(tǒng)TFIDF算法和多權(quán)TF-IDF算法進行對比,結(jié)果見表4。
表4 兩種算法指標(biāo)對比
本文通過計算基于傳統(tǒng)TF-IDF算法和多權(quán)TF-IDF算法提取的關(guān)鍵詞權(quán)重與標(biāo)題關(guān)鍵詞權(quán)重的余弦相似度進行對比,提取余弦相似度排名前5的評論,表5為兩種算法得到的不同重要評論排名結(jié)果。
這次文本標(biāo)題是“網(wǎng)紅帶你尋味杭州!搶!千份好禮限時8 h!”,通過人工標(biāo)注關(guān)鍵詞為:“尋味杭州”,“網(wǎng)紅”,“好禮”,“8 h”,“千份”,活動標(biāo)題的隱藏關(guān)鍵詞“XXXX”,評論關(guān)鍵詞與標(biāo)題關(guān)鍵詞進行比對,結(jié)果表明:多權(quán)TF-IDF算法優(yōu)于傳統(tǒng)TF-IDF算法。
表5 重要評論對比
本文針對現(xiàn)代營銷活動中客戶為中心,分析客戶評論,提取重要客戶的需求,提出利用互信息和信息熵結(jié)合的分詞算法,互信息決定該詞語是否成為預(yù)選詞,左右熵決定該預(yù)選詞是否為獨立詞語,在上述分詞算法的基礎(chǔ)上,融合詞語的位置、詞性、詞長等多種因素對TF-IDF算法進行了改進,對每個影響因素分配相應(yīng)的權(quán)重,加權(quán)處理,最后得到詞語權(quán)值,取權(quán)值最大的5個詞語作為評論的關(guān)鍵詞,以人工標(biāo)注的關(guān)鍵詞為標(biāo)準(zhǔn),對比兩種算法,發(fā)現(xiàn)本文算法效果良好,可篩選出重要評論,獲得重要客戶,值得推廣應(yīng)用,也可應(yīng)用到其他場景,如微博留言、帖子評論,可以有效的排除網(wǎng)絡(luò)水軍垃圾發(fā)言等。在研究的過程中也發(fā)現(xiàn)了一些不足和缺陷,在本文忽視了特征詞的語義信息對關(guān)鍵詞提取的影響,未來可對中文語義進行深入研究:中文語言中有許多詞語存在相近語義或者多種語義。語義相同,詞語不同的關(guān)鍵詞,會被篩除,導(dǎo)致算法具有局限性,因此,研究不同特征詞語義信息對提升關(guān)鍵詞提取效果的影響是具有重要意義。