计算文本之间相似性的算法

时间:2010-08-27 06:49:42

标签: java text artificial-intelligence nlp mining

我试图在社交网络的帖子中得分相似,但没有找到任何好的算法,思想?

我刚试过Levenshtein,JaroWinkler和其他人,但是那些人更习惯于比较没有情感的文本。在帖子中,我们可以得到一个文字“我真的喜欢狗”和另一个说“我真的很讨厌狗”,我们需要将这个案例归类为完全不同。

由于

3 个答案:

答案 0 :(得分:4)

啊......但是“我真的爱狗”和“我真的很讨厌狗”完全相似;),都讨论了一个人对狗的感受。看来你错过了一步:

  1. 运行您的算法并获得一般主题组(即“对狗的感情”)。
  2. 再次运行你的算法,但这次是在每个先前“发现”的组中,让你的算法进一步将它们分类为子组(即“我讨厌狗”/“我爱狗”)。
  3. 如果您的算法根据其经验调整自身(即涉及一些学习),那么请确保为第一个分类运行算法的单独实例,并为每个子分类运行算法的新实例。如果你不这样做,你最终可能会遇到一些情况,你找到了一些团体,只要你在相同的团体上运行你的算法,结果几乎相同和/或根本没有任何改变。

    更新

    Apache Mahout提供了许多有用的算法和examples聚类,分类,遗传编程,决策林,推荐挖掘。以下是mahout的一些文本分类示例:

    我不确定哪一个最适合您的问题,但也许如果你看一下,你会发现哪一个最适合你的特定应用。

答案 1 :(得分:2)

我的研究是关于情绪分析,我同意皮埃尔,这是一个难题,鉴于其主观性质,不存在一般算法。我首先尝试的方法之一是将句子映射到情感空间,并决定其对句子与情感质心的距离的情绪。您可以在以下位置查看:

http://dtminredis.housing.salle.url.edu:8080/EmoLib/

上述句子效果很好;)

答案 2 :(得分:1)

您可能需要查看Opinion mining and sentiment analysis,以了解任务的复杂性。

简短回答:对此没有“好的算法”,只有平庸的算法。这是一个非常棘手的问题。祝你好运。

相关问题