国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SVM和LSTM兩種模型的商品評論情感分析研究

2019-10-08 07:45彭丹蕾谷利澤孫斌
軟件 2019年1期
關鍵詞:情感分析

彭丹蕾 谷利澤 孫斌

摘? 要: 隨著網購的盛行,商品評論數(shù)量急劇增長,內容也越來越五花八門。如何高效挖掘處理這些評論是一件非常有價值的事情。對商品評論做情感分析是關于這些評論研究的一個重要方向?,F(xiàn)階段在情感分析研究中最常用的有基于機器學習的方法和基于情感知識分析的方法。本文主要采用機器學習中的SVM 方法和深度學習中的LSTM 方法分別對從京東網站爬取的商品評論進行模型搭建,然后對比分析。由于LSTM 能夠保持長期的記憶性,它很好地克服在SVM 分類中每個句子的詞向量求平均丟失了句子詞語之間的順序信息的缺點,保留了詞與詞之間的語義信息(如詞序信息、上下文信息等),并且通過復雜的非線性計算更好地提取詞向量中隱藏的情感信息。因此使用LSTM 方法準確率比SVM 方法提高不少,在情感分析上表現(xiàn)出非常好的效果。

關鍵詞: 商品評論;情感分析;SVM;LSTM

中圖分類號: TP181? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.01.009

【Abstract】: With the popularity of online shopping, the number of product reviews has increased dramatically, and its contents are becoming more and more diverse. How to efficiently mine these reviews is a very valuable thing. Emotional analysis of product reviews is an important aspect of these reviews. The most commonly used methods in sentiment analysis are machine-based learning and sentiment knowledge analysis at present. In this paper, SVM method in machine learning and LSTM method in depth learning are used to model the product reviews crawled from Jingdong website. Because LSTM method can maintain long-term memory, it can overcome the shortcoming of losing the order information between words in each sentence by SVM method, so the accuracy of LSTM method in test set is much higher than that of SVM method.

【Key words】: Product reviews; Sentiment analysis; SVM; LSTM

0? 引言

隨著電子商務的快速發(fā)展,網購已經被越來越多的人接受。它在給人們帶來方便體驗、低價產品的同時,也受到了由于無地域限制導致的購物質量匱乏,遠距離鑒別困難,商品在網站的描述信息與現(xiàn)實實物不符等多種問題。所以,人們在網購某商品時越來越依賴已購客戶對此商品的評價。但由于商品評論數(shù)量急劇增長以及內容五花八門,使得人們很難迅速準確地獲取有價值的信息。所以如何有效挖掘處理這些評論顯得非常重要。關于這方面的研究有很多,其中一個重要方向就是對這些商品評論做情感分析[1]。

情感分析又稱評論挖掘或意見挖掘,是指通過自動分析某種商品評論的文本內容,發(fā)現(xiàn)人們對這種商品的好評差評?,F(xiàn)階段在情感分析領域常用的有基于情感知識的方法和基于機器學習的方法[2-4]?;谇楦兄R的方法主要是利用一些已有的情感詞典和語言知識對評論的情感傾向進行分類,包括SentiWordNet、General Inquire、POS tragger等等。它主要是以自然語言處理為基礎,但因為現(xiàn)在NLP領域還存在著很多尚未攻克的難關。本文將研究基于機器學習的情感分析方法,具體選擇的是機器學習中的支持向量機(Support Vector Machine, SVM)[5]。隨著深度學習目前已經在圖像處理和語音識別等領域得到了廣泛地應用,它開始運用到情感分析研究中。因此本文也將研究基于深度學習的情感分析方法,具體選擇的是深度學習中的長短時記憶網絡(Long Short-Term Memory,LSTM)[6]。通過SVM和LSTM結果對比,得出結論。

1? 相關知識介紹

1.4? TensorFlow

TensorFlow[11]分成兩部分張量(tensor)和流(flow),張量是計算圖的基本數(shù)據結構,它代表的是節(jié)點之間傳遞的數(shù)據,通常是一個多維度矩陣或者一維向量,流表達了張量之間通過計算互相轉化的過程,形象理解為數(shù)據按照流的形式進入數(shù)據運算圖的各個節(jié)點。目前,tensorflow是最熱門的深度學習工具,本文將借助tensorflow實現(xiàn)深度學習LSTM模型。

2? 具體實現(xiàn)

2.1? 實驗數(shù)據集

本文所用的主要實驗數(shù)據集為京東網站爬取的商品評論文本以及一些公開數(shù)據集。其中爬蟲主要是借助Scrapy框架。Scrapy是一個為了爬取網站數(shù)據,提取結構性數(shù)據而編寫的應用框架??梢詰迷诎〝?shù)據挖掘,信息處理,監(jiān)測和自動化測試等領域。本文使用Scrapy獲取商品評論文本過程如下:

(1)在終端命令行cmd輸入scrapy startproject JDview,就創(chuàng)建了一個scrapy的爬蟲工程。

(2)在items.py定義抽取的字段,本次只有content這一項內容。

