【论文解读系列】NER方向:MarkBERT(2022)


更多、更及时内容欢迎 微信公众号小窗幽记机器学习 围观。

简介

论文地址:
https://arxiv.org/abs/2203.06378

论文代码:
https://github.com/daiyongya/markbert

MarkBERT 也是一种考虑如何将词信息引入到模型的方案。MarkBERT基于字的模型,但巧妙地将词的边界信息融入模型,具体操作是将词之间插入边界marker。出现边界marker意味着前一个字符是词的尾部字符,而紧接着的字符是另一个词的起始字符。如此可以统一处理所有词,不存在词的OOV问题。此外,MarkBERT 还有两个额外优点:

  • 便于在边界marker上添加单词级别的学习目标(文章使用replaced
    word detection这个学习任务),这可以作为传统字符(比如MLM任务)和句子级(比如NSP任务)预训练任务的补充
  • 便于引入丰富的语义信息,比如想要引入词的POS标签信息,可以用 POS 标签特定的标记替换marker。

MarkBERT在中文NER 任务上取得SOTA结果。在MSRA数据集上 95.4% -> 96.5%,在OntoNotes数据集上82.8%->84.2%。MarkBERT在文本分类、关键词识别、语义相似任务上也取得了更好的精度。

MarkBERT 预训练阶段有两个任务:

  • MLM:对边界标记 marker 也进行mask,以使模型能学习边界知识。
  • 替换词检测(replaced word detection): 人工替换一个词,然后让模型区分marker前面的词是不是正确的。

模型结构

MarkBERT Model:
首先分词,在词中间插入特殊标记(文章中使用[S]这个特殊marker),这些标记也会被当做普通的字符处理,有对应的位置编码,也会被 MASK。这样编码时就需要注意词的边界,而不是简单地根据上下文填充被mask掉的部分。这使得MASK预测任务变得更有挑战(预测需要更好地理解单词边界)。如此,character-based的MarkBERT模型通过单词边界信息融入词级别信息(词的信息是显式给出的)。

在这里插入图片描述

替换词检测:
具体而言,当一个词被替换成混淆词,marker 应该做出「被替换」的预测,label为 False,否则为 True。假设第 i i i个marker的表征记为 x i x^i xi,预测正确和错误对应的label记为 y t r u e y^{true} ytrue y f a l s e y^{false} yfalse,则替换词检测loss定义如下:

L = − ∑ i [ y true  ⋅ log ⁡ ( x y i ) + y false  ⋅ log ⁡ ( x y i ) ] \mathcal{L}=-\sum_{i}\left[y^{\text {true }} \cdot \log \left(x_{y}^{i}\right)+y^{\text {false }} \cdot \log \left(x_{y}^{i}\right)\right] L=i[ytrue log(xyi)+yfalse log(xyi)]

该损失函数和 MLM的损失函数加在一起作为最终训练的损失。混淆词来自同义词或读音相似的词,通过替换词检测这个任务,marker对上下文中的单词span更敏感。为进一步融入语义信息,可以将POS的结果作为边界marker,如Figure 1所示,使用 POS 词性标注信息 作为边界marker的模型称为 MarkBERT-POS。

预训练
MASK 的比例依然是 15%,30% 的时间不插入任何marker(原始的BERT);50% 的时间执行 WWM(whole-word-mask) 预测任务;其余时间执行 MLM 预测任务。

在插入marker中,30%的时间将词替换为基于读音的混淆词或基于同义词的混淆词,marker预测读音混淆标记或同义词混淆marker(即False);其他时间marker预测正常单词的marker(即True)。为了避免label不平衡,只计算正常marker上 15% 的损失。

实验结果

在 NER 任务上的效果如下表所示:

在这里插入图片描述

可以看到,效果提升还是很明显的。

在三个任务上做了消融实验:

  • MarkBERT-MLM:只有 MLM 任务
  • MarkBERT-rwd:在替换词检测时,分别移除近音词或同义词
  • MarkBERT-w/o:在下游任务微调时去掉 Marker(和原始 BERT 一样用法)

消融实验结果如下表所示:

在这里插入图片描述

从消融结果可以看出:

  • MarkBERT-MLM(没有使用替换词检测任务) 在 NER 任务中提升显著,说明单词边界信息在细粒度任务中很重要。
  • 不插入marker,MarkBERT-w/o 也达到了和 baseline 相近的效果,说明相对简单的在语言理解任务中 MarkBERT 可以像 BERT 一样使用。
  • 对 NER 任务来说,插入marker依然重要,实验结果表明 MarkBERT 在学习需要这种细粒度表示的任务的单词边界方面是有效的。

讨论

已有的中文 BERT 融入词信息有两个方面的策略:

  • 在预训练阶段使用词信息,但在下游任务上使用字符序列,如 Chinese-BERT-WWM,Lattice-BERT。
  • 在下游任务中使用预训练模型时使用单词信息,如 WoBERT,AmBERT,Lichee。

另外在与实体相关的 NLU 任务, 特别是关系分类中有探讨插入marker的想法。给定一个主语实体和宾语实体,现有工作注入非类型标记或实体特定marker,并对实体之间的关系做出更好的预测。

在这里插入图片描述

此外,在预测阶段,也是需要marker信息,而该信息可能存在错误,作者并没有针对这方面进一步做消融研究。

猜你喜欢

转载自blog.csdn.net/ljp1919/article/details/127071824
NER