Nlp 名称之间的相似性度量?

Nlp 名称之间的相似性度量?,nlp,nltk,stanford-nlp,word2vec,Nlp,Nltk,Stanford Nlp,Word2vec,我有一个名字列表,我试图从任何一个名字列表中找到最相似的5个名字作为查询。 我想应用word2vec,或者使用nltk中的Text.similor()。 但我不确定这些是否也适用于名字 任何相似性度量都适用于我。 有什么建议吗? 这不适用于任何项目,但我只是想学习新东西。既然您添加了NLTK,我认为您在Python中工作得很好。 查看包含10种不同字符串比较算法的库。他们中的一些人将只比较字符,而另一些人将尝试猜测字符串的发音方式,并帮助您识别拼写非常不同但听起来相似的其他短语。 实际的算法都是

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

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

既然您添加了NLTK,我认为您在Python中工作得很好。
查看包含10种不同字符串比较算法的库。他们中的一些人将只比较字符,而另一些人将尝试猜测字符串的发音方式,并帮助您识别拼写非常不同但听起来相似的其他短语。
实际的算法都是用C语言编写的,所以这个库非常有效

我想你会发现Jaro-Winkler距离是最有用的。另请查看。

既然您添加了NLTK,我认为您在Python中工作得很好。
查看包含10种不同字符串比较算法的库。他们中的一些人将只比较字符,而另一些人将尝试猜测字符串的发音方式,并帮助您识别拼写非常不同但听起来相似的其他短语。
实际的算法都是用C语言编写的,所以这个库非常有效

我想你会发现Jaro-Winkler距离是最有用的。另外请查看。

您是追求表面相似性还是语义相似性?在第一种情况下,例如“Steve”和“Steven”被视为相似,您通常会使用字符串相似性度量,可能会结合一些手写规则。在第二种情况下,如果你使用单词嵌入,你可能会发现“特朗普”和“普京”的名字是相似的(因为如果嵌入是在新闻文本上训练的,那么这些名字在相似的上下文中出现)。Hi@lenz surface similarity对我来说很有用。关于如何做到这一点的任何想法。
difflib
可能是一个开始。有很多可能的方法,我相信对于大多数方法,您都会找到一些第三方Python库:基于最小编辑距离(Levenshtein,Levenshtein-Damerau),基于字符n-gram(余弦相似性,骰子系数等),或者基于某种散列(例如soundex和继承者).看一看你也可以退房。它是基于Levenshtein距离。你是追求表面相似性还是语义相似性?在第一种情况下,例如“Steve”和“Steven”被视为相似,您通常会使用字符串相似性度量,可能会结合一些手写规则。在第二种情况下,如果你使用单词嵌入,你可能会发现“特朗普”和“普京”的名字是相似的(因为如果嵌入是在新闻文本上训练的,那么这些名字在相似的上下文中出现)。Hi@lenz surface similarity对我来说很有用。关于如何做到这一点的任何想法。
difflib
可能是一个开始。有很多可能的方法,我相信对于大多数方法,您都会找到一些第三方Python库:基于最小编辑距离(Levenshtein,Levenshtein-Damerau),基于字符n-gram(余弦相似性,骰子系数等),或者基于某种散列(例如soundex和继承者).看一看你也可以退房。这是基于Levenshtein距离。哦,是的,我忘了Peter Christen的技术报告(尽管我知道)。它更适合作为字符串相似性的介绍。Efremova等人的pro是关于正负类可分性的好图表。哦,是的,我忘了Peter Christen的技术报告(尽管我知道)。它更适合作为字符串相似性的介绍。Efremova等人的pro是关于正类和负类可分性的漂亮图表。