1

这个话题有很多线程。但我也在发布另一个。所有的帖子可能是一种进行情绪分析的方法,但我发现没有办法。

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

这仅适用于单词,我想我们也必须进行语言处理。那么有没有比这更了解的人呢?如果是,您能否指导我提供一些算法及其链接以供参考,以便我实施。任何特别可以帮助我分析的东西。

你也可以更喜欢我可以使用的语言吗?有人说 Java 相当耗时,所以他们不推荐使用 Java。

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

4

3 回答 3

5

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

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

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

希望这可以帮助。

于 2012-02-13T15:19:08.730 回答
1

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

于 2012-02-13T20:28:39.163 回答
0

NLTK 为情绪分析提供了非常好的算法。它是开源的,因此您可以查看源代码并检查使用的算法。您甚至可以下载免费的 NLTK 书籍,其中包含一些关于情绪分析的好材料。

谈到你的第二点,我认为 Java 并没有那么慢。我自己多年来一直在用 c++ 编写代码,但最近也开始使用 java,好像你看到很多非常流行的开源软件,如 lucene、solr、hadoop、neo4j 都是用 java 编写的。

于 2012-02-13T17:25:39.453 回答