5

如何使用 WordNet 确定 python 中两个文本之间的语义相似性?

明显的预处理将是删除停用词和词干,但是然后呢?

我能想到的唯一方法是计算两个文本中每个单词之间的 WordNet 路径距离。这是 unigram 的标准。但这些是大型(400 字)文本,它们是自然语言文档,其中的单词没有任何特定的顺序或结构(除了英语语法规定的那些)。那么,您会比较文本之间的哪些词?你会如何在 python 中做到这一点?

4

1 回答 1

11

您可以做的一件事是:

  1. 杀死停用词
  2. 找到尽可能多的单词,这些单词与同一个文档中的其他单词的同义词和反义词有最大的交集。让我们称这些为“重要的话”
  3. 检查每个文档的重要词集是否相同。它们越靠近,您的文档在语义上就越相似。

还有另一种方法。从每个文档中的句子中计算句子树。然后比较两个森林。我很久以前为一门课程做过一些类似的工作。这是代码(请记住,这是很久以前的事了,而且是上课用的。所以至少可以说,代码非常hacky)。

希望这可以帮助

于 2012-07-13T03:26:25.610 回答