當前位置:
首頁 > 最新 > Sn-gram模型及其在情感分析中的應用

Sn-gram模型及其在情感分析中的應用

1.引言

隨著計算機和互聯網的發展,人們越來越多地依賴社交網路(social network)與他人進行交往或者發表自己的意見和看法,這樣用戶就會在諸如微博這樣的社交媒體中留下文本信息,對這些文本的分析就可以獲取用戶的相關信息。但是在網路中這些信息是無法用人工去處理,這就需要設計可行的計算機演算法進行分析,為網路營銷領域產品銷售者和經營者提供社交媒體中用戶所表達的情緒傾向性,進而給與產品相關的決策提供幫助。這種情緒傾向性的自動分析就是情感分析(sentiment analysis),也稱為意見挖掘(opinion mining)[1]。它利用計算機自動理解人對某個實體、人或話題所持的態度和意見等,從而獲取有用的知識和信息[2];能夠對說話者的隱含態度、情緒信息以及意見進行判斷或者評估[3]。在互聯網輿情監控、個性化推薦、企業營銷、用戶導購、異常或突發事件檢測等領域具有廣泛的應用[4],也可以挖掘電影評論中用戶的情感,進而給電影文學作品的欣賞、製作和營銷提供相關啟示或者應用於電影的票房收入預測等。

表示為短文本的電影評論蘊含著豐富的用戶信息,面向該類短文本的情感分析可以代替人工獲取有用的用戶褒貶傾向信息,為影視的製作者提供有用的啟示。這種情感分析涉及4個不同的層面:實體(entity)、 主題(aspect)、意見持有人( opinion holder)、情感( aspect』s sentiment)。例如,在句子「Sally likes the screen resolution in Nexus 6P.」中,「Nexus 6P」 是實體, 「screen resolution」是主題,」sally」是意見持有人,「positive」是具體的情感。具體的情感一般分為三類:正類(positive)、負類(negative)和中立(neutral)。一般使用相關的機器學習策略確定文本所屬類別,正類表示用戶支持某種產品或者事件,負類表示用戶反對某種產品或者事件或者對它們持批判態度;中立表示用戶不置可否或者持中間態度。研究從這類短文本出發出發,分析用戶的情感傾向性。

2.相關研究

在情感分析中主要使用兩種方法:基於詞典和基於機器學習的方法。在基於詞典的方法,首先需要制定情感詞典,然後利用分類器進行分類。在這種方法中一般將詞語分為3類:褒義、貶義和中性,然後給每種類別提高足夠多的相關辭彙。在具體分類時,在目標文本中尋找相關關鍵詞,把這些關鍵詞和詞典中的相關類別的關鍵詞進行互信息的計算[5],然後根據計算結果進行分類。在這種方法中使用較多的是朱嫣嵐等提出的基準詞表構[6],選取詞頻最高的前40對褒貶基準詞建立詞典。對於這樣的詞表,其中的詞語在褒義或者貶義方面應該具有一定的程度,針對這種情況,有學者提出給基準詞語付予一定的α、β參數[7],將其應用於具體的分類中,實驗結果顯示準確率達到98.94%。語義詞典一般不具有可擴張性,因而這種基於語義詞典的策略無法處理詞語的歧義性和多義性;而且待處理文本一般是領域相關的,在某一領域具有某種傾向性的詞語在另一領域會具有不同的語義傾向性[8]。

