基于樸素貝葉斯的細粒度意見挖掘
引 言
網(wǎng)絡(luò)社會的發(fā)展,一方面給人們的生活帶來翻天覆地的變化,另一方面也產(chǎn)生了大量有價值的網(wǎng)絡(luò)數(shù)據(jù)。人們可以享受網(wǎng)絡(luò)帶來的便利,也可以利用網(wǎng)絡(luò)數(shù)據(jù)創(chuàng)造財富,這就需要從海量數(shù)據(jù)中挖掘價值。產(chǎn)品評論是網(wǎng)絡(luò)數(shù)據(jù)的產(chǎn)物之一,分析評論文本的評價傾向,一方面可以很好地了解用戶的反饋,另一方面也有助于產(chǎn)品的改進。粗粒度的意見挖掘是通過統(tǒng)計正負面文本的數(shù)量來判斷一個產(chǎn)品的整體受歡迎程度。本文不同于粗粒度意見挖掘,旨在分析評論文本中的每個詞,確保用戶可以了解產(chǎn)品細節(jié),通過分析每個詞,從而挖掘出用戶對產(chǎn)品各個屬性的意見,即細粒度意見挖掘。細粒度意見挖掘的主體是詞,而非文本,可以分析出產(chǎn)品評論中參與評價的各個要素,包括評價主體、正負面評價詞以及其他的背景詞。相比粗粒度意見挖掘更加精細,粗粒度的意見挖掘是一種粗糙的觀點分析,其目的是分析篇章、句子級別文本的正負面觀點。
篇章級別的意見挖掘反映的是文檔整體的觀點。文獻 [1] 對評論文章整體的意見進行挖掘就是篇章級別的,其采用的是無監(jiān)督學(xué)習算法,通過計算候選情感詞與正負面情感種子詞之間的點互信息(Point Mutual Information,PMI)值的差值來確定文章中所有情感詞的平均情感值,也就是挖掘出文章整體的情感傾向。文獻 [2] 提出基于深度學(xué)習的金融情感分析,采用 LSTM,doc2vec 和卷積神經(jīng)網(wǎng)絡(luò)三種模型對StockTwits 社區(qū)的股票評論進行情感分析。
句子級別的意見挖掘反映的是文本的觀點。文獻 [3]采用樸素貝葉斯方法對微博文本情感傾向性進行分類。文獻 [4]提出一種半監(jiān)督的方法將句子分為正面評價和負面評價。
細粒度意見挖掘是分析評論主體,及其相關(guān)的特征屬性, 確保得到用戶對產(chǎn)品各個屬性的具體意見。主要有三類方法 : 關(guān)聯(lián)規(guī)則法、機器學(xué)習法和深度學(xué)習法。
關(guān)聯(lián)規(guī)則法 [5] 最早是由 Hu 等人提出,采用這種方法來挖掘文本中的評價對象和評價詞。Popescu 等人在關(guān)聯(lián)規(guī)則法的基礎(chǔ)上,結(jié)合點互信息法,計算候選評價對象與規(guī)定標識詞之間的點互信息值,從而挖掘出真正的評價對象,再通過句法關(guān)系來輔助挖掘評價詞 [6]。Jin 等人在挖掘評價對象和評價詞時,通過分析文本中評價詞和評價對象的搭配規(guī)則后, 提出多種文本匹配模板,匹配正確的名詞和形容詞認為是評價對象和評價詞 [7]。文獻 [8] 也是提出一種評價詞和評價對象之間的匹配模板,并基于此模板提出相關(guān)算法,實現(xiàn)了產(chǎn)品評價對象和對應(yīng)評價詞的挖掘。文獻 [9] 提出采用深度學(xué)習的方法進行詞嵌入學(xué)習、情感分類、意見提取和情感詞典學(xué)習, 意見提取是采用深度學(xué)習的方法進行細粒度情感分析。
關(guān)聯(lián)規(guī)則法和深度學(xué)習法都屬于無監(jiān)督學(xué)習方法,忽略了文本中大量有價值的語言特征,而機器學(xué)習法充分利用了文本的語言特征。
機器學(xué)習法最常用的學(xué)習模型是條件隨機場(Conditional Random Filed,CRF)模型,陳炳豐等人首先采用經(jīng)典的線性鏈條件隨機場模型對汽車評論進行細粒度情感分析 [10],后來改進了模型,利用得到的雙層結(jié)構(gòu)的條件隨機場模型,提取評論實體和評論情感傾向。張玥也是采用線性條件隨機場模型,不同的是,沒有改進模型,而是在原有特征的基礎(chǔ)上, 將依存句法樹中的樹邊特征作為新特征引入,來提取評價詞和評價對象 [11]。這類方法主要通過特征選取的創(chuàng)新來提高情感分析的效果,但忽略了 CRF 需要大量標注數(shù)據(jù),收集起來比較困難,人工標注也費時費力。
因此,為了充分利用語言特征,又避免標注大量的數(shù)據(jù)。本文提出將語言特征應(yīng)用到樸素貝葉斯模型中來進行細粒度意見挖掘,樸素貝葉斯常常用于粗粒度意見挖掘,在細粒度意見挖掘中,主要利用語言特征的多樣性來提高分類的精度。
1 提取特征
細粒度意見挖掘主要是識別文本中的評價對象、正面評價詞和負面評價詞。評價對象是用戶關(guān)心的各種產(chǎn)品屬性, 正負面評價詞是用戶對產(chǎn)品屬性的直觀感受與評價。豐富且有價值的語言特征有利于準確挖掘出這些意見要素,本文選取基本特征、評價信息特征、語義依存特征 3 種特征來挖掘意見要素。
(1) 基本特征包括詞特征和詞性特征。詞特征,即產(chǎn)品評論中分析的主體,需要經(jīng)過分詞得到 ;詞性特征,顧名思義,是每個詞的詞性,它對識別意見要素有至關(guān)重要的作用。常見的詞性有 :名詞、動詞、形容詞、副詞等。在文本意見挖掘中,各意見要素有著一定的詞性,如 :詞性是形容詞, 一般可認為是正負面評價詞 ;是名詞,一般認為是評論主體, 產(chǎn)品的屬性,詞性的正確識別有助于對詞進行歸類。
(2) 評價信息特征。為了準確挖掘出顧客對產(chǎn)品的評價,并將正負面評價分開,把分詞后的各詞與評價詞典進行匹配,正確匹配的評價詞見表 1 所列。
(3) 語義依存特征,指的是各詞語之間的語義依賴關(guān)系, 通過這種關(guān)系可以更加準確地識別對產(chǎn)品主體的評價。語義依存特征與依存句法特征 [12]存在區(qū)別,前者可以將存在依賴關(guān)系的評價單元直接標記出來,而不會因為句法結(jié)構(gòu)受到影響。
例如句子 1 :像素不錯,就是內(nèi)存有點小。這條評論中, “不錯”修飾“像素”,“小”修飾“內(nèi)存”,如果僅靠評價信息特征,可以識別出兩個評價詞,但具體對應(yīng)哪個屬性就容易出錯,從而影響對產(chǎn)品屬性的真實意見。采用提取語義依 存特征后,存在語義關(guān)聯(lián)的兩個詞就被標記出來,如圖1所示。
經(jīng)過語義依存分析后,可看出“不錯”和“內(nèi)存”之間不存在語義依賴,“像素”與“小”之間也不存在語義依賴 ;而“像素”和“不錯”之間,“內(nèi)存”和“小”之間存在 Exp當事關(guān)系。這樣,可以正確匹配評價單元,大大提高評價要素的識別率。詳細特征描述見表 2 所列。
2 樸素貝葉斯
樸素貝葉斯(Naive Bayesian,NB)分類器是一種基于貝葉斯定理的分類方法,之所以稱之為“樸素”,是因為它假設(shè)“待分類項的各特征之間相互獨立”,從而簡化問題,有效降低分類的復(fù)雜度。因此又把這種概率模型叫作獨立特征模型 [3]。該模型主要是用貝葉斯定理來預(yù)估待分類項屬于其他類別的概率。貝葉斯定理的計算公式為 :
此公式用于計算隨機事件 X 和 Y 之間的條件概率,式中每一項詳細描述如下 :
(1)X 是分類類別,分為 4 類 :評價對象、正面評價詞、負面評價詞和其他背景詞,記為集合 X={m1,m2,m3,m4}。P(X)是分類類別出現(xiàn)的概率,為 0.25。
(2)Y 是待分類項,指分詞后的每個詞,可以用集合Y={a1,a2,…,ak} 來描述。其中,a 是 Y 的分類特征,共 有 4 類 :上文提到的詞特征、詞性特征、語義依存特征、評價信息特征。語義依存特征又用 3 個特征來表示,所以 k 為 6,即用六元特征來表示一個詞,P(Y)是常數(shù)。
(3)P(Y/X)指在類別 X 中,待分類項 Y 出現(xiàn)的概率,可以通過計算待分類項的所有分類特征的條件概率得出,即 :
(4)基于上述 3 項,則待分項類 Y 屬于類別 X 的條件概率 P(X/Y)即可求出,分別計算 p(m1/y),p(m2/y),p(m3/ y),p(m4/y),其中概率最大的類別即 y 的歸屬類別。在文本分類領(lǐng)域,樸素貝葉斯算法被普遍應(yīng)用,但本文旨在利用該算法對詞進行分類,所以分類前,需要標注一部分詞作為訓(xùn)練數(shù)據(jù)集。
3 細粒度意見挖掘
細粒度意見挖掘,即識別評論文本中的評價要素,利用樸素貝葉斯算法的分類功能,識別各評價要素的具體過程如下 :
(1)用 LTP 語言云提取詞、詞性、語義依存特征,用評價詞典提取評價信息特征。
(2)用特征集合來表示詞,如一個詞 Y 可表示為 { 詞,詞性,父節(jié)點詞,父節(jié)點詞詞性,語義依存關(guān)系,評價信息 },這樣一個詞一行,多個詞多行,最終構(gòu)成特征文本,組成一類,形成分類的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。
(3)用樸素貝葉斯分類器對詞分類,分類過程主要是計算分類特征的條件概率。由于分類特征有 6 個,則計算每個分類特征的概率時注意是位置對齊計算,如計算第一個特征的條件概率,則需要遍歷特征文本中每行的第一個詞,計算第二個特征的條件概率,則遍歷特征文本中每行的第二個詞,以此類推。
4 實驗結(jié)果及分析
4.1 數(shù)據(jù)收集及預(yù)處理
本次實驗語料是關(guān)于手機評論的,來自京東商城,共爬取了 8 762 條評論文本。經(jīng)過人工分類,去除中立的評論文本,剩余文本信息分類見表 3 所列。
用人工對剩余的正負面評論進行預(yù)處理,過濾掉一些無效網(wǎng)址及字符,對文本分詞 ;再提取所有詞的特征,用六元特征表示一個詞 ;最后進行五折交叉驗證實驗。將所有的詞分為 5 份,其中 4 份進行分類,分成 4 類,形成貝葉斯分類器 ; 1 份為測試集,用于驗證評價要素識別的效果。
4.2 細粒度意見挖掘結(jié)果
細粒度意見挖掘常用的模型是 CRF,故采用上文提取的特征,將 CRF 和樸素貝葉斯方法識別的效果進行比較。實驗結(jié)果的評價指標用精準率 P(Precision)、召回率 R(Recall) 和 F-measure(精準率和召回率的調(diào)和平均值)來表示,見 表 4 所列。
從表 4 可看出,采用 CRF 模型和樸素貝葉斯模型評價對象的綜合準確率分別達 76.1% 和 78.9%,樸素貝葉斯方法的綜合準確率高些,正負面評價詞的識別率也是樸素貝葉斯方法的高些。因此采用樸素貝葉斯方法進行細粒度意見挖掘是可行的,并且不需要細致地標注大量數(shù)據(jù),節(jié)約資源。
5 結(jié) 語
本文結(jié)合樸素貝葉斯模型和文本語言特征,對產(chǎn)品評論進行細粒度意見挖掘。樸素貝葉斯模型常用于文本分類,是粗粒度的意見挖掘,分類特征單一 ;進行細粒度意見挖掘,則屬于詞分類,單一的特征不足以對詞分類,故需要結(jié)合多種語言特征。這樣既提高分類精度,又避免常用的 CRF 模型需要標注大量數(shù)據(jù)的不足,大大節(jié)省了人力物力。但本文方法仍然需要人工標注少量數(shù)據(jù),如何實現(xiàn)自主標注或半自主標注是未來工作研究的重點。