名称之间的相似性测量?

similarity measurement among names?

我有一个名字列表,我正在尝试从任何给定名称的列表中找到最相似的 5 个名字作为查询。 我想应用 word2vec 或者使用 nltk 中的 Text.similar() 。 但我不确定这些是否也适用于名称。

任何相似性度量都适用于我。 有什么建议么? 这不适合任何项目,只是我想学习新事物。

自从您添加了 NLTK,我认为您在 Python 中工作得很好。
查看 Jellyfish 库,其中包含 10 种不同的字符串比较算法。其中一些只会比较字符,而另一些会尝试猜测字符串的发音,并帮助您识别拼写差异很大但听起来相似的其他短语。
实际的算法都是用 C 写的,所以这个库非常高效!
我认为您会发现 Jaro-Winkler 距离最有用。另请查看 this paper.