機器學習的出現從某種程度上可以解決基於語義詞典的方法所碰到的問題。在機器學習中利用訓練得到的模型對目標文本進行情感分析,主要利用樸素貝葉斯(Naive Bayes)、支持向量機(Support Vector Machine)、隨機梯度下降(Gradient Descent)和最大熵(Maximum Entropy)等演算法。在這類方法中一般需要本體知識庫,如可以利用Wordnet中詞語之間的上下位關係對詞語進行過濾,然後確定詞語的總體意見極性(Overall Opinion Polarity),然後貝葉斯分類器對網路語料進行分類,達到了很好的效果。 情感的發生總是領域相關的,因此可以選取某些領域相關的詞語作為特徵,然後使用支持向量機進行分類。在具體的機器學習過程中,在數據訓練的過程中,依據具體要求演算法進行了調節,也就是演算法的適應性問題。針對數據或演算法的複雜程度,有時需要將多種方法組合起來,如可以將樸素貝葉斯、最大熵、支持向量機三種方法組合起來,結合隨機梯度下降進行情感分析,這種多模式融合的方法優於單一方法的策略。在基於文本的情感分析中,有時需要將主題提取出來,如面向主題的情感向量空間模型,在分析中將文本的潛在主題特徵和情感模型結合起來,對文本中句子的情感極性進行分析與研究[9]。主題經常是難以分類的,因此可以使用聚類的方法,然後使用支持向量機進行分類,這種方法需要將詞語表示為向量的方式,具有廣泛的可移植性。這種基於向量的模型遇到的問題是維度災難,需要降維處理,如可以將文本數據轉化為低維向量空間(Low Dimensional Emotional Space Model, ESM)對股票數據進行分類和歸類。人的情感是複雜的,有時可以從圖像-文本組合中推斷人的情感,因為圖像一般是用戶情感的真實表現,所配的文字也是用戶情感的描述,這給圖像-文本的聯合研究提高了一個很好的啟示[10]。情感分析結果的評價一般採用使用F-值(F-score)、準確度(accuracy)、精確度(precision)和召回率(recall)[11],對分類器的性能和效率進行監測和評估。機器學習的方法可以從數據中挖掘出說話者的態度或傾向性,但是這種方法一般需要大量的訓練語料,這些語料的標註和整理需要很大的人工,費時費力,一般不具有實用性。

近年來,深度學習的方法逐漸應用到情感分析中來。深度學習是機器學習的一個分支,它通過對原始語料進行多個層次的抽象,進行特徵學習,進而提高分類和預測任務的準確性。如基於對比散度-受限玻爾茲曼機( CD-RBM)的產品評論情感分析方法[12],在對產品評論時進行數據預處理並利用詞袋模型產生產品評論的向量表示,最後結合支持向量機( SVM)將提取出來的情感特徵進行文本情感分類。這種基於深度學習的方法不需建立情感詞典,而且能挖掘深層次的語義關係,效率高於普通的機器學習方法。但是研究中使用的詞袋模型,將當前詞的向量表示為周圍詞的向量組合,這種方式具有一定欠缺,因為當前詞和周圍詞可能沒有語義關係。卷積神經網路可以用於電影評論的文本分類[13],該網路應用google公司訓練的詞向量識別準確率達到93%。這表明卷積神經網路可以更好地表示句子的語義關係,進而提高分類器的效率。但是,google公司的詞向量,也就是Word2vec向量,使用的訓練語料是google新聞(1000億詞),訓練極不方便,這就有必要改變詞向量的訓練方法。此外,Word2vec使用的方法是skip-gram和cbow,兩種方法都是根據窗口內的詞預測當前詞,因此都是n-gram模型。在這種模型中,根據核心詞周圍的n-1個詞預測該詞的概率。N-gram沒有考慮詞和詞之間的語義關係,具有一定的局限性。

Sn-gram是Sidorov, et al [14]提出的自然語言處理方法,這種方法一般藉助於依存語法,找出詞語之間的依存關係,然後利用基於依存關係的詞語組合為特徵進行自然語言處理的各項任務。本文使用sn-gram方法代替傳統的n-gram方法用於詞向量的訓練,然後在卷積神經網路的框架下分析電影評論中用戶的情感傾向性。

3. sn-gram詞向量生成模型

3.1 sn-gram模型的理論依據

