首页 > 一个字符串和一个字符串数组,如何近似匹配?

一个字符串和一个字符串数组,如何近似匹配?

比如:
字符串s1='星手机'
字符串s2='美三星'
字符数组 s=['三星手机'、'诺基亚手机'、...],有将近1万条数据。
我想到的近似匹配方法是 最小编辑距离, 但是如何找出字符数组中最近似字符串的数据呢?难道要一个一个算,找最近似的?有没有什么好方法?谢谢大家了。

刚才尝试了下,一条一条比,速度到时可以接受,几乎将近1s一个吧。但是还是期待有好方法?


这个算法貌似有点坑
首先把输入分开为词组,这里就很坑了。。。
然后 每次对比用正则之类的语句 对比 每有一个词 一个记号变量+1 ,之后根据记号变量排列出 搜索结果。。


完全不懂这个问题
今天恰好看到了一个算法,关键字:BK树 Burkhard-Keller
http://blog.jobbole.com/78811/


前面提到的BK-tree非常适合解决题主的问题.
补两篇文章供参考:
- http://coolchar.com/algorithm/2014/09/21/BK%20Tree.html
- http://www.matrix67.com/blog/archives/333


试试余弦相似性


这个 好像是搜索引擎里面的东西 先对 1万条数据分词,然后建倒排索引,查询的时候,先对字符串拆分,然后可以依据多路合并进行评分;

【热门文章】
【热门文章】