如何在Python中计算两个单词含义中的距离

bha*_*557 5 python nlp nltk

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

我不是在寻找Levenshtein距离,因为Levenshtein距离与组成一个单词的各个字符有关。我在寻找含义。

希望提供的任何帮助。

Dla*_*ini 3

我的建议如下:

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

如果您想做更彻底的分析:

  • 还要获取这两个单词的反义词。
  • 获取两个单词的反义词集交集的大小。

如果你还想走得更远!...

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