近期做了一个自己主动纠错演示网页

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

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

通过相似拼音纠错

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

可是,当输错的汉字是多音字。特别是有多个这种错误输入时,全部的搜索引擎基本上都无论。 或者仅使用一个最经常使用的音去纠错。

由于要考虑全部可能的拼音组合,在极端情况下会导致指数爆炸

我的算法攻克了这个指数爆炸问题

  • 这个演示页面眼下仅仅收录了 800万 条 短语+词频。数据也不太干净
  • 该算法所有在内存中执行,使用了 360M 内存。这个数据量,假设用传统方法暴力实现,而且达到这个性能,须要 几十GB 的内存
  • 这个server是一个租用的虚拟云主机,单核,比我2009年的笔记本电脑还要慢 3 倍

基于编辑距离的纠错

在已知的搜索词中寻找编辑距离与用户 Query 最小的词,使用我的算法也能够高效解决(还没做演示页面)
posted @ 2015-12-17 18:28  mengfanrong  阅读(199)  评论(0编辑  收藏  举报