傳統的n元語法(n-gram)基於句子中詞語和臨近詞之間的關係,而句法n元語法(syntactic n-gram,簡寫為sn-gram)詞向量生成模型基於詞語之間的依存關係,也就是說,sn-gram模型考慮一個詞和它的依存詞之間的關係,不一定是臨近詞之間的關係。「依存」是語言學中的概念,它始於依存語法。依存句法是法國語言學家Lucien Tesnière(1893-1954)提出的反應句子中詞與詞之間支配關係的語法框架。根據該框架,句子中的詞語之間具有支配與被支配的關係。依存關係的研究是計算語言學發展的基礎,給機器翻譯這樣的計算語言學應用領域注入了活力,如語言學家和計算機專家David Hays(1928-1995)在20世紀50年代和60年代成功地將依存樹應用於機器翻譯,進行俄英機器翻譯,該項工作的貢獻之一是基於依存的俄語語料庫,語料庫語言學作為一門學科也從此開始。利用美國斯坦福大學的Stanfordparser依存句法分析器得出語句中蘊涵各成分信息的依存句法樹。如句子:

新世紀的希望之門即將開啟。(1)

利用Stanford parser工具進行依存分析可以得到如下的句法樹:

根據Stanfordparser的分析結果,可知 「門」和 「開啟」之間存在依存關係:patient。這種依存關係是詞語之間真實的語義關係,這種這方法優於傳統的詞袋模型。在詞袋模型中,可能不會考慮這種不相鄰的詞對,但是它們之間是有語義關係的。研究使用這種依存關係構建詞對,然後進行詞向量的訓練,將會更有價值。

3.2 Sn-gram模型的構建

在自然語言處理領域,n-gram一般指相鄰的字元串。一個詞的語義很大程度上取決於其相鄰詞。目前的研究多n-gram對電影評論進行情感分析,可以取得一定的準確度;對金融領域的新聞文本進行的情感分析,可以採用1-gram、2-gram以及二者的組合模型,這種模型缺乏詞語之間的語義分析。

基於句法的sn-gram可以應用於各種自然語言處理任務:基於SVM的文檔作者識別實驗[15]、語法糾錯實驗、文本作者的特徵識別(author profiling),如性別、年齡等。Sn-gram也可以用於市場細分或者用於匿名文檔的作者識別[16]。句法sn-gram一般藉助於依存語法,找出詞語之間的依存關係。Sn-gram可以分為不同的類別,包括詞語、詞性、詞幹、語義關係等多個層面,目前可以列舉出10中不同的sn-gram。根據sn-gram模型中元素的性質主要可以分為 :

詞(word, stem):sn-gram中的元素為詞或者詞幹;

詞性(POS):sn-gram中的元素為詞性;

句法關係(SR):sn-gram中的元素為句法關係;

字元(character):sn-gram中的元素為字元或字元串;

混合模型(mixed):sn-gram中的元素為詞、詞性、句法關係的混合體。

目前,一般使用的是基於詞的sn-gram模型。針對如上的句子(1),可以得到的句子對如:(evening-2, Every-1)、(told-4, evening-2)、(told-4, he-3)。本研究利用依存句法分析構建具有依存關係的詞對作為輸入訓練詞向量,然後將詞向量用於電影評論的情感分析中。

Word2vec利用語料中的詞頻構建hoffmann樹。在這樣構建的樹形圖中,葉子節點對應詞表中的詞語,每個詞具有唯一的路徑,而且高頻率的詞具有較短的路徑,這樣可以縮小計算量。這樣,softmax概率計算只需要沿著樹形結構進行就可以了。在hoffmann樹中,採用二元邏輯回歸的方法計算核心詞的概率,即規定沿著左子樹走,那麼就是負類(霍夫曼樹編碼1),沿著右子樹走,那麼就是正類(霍夫曼樹編碼0)。判別正類和負類的方法是使用sigmoid函數,如公式(1):

其中w是訓練樣本(w, context(w))中context(w)的詞向量,而則是我們需要從訓練樣本求出的邏輯回歸的模型參數。容易理解,被劃分為左子樹而成為負類的概率:1-P(+),對於訓練樣本中wi,其從根節點到改詞所屬的葉子節點路徑長度為l,d為路徑的霍夫曼編碼(d∈),我們可以得到其概率,如公式(2):

