前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >妙啊!MarkBERT

妙啊!MarkBERT

作者头像
NewBeeNLP
发布2022-11-11 10:45:22
9210
发布2022-11-11 10:45:22
举报
文章被收录于专栏:NewBeeNLP

作者 | 太子长琴 整理 | NewBeeNLP

大家好,这里是NewBeeNLP。今天一起来看一篇腾讯和复旦大学合作的工作:MarkBERT: Marking Word Boundaries Improves Chinese BERT[1]

一句话概述:在 Token 中加入你感兴趣的词的边界标记。

MarkBERT 不是基于词的 BERT,依然是基于字,但巧妙地将「词的边界标记」信息融入模型。这样可以统一处理任意词,无论是不是 OOV。另外,MarkBERT 还有两个额外的好处:

  • 首先,在边界标记上添加单词级别的学习目标很方便,这是对传统字符和句子级预训练任务的补充;
  • 其次,可以通过用 POS 标签特定的标记替换通用标记来轻松合并更丰富的语义。

在 NER 任务上取得了 2 个点的提升,在文本分类、关键词识别、语义相似任务上也取得了更好的精度。

这个简单但有效的中文预训练模型 MarkBERT,考虑了词信息但没有 OOV 问题。具体有以下优势:

  • 统一的方式处理常用词和低频词,没有 OOV 问题。
  • Marker 的引入允许设计词级别的预训练任务,这是对字级别的 MLM 和句子级别的 NSP 的补充。
  • 容易扩展加入更多单词语义(词性、词法等)。

预训练阶段有两个任务:

  • MLM:对 Marker 也进行了 MASK,以便模型能学习到边界知识。
  • 替换词检测:人工替换一个词,然后让模型分辨标记前面的词是不是正确的。

MarkBERT预训练

MarkBERT

如下图所示:

首先分词,在词中间插入特殊标记,这些标记也会被当做普通的字符处理。有位置,也会被 MASK,这样编码时就需要注意词的边界,而不是简单地填充,MASK 预测任务变得更有挑战(预测需要更好地理解单词边界)。这样,模型依然是字符级别的,但它知道了单词的边界(因为单词的信息是显式给出的)。

替换词检测

具体而言,当一个词被替换成混淆词,标记应该做出「被替换」的预测,标签为 False,否则为 True。

\mathcal{L}=-\sum_{i}\left[y^{true } \cdot log \left(x_{y}^{i}\right)+y^{false } \cdot log \left(x_{y}^{i}\right)\right]

该损失函数会和 MLM 的损失函数加在一起作为多任务训练过程。混淆词来自同义词或读音相似的词,通过这个任务,标记可以对上下文中的单词跨度更敏感。使用 POS 做标记的模型称为 MarkBERT-POS。

预训练

MASK 的比例依然是 15%,30% 的时间不插入任何标记(原始的 BERT);50% 的时间执行 WWM 预测任务;其余时间执行 MLM 预测任务。

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

实验

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

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

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

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

结果如下表所示:

结论如下:

  • MarkBERT-MLM 在 NER 任务中获得显著提升,说明单词边界信息在细粒度任务中很重要。
  • 不插入标记,MarkBERT-w/o 也达到了和 baseline 相近的效果,说明 MarkBERT 可以像 BERT 一样使用。
  • 对 NER 任务来说,插入标记依然重要,表明 MarkBERT 结构在学习需要这种细粒度表示的任务的单词边界方面是有效的。

讨论

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

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

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

这篇论文当时刷到时觉得真心不错,方法很简单但很巧妙,一下子解决了中文预训练模型「词」的处理,非常方便地就可以引入词级别的任务,以及丰富的词语义。其实,我们甚至可以只针对「部分感兴趣的词」添加标记,剩下的依然按字处理。

本文参考资料

[1]

MarkBERT: Marking Word Boundaries Improves Chinese BERT: https://arxiv.org/abs/2203.06378

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NewBeeNLP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MarkBERT预训练
    • MarkBERT
      • 替换词检测
        • 预训练
        • 实验
        • 讨论
          • 本文参考资料
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档