(3)編寫spider,定義一個用于下載的初始url,即start_urls,對頁面的內容進行解析,提取在items.py規(guī)定需要的字段,同時將結果保存到csv文件中。

(4)由于在第3步實現(xiàn)了文件存取,故沒有修改pipelines.py。

數(shù)據集的選取

由于京東商城是國內最大的數(shù)碼通訊、電腦和家用電器的網上購物商城,同時,該網站也是中國電子商務領域中最具有影響力的電子商務網站之一。故本文爬取部分五星級好評和一星級差評,再加上網上的一些公開商品評論中文標注語料共同構成數(shù)據集。這些數(shù)據集共有兩萬多條,涵蓋多個領域,手機,電腦,書籍,食品等。其中正負比例大約1∶1。通過整合整理將所有正的保存在pos.txt,將所有負的保存在neg.txt。

2.2? 使用SVM進行情感分類

主體思路:從數(shù)據集中抽取樣本,構建比例為8:2的訓練集和數(shù)據集。隨后,對訓練集數(shù)據構建Word2Vec模型。其中分類器的輸入值是一條條評論所有詞向量的加權平均值。Word2Vec工具和svm分類器分別使用python中的gensim庫和sklearn庫[12]。

(1)將正負兩組數(shù)據利用python的numpy進行整合,同時按照它們的順序生成相應的標簽,正(積極情緒)用1表示,負(消極情緒)用0表示。同時對正負每條評論分別利用jieba分詞工具分詞,進行下簡單的詞性篩選,利用sklearn包下的train_test_ split函數(shù),構建比例為8:2的訓練集和測試集。

(2)利用gensim庫一些關于word2vec函數(shù)來實現(xiàn)計算詞向量,例如用gensim.Word2Vec來訓練詞向量模型,也需要定義一些參數(shù),size就是一個很重要的參數(shù),指的是輸出詞向量的維數(shù)。定義好的模型通過build_vocab以及train與之前的訓練集關聯(lián),來實現(xiàn)對訓練集數(shù)據構建Word2Vec模型。之后我們對每個句子的所有詞向量取均值來作為分類器的輸入值。

(3)實現(xiàn)訓練SVM模型。具體用的是sklearn包下的SVC函數(shù),它是基于libsvm來實現(xiàn)的。其中kernel參數(shù)指定用的是rbf。之后調用其下的fit函數(shù)來具體訓練SVM模型。最終調用score函數(shù)用測試數(shù)據集來對已建好的SVM模型進行檢驗來判定模型的準確率。

2.3? 使用LSTM進行情感分類

主題思路:分為兩部分,一是輸入數(shù)據處理,由于神經網絡無法處理字符串,因此需要將字符串轉換為數(shù)字,并進行一定處理將其輸入后續(xù)模型。二是LSTM模型構建,使用python語言借助tensorflow框架來實現(xiàn)模型搭建,比如tensorflow(tf)的tf.contrib.rnn下的BasicLSTMCell,MultiRNNCell,dynamic_rnn等函數(shù)[13]。

(1)將文本轉換為數(shù)字,具體方法就是給每個單詞貼上一個數(shù)字下標,同時將數(shù)據集中的每一條評論從字符串轉為數(shù)字。同時按照數(shù)據集的評論根據正負生成相應的標簽,正(積極情緒)用1表示,負(消極情緒)用0表示。

(2)建立LSTM模型,首先設置諸如LSTM個數(shù),層數(shù)等基本參數(shù),通過tensorflow的placeholder來定義輸入輸出。通過tf.nn.embedding_lookup添加Embeding層,來實現(xiàn)之前類似word2vec模型的功能。接著就是具體的建立LSTM層,借助的是tf.contrib.rnn下的BasicLSTMCell,MultiRNNCell,dynamic_rnn等函數(shù)。然后定義輸出,驗證準確率,這些就是模型的基本模塊。

(3)具體訓練,主要是將數(shù)據集和模型進行連接,以batch為單位輸入神經網絡,來進行訓練。同時在基本參數(shù)將訓練次數(shù)設置為10,在最終輸出是每5個batch輸出一次損失率,每25個batch輸出一次準確率。

3? 實驗結果展示

3.1? SVM模型結果

從圖中可以直觀的看出,針對那些商品評論訓練出的SVM模型的準確率為大約0.814,效果整體還是不錯。通過多次運行程序,程序輸出的準確率基本都穩(wěn)定在這個值左右。

3.2? LSTM模型結果

從上圖可以看出在LSTM模型訓練第一輪(Epoch:0/10)的時候損失率由大約0.248到后來不斷優(yōu)化,變成約為0.206。到第十輪(Epoch /10)后損失率已經變得很小,基本是在0.01至0.03之間。準確率也是由第一輪最開始的0.54,一直優(yōu)化到接近最后的0.900。準確率也不斷提高。經過多次運次程序,每次程序經過10輪迭代后準確率輸出也基本都在0.900左右。

3.3? SVM與LSTM模型對比

