论文解读系列| 02:【NER】MarkBERT

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
简介: MarkBERT 是一种考虑如何将词信息引入到模型的NER方案。MarkBERT基于字的模型,但巧妙地将词的边界信息融入模型,具体操作是将词之间插入边界marker。出现边界marker意味着前一个字符是词的尾部字符,而紧接着的字符是另一个词的起始字符。如此可以统一处理所有词,不存在词的OOV问题。

简介

论文地址:
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模型通过单词边界信息融入词级别信息(词的信息是显式给出的)。

image.png

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

$$ \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] $$

该损失函数和 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 任务上的效果如下表所示:

image.png

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

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

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

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

image.png

从消融结果可以看出:

  • 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,并对实体之间的关系做出更好的预测。

image.png

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

相关文章
|
机器学习/深度学习 自然语言处理 并行计算
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
1407 0
【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)
|
机器学习/深度学习 自然语言处理 安全
Bert on ABSA、ASGCN、GAN、Sentic GCN…你都掌握了吗?一文总结情感分析必备经典模型(1)
Bert on ABSA、ASGCN、GAN、Sentic GCN…你都掌握了吗?一文总结情感分析必备经典模型
144 0
|
机器学习/深度学习 数据采集 自然语言处理
【Deep Learning A情感文本分类实战】2023 Pytorch+Bert、Roberta+TextCNN、BiLstm、Lstm等实现IMDB情感文本分类完整项目(项目已开源)
亮点:代码开源+结构清晰+准确率高+保姆级解析 🍊本项目使用Pytorch框架,使用上游语言模型+下游网络模型的结构实现IMDB情感分析 🍊语言模型可选择Bert、Roberta 🍊神经网络模型可选择BiLstm、LSTM、TextCNN、Rnn、Gru、Fnn共6种 🍊语言模型和网络模型扩展性较好,方便读者自己对模型进行修改
600 0
|
数据采集 自然语言处理 开发工具
fasttext实现文本分类
fasttext实现文本分类
321 0
|
机器学习/深度学习 自然语言处理 数据挖掘
Bert on ABSA、ASGCN、GAN、Sentic GCN…你都掌握了吗?一文总结情感分析必备经典模型(2)
Bert on ABSA、ASGCN、GAN、Sentic GCN…你都掌握了吗?一文总结情感分析必备经典模型
249 1
|
机器学习/深度学习 数据采集 人工智能
基于TextCNN实现文本分类
本文参考Yoon Kim的论文"Convolutional Neural Networks for Sentence Classification",实现TextCNN卷积神经网络进行文本分类。
249 0
基于TextCNN实现文本分类
|
机器学习/深度学习 自然语言处理 算法
TextRCNN、TextCNN、RNN…你都掌握了吗?一文总结文本分类必备经典模型(一)
TextRCNN、TextCNN、RNN…你都掌握了吗?一文总结文本分类必备经典模型(一)
431 0
|
机器学习/深度学习 自然语言处理 资源调度
论文解读系列| 06:【NER】LatticeLSTM模型详解
Lattice LSTM模型是基于词汇增强方法的中文NER的开篇之作。在该模型中,使用了字符信息和所有词序列信息,具体地,当我们通过词汇信息(词典)匹配一个句子时,可以获得一个类似Lattice的结构。这种方式可以避免因分词错误导致实体识别错误,在中文NER任务上有显著效果。
|
机器学习/深度学习 自然语言处理 算法
论文解读系列| 05:【NER】SoftLexicon模型详解
SoftLexicon是一种简单而有效的将词汇信息纳入字符表示的方法。这种方法避免设计复杂的序列建模结构,并且对于任何NER模型,它只需要细微地调整字符表示层来引入词典信息。在4个中文NER基准数据集上的实验结果表明,该方法的推理速度比现有SOTA方法快6.15倍,性能更好。
|
机器学习/深度学习 移动开发 知识图谱
论文解读系列| 03:【NER】FGN模型详解
汉字作为象形文字有其潜在的特殊字形信息,而这一点经常被忽视。FGN是一种将字形信息融入网络结构的中文NER方法。除了用一个新型CNN对字形信息进行编码外,该方法可以通过融合机制提取字符分布式表示和字形表示之间的交互信息。