给定文本的情感分析

时间:2012-02-13 14:11:35

标签: algorithm sentiment-analysis

这个主题有很多主题。但我也发布了另一个。所有帖子都可能是进行情绪分析的一种方式,但我找不到任何方法。

我想实施情绪分析的方法。所以我会要求给我一个方法。在我的研究过程中,我发现无论如何都使用了this。我猜贝叶斯算法用于计算正词和负词,并使用词袋计算句子正或负的概率。

这只是用于单词,我想我们也必须进行语言处理。那么有没有更多知识的人呢?如果是的话,你可以引导我使用一些算法及其链接作为参考,以便我可以实现。特别是在我的分析中可以帮助我的任何东西。

您也可以选择我可以使用的语言吗?有人说Java比较耗时,所以他们不建议使用Java。

非常感谢任何类型的帮助。

3 个答案:

答案 0 :(得分:5)

首先,情绪分析是在各个层面上完成的,例如文档,句子,短语和功能级别。你在做哪一个?每种方法都有许多不同的方法。您可以找到关于此主题here的非常好的介绍。对于机器学习方法,最重要的元素是特征工程,它不仅限于词语。您可以在我链接的教程中找到不同应用程序中的许多其他有用功能。您需要做什么语言处理取决于您要使用的功能。如果您的功能需要POS信息,则可能需要POS标记。

对于分类器,您可以尝试支持向量机,最大熵和朴素贝叶斯(可能作为基线),这些在文献中经常使用,您也可以在链接中找到相当全面的列表。 Mallet工具包包含ME和NB,如果使用SVMlight,您可以使用函数轻松地将要素格式转换为Mallet格式。当然,这些分类器还有许多其他实现。

对于基于规则的方法,经常使用Pointwise Mutual Information,以及某些基于评分的方法等。

希望这有帮助。

答案 1 :(得分:1)

对于文本分析,没有比SNOBOL更强的语言。例如,在SNOBOL-4中,Fortran解释器只需要60行。

答案 2 :(得分:0)

NLTK为情绪分析提供了非常好的算法。它是开源的,因此您可以查看源代码并查看使用的算法。你甚至可以下载免费的NLTK书籍,并且在情绪分析方面有一些很好的材料。

来到你的第二点我不认为Java那么慢。我自己用c ++编写了多年,但最近也开始使用java,好像你看到许多非常流行的开源软件,如lucene,solr,hadoop,neo4j都是用java编写的。