• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      彭丹蕾 谷利澤 孫斌

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

      關(guān)鍵詞: 商品評(píng)論;情感分析;SVM;LSTM

      中圖分類號(hào): TP181? ? 文獻(xiàn)標(biāo)識(shí)碼: 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? 引言

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

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

      1? 相關(guān)知識(shí)介紹

      1.4? TensorFlow

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

      2? 具體實(shí)現(xiàn)

      2.1? 實(shí)驗(yàn)數(shù)據(jù)集

      本文所用的主要實(shí)驗(yàn)數(shù)據(jù)集為京東網(wǎng)站爬取的商品評(píng)論文本以及一些公開數(shù)據(jù)集。其中爬蟲主要是借助Scrapy框架。Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架??梢詰?yīng)用在包括數(shù)據(jù)挖掘,信息處理,監(jiān)測和自動(dòng)化測試等領(lǐng)域。本文使用Scrapy獲取商品評(píng)論文本過程如下:

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

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

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

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

      數(shù)據(jù)集的選取

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

      2.2? 使用SVM進(jìn)行情感分類

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

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

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

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

      2.3? 使用LSTM進(jìn)行情感分類

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

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

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

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

      3? 實(shí)驗(yàn)結(jié)果展示

      3.1? SVM模型結(jié)果

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

      3.2? LSTM模型結(jié)果

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

      3.3? SVM與LSTM模型對比

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

      4? 總結(jié)與展望

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

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

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

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

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

      參考文獻(xiàn)

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

      張紫瓊, 葉強(qiáng), 李一軍. 互聯(lián)網(wǎng)商品評(píng)論情感分析研究綜述[J]. 管理科學(xué)學(xué)報(bào), 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]. 軟件學(xué)報(bào), 2010, 21(8): 1834-1848.

      樊康新. 基于SVM的網(wǎng)絡(luò)文本情感分類系統(tǒng)的研究與設(shè)計(jì)[J]. 計(jì)算機(jī)時(shí)代, 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 的網(wǎng)絡(luò)文本情感分類系統(tǒng)的研究與設(shè)計(jì)[J]. 計(jì)算機(jī)時(shí)代, 2015(12): 34-37.

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

      陳葛恒. 基于極性轉(zhuǎn)移和雙向LSTM 的文本情感分析[J]. 信息技術(shù), 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.

      猜你喜歡
      情感分析
      基于語義的互聯(lián)網(wǎng)醫(yī)院評(píng)論文本情感分析及應(yīng)用
      基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的評(píng)價(jià)對象抽取研究
      基于SVM的產(chǎn)品評(píng)論情感分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      基于詞典與機(jī)器學(xué)習(xí)的中文微博情感分析
      在線評(píng)論情感屬性的動(dòng)態(tài)變化
      預(yù)測(2016年5期)2016-12-26 17:16:57
      文本觀點(diǎn)挖掘和情感分析的研究
      封开县| 门源| 云南省| 乌鲁木齐市| 渑池县| 凤山市| 巴彦县| 卢氏县| 常山县| 耒阳市| 酒泉市| 阿城市| 金门县| 东平县| 惠来县| 普格县| 汉源县| 得荣县| 谢通门县| 射洪县| 三门峡市| 郓城县| 安阳县| 滨州市| 海伦市| 东丽区| 顺昌县| 安国市| 唐山市| 双流县| 麻城市| 福清市| 青河县| 阳春市| 昆山市| 工布江达县| 鄂伦春自治旗| 密云县| 龙海市| 沁阳市| 隆子县|