我正在寻找以下示例的模糊字符串算法:给定现有名称的数据库,如果匹配准确度高于输入阈值(比如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
目前,大多数算法如Levenstein和基于语音的算法(如Soundex)都无法匹配像BondJames这样的反转名称。到目前为止,余弦和提花产生了最好的效果,但我正在寻找更多,以便我可以选择最佳或可能的组合算法。
答案 0 :(得分:5)
考虑到你的例子,我会考虑:
当L1中的单词数量与L2中的单词数量不匹配时,您应该“惩罚”#39; 取值