0
点赞
收藏
分享

微信扫一扫

自然语言理解(NLU)-文本纠错学习笔记1

豆丁趣 2022-04-07 阅读 53

1概念理解:

首先,文本纠错是实现文本语句自动检查、自动纠错的一项重要技术,提高语言的正确性并减少人工成本。

通常类型有:语音转换语言转换、发音不标准、拼写错误、语法错误(多打漏打乱序等)、知识错误(概念模糊)等

2目前研究现状:

目前纠错方法主要分为两个方向:基于规则和基于深度模型

基于规则:第一步是错误检测,第二步是错误纠正

深度模型: 具体可参照下文中“其他”部分的第三类方法

常用纠错模型:Pycorrector

该纠错模型是由规则纠错和深度学习纠错两部分组成

常见研究:

“而中文文本纠错学术进展主要集中在比赛项目上,如前几年SIGHAN举办的中文拼写纠错比赛以及近几年NLPCC等举办的中文语法检测和纠错的比赛等。在2017年的中文语法错误检测比赛中,其Top1的主要方案利用了序列标注模型结合人工提取特征。在NLPCC2018年举办的中文语法纠错比赛中,冠军团队应用基于Transformer的翻译模型,其主要原理是将错误句子翻译为正确句子。”

开源项目:

中文文本纠错算法走到多远了?_悟乙己的博客-CSDN博客_文本纠错

中文文本纠错算法--错别字纠正的二三事 - 知乎

其他

对一个特定领域的项目时,文本纠错方法可以有以下几种:

(文本纠错 - 知乎)

1、构建一个领域字典

总结一个错误表述到正确表述的词典,然后进行匹配替换就行。

如有纠错行为产生,则一定能够纠正成功。

2、编辑距离

将输入文本与标准文本描述的文本进行编辑距离(对文本进行:增/删/插 操作,不熟悉编辑距离的读者可以自行百度搜索)的计算,然后输出编辑距离最近的标准描述。

将输入文本进行分词等操作,形成词粒度或字粒度的形式。计算输入文本和标准词库中的距离信息,取距离值最小的作为该输入文本的正确表述,并输出。

可能会出现纠正行为产生后,仍旧输出错误表述。

3、深度学习

为了降低误判率,可以在模型的输出层加入CRF层校对,通过学习转移概率和全局最优路径避免不合理的错别字输出。

详细通俗重点CRF层讲解_weixin_ry5219775的博客-CSDN博客_crf层

CRF,巧妙而不复杂 - 知乎

具体方法:

【1】HANSpeller++: A Unified Framework for Chinese Spelling Correction Shuiyuan

        pipeline : 预处理+备选生成+答案选择

【2】Confusionset-guided Pointer Networks for Chinese Spelling Check

        利用seq2seq模型

【3】Spelling Error Correction with Soft-Masked BERT

        分为检测网络(Bi-GRU)和校正网络(基于BERT的序列多分类标记模型-BERT 12层Transformer模块)

代码复现:

1、pycorrector:【深度学习】PyCorrector中文文本纠错实战_海贼王的博客的博客-CSDN博客_pycorrector

2、BiLSTM+CRF

3、Seq2Seq(BiLSTM,BiLSTM+attention)

4、BiGRU+BERT

参考资料:

【NLP-文本纠错】从入门到精通 - 简书

中文文本纠错_论文Spelling Error Correction with Soft-Masked BERT(ACL_2020)学习笔记与模型复现_料理菌的博客-CSDN博客

策略算法工程师之路-Query纠错算法 - 知乎

平安寿险 AI 团队 | 文本纠错技术探索和实践 - AIQ

 中文文本纠错算法走到多远了?_悟乙己的博客-CSDN博客_文本纠错

举报

相关推荐

0 条评论