导读:大家好,我是机智的叉烧,这是我NLP.TM系列下的第37篇文章(部分文章还未更新到知乎中,微信公众号下有)。之前一连有好几篇文章谈到了这个纠错,先是浅谈,然后以pycorrector为例给大家讲了一遍就纠错的整个框架,这次给大家深入探讨一下现在纠错框架的常规思路以及一些具体的方法。也作为这一小版块的结束,后续会开新的内容,敬请期待哈哈~。
更多文章欢迎关注:
我的专栏:数学·数据·计算机
我的公众号:CS的陋室
先来汇总我之前写过的几篇文章:
纠错框架的基本结构
虽然纠错只是一个看着简单的任务,但是实际上已经构建成了一个非常完整的系统,根据这个系统兼顾很多事情,举几个点:充分缩小范围,防止过纠,毕竟纠错是NLP系统的上游,过纠的代价非常大。
充分挖掘可能错误的位置,在词汇支持的情况,找到可能正确的结果,保证召回率。
各种抽取特征,能通过更加严谨的方式在多个候选中找到最优的结果。
然后我们来看看一个比较OK的纠错系统结构是什么样的,三大步骤:错误检测:检测句子错误的部分,后续只对这个部分进行错误纠正。
候选召回:根据识别的错误进行针对性的修改,这块依赖候选集。
候选排序:错误可能有很多。召回的结果也有很多,那个才是最优解,这步需要通过一定的方式得到最优结果。
错误检测
错误检测是文本进入纠错体系的一个大门,设立他的目的有这几个:缩小纠正范围,降低后续流程的压力。