9-10学习日记

一、为什么bert用语言掩码模型(MLM)

1.1原因

MLM的目标是在上下文中预测被随机掩盖的词,使用它是为了让模型能够同时理解句子中的双向上下文信息。之前说到word2Vec的时候,它有一个分类是CBow,是利用上下文来预测中心词,类似完形填空,而在bert中虽然自注意力机制提供了信息,但它并不要求模型显式地预测哪些词会在句子中出现或如何根据上下文来推断一个被掩盖的词。所以利用类似CBow的方式,通过随机遮蔽一些词语,强迫模型去预测它们,从而让模型学会更深入理解词与词之间的关系。这种任务实际上是在训练模型去更好地填补“上下文信息的空白”,使模型在下游任务中具备更强的语言理解能力

1.2问题

它的做法是将15%的输入词随机掩盖,但是在具体的下游任务中(如分类、问答、翻译等),输入的句子是完整的,没有任何词被掩盖。这意味着,模型在微调时的输入分布与预训练时的输入分布不同,这使得模型可能会产生一定的表现偏差,因为它无法再依赖通过掩码训练学到的能力去推测词汇。但是我们一般是直接使用bert去做微调,这就导致了无法避免这个问题

二、bert的下句预测(NSP)

2.1什么是NSP

BERT 输入的语句将由两个句子构成,其中,50% 的概率将语义连贯的两个连续句子作为训练文本(连续句对一般选自篇章级别的语料,以此确保前后语句的语义强相关),另外50% 的概率将完全随机抽取两个句子作为训练文本。例如:

连续句对:[CLS]今天天气很糟糕[SEP]下午的体育课取消了[SEP]
随机句对:[CLS]今天天气很糟糕[SEP]鱼快被烤焦啦[SEP]

其中 [SEP]标签表示分隔符。[CLS]表示标签用于类别预测,结果为 1,表示输入为连续句对;结果为 0,表示输入为随机句对。通过训练 [CLS]编码后的输出标签,BERT 可以学会捕捉两个输入句对的文本语义,在连续句对的预测任务中,BERT 的正确率可以达到 97%-98%。

2.2原理

原因是自注意力机制使得 [CLS] 标签能够学到整个输入句子的全局语义信息,说的更具体一点,就是模型能计算出[CLS] 对其他词的“注意力权重”,就是注意力分布(概率分布),即每个词应该关注其他词多少。而且bert使用了24层编码器,随着深度的增加,重要的上下文信息会逐步被强化,从而使 [CLS] 标签最终的表示能够更好地捕捉句子的全局语义。最终得到的概率分布或者说向量表示可以用于多种任务,这具体取决于下游任务的需求

三、bert的下游任务

说一下我曾经做过的一个项目,叫做三全数据检测辅助工具。该项目的目的是检测安徽省测绘局文档内部数据是否自洽,该文档需要检测的类型分为三种,文档内部表格数据是否自洽,文字与表格内容是否互洽,文字自身数据是否自洽。当时的做法很简单,先将表格单独提取出来,再利用自定义的词典去做ltp的分词,将文字分割成三元组的形式,同时表格天然就是三元组的形式,然后用规则引擎去对比需要检查的数据。当时碰到一个问题,就是文档内部会有同义词的问题,导致含义相同但是不能被正确检测,比如【肥西县、总面积、xx亩】和【肥西县、监测图斑面积、xx亩】,我需要判断亩数是否相等,但是关键词2不同,需要预先做近义词的判断。这里我感觉是BERT 的句对相似性任务问题,我现在的具体想法是这样:
(1)测绘专业词中人工标注出同义的词语对
(2)构建一个训练数据集,设置正样本(语义相似的短语对)和负样本(语义不相似的短语对),再将每一对短语输入 BERT 模型进行训练。BERT 会处理这两个句子,通过其[CLS]标记生成句对的表示。
(3)再把文档中提取到的副关键词全部放到模型中进行近义词判断,若是近义词则替换为其相应的短语(选出现频率更高的替换)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值