python - 如何在Python中计算两个词的意思距离

标签 python nlp nltk

我想知道是否可以计算 Python 中两个相关词(如“欺诈”和“偷窃”)之间的距离/相似度。这两个词本身不是同义词,但它们显然是相关的。 NLP 中是否有任何概念/算法可以用数字表示这种关系?也许通过 NLTK?

我不是在寻找 Levenshtein 距离,因为它与构成单词的各个字符有关。我正在寻找含义之间的关系。

非常感谢提供的任何帮助。

最佳答案

我的建议如下:

  • 将每个词放入同一个同义词库,以获得同义词列表。
  • 获取这两个词的相似同义词集的大小。
  • 这是衡量单词之间相似度的指标。

如果您想进行更彻底的分析:

  • 同时获取这两个词的反义词。
  • 获取两个词的反义词集交集的大小。

如果你想更进一步!...

  • 将每个词放入同一个同义词库,以获得同义词列表。
  • 使用查询结果中排名前 n(=5,或其他)词来发起新查询。
  • 重复此操作直到您觉得足够的深度。
  • 从重复的同义词查询中收集同义词。
  • 从两个同义词集合中获取两个词的相似同义词集合的大小。
  • 这是衡量单词之间相似度的指标。

关于python - 如何在Python中计算两个词的意思距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43382857/

相关文章:

python - PyMongo:批量插入新集合时出现 NatType ValueError

python - 由于 RunTimeError : maximum recursion depth exceeded in cmp,无法在 OpenERP 中安装额外的模块

python - 如何在不修改 Python 中的原始列表的情况下反转列表

nlp - 从 Freebase 和 DBPedia 等开放知识库中提取实体-动词关系

Python NLTK pos_tag 未返回正确的词性标记

python - 有 numpy "max minus min"函数吗?

python - 在不使用嵌套循环的情况下查找所有 word2vec 编码对的余弦距离

python - 修改NLTK word_tokenize以防止括号标记化

python - 应用机器学习从现有数据库中推荐项目

php - 使用 PHP 进行文本挖掘