我正在编写一个服务,根据用户输入的文本明智地建议英国地名,我的数据集只有不到2500个条目。到目前为止,我应用了Damerau Levenshtein算法的略微修改版本,该算法忽略了与较长字符串进行比较的编辑距离。
这给了我一套合理的建议,但我想手动加权一些条款,例如目前正在输入new
会将New Mills
作为最高结果。
我想对这些结果进行加权,以便主要城市出现在城镇和村庄之上,例如:输入new
会将Newcastle
作为最佳结果。
任何人都可以建议使用不同的搜索算法,或者我可以将单独的加权过程应用到我的结果中以实现我之后的加权结果吗?
答案 0 :(得分:1)
Levenshtein更多的是打字错误 - 你想要的是NLP,你可以google:NLP地址 或参见Detect/Parse Mailing Addresses in Text