NLP《词汇表示方法(七)BERT》

今天学习超级火热的Bert模型来进行词向量的学习。
BERT(Bidirectional Encoder Representations from Transformers)是基于Transfomer机制的,大有替换Word2Vec的趋势。

原始词向量,诸如Word2Vec和GloVe的表示方法是无法解决多义词问题,基ELMO(基于RNN)可以解决多义词问题,但是无法并行化,深度也不会很深(无法提取更深层特征)。

一:Bert结构
Bert是利用Transformer模型的Encoder部分进行词向量训练的,至于有什么优点,那就是都继承于Transformer了。这也是我上一篇博文学习Transformer的原因,因为如果了解了Transformer的结构和计算过程,Bert也就自然不再话下了。

因此我就不多余画它的结构了,要是不熟悉的可以去看看Transformer模型的Encoder部分的结构。

1:可以并行化,放到GPU加速。
2:有attention机制在关注全局信息的同事,也能关注到有用关键部分信息
3:没有RNN结构的梯度消失,因此可以做到长期依赖。
4:可以设计更高层结构抽取深层特征,RNN顶多就几层。
5:跟ELMO一样,词向量也是包含有上下文信息的,能解决多义词问题。
在这里插入图片描述

我们知道Transformer模型的Encoder部分是由多个小的encoder组成的,一般设计会有几十层。

二:Bert的训练
它的训练很多方法,这里列举两个常用的方法。
方法一:句子中有15%的词汇被随机mask掉(你可以当做不存在,或者设置关注度为0)。交给如下模型去预测被mask掉的词汇是什么。对于中文来说,一般是字,英文是是词。
在这里插入图片描述

方法二:预测两个句子是否是上下逻辑通顺的,能被接在一起的。这里需要增加两个新的词汇< CLS>和< SEP>,分别表示分类符号,和连接符号。如下图所示:
比如是
在这里插入图片描述

或者是
在这里插入图片描述

如上训练方法后,模型就能理解这个上下文了。

三:Bert用于QA系统
如何使用Bert,我们一般都倾向于end-2-end的做法,训练词向量和下游任务是结合在一起的,一起训练。不分开。

这里我们还多学习点Bert用于问答系统的设计的内容,也可以叫做阅读理解题,输入是文章内容和问题句子,输出则是答案在文章的位置,这里有个限制就是答案的词汇必须是存在于文章,且连续的,模型如下。
文章D={d1,d2,d3,…,dn}
问题Q={q1,q2,q3,…,qm}
答案A={a_s, a_e},分别表示在D中单词的起始下标和结束下标。

比如:
文章D:I Love China, Because She is my homeland.
问题Q:Where are you from?
答案A:China
在这里插入图片描述

具体的QA Model如下所示:为了画图方便,我分开画图,真正计算的时候是一起计算的哈。
求起始位置
在这里插入图片描述

求结束位置
在这里插入图片描述
四:其他使用
1:情感分析和文章分类
输入单个句子,输出是其分类,做情感分析【星级,打分……】或者是文本分类【新闻,体育,金融……】,
在这里插入图片描述

2:词性分类
输入是单个句子,输出是每个单词的类别比如词性标注,单词类别,命名实体识别。
比如:
在这里插入图片描述

3:期望假设判断
输入两个句子,判断两个句子是不是逻辑通顺的。这个在训练的时候介绍过。给一个预期和一个假设,看看是否假设成立。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值