鉴于两个名称在表示方式上有变化,是否有任何API /工具/算法可以给出名称相似/不同的分数?
Tim O'Reilly是一个输入,T Reilly是另一个输入。这两者之间的分数应该小于Tim O'Reilly和Tim Reilly之间的分数。我正在寻找这样的分数计算机制。算法应该能够处理的几个挑战是:
1)当名称作为输入时,可以交换名字和姓氏
2)可能有名字的首字母代替
3)其中一个名称可能没有姓氏,而另一个名字可能同时具有名字和姓氏。
......等等,这是名称表示中常见的错误。
答案 0 :(得分:1)
两个库包括一些名称相似性的距离分数:
没有一种方法可以涵盖你提到的情况,但1)和3)特征和集相似性度量(例如jaccard,tfidf)工作 - 对于2)除了soundex(如@ houman001所述)你可以考虑levensthein或哈罗。试验一下您的用例和组合的一些示例。
答案 1 :(得分:0)