通過截圖就可以直觀地看出LSTM模型的準確率比SVM模型的準確率高一些,同時多次運行結果穩(wěn)定。根據在相關知識介紹可知SVM雖然在二分類問題上有一定的優(yōu)勢,但由于評論語句每個詞之間并不是一點關系也沒有,而本文在構建情感模型的時候,把每個句子的詞向量求平均作為輸入丟失了句子詞語之間的順序信息。LSTM在構建文本分析這類需要長期依賴學習模型時,優(yōu)于其他模型,而且由于LSTM模型遺忘、記憶和更新信息的能力使得它領先RNN一步(LSTM模型是特殊的一種RNN模型)。

4? 總結與展望

隨著互聯(lián)網進入千家萬戶,人們在網上的活躍度也越來越高,對新聞進行討論,對產品進行評價成為了人們互聯(lián)網生活的一部分?;ヂ?lián)網上的語言越來越多樣、隨意,迫切需要新的技術來彌補傳統(tǒng)情感分析方法的局限。本文提出了基于SVM和LSTM兩種模型來對中文商品評論進行情感分析。主要貢獻有三點:

(1)使用機器學習中常用的SVM方法來實現(xiàn)情感分析二分類問題。主要抽取樣本構建一定比例的訓練集和測試集。隨后,對訓練集數(shù)據構建Word2Vec模型,其中分類器的輸入值為每一條評論中所有詞向量的加權平均值。Word2vec工具和svm分類器分別使用python中的gensim庫和sklearn庫。

(2)使用深度學習中常用的LSTM方法來實現(xiàn)情感分析。主要是借助tensorflow來搭建LSTM模型,同時詞語向量化主要是借助tensorflow下的embed ding_lookup。

(3)對比針對同樣的數(shù)據集,同樣的數(shù)據預處理方法,兩個模型準確率的差異,得出LSTM模型在學習長距離依賴,以及捕捉文本的序列特征與上下文依賴關系有很大的優(yōu)勢。

情感分析涉及到的學科多,而且學科交叉的跨度大,本文只是從一小點進行探索。在進一步研究中,一方面,需要在更廣泛的數(shù)據集上驗證本研究的結論,例如引入英文評論,另一方面,也需要對LSTM做更深入的研究,包括現(xiàn)在已經出現(xiàn)了很多LSTM的優(yōu)化模型。

參考文獻

鐘將, 楊思源, 孫啟干. 基于文本分類的商品評價情感分析[J]. 計算機應用, 2014, 34(8): 2317-2321.

張紫瓊, 葉強, 李一軍. 互聯(lián)網商品評論情感分析研究綜述[J]. 管理科學學報, 2010, 13(6): 84-96.

Scholz T, Conrad S. Linguistic Sentiment Features for Newspaper Opinion Mining[M]//Natural Language Processing and Information Systems. Springer Berlin Heidelberg, 2013: 272-277.

趙妍妍, 秦兵, 劉挺. 文本情感分析[J]. 軟件學報, 2010, 21(8): 1834-1848.

樊康新. 基于SVM的網絡文本情感分類系統(tǒng)的研究與設計[J]. 計算機時代, 2015(12): 34-37.

Jun, Liang, et al. "Polarity Shifting and LSTM Based Recursive Networks for Sentiment Analysis." Journal of Chinese Information Processing(2015).

Harrington P. Machine Learning in Action[M]. Manning Publications Co, 2012.

樊康新. 基于SVM 的網絡文本情感分類系統(tǒng)的研究與設計[J]. 計算機時代, 2015(12): 34-37.

Mikolov T, Chen K, Corrado G, et al. Efficient Estimation of Word Representations in Vector Space[J]. Computer Science, 2013.

陳葛恒. 基于極性轉移和雙向LSTM 的文本情感分析[J]. 信息技術, 2018(2):149-152.

Abadi M. TensorFlow: learning functions at scale[J]. Acm Sigplan Notices, 2016, 51(9): 1-1.

Zhang D, Xu H, Su Z, et al. Chinese comments sentiment classification based on word2vec and SVM perf[J]. Expert Systems with Applications, 2015, 42(4): 1857-1863.

Tang D, Qin B, Feng X, et al. Effective LSTMs for Target- Dependent Sentiment Classification[J]. Computer Science, 2015.

猜你喜歡
情感分析
基于雙向循環(huán)神經網絡的評價對象抽取研究
在線評論情感屬性的動態(tài)變化
夏邑县| 油尖旺区| 扶余县| 任丘市| 万州区| 上杭县| 扎赉特旗| 纳雍县| 扎鲁特旗| 眉山市| 伊宁市| 容城县| 镇江市| 东山县| 余干县| 柳江县| 盐源县| 贵定县| 泸定县| 梁平县| 石渠县| 梧州市| 南乐县| 永和县| 昌江| 汕尾市| 土默特右旗| 昌黎县| 桑日县| 德钦县| 安达市| 沂水县| 赤峰市| 福鼎市| 文昌市| 曲松县| 大兴区| 迁安市| 唐山市| 临西县| 深泽县|