我有一个名单列表,我和iam试图从任何给定名称的列表中查找最相似的5个名称作为查询。 我想过应用word2vec或者使用nltk中的Text.similar()。 但我不确定这些是否也适用于名字。
任何相似性措施对我都有用。 有什么建议? 这不适用于任何项目,只是我想学习新事物。
答案 0 :(得分:4)
既然你添加了NLTK,我认为你在Python中工作很好
查看Jellyfish库,其中包含10种不同的算法,用于比较字符串。他们中的一些人只会比较角色,而其他人会尝试猜测一个字符串是如何发音的,并帮助你识别拼写错误但声音相似的其他短语。
实际的算法都是用C语言编写的,所以这个库非常有效!
我想你会发现Jaro-Winkler距离最有用。另请查看this paper。