2012-01-16 107 views
5

我需要在大量客戶支持評論中計算給定一組形容詞的詞頻。但我不想包括那些否定的。計算形容詞頻率的技巧

例如,假設我的形容詞列表是:[有用,知識淵博,友好]。我想確保「友好」不在「如果代表不友善」這樣的句子中。

我是否需要對文本進行完整的NLP解析或者是否有更簡單的方法?我不需要超高精度。

我完全不熟悉NLP。我希望有些東西沒有如此陡峭的學習曲線,並且不是處理器密集型的。

謝謝

回答

2

如果你想要的只是形容詞頻率,那麼問題相對簡單,而不是一些殘酷的,不太好的機器學習解決方案。

Wat do?

在您的文本上做POS標記。這樣可以用詞性標記標記文本,因此您的準確率達到95%以上。你可以使用Stanford Parser online來標記你的文字來感受它。解析器實際上也給你語法結構,但你只關心標籤。

您還想確保句子正確分解。爲此,你需要一個判決書。這包含在像斯坦福分析器這樣的軟件中。

然後只需分解句子,標記它們,並用標記ADJ或他們使用的任何標記來統計所有東西。如果標籤沒有意​​義,請查閱Penn Treebank標記集(Treebanks用於訓練NLP工具,而Penn Treebank標記是常用標記集)。

如何?

Java或Python是NLP工具的語言。 Python,使用NLTK。它很容易,有據可查並且很好理解。

對於Java,您有GATE,LingPipe和Stanford Parser等。使用斯坦福分析器是一個非常痛苦的過程,幸運的是,我已經受苦了,所以如果你選擇走這條路線,你不必如此。請參閱我的google page瞭解斯坦福分析器的一些代碼(位於頁面底部)。

Das all?

不,你可能要乾的形容詞too-這就是你得到一個詞的詞根形式:

汽車 - >汽車

我實際上不能想一個情況這對於形容詞是必要的,但可能會發生。當你看到你的輸出時,如果你需要這樣做,這將是顯而易見的。一個POS標記器/解析器/等會爲你提供你的詞幹(也稱爲引理句)。

更多NLP說明 請參閱this question

enter image description here

+0

哇,非常感謝,非常有幫助。 – awinbra 2012-01-17 17:11:35

+1

如果你只想要詞類(比如它是一個形容詞?),那麼僅使用詞性標註器(比如Stanford POS Tagger)而不是完整的解析器會快得多。完整的解析將有助於使否定範圍正確,但是你可能很好地處理了啓發式的問題 - 在遇到標點符號之前在前幾個單詞中查找否定詞。 – 2012-01-22 17:54:18

+0

對不起,我應該瘋狂的區別(tagger vs parser vs每個軟件包包含的內容) – nflacco 2012-01-23 21:10:43

2

這取決於您的數據來源。如果句子來自某種生成器,則可能會自動將它們分開。否則,你需要NLP,是的。

正確地解析自然語言是一個懸而未決的問題。它對英語起作用「很大」,特別是因爲英語句子傾向於遵守SVO順序。德語例如在這裏是相當討厭的,因爲不同的詞語順序表達了不同的重點(因此可以表達不同的含義,特別是當使用反語時)。此外,德國人傾向於更多地使用從屬條款。

NLP顯然是要走的路。至少需要一些基本的解析器。這也取決於你的任務:你需要確保每一個都是正確的,或者是一個足夠好的概率方法嗎?是否可以拋棄「困難」的病例或餵食人體進行檢查?等等。

+0

的句子自由格式文本的評論,所以沒有正規的格式給他們。我不需要確定每個人都是正確的,但概率方法可能足夠好。 – awinbra 2012-01-16 14:46:40