情緒分析準確性的四個陷阱

已發表: 2022-03-11

人們正在使用論壇、社交網絡、博客和其他平台來分享他們的意見,從而產生大量數據。 同時,用戶或消費者想知道要購買什麼產品或看什麼電影,因此他們也會閱讀評論並嘗試做出相應的決定。

手動收集有關用戶生成數據的信息非常耗時。 這就是為什麼越來越多的公司和組織對自動情緒分析方法感興趣以幫助他們理解它的原因。

什麼是情緒分析?

情感分析是研究人們的觀點和情緒的過程,一般使用語言線索。 乍一看,這只是一個文本分類問題,但如果深入研究,我們會發現有很多具有挑戰性的問題,嚴重影響了情感分析的準確性。 下面,我將探討您在處理一般情緒分析問題時面臨的一些陷阱:

  1. 諷刺和諷刺
  2. 否定類型
  3. 詞歧義
  4. 多極性

我們將瀏覽每個主題並嘗試了解所描述的問題如何影響情感分類器的質量以及可以使用哪些技術來解決這些問題。

情感分析挑戰一:諷刺檢測

在諷刺文本中,人們用積極的詞來表達他們的消極情緒。 這一事實使諷刺很容易欺騙情緒分析模型,除非它們是專門設計來考慮其可能性的。

諷刺最常出現在用戶生成的內容中,例如 Facebook 評論、推文等。如果不充分了解情況的上下文、特定主題和環境,情感分析中的諷刺檢測很難完成。

不僅機器很難理解,人類也很難理解。 諷刺句子中使用的單詞的不斷變化使得很難成功地訓練情感分析模型。 必須在兩個人之間分享共同的話題、興趣和歷史信息,以使諷刺可用。

首先,讓我們從語言學的角度來看諷刺,諷刺被廣泛研究。 在該領域被引用最多的研究之一中,作者 Elisabeth Camp 提出了以下四種類型的諷刺:

  • 命題:諷刺似乎是一個非情感命題,但包含隱含的情感。
  • 嵌入:諷刺以單詞和短語本身的形式嵌入了情感不一致。
  • 類似前綴:類似短語提供了對正在提出的論點的暗示否認。
  • 言外之意:非言語行為(肢體語言、手勢)助長了諷刺。

Elisabeth Camp 的四種類型的諷刺:命題(“這看起來像一個完美的計劃!”),嵌入(“我喜歡被忽視。”),帶有前綴的(“就像那些人相信他們所說的那樣。”)和言外之意。 “(聳聳肩)確實很有幫助!”。

Camp 的研究發表於 2012 年。2017 年,斯坦福大學的研究人員宣布了他們自己非常有趣的研究“有 2 小時寫一篇論文很有趣!”:Detecting Sarcasm in Numerical Portions of Text,他們談到了另一種類型的諷刺,稱為數值諷刺。 數字諷刺在社交網絡中非常常見。 它背後的想法與數值的變化有關,這些變化會影響文本的極性。 例如:

  1. “這款手機擁有 38 小時的超棒電池備份。” (非諷刺)
  2. “這款手機擁有 2 小時的超棒電池備份。” (諷刺)
  1. “外面+25,我好熱。” (非諷刺)
  2. “外面是-25,我好熱。” (諷刺)
  1. “我們開得太慢了——只有 20 公里/小時。” (非諷刺)
  2. “我們開得很慢——只有 160 公里/小時。” (諷刺)

正如我們所看到的,這些句子的不同之處僅在於使用的數字——因此是數字諷刺。

自動諷刺檢測有不同的方法,包括:

  1. 基於規則
  2. 統計
  3. 機器學習算法
  4. 深度學習

基於深度學習的方法越來越受歡迎。 Kumar、Somani 和 Bhattacharyya 在 2017 年得出結論,一種特定的深度學習模型(CNN-LSTM-FF 架構)優於以前的方法,達到了數值諷刺檢測的最高準確度。

但是深度神經網絡 (DNN) 不僅是數值諷刺的最佳選擇,而且總體上也優於其他諷刺檢測器方法。 Ghosh 和 Veale 在他們 2016 年的論文中使用了卷積神經網絡、長短期記憶 (LSTM) 網絡和 DNN 的組合。 他們將他們的方法與遞歸支持向量機 (SVM) 進行了比較,並得出結論認為他們的深度學習架構是對此類方法的改進。

