李 璐, 何利力
(浙江理工大學 信息學院, 杭州 310018)
隨著“互聯網+”技術日趨成熟,基于“互聯網+”營銷企業需要根據不同屬性對用戶進行類別劃分,為不同類別用戶制定不同的營銷策略,評論的質量可作為用戶的一個屬性。評論屬于自然語言,人為對評論的質量評估,是可行的,但評論數量過大,人為評估速度慢,無法滿足現營銷企業的需求。自然語言處理針對結構復雜的文本信息進行處理,其中關鍵詞的提取是基礎與核心技術,在檢索信息、文本分類、信息匹配、話題跟蹤、自動摘要、人機對話等領域有廣泛的應用[1-3]。
在自然語言處理領域中處理提取評論關鍵詞的方法大致可以分為兩類:監督學習,無監督學習[4]。監督學習是從特定的訓練數據集訓練出函數模型,根據函數模型判斷該詞語是否屬于關鍵字類別,對訓練集的要求較高,通常需要人工預處理。在無監督學習中,無法預知樣本類型,需要根據樣本數據間的內在結構對樣本集進行聚類,使同一類別數據差距最小化,不同類別數據差距最大化[5]。常見的主流無監督關鍵字提取方法可以分為基于TF-IDF數值統計的關鍵詞提取、基于LDA主題模型的關鍵字提取、基于詞圖模型的關鍵字提取3種類型[6-7]。上述方法都有各自的優點和局限性。
本文主要針對TF-IDF展開相關研究,綜合考慮評論信息中詞語的位置、詞性、詞長3種影響因子,對每種影響因子賦予一定的權重,最后加權得到最終的特征權重,獲取權重最大前5的詞語作為該短文本的關鍵詞。通過余弦相似度來衡量評論與標題關鍵詞的相似度,獲取重要評論。該方法可識別垃圾評論、重要評論,可用于企業對用戶某一屬性的衡量。
相關技術研究包括TF-IDF、信息熵、Trie樹、詞語的權重、余弦相似度這5個方面。設定一個文本集合D,集合中包含N個文本,每個文本都包含標題title和評論comment兩部分[7]。comment內容是由評論句子組成,評論句子是由多個詞語組成。
TF-IDF是常見的加權算法,通常用于資源檢索與數據挖掘等方向,衡量文本集中一個特征詞對包含該特征詞的文本的重要程度,優于其它算法[6]。TF-IDF是TF與IDF的乘積,TF-IDF的詞條提取函數如式(1) :
Wtf-idf=TF(i)×IDF(i),
(1)
其中,Wtf-idf表示第i個詞語的TF-IDF值,TF(i)表示該詞的詞頻。主要思想是:如果該特征詞i在該文本中出現的次數較多,TF(i)越大,則表明該詞可能會較好地描述了該文本的主要信息,計算如式(2):
(2)
其中,ni為該詞i出現的次數,n為所有關鍵詞的總數。
IDF(i)表示逆文檔頻率,若包含該詞i文檔數越少,IDF(i)越大,說明該詞i具有良好的類型區分作用,計算如式(3):
(3)
其中,N為文檔總數,df(i)是為文檔出現詞語i的文檔數。
TF-IDF算法表明:在文本comment中出現頻率足夠高,而在整個文本集合D的其他文檔中出現頻率足夠低的特征詞是區別該文本comment最關鍵的詞語[7-8]。TF詞頻代表同類文本特征,不同類別文本的特征由IDF來表示。IDF主要用于調整TF,抑制噪聲加權,但TF-IDF的結構過于簡單,無法有效地反映單詞的重要性和特征單詞的位置分布,并且調整權限功能不是有效的,因此TF-IDF方法的準確性不高,且TF-IDF算法沒有體現特征詞的位置信息、詞性、詞長的重要性。對于一篇文檔而言,不同結構的內容體現的信息是不同的,即權重也應按照不同的結構特征來分配,避免忽視文本結構問題[9]。特征詞在不同的位置、詞性、詞長對文本內容的反映程度不同,其權重計算方式也應有所不同。因此,應該給文檔中不同位置、詞性、詞長的特征詞賦予不同的系數,并乘以特征詞的TF-IDF值,以增強文本表達的效果。
互信息反映兩個詞語的凝聚力,互信息的計算如式(4):
(4)
其中,p(x,y)為詞語x,y的聯合分布概率;p(x),p(y)為詞語x,y邊緣分布概率;PMI(x,y)的單位為bit。
根據互信息挑選的預選詞,利用信息熵確定該預選詞為新詞。信息熵是一個具體事件發生所帶來的信息[10],描述信息源的不確定度,熵是該預選詞的所有可能取值,即所有可能發生預選詞組合所帶來的信息量的期望[11],來表示預選詞的自由度。對于一個預選詞所有可能的組合X,其信息熵為公式(5)
H(X)=-∑p(x)log2p(x).
(5)
其中,p(x)是x在系統事件中出現的概率。熵越大,則該預選詞大概率為一個新詞。
Trie索引樹是一種數據結構,是由非線性結構形式表示的鍵樹,由首字散列表和字典索引樹結點兩部分組成,通常用于文本詞頻統計[12]。Trie樹可保存鍵值對映射關系,但key必須是字符串,除根節點,其它節點都只包含一個字符,每個節點的孩子節點包含的字符都不相同。其核心思想是通過最長公共前綴迅速查詢到結果,空間換時間,降低時間復雜度。通過Trie樹來存儲和計算詞語的信息熵,用于篩選出新詞。
針對TF-IDF算法的局限性,引入詞語權重。詞語權重分為詞語位置權重,詞性權重,詞長權重。活動的標題的title一般能概括活動的主要內容,則出現在標題中的詞語成為關鍵詞的概率更大;在評論中出現詞語可能會反映該活動的隱藏關鍵詞或活動相關關鍵詞,則評論的詞語也應該適當重視[13-14]。特征詞位置的權重設置見表1。