模型的目的就是最大化上面的概率。本研究只針對最能反應語義的詞語進行建模。詞向量獲取之後,在卷積神經網路的框架下,對電影評論文本進行用戶傾向性分析。相關演算法的偽代碼如表1:

表1基於sn-gram模型的詞向量訓練演算法

3.實驗與結果分析

3.1實驗設計及詞向量的生成

研究的第一步是詞向量的訓練。該過程基於Word2vec中的skip-gram模型[17],在該模型中根據窗口內的詞預測當前詞的概率。該模型的輸入是未經處理的英文文本,選取當前詞和窗口內的詞對作為輸入,如句子:

There is only one other point for which I offer a word of remark.

如果當前詞是「one」,窗口為5,可能的樣本輸入是:(one,there), (one, is), (one,only)...。 本研究先對文本進行句法分析,選取具有依存關係的詞對作為輸入。句法分析器採用的是StanfordCoreNLP,對句子(1)進行句法分析後,變為:S(1)=。這樣輸入的是和當前詞「one」有關係的詞語:(one, point)。

3.2實驗與結果分析

分別利用skip-gram模型和sn-gram模型訓練詞向量,在cnn的框架下對電影文本進行分類,共positive和negative兩個類別,具體分布如表2:

表2實驗數據分布

表3實驗結果對比

從表3可以看出使用sn-gram模型訓練的詞向量用於電影文本的分類時,其準確度和F1值明顯高於使用skip-gram模型的情況,精確度和召回率差別不大。Sn-gram模型輸入的是具有依存關係的詞對,也就是說可以用可以用依存詞來表示當前詞的詞義,用這種方法訓練的詞向量更貼近詞語的真實語義,因此在對電影文本的分類中具有較高的精確度。但是用此方法訓練時,一個當前詞只有一個依存詞;使用skip-gram方法時,如果窗口為5,一個當前詞和周圍的8個片語成詞對。因此,sn-gram方法訓練數據明顯少於skip-gram方法,這是導致精確度和召回率不高的原因。

4.結語

在自然語言處理的諸多任務中,首先需要將詞語表示為計算機可以識別的模式,目前的做法主要是利用臨近詞將當前詞向量化,這種思想被稱為詞袋理論,源於語言學家Zellig Harris,這種理論不考慮詞語之間的真實語義。Sn-gram模型在將詞語表示為向量的過程中充分考慮了詞語之間的依存關係。因此,使用該方法訓練詞向量優於傳統的詞袋模型。但是,sn-gram模型明顯降低了訓練語料的數量,因為依存關係具有方向性,有的詞按照某個方向可能沒有依存詞。在將來的研究中需要增加語料,進而優化訓練結果和詞向量的效率。此外,如果三個詞a、b、c,a和b具有依存關係,b和c具有依存關係,也應該認為a和c具有依存關係,這是依存的深度問題。增加深度也可以增加訓練語料並有可能提高詞向量的效率。總之,自然語言處理不能離開詞語的向量化表示,詞語向量化的質量決定自然語言處理的效率和質量。

參考文獻:

[1]Soleymani M, Garcia D, Jou B, et al. A Survey of Multimodal Sentiment Analysis [J]. Image & Vision Computing, 2017.65:3-14

[2]魏韡,向陽,陳千. 中文文本情感分析綜述[J].計算機應用,2011,31( 12) : 3 321-3 323.

WEI Wei,XIANG Yang,CHEN Qian.Survey on Chinese text sentiment analysis[J]. Journal of Computer Applications,2011,31( 12) : 3 321-3 323.

[3]繆裕青,高韓,劉同來,文益民.基於網格聚類的情感分析研究[J].中國科學技術大學學報,2016,46(10):874-882.

MIAO Yuqin,GAO Hang,LIU Tonglai,WEN Yimin.Sentiment analysis based on grid clustering[J].Journal of University of Science and Technology of China, 2016,46(10):874-882.

