0
我正在为以下示例寻找模糊字符串算法:给定现有名称的数据库,如果匹配的准确性高于输入阈值,则将匹配输入匹配到最匹配的名称90%),或以其他方式NA名称的近似字符串匹配算法
database = [James Bond, Michael Smith]
输入
James L Bond->James Bond
JBondL->James Bond
Bond,James->James Bond
BandJamesk->James Bond
Jenny,Bond->N/A
目前,大多数算法,如莱文施泰因和拼音基础的像探测法所无法比拟的倒名称,如BondJames。到目前为止,余弦和提花产生最好的结果,但我正在寻找更多,以便我可以选择最好或可能结合算法。
好主意Lior,谢谢。一个问题:你将如何去分离jamesbond,没有逗号或上限的好处? – user1569897
我能想到的一种方法可能是允许1-2组交换/重新分配字符组的算法,而不会受到任何惩罚。 (最多2个,因为可能有三个组-herbertbondjames,例如)我想不出一个现有的算法,或者其他可以考虑bondjames - > jamesbond标准的算法。 – user1569897
当输入名称有一个词,而不是将其分开时,我会连接组成不同排列的数据库名称的单词,并最小化L(u,v1 || v2 || ...))。 (''||'表示串联)。 –