情感分析挑戰之二:否定檢測

在語言學中,否定是一種顛倒單詞、短語甚至句子的極性的方法。 研究人員使用不同的語言規則來確定是否發生了否定,但確定受否定詞影響的詞的範圍也很重要。

受影響詞的範圍沒有固定的大小。 例如,在“The show was not interesting”這句話中,範圍只是否定詞之後的下一個詞。 但是對於像“我不稱這部電影是喜劇電影”這樣的句子,否定詞“不”的效果一直到句子的結尾。 如果一個正面或負面的詞落入否定的範圍內,則單詞的原始含義會發生變化——在這種情況下,將返回相反的極性。

在大多數最先進的情感分析技術中使用的句子中處理否定的最簡單方法是將所有單詞從否定提示到下一個標點符號標記為否定。 由於語言在不同語境中的特定構造,否定模型的有效性可以改變。

有幾種形式可以在句子中表達負面意見:

  • 否定可以是形態學的,它可以由前綴(“dis-”,“non-”)或後綴(“-less”)表示。
  • 否定可以是隱含的,比如“這將是他的第一部電影,也是最後一部電影”——它帶有負面情緒,但沒有使用否定詞。
  • 否定可以是明確的,例如“這不好”。

擁有具有不同類型描述否定的樣本將提高數據集的質量,用於訓練和測試否定中的情感分類模型。 根據對循環神經網絡 (RNN) 的最新研究,LSTM 模型的各種架構在檢測句子中的否定類型方面優於所有其他方法。

在情感分析中否定的影響一文中,情感分析模型評估了從亞馬遜和 Trustedreviews.com 收集的 500 條評論。 作者展示了帶有和不帶有否定檢測的模型的比較。 他們的評估表明,考慮否定可以顯著提高模型的準確性。

情感分析挑戰之三:詞歧義

詞歧義是您在處理情感分析問題時將面臨的另一個陷阱。 單詞歧義的問題是無法預先定義極性,因為某些單詞的極性強烈依賴於句子上下文。

基於詞典的情感分析方法在現有方法中很流行。 意見詞典包含帶有極性值的意見詞。 互聯網上有一些輿論詞典:SentiWordNet、General Inquirer 和 SenticNet 等。 因為詞的極性在不同的領域是不同的,所以不可能開發出一個對每個詞都有極性的通用意見詞典。 例如:

  1. “這個故事是不可預測的。”
  2. “方向盤是不可預測的。”

這兩個示例顯示了上下文如何影響意見詞情緒。 在第一個例子中,“不可預測”這個詞的極性被預測為正。 在第二種情況下,同一個詞的極性是負面的。

情緒分析挑戰之四:多極化

有時,給定的句子或文檔——或者我們想要分析的任何文本單元——會表現出多極性。 在這些情況下,僅擁有分析的總結果可能會產生誤導,就像平均值有時會隱藏有關其中所有數字的有價值信息的方式。

當作者在一篇文章或評論中談論不同的人、產品或公司(或它們的各個方面)時,請想像一下。 在一段文字中,有些主題會受到批評,有些主題會受到讚揚,這是很常見的。

在這裡,總情緒極性將丟失關鍵信息。 這就是為什麼有必要提取句子中分配有情感標籤的所有實體或方面,並且只在需要時計算總極性。

讓我們考慮一個包含多個極性的示例:“我的新筆記本電腦的音頻質量非常酷,但顯示顏色不太好。”

一些情緒分析模型會為這句話分配一個負面或中性的極性。 為了處理這種情況,情感分析模型必須為句子中的每個方面分配一個極性; 在這裡,“音頻”是分配為正極性的方面,而“顯示”是具有負極性的單獨方面。

為了更深入地描述這種方法,我推薦斯坦福大學的 Bo Wanf 和 Min Liu 撰寫的有趣且有用的論文 Deep Learning for Aspect-based Sentiment Analysis。

提高情緒分析的準確性:這些不是邊緣案例

在這篇文章中,我們討論了情感分析分類的流行問題:諷刺、否定、詞歧義和多極化。 了解這些將幫助您避免可能出現的問題:考慮到我們討論過的情況將顯著提高分類模型中的情感分析準確性。 我希望您發現這篇文章是對該主題的有用介紹。

相關:充分利用預訓練模型