情感分類方法簡介

情感分析(Sentiment analysis),又稱傾向性分析,意見抽?。∣pinion extraction),意見挖掘(Opinion mining),情感挖掘(Sentiment mining),主觀分析(Subjectivity analysis),它是對帶有情感色彩的主觀性文本進行分析、處理、歸納和推理的過程,如從評論文本中分析用戶對“數碼相機”的“變焦、價格、大小、重量、閃光、易用性”等屬性的情感傾向。
是NLP領域一個比較重要的課題。

情感分類有什么用

物品好壞分析: 從評論中分析物品的好壞。例如電影好壞,是否值得看。
物品屬性分析:例如某些價位區間幾款車的舒適度,油耗, 操作性能等。
產品反饋分析: 產品哪些功能點最受用戶喜歡,哪些功能最受用戶吐槽。
網民輿情分析: 例如分析美團外面清真事情等。
金融走勢分析:例如,2012年5月,世界首家基于社交媒體的對沖基金 Derwent Capital Markets 上線。它會即時關注Twitter 中的公眾情緒指導投資。
總的來說:情感分類分析再小到平臺物品,產品本身,大到金融事情都有其用武之地。隨著這波數據浪潮和人工智能浪潮的興起。這一領域將會起到越來越重要的作用。

情感分類的任務有哪些

情感分析主要目的就是識別用戶對事物或人的看法、態度(attitudes:enduring, affectively colored beliefs, dispositions towards objects or persons),參與主體主要包括

  • Holder (source) of attitude:觀點持有者
  • Target (aspect) of attitude:評價對象
  • Type of attitude:評價觀點
  • From a set of types:Like, love, hate, value, desire, etc.
  • Or (more commonly) simple weighted polarity: positive, negative, neutral
  • Text containing the attitude: 評價的文本, 一般是句子或者整篇文檔。

通常,我們面臨的情感分析任務包括如下幾類:

  • Simplest task: 文本態度是積極的還是消極的或者是中立的。
  • More complex: 將文本態度分為1到5個檔次。
  • Advanced: 探測評價對象, 觀點源以及文本態度。
    下面內容將主要覆蓋前面兩類任務。至于Advanced 內容還需要再做調研。

情感分類的主要方法

基于情感詞典的方法

基于詞典的方法主要通過制定一系列的情感詞典和規則,對文本進行拆句、分析及匹配詞典(一般有詞性分析,句法依存分析),計算情感值,最后通過情感值來作為文本的情感傾向判斷的依據。
做法:基于詞典的情感分析大致步驟如下:
對大于句子粒度的文本進行拆解句子操作,以句子為最小分析單元;
分析句子中出現的詞語并按照情感詞典匹配;
處理否定邏輯及轉折邏輯;
計算整句情感詞得分(根據詞語不同,極性不同,程度不同等因素進行加權求和);
根據情感得分輸出句子情感傾向性。
如果是對篇章或者段落級別的情感分析任務,按照具體的情況,可以以對每個句子進行單一情感分析并融合的形式進行,也可以先抽取情感主題句后進行句子情感分析,得到最終情感分析結果。
其中最重要的是情感詞典的獲取。

  1. 是獲取成熟的開放詞典:例如:GI(The General Inquirer), LIWC (Linguistic Inquiry and Word Count), MPQA Subjectivity Cues Lexicon, Bing Liu Opinion Lexicon, SentiWordNet。
  2. 由于特點領域的需要有時需要根據給定的語料庫做情感詞典的學習。
    常見的情感詞典構建方法是基于半指導的bootstrapping學習方法,主要包括兩步
    2.1 Use a small amount of information(Seed)
    2.1.1 A few labeled examples
    2.1.2 A few hand-built patterns
    2.2 尋找其它有相似極性的詞:
    2.2.1 使用連接詞轉折詞等
    2.2.2 在同一文檔中同一窗口區間的詞
    2.2.3 在wordnet 中找同義詞和反義詞
    2.2.4 使用種子詞典和半監督學習的方法尋找相似極性的詞,具體可以參考文獻3 和 4

基于ML方法

基于詞典的方法實現方便,高效。但主要缺點是靠譜的詞典不好找, 找到的基本都是特定領域的資料。另外由于自然語言千變萬化的特點, 規則難于滿足大部分場景。效果相較于基于學習的方法效果有一定差距。
基于ML方法就是將情感分類當做普通的分類問題:例如(negative, positive, neuraltive)
這里面最重要的問題是特征的提取問題: 常用的文本特征提取,一般是基于tf-idf, 向量表示, 之后分類模型常用的有 maxent, svm, naive bayes等。
由于TF-IDF,是高緯度高稀疏的,缺乏語義,特征表達能力很弱。從深度學習流行以來在文本表示領域出現了一些效果不錯的方法。
其中比較重要的是采用詞向量(例如word2vector, glove)進行表示。例如fasttext 就是采用此類方法進行分類, 在時間復雜度遠低于深度學習的方法的同時取得了相當的效果(至少在論文發表時是state of the art)。
在運算力和數據足夠時:可以考慮采用CNN 和 RNN去自動學習語言中詞的表示。
數據不足的問題: 機器學習問題最重要的問題基本是數據問題了。往往在現實中大量標注的數據并不可獲得, 為了解決這個問題,一些有遠見卓識的大牛正在借助遷移學習, 生成對抗網絡在解決這些問題,并且取得了一定的效果。具體可以參考文獻5和6.
具體:利用容易獲取的大量未標注數據,可以參考文獻6,學習一個傳統的語言模型,或者學習一個端到端的 編碼器,從而得到一個encoding model來表征輸入的文本。再利用少量的標注數據(或購買,或少量人工標注),在第一步獲得的encoding model的基礎上進行supervised learning,在這個過程中對encoding model進行fine tune,獲得最終的分類模型。

總結

本文主要講了情感分類的概念,作用,主要目的,以及當前主要方法。

參考文獻

  1. https://www.cs.uic.edu/~liub/FBS/SentimentAnalysis-and-OpinionMining.pdf
  2. http://52opencourse.com/235/%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86%E7%AC%AC%E4%B8%83%E8%AF%BE-%E6%83%85%E6%84%9F%E5%88%86%E6%9E%90%EF%BC%88sentiment-analysis%EF%BC%89
  3. http://acl.ldc.upenn.edu/P/P97/P97-1023.pdf
  4. https://www.isi.edu/natural-language/people/hovy/papers/04Coling-opinion-valences.pdf
  5. https://arxiv.org/pdf/1505.07818.pdf
  6. https://arxiv.org/abs/1511.01432
  7. https://www.zhihu.com/question/31471793
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容