最近做了一个自动纠错演示网页:nfabo.cn
当 Query 中有一些错别字时,搜索引擎会尝试纠错
通过相似拼音纠错
搜索引擎把这些字还原成拼音,用一个拼音相同的已知 Query 代替。
但是,当输错的汉字是多音字,特别是有多个这样的错误输入时,所有的搜索引擎基本上都不管, 或者仅使用一个最常用的音去纠错。因为要考虑所有可能的拼音组合,在极端情况下会导致指数爆炸!
我的算法解决了这个指数爆炸问题
- 这个演示页面目前只收录了 800万 条 短语+词频,数据也不太干净
- 该算法全部在内存中运行,使用了 360M 内存,这个数据量,如果用传统方法暴力实现,并且达到这个性能,需要 数以 TB 的内存
- 这个服务器是一个租用的虚拟云主机,单核,比我2009年的笔记本电脑还要慢 3 倍
基于编辑距离的纠错
在已知的搜索词中寻找编辑距离与用户
Query 最小的词,使用我的算法也可以高效解决(还没做演示页面)
最近做了一个自动纠错演示网页
时间: 2024-09-30 00:20:06