表1 位置權重設置
中文中的詞性可分為實詞和虛詞兩類。實詞一般包含:名詞、動詞、形容詞、代詞、數詞、量詞等;虛詞一般包含:介詞、連詞、嘆詞、助詞等[13]。關鍵詞的詞性通常是以名詞或名詞性短語為主,其次是動詞、副詞和其他修飾詞。特征詞的詞性權重設置見表2。

表2 詞性權重設置
關鍵詞過短無法體現包含信息,關鍵詞過長,包含信息越多,則表示該關鍵詞可以再次切分。研究表明,關鍵詞的詞長一般在[2,7]之間,詞長過長過短需要過濾[15-16]。詞長權重計算公式(6):
(6)
其中,ilen是第i個詞語的詞長,avg(len)是平均詞長。
綜合上述多特征權重,詞語權重計算公式(7):
Wword=αWl+βWc+γWlen.
(7)
其中,Wword、Wl、Wc、Wlen分別為詞語權重、詞語的位置權重、詞性權重、詞長權重,α、β、γ為系數分別為0.6、0.3、0.1。
本文目標是評測用戶評論質量,需要與一個相對標準指標進行對比。余弦相似度是通過測量兩類關鍵詞向量的夾角余弦值來度量它們之間的相似性。余弦相似度計算公式(8):
(8)
評論中關鍵詞的權重作為A向量,標準關鍵詞權重作為B向量,計算兩者之間的cosθ。
提取關鍵詞算法步驟為:
(1)文本獲?。豪门老x爬取活動標題、用戶評論,寫入文本中保存。
(2)文本預處理:清除文本中的噪聲,例如:文本中的空格,表情符號,特殊符號等。
(3)分詞:將文本分為標題、評論兩部分,同時對這兩部分進行分詞,分詞結果分為標題分詞結果集和評論分詞結果集,本文采用結合字典樹和信息熵對文本進行分詞。
(4)停用詞過濾:由于停用詞的普遍性,通常自身沒有特定的意思,對文本主題的表達能力低。例如“的”,“啊”,“然后”,“哈哈哈”等詞語以及標點符號,過濾停用詞,消除對關鍵詞提取的干擾。
(5)詞性/詞長過濾:對詞性為語氣助詞、介詞、連詞、擬聲詞等詞語過濾,過濾詞長小于2大于7的詞語。過濾這些詞語可提高工作效率,避免增加工作量。
(6)利用TF-IDF算法計算詞語的Wtf-idf。
(7)根據式(7)計算詞語的權重Wword。
(8)計算詞語的最終權重W=Wtf-idf*Wword。
(9)根據余弦相似度公式計算評論與標題的相關度。
本文實驗數據來自某微信公眾號的活動評論。評論共有91 120條,去除只含表情、評論過短的評論,剩余評論為83 680條。本文中該公眾號名都用“XXXX”來表示。
2.2.1 分詞效果對比
互聯網營銷活動的標題和評論包含新詞,傳統分詞算法可能無法實現新詞的提取。本實驗利用互信息和左右熵,以Tire樹為數據結構提取新詞?;バ畔⑹且粋€詞語中包含的關于另一個詞語的信息量,即兩個詞共同出現的概率。左右熵衡量預選詞的自由度。左右熵越大,說明該預選詞越有可能是獨立詞語。通過傳統分詞算法和基于互信息和左右熵的分詞算法的分詞結果見表3。

