2012-02-13 74 views
1

此主題有許多主題。但我也發佈另一個。所有的帖子都可能是進行情感分析的一種方式,但我找不到方法。給定文字的情感分析

我想實現情感分析的方法。所以我會請求給我一個方法。在我的研究中,我發現無論如何都使用this。我猜貝葉斯算法是用來計算正面的單詞和負面的單詞,並用句袋來計算句子正面或負面的概率。

這只是爲了這個詞,我想我們也必須做語言處理。那麼有沒有人有更多的知識?如果是的話,你能引導我一些算法與他們的鏈接供參考,以便我可以實現。任何特別的東西都可以幫助我分析。

你還可以選擇我可以使用的語言嗎?有些人說Java相當耗時,所以他們不推薦使用Java。

任何類型的幫助,非常感謝。

+5

現有的關於情感分析的主題有什麼問題?有很多兩個 - 關於SO和Web上的論文的問題。只要嘗試任何給定的方法,並在這裏問**具體問題**,如果有的話。 – ffriend 2012-02-13 14:27:18

回答

5

首先,對文檔,句子,短語和功能級別等各個層次進行情感分析。你在做哪一個?他們每個人都有很多不同的方法。你可以找到一個很好的介紹這個主題here。對於機器學習方法而言,最重要的元素是特徵工程,並不侷限於一攬子文字。您可以在我鏈接的教程的不同應用程序中找到許多其他有用的功能。您需要執行的語言處理取決於您要使用的功能。例如,如果您的功能需要POS信息,則可能需要POS標記。

對於分類器,您可以嘗試支持向量機,最大熵和樸素貝葉斯(可能作爲基線),這些在文獻中經常使用,您可以在鏈接中找到相當全面的列表。 Mallet工具包包含ME和NB,如果您使用SVMlight,則可以使用函數輕鬆將特徵格式轉換爲Mallet格式。當然,這些分類器還有很多其他的實現。

基於規則的方法,逐點互信息被頻繁使用,以及某些類型的基於記分方法等

希望這有助於。

+0

感謝您的介紹! :) – 2012-11-30 08:18:09

0

NLTK爲情感分析提供了非常好的算法。它是開源的,所以你可以看看源代碼並查看使用的算法。你甚至可以下載免費的NLTK書籍,並有一些關於情感分析的好材料。

來到你的第二點我不認爲Java是那麼慢。我自己編寫C++多年,但最近也開始使用java,就好像你看到很多非常流行的開源軟件如lucene,solr,hadoop,neo4j都是用java編寫的。

1

對於文本分析沒有比SNOBOL更強的語言。例如,在SNOBOL-4中,Fortran解釋器只需要60行。