一只小狐狸带你解锁炼丹术&NLP秘籍
作者:孙树兵
学校:河北科技大学
方向:QA/NLU/信息抽取
编辑:小轶
背景
文本纠错(Spelling Error Correction)技术常用于文本的预处理阶段。在搜索引擎、输入法和 OCR 中有着广泛的应用。2020年的文本纠错自然也离不开 BERT 的表演。但原生的 BERT 在一些NLP任务如error detection、NER中表现欠佳,说明预训练阶段的学习目标中对相关模式的捕获非常有限,需要根据任务进行一定改造。在文本纠错任务中亦是如此。
此前文本纠错的SOTA方法采用了基于 Bert 的 seq2seq 结构,直接生成纠错后的字符序列。但是经观察发现,这样的方法总是倾向于不进行任何纠错,错误检测能力很低。一种可能的解释是 Bert 在预训练时只掩码了15%的字符,所以并不能够充分学习所有字符的上下文。
为了提高错误检测能力,本文在SOTA方法的基础上又添加了一个错误检测网络。分错误检测和纠正两步走。先检测每一个字的错误概率,然后根据检测结果将可能的错别字 soft-mask,其实就是错误概率:( 滑动查看完整公式 )
再输给基于Bert的修正网络。这样就强制修正网络学习了错别字的上下文。下面将详细为大家介绍模型的实现细节。
论文链接:https://arxiv.org/pdf/2005.07421.pdf
Arxiv访问慢的小伙伴也可以在订阅号后台回复关键词【0610】下载论文PDF。
模型结构
本文提出的 Soft-Masked Bert 模型可分为三个部分:
检测网络采用 Bi-GRU 预测字符在每个位置出现错误的概率。
用错误概率对 input embedding 做 soft-mask。soft-mask 是传统 hard-mask 的延伸。当错误概率等于1时,前者退化为后者。
修正网络为原文中每个位置挑选替换字。实现过程与单纯使用BERT的SOTA方法相似。
检测网络
检测网络是一个二分类的序列标注模型。模型的输入是character embedding序列。其中 表示字符 的 character embedding(即word embedding, position embedding 和 segment embedding 的总和)。输出是标签序列 。 为第 i 个字符的标签,等于 1 表示字符错误,0 表示正确。我们记 为 等于 1 的概率。
本文采用双向 GRU(Bi-GRU) 实现检测网络。字符错误概率 可以定义为
其中, 表示检测网络给出的条件概率, 是 sigmoid 函数, 为 Bi-GRU 的隐状态, 和 是参数。隐状态可以定义为:
Soft-Mask
soft-masked embedding 为 input embedding 和 mask embedding 的加权和。权重由该字符的错误概率得到。第i个字符的 soft-masked embedding 可形式化地定义为:
是 input embedding, 是 mask embedding。如果错误概率很高,则 接近 。
修正网络
修正网络是一个基于 Bert 的多类别序列标注模型。输入为 soft-masked embedding 序列 ,输出为替换字符序列 。
BERT 由12个相同的 block 组成。每个 block 包含一次 multi-head self-attention 操作和一个前馈神经网络。我们将BERT最后一层的隐状态序列记为 。则给定待纠错的字符序列 ,字符 被替换为候选字符表中第 个字符的条件概率为
其中, 和 为参数; 是 和 Bert 最后一层隐状态 通过残差连接后得到的,即 。校正网络的最后一层采用 softmax 函数,从候选字符列表中选择概率最大的字符作为字符作为输出。
训练过程
Soft-masked BERT 的训练是 Seq2seq 进行的。训练目标包括错误检测和错误纠正两部分,其目标函数分别为:
总目标函数为两者的线性组合:。其中。
实验结果
在 SIGHAN 和 News Title 两个数据集上进行了实验。本文的 Soft-Masked BERT方法在两个数据集上基本都取得了最好结果。
总结
本文提出了一种新的神经网络结构Soft-masked Bert,实现中文文本纠错。该结构包含错误检测和修正两个部分。通过Soft-mask技术将检测结果编码到修正网络。实验结果表明该方法的性能优于单纯使用Bert的基线模型。并且这一方法具有较强的普适性,也可用于其他语言的纠错任务。
本文收录于原创专辑:《卖萌屋@自然语言处理》
重磅惊喜:卖萌屋小可爱们苦心经营的 自然语言处理讨论群 成立三群啦!扫描下方二维码,后台回复「入群」即可加入。众多顶会审稿人、大厂研究员、知乎大V以及美丽小姐姐(划掉????♀️)等你来撩噢~(手慢无
可
能
喜
欢
告别自注意力,谷歌为Transformer打造新内核Synthesizer
NLP中的少样本困境问题探究
ACL20 | 让笨重的BERT问答匹配模型变快!
7款优秀Vim插件帮你打造完美IDE
卖萌屋原创专辑首发,算法镇魂三部曲!
GPT-3诞生,Finetune也不再必要了!NLP领域又一核弹!
夕小瑶的卖萌屋
关注&星标小夕,带你解锁AI秘籍
订阅号主页下方「撩一下」有惊喜哦