表3 兩種分詞對比表
從表3可以看出,傳統分詞將“XXXX”分成“XX”和“XX”兩個詞,將“尋味杭州”分為“尋味”和“杭州”,基于互信息和左右熵分詞算法將“XXXX”、“尋味杭州”作為獨立詞語,這兩個詞語是與文本源——某公眾號的活動相關。由此可見傳統的分詞算法無法識別新詞,會導致Wtf-idf不準確。
2.2.2 關鍵詞提取效果對比
采用準確率(Precision)、召回率(Recall)和F1值來衡量關鍵詞提取算法的優劣。準確率是指預測正確的樣本數除以總樣本數,召回率是實際為正確的被預測為正確樣本的概率,則綜合準確率和召回率這兩個指標提出了F1值,若F1比較高,則說明該算法效果較好[5]。
準確率計算公式如式(9):
(9)
其中,numcorrect表示符合主題的關鍵詞數量,numtotal是關鍵詞總量。
召回率計算公式如式(10):
(10)
其中,numactual表示文本真實關鍵詞數量。
F1值綜合準確率和召回率兩個指標,計算公式如式(11):
(11)
通過準確率、召回率和F1值對傳統TFIDF算法和多權TF-IDF算法進行對比,結果見表4。

表4 兩種算法指標對比
本文通過計算基于傳統TF-IDF算法和多權TF-IDF算法提取的關鍵詞權重與標題關鍵詞權重的余弦相似度進行對比,提取余弦相似度排名前5的評論,表5為兩種算法得到的不同重要評論排名結果。
這次文本標題是“網紅帶你尋味杭州!搶!千份好禮限時8 h!”,通過人工標注關鍵詞為:“尋味杭州”,“網紅”,“好禮”,“8 h”,“千份”,活動標題的隱藏關鍵詞“XXXX”,評論關鍵詞與標題關鍵詞進行比對,結果表明:多權TF-IDF算法優于傳統TF-IDF算法。

表5 重要評論對比
本文針對現代營銷活動中客戶為中心,分析客戶評論,提取重要客戶的需求,提出利用互信息和信息熵結合的分詞算法,互信息決定該詞語是否成為預選詞,左右熵決定該預選詞是否為獨立詞語,在上述分詞算法的基礎上,融合詞語的位置、詞性、詞長等多種因素對TF-IDF算法進行了改進,對每個影響因素分配相應的權重,加權處理,最后得到詞語權值,取權值最大的5個詞語作為評論的關鍵詞,以人工標注的關鍵詞為標準,對比兩種算法,發現本文算法效果良好,可篩選出重要評論,獲得重要客戶,值得推廣應用,也可應用到其他場景,如微博留言、帖子評論,可以有效的排除網絡水軍垃圾發言等。在研究的過程中也發現了一些不足和缺陷,在本文忽視了特征詞的語義信息對關鍵詞提取的影響,未來可對中文語義進行深入研究:中文語言中有許多詞語存在相近語義或者多種語義。語義相同,詞語不同的關鍵詞,會被篩除,導致算法具有局限性,因此,研究不同特征詞語義信息對提升關鍵詞提取效果的影響是具有重要意義。