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

标签 python nlp nltk wordnet semantic-analysis

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

明显的预处理是删除停用词和词干提取,但那又怎样呢?

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

最佳答案

您可以做的一件事是:

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

还有一个办法。从每个文档中的句子中计算出句子树。然后比较两个森林。很久以前我为一门类(class)做了一些类似的工作。 Here's the code (请记住,这是很久以前的事了,而且是为了上课。所以至少可以说,代码非常骇人听闻)。

希望对你有帮助

关于python - 使用 WordNet 确定两个文本之间的语义相似性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463396/

相关文章:

python - 如何使用机器学习从扫描文档中提取指定片段

python - NLTK包,未定义标签

python - 如何使用 NLTK 和 Python 从文本中删除自定义单词模式

python - 在wordnet中查找名词的同义词

Python ---- 类型错误 : string indices must be integers

python - chardet 在 python 3 中运行不正确

python - 打印由位列表表示的列表中的项目

Python 和 SQL。在 for 循环中在列中插入变量

python - 由于内存问题,如何保存仅与预训练bert模型的分类器层相关的参数?

nlp - 计算梯度PyTorch 中嵌入向量的值