如何使用 WordNet 确定 python 中两个文本之间的语义相似性?
明显的预处理是删除停用词和词干提取,但那又怎样呢?
我能想到的唯一方法是计算两个文本中每个单词之间的 WordNet 路径距离。这是 unigrams 的标准。但这些都是大文本(400 个单词),是自然语言文档,其中的单词没有任何特定的顺序或结构(英语语法强加的除外)。那么,您会在文本之间比较哪些词?你会如何在 python 中执行此操作?
最佳答案
您可以做的一件事是:
- 去掉停用词
- 尽可能多地找到与同一文档中其他词的同义词和反义词最大交集的词。我们称这些为“重要词”
- 检查每篇文档的重要词集是否相同。它们靠得越近,您的文档在语义上就越相似。
还有一个办法。从每个文档中的句子中计算出句子树。然后比较两个森林。很久以前我为一门类(class)做了一些类似的工作。 Here's the code (请记住,这是很久以前的事了,而且是为了上课。所以至少可以说,代码非常骇人听闻)。
希望对你有帮助
关于python - 使用 WordNet 确定两个文本之间的语义相似性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463396/