張驥
摘要:電子書籍網(wǎng)站的用戶評論真實客觀地反映了讀者對書籍的感受,因此對書評的情感分析研究具有學術(shù)及商業(yè)價值。該文研究了情感分析在該領(lǐng)域的機器學習模型,以情感字典作為主觀內(nèi)容識別,通過神經(jīng)網(wǎng)絡(luò)語言模型對情感字典擴充,運用機器學習方法,設(shè)計書評領(lǐng)域情感分析模型,并深入探討了邏輯回歸等分類算法,采用多種評價指標分析不同模型效果。結(jié)果表明運用主客觀分類之后的模型更適合判斷讀者情感傾向。
關(guān)鍵詞: 在線書評;情感分析;情感詞典;模型分析;可視化
中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2017)33-0206-03
Abstract:User reviews in e-book website truly reflect reader feeling about e-book,so the research of sentiment analysis of book reviews has academic and commercial value. Discussing on machine learing models for sentiment analysis,using sentiment lexicon as subjective content recognition,through the neural network language model to extend the emotional dictionary, the use of machine learning methods, design evaluation of the field of emotional analysis model.Analysis of the logic regression classification algorithm, the use of a variety of evaluation indicators. analysis of different model results, the results show that the use of subjective and objective classification of the model is more suitable to judge the reader's emotional tendencies.
Key words:online book review; sentiment analysis; sentiment lexico; model analysis; visualization
隨著移動網(wǎng)絡(luò)的發(fā)展和網(wǎng)絡(luò)文學的興起,越來越多的讀者傾向于使用手機、平板電腦等移動端設(shè)備購買、閱讀電子書籍,并在網(wǎng)上分享各自的對書籍的評價以及對劇情的討論。書評不僅是對書籍的價值判斷和評論,同時對作者以及后來的讀者都有著不可代替的參考性[1]。有研究發(fā)現(xiàn)近一半的讀者在決定閱讀之前會查看書籍的相關(guān)書評,書評對于讀者的閱讀決策有著重要的影響[2]。如果充分收集這些書評并對其進行綜合分析,直觀地揭示讀者對于某本書籍的褒貶態(tài)度或情感傾向,將有助于作者了解作品的不足,從而進行改進。但目前絕大多數(shù)書評沒有被有效利用,在大量的書評中,讀者無法直觀得出結(jié)論。而且,書評的內(nèi)容都是碎片化的,篇幅長短不一,需要對其重新進行分類和情感分析才能挖掘其中反饋用戶褒貶態(tài)度或情感傾向的有用信息。
情感分析 (Sentiment Analysis) 又稱評論挖掘或意見挖掘(Opinion Mining),指的是對某些商品評論的文本內(nèi)容進行分析,發(fā)現(xiàn)評論人對這些商品的褒貶態(tài)度和意見[3]。主要任務包括主題抽取、意見持有者識別、評論范圍確定和情感極性分析[4]。在線評論的特點對情感分析的研究有著重大的學術(shù)價值以及直觀而廣闊的商業(yè)價值,目前在世界各國的計算機領(lǐng)域中,情感分析都成為了科學研究的熱點方向[5-7]。而詞相量(word vector)的提出為情感分析引入了更多的優(yōu)秀算法[8],常用的算法有邏輯回歸(Logistic Regression)、樸素貝葉斯(Naive Bayes)、決策樹(Decision Tree)、支持相量機(Support Vector Machine,SVM)、K近鄰(k-Nearest Neighbor,KNN)等[9-10]。
1 書評情感分析模型
為了準確得到書評的情感分析結(jié)果,本文以機器學習方法結(jié)合自然語言處理方法對書評進行意見挖掘預處理和情感分析。本文重點在于對用戶評論的分析處理從而得到對整本書的情感傾向其構(gòu)建情感分析模型如圖1所示。
主要流程為:
1) 數(shù)據(jù)抓取,選定網(wǎng)站抓取高質(zhì)量;
2) 數(shù)據(jù)預處理,對于抓取的語料總會包含一些臟數(shù)據(jù)需要清洗;
3) 自然語言處理,對整個語料進行分句,識別主觀內(nèi)容,分詞,
4) 詞相量訓練,基于Hownet擴充情感詞典;
5) 對語料進行人工分類,確定標簽,用機器學習的方法訓練構(gòu)建模型。
2 書評數(shù)據(jù)抓取及預處理
本文的書評數(shù)據(jù)來自于某網(wǎng)絡(luò)小說網(wǎng)站的用戶評論,為獲取用戶關(guān)于某一本具體小說的評論數(shù)據(jù),首先要打開這個網(wǎng)站,進入到某本小說,便可以顯示關(guān)于此小說的評論數(shù)據(jù),利用網(wǎng)絡(luò)信息采集工具抓取評論數(shù)據(jù),每一條記錄包括用戶名、評論內(nèi)容、回復時間、評分,所有數(shù)據(jù)最終導入到excel中保存。為了確保抓取的數(shù)據(jù)對問題的研究有價值,需要對數(shù)據(jù)進行預處理。數(shù)據(jù)預處理主要包括:
1) 重復評論內(nèi)容。這種評論主要是用戶為了賺取經(jīng)驗等行為和提高或降低某本書的平均評分,這種數(shù)據(jù)對真實的正負面評論會造成很嚴重的影響,需要將其刪除只保留一條記錄。
2) 干擾信息。書評有大于50字的要求,因此有很多的評論中有湊字數(shù)的無意義內(nèi)容需要刪除;廣告信息與主題無關(guān)也需要刪除。
3 自然語言處理
3.1 主客觀內(nèi)容識別及分詞
考慮到書評文本的性質(zhì),是對一本書的評價,主要內(nèi)容為主觀句,將每一條評論進行分句。對分句內(nèi)容,以Hownet詞典作為基礎(chǔ)識別主觀句,其他句子則刪除。剩下的句子都認為是主觀句,再對其進行分詞。本文使用jieba 0.39進行分詞,加上書籍領(lǐng)域詞典,分詞能基本保證準確。
本模型的主客觀句識別以情感詞典未基礎(chǔ),對于情感詞典的擴充是整個流程的重要內(nèi)容。本文以Hownet詞典為基礎(chǔ),將整個語料作為字典,過濾在情感詞典出現(xiàn)而語料中沒有出現(xiàn)的詞語。詞典擴充方面,使用詞向量開源工具Word2Vec對語料訓練,尋找距離相近詞語,再添加到情感詞典,充分提高詞典利用效率。
3.2 機器學習算法
對于書評的情感分析,本文采用以下幾種典型的機器學習方法:樸素貝葉斯、隨機森林決策樹、邏輯回歸(Logistic Regression)、knn、SVM、多層感知器 (Multi-layer Perceptron,MLP)、梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)、adaboost等。這里對Logistic Regression進行說明
Logistic regression(邏輯回歸)是當前比較常用的機器學習算法,用于估計某種事物的可能性,根據(jù)預測函數(shù)對輸入的數(shù)據(jù)進行判斷。邏輯回歸作為有監(jiān)督學習,在使用算法之前,必須要收集一批標注好的數(shù)據(jù)作為訓練集。假設(shè)訓練集中每個評論樣本可以用一個m維向量表示,則得到一組訓練數(shù)據(jù):
[D=(x1,y1),(x2,y2)…(xN,yN)] (1)
其中,y在{0,1}中取值。
邏輯回歸中Logistic函數(shù)
[h(z)=11+e-z] (2)
在機器學習模型中,實際就是在決策函數(shù)限定在某組條件下,這組限定條件決定了模型的假設(shè)空間。邏輯回歸模型的假設(shè)是:
[P(y=1|x;θ)=h(θTx)=11+e-θT*x] (3)
其中[gh]為上述Logistic函數(shù),相應的決策函數(shù)為:
[y*=1, if P(y=1|x)>0.5] (4)
在一般情況下選擇0.5作為閾值,根據(jù)實際應用可以選擇不同的閾值,如果對正例的判別準確率要求高,可以選擇閾值大一點,對正例的召回率要求高,則可以選擇閾值小一點。
Logistic回歸方法用最大似然估計來進行學習,找到一組參數(shù),使得在這組參數(shù)下,數(shù)據(jù)似然度越大。在Logistic回歸模型中,單個樣本的后驗概率為:
[P(y|x;θ)=(hθ(x))y(1-hθ(x))1-y?y={0,1}] (5)
則整個樣本似然函數(shù)為:
[L(θ)=(hθ(x(i)))y(i)(1-hθ(x(i)))1-y(i)] (6)
取對數(shù)可以得到對數(shù)似然度:
[l(θ)=i=1my(i)logh(x(i))+(1-y(i))log(1-h(x(i)))] (7)
上面求得的便是損失函數(shù)(cost function),要求其最小值可以使用梯度下降法,對[l(θ)]求微分可得:
[ddθjl(θ)=i=1m(y-hθ(x))xj] (8)
[θj:=θj+αi=1m(y(i)-hθ(x(i)))x(i)j,j={0,1,…,n}] (9)
4 實驗分析
對于書評情感分析問題,通過word2vec工具將詞向量化,運用多種機器學習方法對詞向量進行訓練,對分析結(jié)果在幾個典型的指標上進行比較,從而確定最優(yōu)的機器學習算法。
本文共抓取書評20000條,其中有10000條未標注評論,5000條正向評論,5000條負向評論。經(jīng)過第二節(jié)預處理之后剩余書評18342條。實驗設(shè)計對剩余評論分別進行主客觀內(nèi)容分析再情感分析和直接情感分析對比。實驗結(jié)果采用可視化方法分析。在識別正負情緒的準確率方面各算法的表現(xiàn)如圖2所示。
從測試的結(jié)果來看,使用主客觀內(nèi)容識別對正確區(qū)別兩種情緒的概率明顯上升。最為明顯的是Adaboost算法和隨機梯度下降算法,分別對正向情緒和負向情緒識別概率提升了16%和14%,總體上,正確識別情緒概率提升了1%-9%。其中總體效果較好的是SVM算法和邏輯回歸算法。
圖3所示的是精確率、召回率與f1值。精確率(Precision)是指在所有預測的“真”的樣本中,實際是真的的占比;召回率(Recall)是指在所有實際為真的樣本中,被預測的“真”的占比;f1值則是兩個指標的調(diào)和平均。一般來說,要提高精確率會導致召回率的下降,如果f1等于1表示等同實際預測,為0代表隨機預測,為-1則表示預測結(jié)果與真實結(jié)果完全相反。在使用主客觀識別后,對樸素貝葉斯、隨機梯度下降和Adaboost算法提升明顯。
圖4 所示的是各分類器的AUC和Kappa系數(shù)。AUC表示分類器的性能優(yōu)越性,取值為[0,1]數(shù)值越大性能越優(yōu)。Kappa系數(shù)則是對模型一致性評價結(jié)果,Kappa結(jié)果為[-1,1],但通常取值為[0,1]。不使用主客觀識別時所有算法的Kappa系數(shù)均在0.41到0.6之間,只有中等一致性。使用主客觀識別后對表現(xiàn)為較好的一致性。
5 結(jié)束語
在線書評反映了讀者對書籍的真實感受與看法,怎樣精準把握讀者對書籍的滿意度和需求,是作者長期關(guān)注的問題,具有重要的研究意義和商業(yè)價值。針對在線書評隨意性和舊詞新義的特點,運用網(wǎng)頁抓取技術(shù)、自然語言處理、機器學習模型,本文提出了先使用主客觀識別在情感分析的模型,以真實的在線書評為例,對其進行情感分析,利用該模型減少無關(guān)語句對情感分析的影響。實驗結(jié)果表明,本文提出的方法是可行的。但是,本文尚存在一些不足,本文未對評論實體進行識別,無法確切分析讀者不滿意的地方且并未對評論者進行關(guān)聯(lián);對情感詞典的構(gòu)建與擴充不夠完善。另外在線書評是實時變化的,用戶評論自動分析是下一步需要研究的方向。
參考文獻:
[1] 李明. 網(wǎng)絡(luò)書評的多元價值與社會文化傳播功能[J]. 圖書館雜志,2013,32(11):30-33+44.
[2] 張紫瓊,葉強,李一軍. 互聯(lián)網(wǎng)商品評論情感分析研究綜述[J]. 管理科學學報,2010,13 (6):84-96.
[3] Double Click. Search before the Purchase - Understanding Buyer Search Activity as it Builds to Online Purchase [R]. 2005.
[4] Pang B,Lee L,Vaithyanathan S Thumbs up? Sentiment classification using machine learning techniques [C] ∥Proceedings ofthe 2002 Conference on Empirical Methods in Natural LanguageProcessing (EMNLP),Morristown NJ USA,Association for Computational Linguistics,2002: 79-6.
[5] 張磊,陳貞翔,楊波. 社交網(wǎng)絡(luò)用戶的人格分析與預測[J]. 計算機學報,2014,37(8):1877-1894.
[6] 藍天廣. 電子商務產(chǎn)品在線評論的細粒度情感強度分析[D].北京:北京郵電大學,2015.
[7] Khan, Aamera ZH, Mohammad Atique,Thakare V M. Combining lexicon-based and learning-based methods for Twitter sentiment analysis[C]. International Journal of Electronics, Communication and Soft Computing Science & Engineering (IJECSCSE)(2015):89.
[8] Maas A L, Daly R E, Pham P T, et al. Learning word vectors for sentiment analysis[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies-Volume 1. Association for Computational Linguistics, 2011: 142-150.
[9] Altman N S. An introduction to kernel and nearest-neighbor nonparametric regression[J]. The American Statistician,1992,46(3):175-185.
[10] Pavlopoulos I. Aspect based sentiment analysis[D]. Athens University of Economics and Business, 2014.