張?bào)K
摘要:電子書籍網(wǎng)站的用戶評論真實(shí)客觀地反映了讀者對書籍的感受,因此對書評的情感分析研究具有學(xué)術(shù)及商業(yè)價(jià)值。該文研究了情感分析在該領(lǐng)域的機(jī)器學(xué)習(xí)模型,以情感字典作為主觀內(nèi)容識別,通過神經(jīng)網(wǎng)絡(luò)語言模型對情感字典擴(kuò)充,運(yùn)用機(jī)器學(xué)習(xí)方法,設(shè)計(jì)書評領(lǐng)域情感分析模型,并深入探討了邏輯回歸等分類算法,采用多種評價(jià)指標(biāo)分析不同模型效果。結(jié)果表明運(yùn)用主客觀分類之后的模型更適合判斷讀者情感傾向。
關(guān)鍵詞: 在線書評;情感分析;情感詞典;模型分析;可視化
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼: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
隨著移動(dòng)網(wǎng)絡(luò)的發(fā)展和網(wǎng)絡(luò)文學(xué)的興起,越來越多的讀者傾向于使用手機(jī)、平板電腦等移動(dòng)端設(shè)備購買、閱讀電子書籍,并在網(wǎng)上分享各自的對書籍的評價(jià)以及對劇情的討論。書評不僅是對書籍的價(jià)值判斷和評論,同時(shí)對作者以及后來的讀者都有著不可代替的參考性[1]。有研究發(fā)現(xiàn)近一半的讀者在決定閱讀之前會查看書籍的相關(guān)書評,書評對于讀者的閱讀決策有著重要的影響[2]。如果充分收集這些書評并對其進(jìn)行綜合分析,直觀地揭示讀者對于某本書籍的褒貶態(tài)度或情感傾向,將有助于作者了解作品的不足,從而進(jìn)行改進(jìn)。但目前絕大多數(shù)書評沒有被有效利用,在大量的書評中,讀者無法直觀得出結(jié)論。而且,書評的內(nèi)容都是碎片化的,篇幅長短不一,需要對其重新進(jìn)行分類和情感分析才能挖掘其中反饋用戶褒貶態(tài)度或情感傾向的有用信息。
情感分析 (Sentiment Analysis) 又稱評論挖掘或意見挖掘(Opinion Mining),指的是對某些商品評論的文本內(nèi)容進(jìn)行分析,發(fā)現(xiàn)評論人對這些商品的褒貶態(tài)度和意見[3]。主要任務(wù)包括主題抽取、意見持有者識別、評論范圍確定和情感極性分析[4]。在線評論的特點(diǎn)對情感分析的研究有著重大的學(xué)術(shù)價(jià)值以及直觀而廣闊的商業(yè)價(jià)值,目前在世界各國的計(jì)算機(jī)領(lǐng)域中,情感分析都成為了科學(xué)研究的熱點(diǎn)方向[5-7]。而詞相量(word vector)的提出為情感分析引入了更多的優(yōu)秀算法[8],常用的算法有邏輯回歸(Logistic Regression)、樸素貝葉斯(Naive Bayes)、決策樹(Decision Tree)、支持相量機(jī)(Support Vector Machine,SVM)、K近鄰(k-Nearest Neighbor,KNN)等[9-10]。
1 書評情感分析模型
為了準(zhǔn)確得到書評的情感分析結(jié)果,本文以機(jī)器學(xué)習(xí)方法結(jié)合自然語言處理方法對書評進(jìn)行意見挖掘預(yù)處理和情感分析。本文重點(diǎn)在于對用戶評論的分析處理從而得到對整本書的情感傾向其構(gòu)建情感分析模型如圖1所示。
主要流程為:
1) 數(shù)據(jù)抓取,選定網(wǎng)站抓取高質(zhì)量;
2) 數(shù)據(jù)預(yù)處理,對于抓取的語料總會包含一些臟數(shù)據(jù)需要清洗;
3) 自然語言處理,對整個(gè)語料進(jìn)行分句,識別主觀內(nèi)容,分詞,
4) 詞相量訓(xùn)練,基于Hownet擴(kuò)充情感詞典;
5) 對語料進(jìn)行人工分類,確定標(biāo)簽,用機(jī)器學(xué)習(xí)的方法訓(xùn)練構(gòu)建模型。
2 書評數(shù)據(jù)抓取及預(yù)處理
本文的書評數(shù)據(jù)來自于某網(wǎng)絡(luò)小說網(wǎng)站的用戶評論,為獲取用戶關(guān)于某一本具體小說的評論數(shù)據(jù),首先要打開這個(gè)網(wǎng)站,進(jìn)入到某本小說,便可以顯示關(guān)于此小說的評論數(shù)據(jù),利用網(wǎng)絡(luò)信息采集工具抓取評論數(shù)據(jù),每一條記錄包括用戶名、評論內(nèi)容、回復(fù)時(shí)間、評分,所有數(shù)據(jù)最終導(dǎo)入到excel中保存。為了確保抓取的數(shù)據(jù)對問題的研究有價(jià)值,需要對數(shù)據(jù)進(jìn)行預(yù)處理。數(shù)據(jù)預(yù)處理主要包括:
1) 重復(fù)評論內(nèi)容。這種評論主要是用戶為了賺取經(jīng)驗(yàn)等行為和提高或降低某本書的平均評分,這種數(shù)據(jù)對真實(shí)的正負(fù)面評論會造成很嚴(yán)重的影響,需要將其刪除只保留一條記錄。
2) 干擾信息。書評有大于50字的要求,因此有很多的評論中有湊字?jǐn)?shù)的無意義內(nèi)容需要?jiǎng)h除;廣告信息與主題無關(guān)也需要?jiǎng)h除。
3 自然語言處理
3.1 主客觀內(nèi)容識別及分詞
考慮到書評文本的性質(zhì),是對一本書的評價(jià),主要內(nèi)容為主觀句,將每一條評論進(jìn)行分句。對分句內(nèi)容,以Hownet詞典作為基礎(chǔ)識別主觀句,其他句子則刪除。剩下的句子都認(rèn)為是主觀句,再對其進(jìn)行分詞。本文使用jieba 0.39進(jìn)行分詞,加上書籍領(lǐng)域詞典,分詞能基本保證準(zhǔn)確。
本模型的主客觀句識別以情感詞典未基礎(chǔ),對于情感詞典的擴(kuò)充是整個(gè)流程的重要內(nèi)容。本文以Hownet詞典為基礎(chǔ),將整個(gè)語料作為字典,過濾在情感詞典出現(xiàn)而語料中沒有出現(xiàn)的詞語。詞典擴(kuò)充方面,使用詞向量開源工具Word2Vec對語料訓(xùn)練,尋找距離相近詞語,再添加到情感詞典,充分提高詞典利用效率。
3.2 機(jī)器學(xué)習(xí)算法
對于書評的情感分析,本文采用以下幾種典型的機(jī)器學(xué)習(xí)方法:樸素貝葉斯、隨機(jī)森林決策樹、邏輯回歸(Logistic Regression)、knn、SVM、多層感知器 (Multi-layer Perceptron,MLP)、梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)、adaboost等。這里對Logistic Regression進(jìn)行說明
Logistic regression(邏輯回歸)是當(dāng)前比較常用的機(jī)器學(xué)習(xí)算法,用于估計(jì)某種事物的可能性,根據(jù)預(yù)測函數(shù)對輸入的數(shù)據(jù)進(jìn)行判斷。邏輯回歸作為有監(jiān)督學(xué)習(xí),在使用算法之前,必須要收集一批標(biāo)注好的數(shù)據(jù)作為訓(xùn)練集。假設(shè)訓(xùn)練集中每個(gè)評論樣本可以用一個(gè)m維向量表示,則得到一組訓(xùn)練數(shù)據(jù):
[D=(x1,y1),(x2,y2)…(xN,yN)] (1)
其中,y在{0,1}中取值。
邏輯回歸中Logistic函數(shù)
[h(z)=11+e-z] (2)
在機(jī)器學(xué)習(xí)模型中,實(shí)際就是在決策函數(shù)限定在某組條件下,這組限定條件決定了模型的假設(shè)空間。邏輯回歸模型的假設(shè)是:
[P(y=1|x;θ)=h(θTx)=11+e-θT*x] (3)
其中[gh]為上述Logistic函數(shù),相應(yīng)的決策函數(shù)為:
[y*=1, if P(y=1|x)>0.5] (4)
在一般情況下選擇0.5作為閾值,根據(jù)實(shí)際應(yīng)用可以選擇不同的閾值,如果對正例的判別準(zhǔn)確率要求高,可以選擇閾值大一點(diǎn),對正例的召回率要求高,則可以選擇閾值小一點(diǎn)。
Logistic回歸方法用最大似然估計(jì)來進(jìn)行學(xué)習(xí),找到一組參數(shù),使得在這組參數(shù)下,數(shù)據(jù)似然度越大。在Logistic回歸模型中,單個(gè)樣本的后驗(yàn)概率為:
[P(y|x;θ)=(hθ(x))y(1-hθ(x))1-y?y={0,1}] (5)
則整個(gè)樣本似然函數(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 實(shí)驗(yàn)分析
對于書評情感分析問題,通過word2vec工具將詞向量化,運(yùn)用多種機(jī)器學(xué)習(xí)方法對詞向量進(jìn)行訓(xùn)練,對分析結(jié)果在幾個(gè)典型的指標(biāo)上進(jìn)行比較,從而確定最優(yōu)的機(jī)器學(xué)習(xí)算法。
本文共抓取書評20000條,其中有10000條未標(biāo)注評論,5000條正向評論,5000條負(fù)向評論。經(jīng)過第二節(jié)預(yù)處理之后剩余書評18342條。實(shí)驗(yàn)設(shè)計(jì)對剩余評論分別進(jìn)行主客觀內(nèi)容分析再情感分析和直接情感分析對比。實(shí)驗(yàn)結(jié)果采用可視化方法分析。在識別正負(fù)情緒的準(zhǔn)確率方面各算法的表現(xiàn)如圖2所示。
從測試的結(jié)果來看,使用主客觀內(nèi)容識別對正確區(qū)別兩種情緒的概率明顯上升。最為明顯的是Adaboost算法和隨機(jī)梯度下降算法,分別對正向情緒和負(fù)向情緒識別概率提升了16%和14%,總體上,正確識別情緒概率提升了1%-9%。其中總體效果較好的是SVM算法和邏輯回歸算法。
圖3所示的是精確率、召回率與f1值。精確率(Precision)是指在所有預(yù)測的“真”的樣本中,實(shí)際是真的的占比;召回率(Recall)是指在所有實(shí)際為真的樣本中,被預(yù)測的“真”的占比;f1值則是兩個(gè)指標(biāo)的調(diào)和平均。一般來說,要提高精確率會導(dǎo)致召回率的下降,如果f1等于1表示等同實(shí)際預(yù)測,為0代表隨機(jī)預(yù)測,為-1則表示預(yù)測結(jié)果與真實(shí)結(jié)果完全相反。在使用主客觀識別后,對樸素貝葉斯、隨機(jī)梯度下降和Adaboost算法提升明顯。
圖4 所示的是各分類器的AUC和Kappa系數(shù)。AUC表示分類器的性能優(yōu)越性,取值為[0,1]數(shù)值越大性能越優(yōu)。Kappa系數(shù)則是對模型一致性評價(jià)結(jié)果,Kappa結(jié)果為[-1,1],但通常取值為[0,1]。不使用主客觀識別時(shí)所有算法的Kappa系數(shù)均在0.41到0.6之間,只有中等一致性。使用主客觀識別后對表現(xiàn)為較好的一致性。
5 結(jié)束語
在線書評反映了讀者對書籍的真實(shí)感受與看法,怎樣精準(zhǔn)把握讀者對書籍的滿意度和需求,是作者長期關(guān)注的問題,具有重要的研究意義和商業(yè)價(jià)值。針對在線書評隨意性和舊詞新義的特點(diǎn),運(yùn)用網(wǎng)頁抓取技術(shù)、自然語言處理、機(jī)器學(xué)習(xí)模型,本文提出了先使用主客觀識別在情感分析的模型,以真實(shí)的在線書評為例,對其進(jìn)行情感分析,利用該模型減少無關(guān)語句對情感分析的影響。實(shí)驗(yàn)結(jié)果表明,本文提出的方法是可行的。但是,本文尚存在一些不足,本文未對評論實(shí)體進(jìn)行識別,無法確切分析讀者不滿意的地方且并未對評論者進(jìn)行關(guān)聯(lián);對情感詞典的構(gòu)建與擴(kuò)充不夠完善。另外在線書評是實(shí)時(shí)變化的,用戶評論自動(dòng)分析是下一步需要研究的方向。
參考文獻(xiàn):
[1] 李明. 網(wǎng)絡(luò)書評的多元價(jià)值與社會文化傳播功能[J]. 圖書館雜志,2013,32(11):30-33+44.
[2] 張紫瓊,葉強(qiáng),李一軍. 互聯(lián)網(wǎng)商品評論情感分析研究綜述[J]. 管理科學(xué)學(xué)報(bào),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ò)用戶的人格分析與預(yù)測[J]. 計(jì)算機(jī)學(xué)報(bào),2014,37(8):1877-1894.
[6] 藍(lán)天廣. 電子商務(wù)產(chǎn)品在線評論的細(xì)粒度情感強(qiáng)度分析[D].北京:北京郵電大學(xué),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.