我对情绪分析很陌生。我如何判断给定的单词或句子是肯定的还是否定的。我必须用java实现它。我试图阅读类似 lingpipe、rapidminer 的教程,但我不明白。在他们的示例中,他们使用了大量数据。就我而言,我没有太多数据。我只有一个词或一个句子,让我们说。我也尝试从 stackoverflow 阅读问题。但他们对我帮助不大。提前致谢。
问问题
3094 次
4 回答
3
除非计算机从人类标记为正面或负面的示例中学习,否则计算机不会了解人类的情绪。
机器学习的目标实际上是根据先前示例的经验数据对新示例做出最明智的决定。从统计上看,数据越多越好。
要“判断”一个句子的情绪,您需要对一些标记为情绪的句子训练一个模型或分类器。分类器将未标记的句子作为输入并输出标签:正面或负面。
首先获取训练示例。我相信你可以在公共领域找到一些标记的情绪数据。UCI KDD Archive是最好的数据集存储库之一。然后,您可以根据数据训练分类器来判断新示例。有许多可用的学习算法资源。我最喜欢的是jBoost,它可以将分类器输出为 Java 代码,以及Rapidminer,它更适合可视化分析。
于 2012-01-13T02:11:39.150 回答
1
于 2012-01-16T09:47:59.153 回答
0
您可以尝试使用 Wordnet 根据您的单词与“好”或“坏”单词之间的“距离”计算来搜索单词的语义方向。较短的距离将为您提供单词的 SO。结果似乎有点弱,但这种方法不需要很多数据(或时间)。
于 2012-01-13T11:42:37.033 回答
0
这不是真正的编程相关(神经语言编程不是编程),而且通常没有可靠的解决方案。
我最好的想法是让它像谷歌“Pigeon”Rank一样工作,即收集单词和句子,然后收集人类的反馈,无论它们是正面的还是负面的,然后对这些数据使用贝叶斯匹配。
于 2012-01-13T01:58:25.107 回答