2015-07-06 98 views
3

我正在使用Apache OpenNLP進行Yammer對話情緒分析。這裏的想法是將每次談話分類爲積極,消極或中性的情緒。對話可以是單個句子或一組句子。使用OpenNLP進行情緒分析

我有2個模型 - 短句分類模型和長句分類模型。短句子分類模型與較短的句子(少於10個字)爲2的截止和長句分類模型進行訓練較長的句子用5

這裏的截止訓練有素的是我的做法

  1. 閱讀每個對話。
  2. 清理它以刪除HTTP URL,特殊字符,在點等後添加空格。
  3. 使用SentenceDetector將對話拆分爲句子。
  4. 對於每個句子調用分類。如果句子短,則稱短句分類模型,否則稱爲長句分類模型。句子分類的輸出爲正,負或中性
  5. 總結句子分類的結果。即如果發現更積極的句子,則將對話分類爲積極的,否則相應爲否定的。

我有幾個與此相關的方法

  1. 做題,我需要兩個模型短短的一句話模型和長句模型。我決定這樣做的原因是因爲短句和長句的截尾不同。
  2. 可以遵循基於句子的分類模型,然後總結每個句子的結果以獲得對話結果。
  3. 是否有這個問題

回答

0

我覺得你的做法是一個標準的/更好的方法有效...試圖建立對大文本情緒模型是有問題的,所以句子爲基礎的方法好像對我來說是個好主意。

對於長短句模型,這似乎是一個好主意,假設短句中的內容與長句中的內容之間存在足夠大的差異(「通常」)。你也可以考慮一個不同的特徵生成器用於更長的句子模型......有時候,ngrams(單詞bigrams)可以很好地幫助將內容上下文化,而不是像普通的單詞包一樣。

至於輸出,由於每個線程中的句子數量未知(可能......),所以卷積和可能有點太難以歸一化,所以我會考慮做基本統計(min,max ,sum,avg,stdev,majority),因此您可以對結果提出更好的問題(例如,您可以將結果寫入用於模糊發現的索引,以啓用多個用例)

HTH