张琨 作者中国科学技术大学博士生 学校自然语言处理研究方向

COLING 2020 | CharBERT:字符敏感的预训练语言模型

论文标题:

CharBERT: Character-aware Pre-trained Language Model

论文链接:

https://arxiv.org/abs/2011.01513

代码链接:

https://github.com/wtma/CharBERT

一、动机

预训练模型的利用已经成为当前自然语言处理的范式,使用预训练模型处理输出,然后在此基础上根据具体任务进行调整。为了提升预训练模型的效果,人们提出了很多改进的办法,例如更好的 masking 方法,更大的 batch 等。但很少有工作关注于输入的编码,当前的 word piece 编码方式 BPE 虽然能够降低字典大小,同时缓解 OOV 问题,但仍然存在一些问题。

如下图所示,首先 BPE 的方法无法表示完整词的信息以及更细粒度的字符级别的信息,如下图左边所示,第一层和第三层的内容都没有被表示出来,第二 BPE 的方法很容易受到攻击,如果替换了输入词中的一个字符,那么切分出来 word piece 受到的影响就会比较大。为了解决 BPE 存在的这些问题,本文从输入编码的角度提出了 CharBERT,通过更全面的编码方式和更好的融合方式提升预训练模型的效果。

二、模型

下图就是 CharBERT 模型的结构,为了更好的表示输入词,作者使用了一个双路结构,然后充分 CNN,RNN 的优势,最终实现了效果的提升,接下来,将对模型的技术细节进行分析

2.1 Character Encoding

2.2 Heterogeneous Interaction

在得到两种不同的 embedding 表示之后,作者提出了一种新的融合方式。具体而言,该方法首先通过 FFN 将两种不同的 embedding 映射到同一空间,然后拼接起来,并在此基础上使用 CNN 抽取局部特征,在得到局部特征之后,分别使用不同的 FFN 再映射会原来各自的空间,然后进行残差链接,通过这样的形式就进行了一次融合,具体过程如下:

这就完成了一次交互,然后再过 transformer,然后再进行交互,不断重复该过程,实现对输入的更好的建模。

2.3 Unsupervised Character Pre-training

除了模型结构上的增加,为了解决 BPE 比较脆弱的问题,作者也增加了一个非监督的字符级别预训练,该过程可以用下图表示:

原来的 MLM 预训练任务保持,但同时作者考虑了一个 NLM(Noise Language Model),该任务针对的就是字符级别的表示,将原始输入中的某些字符替换掉(包括丢掉,增加,交换),模型需要预测数来原始的输入词是什么,通过这种方式实现了更稳定的模型性能。

这里需要说明的是 MLM 和 NLM 是不交叉的,即如果某个词被替换了某个字符,那么这个词就不会被 mask 掉,保证了 MLM 任务的干净。

以上就是整个方法的技术内容。

三、实验

在实验部分,作者使用了 BERT 和 RoBERTa 作为基本模型,English Wikipedia  作为预训练的语料集,下游测试任务为 SQuAD,Text Classification,Sequence Labeling。相关实验结果如下:

当然作者还进行了一些模型健壮性,消融实验和其他的一些实验,用于支持文中提出的方法

四、总结

本文最突出的一个地方在于考虑了更好的 embedding 方法,而不是只使用 BPE 的结果,通过结合字符级别和词级别的信息实现了更为全面的输入编码,同时,结合 RNN 和 CNN 的优势也是本文的另一个亮点,基本上 CNN,RNN,Transformer 都使用上了,也体现了新老研究成果的结合在一定程度上能进一步提升方法的性能,可以认为是一个可行的研究方向。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论自然语言处理
相关数据
映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

推荐文章
暂无评论
暂无评论~