NLP学习笔记8-拼写纠错2

181 阅读1分钟

一 序

   本篇属于NLP学习笔记系列。

 二 优化

通过replace(替换)、add(添加)、delete(删除)生成编辑距离为1,2 的字符串。

好处是:不依赖于词典的大小,如果词典不大,也可以不用那个这种方法。

如何过滤呢?

      从数学角度来看问题定义: 给定一个字符串s, 我们要找出最有可能成为正确的字符串c, 也就是c' = argmaxp(c|s)

   这里argmax算是一个数学基础,老师给解释了。知乎上找个图:

  简化:c' = argmax p(c|s)     =>    c' = argmax p(s|c) * p(c) / p(s)      这里就是贝叶斯公式

给定一个字符串s,所以我们把p(s)看做常数,不会变的。所以上面的公式 可认为

  c' = argmax  p(s|c) * p(c)

       p(s|c) 、p(c)基于已有词库统计得到:    p(s|c) 是同级query日志,所有错误的概率。 P(c)是基于单词统计全部文档出现的概率。

 

参考:

贪心科技NLP

zhuanlan.zhihu.com/p/79383099