最近做了一个自动纠错演示网页

时间:2022-07-17 23:53:51

请关注我们的技术创业项目 Terark,领先的数据技术提供商


最近做了一个自动纠错演示网页:nfabo.cn

当 Query 中有一些错别字时,搜索引擎会尝试纠错

通过相似拼音纠错

搜索引擎把这些字还原成拼音,用一个拼音相同的已知 Query 代替。

但是,当输错的汉字是多音字,特别是有多个这样的错误输入时,所有的搜索引擎基本上都不管, 或者仅使用一个最常用的音去纠错。因为要考虑所有可能的拼音组合,在极端情况下会导致指数爆炸

我的算法解决了这个指数爆炸问题

  • 这个演示页面目前只收录了 800万 条 短语+词频,数据也不太干净
  • 该算法全部在内存中运行,使用了 360M 内存,这个数据量,如果用传统方法暴力实现,并且达到这个性能,需要 几十GB 的内存
  • 这个服务器是一个租用的虚拟云主机,单核,比我2009年的笔记本电脑还要慢 3 倍

基于编辑距离的纠错

在已知的搜索词中寻找 编辑距离 与用户 Query 最小的词,使用我的算法也可以高效解决(还没做演示页面)