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


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

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

字符串 数组

锁骨控頑駄無 10 years, 2 months ago

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

36004 answered 10 years, 1 month ago

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

炎D妖精诺露琪 answered 10 years, 1 month ago

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

成步堂龙叔 answered 10 years, 1 month ago

野生的黑白熊 answered 10 years, 1 month ago

Your Answer