[4]周勝臣,瞿文婷,石英子,等. 中文微博情感分析研究綜述[J].計算機應用與軟體,2013,30 ( 3 ) :161-164.

ZHOU Shengchen,QU Wenting,SHI Yingzi,et al.Overview on sentiment analysis of Chinese microblogging[J]. Computer Application and Software,2013,30( 3) :161-164.

[5]TURNEY P D.Thumbs up or thumbs down? Semantic orientation applied to unsupervised classification of reviews[C]/ /Proceedings of 40th Meeting of the Association for Computational Linguistics.Stroudsburg,PA,USA: Association for Computational Linguistics,2002: 417-424.

[6]朱嫣嵐,閔錦,周雅倩,等. 基於HowNet的辭彙語義傾向計算[J].中文信息學報,2006,20( 1) : 14-20.

ZHU Yanlan,MIN Jin,ZHOU Yaqian,et al.Semantic orientation computing based on HowNet[J]. Journal of Chinese Information Processing,2006,20( 1) : 14-20.

[7]楊昱昺,吳賢偉. 改進的基於知網辭彙語義褒貶傾向性計算[J].計算機工程與應用,2009,45( 21) : 91-93.

YANG Yubing,WU Xianwei.Improved lexical semantic tendentiousness recognition computing[J]. Computer Engineering and Applications,2009,45( 21) : 91-93.

[8]張林,錢冠群,樊衛國,等. 輕型評論的情感分析研究[J].軟體學報,2014,25( 12) : 2790-2807.

ZHANG Lin,QIAN Guanqun,FAN Weiguo,et al.Sentiment analysis based on light reviews[J]. Journal of Software,2014,25( 12) : 2790-2807.

[9]王磊,苗奪謙,張志飛,等. 基於主題的文本句情感分析[J].計算機科學,2014,41( 3) : 32-35.

WANG Lei,MIAO Duoqian,ZHANG Zhifei,et al.Emotion analysis on text sentences based on topics[J]. Computer Science,2014,41( 3) : 32-35.

[10]Niu T, Zhu S, Pang L, et al. Sentiment Analysis on Multi-View Social Data[C]// International Conference on Multimedia Modeling. Springer, Cham, 2016:15-27.

[11]Tripathy A, Agrawal A, Rath S K. Classification of sentiment reviews using n-gram machine learning approach[J]. Expert Systems with Applications, 2016, 57:117-126.

[12]高琰,陳白帆,晁緒耀,毛芳.基於對比散度-受限玻爾茲曼機深度學習的產品評論情感分析[J]計算機應用,2016,36( 4) : 1045-1049.

GAO Yan,CHEN Baifan,CHAO Xuyao,MAO Fang. Sentiment analysis of product reviews based on contrastive divergence-restricted Boltzmann machine deep learning[J].Journal of Computer Applications, 2016,36( 4) : 1045-1049.

[13] Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP 2014), 1746–1751.

[14]Sidorov G, Velasquez F, Stamatatos E, et al. Syntactic Dependency-Based N-grams as Classification Features[M]// Advances in Computational Intelligence. Springer Berlin Heidelberg, 2012:85-94.

[15]Sidorov G, Velasquez F, Stamatatos E, et al. Syntactic dependency-based n-grams: more evidence of usefulness in classification[C]// International Conference on Intelligent TextProcessing and Computational Linguistics. Springer Berlin Heidelberg, 2013:13-24.

[16]Posadas-Durán J P, Markov I, Gómez-Adorno H, et al. Syntactic N-grams as Features for the Author Profiling Task[C]// Working Notes of CLEF 2015 - Conference and Labs of the Evaluation forum. 2015.

[17]李天彩,王波,毛二松,席耀一.基於Skip-gram模型的微博情感傾向性分析.計算機應用與軟體[J].2016年, 33(7):114-117,133.

LI Tiancai, WANF Bo, MAO Ersong, XI Yaoyi. Analysing microblogging sentiment orientation based on skip-gram model[J]. Computer Application and Software,2016,33( 7) :114-117,133.

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |