网站开发界面设计工具,有网站和无网站的区别,织梦网站模板源码下载,做网站PPPOE网络可以吗文 | ????????????????自然语言处理实在是太难啦#xff01;中文尤其难#xff01;相比于英文#xff0c;中文是以词作为语义的基本单位的#xff0c;因此传统的中文 NLP 都需要先进行分词。分词这步就劝退了很多人#xff0c;比如“研究生活很充实”中文尤其难相比于英文中文是以词作为语义的基本单位的因此传统的中文 NLP 都需要先进行分词。分词这步就劝退了很多人比如“研究生活很充实”怎么让模型分出“研究|生活”而不是“研究生”呢随着预训练模型的到来中文模型通常直接用字作为输入。甚至 19 年的一篇 ACL[1] 给出结论基于“字”的模型要好于基于“词”的模型。但是中文是以词作为语义的基本单位的呀忽略这种粗粒度的信息真的合理吗今天这篇发表在 NAACL 2021 的文章就让 BERT 在预训练中学到了字和词的信息在自然语言理解的多个任务上相对字级别的模型取得了性能提升轻松摘得 SOTA。以后做中文任务想要刷分可以直接拿来换掉自己的 BERT。这篇文章为了让 BERT 学到字和词的信息解决了三个问题怎么将字和词的信息融合送入 BERT字和词有重叠位置编码怎么设计在 MLM 任务上怎么才能同时将字和词的信息都 mask 掉下面就来看看这篇文章的解决办法吧~论文题目: Lattice-BERT: Leveraging Multi-Granularity Representations in Chinese Pre-trained Language Models论文链接: http://arxiv-download.xixiaoyao.cn/pdf/2104.07204v1.pdf代码地址https://github.com/alibaba/AliceMind/tree/main/LatticeBERT方法词格输入为了解决问题 1本文是将词格word lattice输入 BERT。中文的词格图lattice graph是一个有向无环图包含了句子里字和词的所有信息。以“研究生活很充实”这句话为例词格如下图所示读到这里可能会有人疑惑了BERT 只能处理序列呀这样的有向无环图该怎么被 BERT 处理呢简单这篇文章直接将词格图中各粒度的信息“拍平”得到一个线性序列作为 BERT 的输入。其中的每一项无论是字还是词我们都称为 token词格注意力机制“拍平”词格的输入就会造成不可避免的重复和冗余那么对于位置编码该怎么适应呢另外在“拍平”之后原先二维的复杂图结构信息就会有所损失怎样避免图结构的损失呢为了解决问题 2这篇文章又设计了新的词格注意力机制。对于字级别的 BERT计算 attention map 可以表达为两个字向量的内积其中 分别是第 和 个字在第 层的表示。字级别 BERT 中位置编码是在输入时直接加到字的表示中的然而很多工作 [2] 表明这种在输入中混合位置编码的方式比较粗糙。在计算 attention map 时将位置编码与字的表示解耦专门设计一个位置编码的函数会是一个更好的选择这里 就是关于 两个字的位置编码的函数。本文也采取了这一类方法。具体地attention map 可以通过四项相加的方式得到第一项是字的表示得到的 attention score后面三项都是与位置编码相关的下面我就来一一介绍~绝对位置编码绝对位置编码表示了 token 在句子中的位置。式子里的 表示当前输入 token 的开始位置 表示结束的位置。这个式子就表示将 token 的起始位置的绝对位置编码拼接进行 attention 操作。这一项可以说是对原始 BERT 中的位置编码的复刻并适应了词格的输入。因为词格输入的每一项长度是不固定的引入头尾位置也是自然的想法。然而绝对位置编码是有缺陷的在理论上我们对绝对位置编码的限制只有一点即不同位置的编码不同。但这样就忽略了很多信息比如位置 1 和 2 的距离与位置 5 和 6 的距离应该一样位置 1 和 3 的距离比位置 4 和 10 的距离要小等等。在绝对位置编码的设计里我们只能让 BERT 隐式地“学习”。相对位置编码因此这篇文章也引入了相对位置编码来表示 token 之间的相对距离。式子右边每一项都代表两个 token 的起始位置之间的相对距离例如 表示两个 token 的起始位置之间的相对距离 的表示。引入了相对位置编码模型就可以建模更长的文本。层叠关系编码 表示两个 token 之间的层叠关系。根据这两个 token 起始相对位置的不同两个 token 可以分成下列七种关系具体来说这七种关系为自身在左边且无重叠在左边且有重叠包含关系被包含关系在右边且有重叠在右边且无重叠将 token 之间的关系分成以上七种就可以显式地表示词格图中的复杂的二维关系。之前“拍平”词格图时削弱的信息在这里又找回来了。预训练任务整段预测最后一个问题原来的 MLM 任务在词格输入的形式上似乎并不适用。还是用“研究生活很充实”来举个例子。这句话的词格输入将是这样研 究 生 活 研究 研究生 生活 很 充 实 充实词格的输入带来了冗余在 MLM 任务中我们随机 mask 掉一些 token是希望通过其上下文预测这些 token。但是在词格输入里比如我们随机 mask 掉了“研究”但是模型会直接通过前面的“研”“究”和后面的“研究生”来预测这个 mask token这样走捷径最终一定得不到好结果。于是这篇文章设计了整段预测任务masked segment prediction在词格图中一句话将被切成多个段segment每个段之间不会有重叠的 token同时也要使段的长度最小。“研究生活很充实”这句话就可以切成下图的三段在整段预测任务中直接 mask 掉一段里的所有 token并预测这些 token。这样就可以避免输入的冗余让模型“作弊”。实验这篇文章使用句子里所有可能的词来构建词格图这样尽管会带来错误的分词但是让模型自己学习降噪还能提升模型的鲁棒性。这篇文章在 11 个任务上进行了实验11 个任务包括:6 个文本分类任务长文本分类、短文本分类、关键词提取、指代消解、自然语言推断和文本匹配2 个序列标注任务分词和命名实体识别3 个问答任务机器阅读理解答案段选取、选择题、完形填空。总体性能如下图所示其中RoBERTa 是哈工大的 roberta-base-wwm-extNEZHA 是最好的字级别中文预训练模型来自华为诺亚方舟研究院AMBERT 是曾经多粒度中文预训练模型的 SOTA是字节跳动李航组的工作BERT-word 是使用词作为输入的 BERTLBERT 是本文的方法BERT-our 是本文使用相同语料重新预训练的 BERT。可以发现LBERT 优于所有字级别的预训练模型并在 7/11 个任务上取得 SOTA。LBERT 在哪里强于字级别的 BERT 呢作者对预测结果进行分析得到如下结论在短文本分类任务上LBERT 在更短的样本上有更大的性能提升作者认为词格输入的冗余信息为短文本提供了更丰富的语义信息在关键词提取任务上LBERT 在词级别的关键词上性能提升更高作者认为 LBERT 从词格输入中理解了关键词的语义在命名实体识别任务上LBERT 在重叠实体的样本上减少了 25% 的错误这是词格输入带来的天然优势LBERT 是怎么运用多粒度的信息呢作者对注意力分数进行了可视化还用“研究生活很充实”这句话为例图中的三行分别为在预训练结束后模型会关注句子的各个部分在命名实体识别任务上 fine-tune 之后模型更关注“研究”“生活”“很”“充实”这与正确的分词结果是一致的对命名实体识别任务也是非常关键错误分词的“研究生”就没有得到注意力在文本分类任务上 fine-tune 之后模型更关注“研究生”“生活”“充实”尽管这些词不能在一套分词中同时存在但是对分类都是有用的。总结这篇文章解决了三个问题怎么输入使用词格lattice作为 BERT 的输入位置编码设计了词格注意力机制lattice position attention使模型真正习得词格整张图的信息MLM设计了整段掩码预测任务masked segment prediction避免模型从词格的多粒度输入中使用捷径。这样一来就能在 BERT 中融合字和词信息也在多个任务上拿到 SOTA。另外这种词格的输入看上去也是优点多多对于短文本的任务词格输入可以作为一种信息的增强对于和词相关的任务输入的词能让模型更好的理解语义对于抽取的任务词格能帮助定位抽取的边界。这里还延伸出一个问题英文是不是也可以利用多粒度的信息呢中文的预训练模型可以使用字和词的信息相似地英文就可以使用 subword 和 word 信息这样是不是有效呢萌屋作者????????????????在北大读研目前做信息抽取对低资源、图网络都非常感兴趣。希望大家在卖萌屋玩得开心 ヾ(ω)o作品推荐老板让我用少量样本 finetune 模型我还有救吗急急急在线等谷歌CNN击败Transformer有望成为预训练界新霸主LeCun却沉默了...寻求报道、约稿、文案投放添加微信xixiaoyao-1备注“商务合作”后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1] Yuxian Meng, et al., Is Word Segmentation Necessary for Deep Learning of Chinese Representations?, ACL 2019, http://arxiv-download.xixiaoyao.cn/pdf/1905.05526.pdf[2] Guolin Ke, et al., Rethinking Positional Encoding in Language Pre-training, ICLR 2021, http://arxiv-download.xixiaoyao.cn/pdf/2006.15595.pdf