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

明显的预处理是删除停用词并阻止词干,但是那又是什么呢?

我能想到的唯一方法是计算两个文本中每个单词之间的WordNet路径距离。这是字母组合的标准。但是这些都是大的(400个单词)文本,它们是自然语言文档,其单词没有任何特定的顺序或结构(英语语法强加的单词除外)。那么,您将在文本之间比较哪些词?您将如何在python中执行此操作?

最佳答案

您可以做的一件事是:

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

  • 还有另一种方式。从每个文档的句子中计算句子树。然后比较两个森林。很久以前,我在一门类(class)上做了一些类似的工作。 Here's the code(请记住,这是很久以前的,而且是针对类的。因此,至少可以这样说,该代码非常hacky)。

    希望这可以帮助

    10-07 20:14