文章目录

  • 题目
  • 关键点
    • Q1: 选取谁做[MASK]
    • Q2:如何实现[MASK]
    • Q3: 为什么自己训练的模型loss不会下降

题目

关于使用[MASK]做完形填空时需要注意的点

关键点

Q1: 选取谁做[MASK]

A:关于这个问题取决于语料库中的每句话的平均长度

比如我在glue【sst2】中就对整个语料库中的所有句子进行了筛选【单词长度大于10】,取中选了第5个单词,又因为第一个token是[cls]所以input_ids[:,5],其实是选择了第四个单词

Q2:如何实现[MASK]

A:因为bert中的编码是根据每一个单词进行编码的,所以我们只需要取到对应单词的encode编码并将它变为[MASK]

step1:先取出index位置的encode编码

labels = input_ids[:,index].reshape(-1).clone() # [batch_size]

这里解释一下为什么要用clone(),原因是单纯使用reshape会破坏input_ids的结构,它是创建了一个新的指向数据的指针,两者还是共享一份数据,所以clone的作用在于重新创建,开辟一块心得内存空间存储。

step2: 将对应的index位置变为[MASK]

input_ids[:,index] = tokenizer.get_vocab()[tokenizer.mask_token]

Q3: 为什么自己训练的模型loss不会下降

A:我一开始也遇到这个问题了,后来看了别人的经验是nn.Linear(bias=False),当对Linear函数里的偏置矩阵进行归0后,会发现loss开始下降。

  • 另一个可能是因为BertModel比较难训练,当我该用AutoModelForMaskedLM时,模型很快就能收敛

关于使用[MASK]做完形填空时需要注意的点相关推荐

  1. MaskGAN:谷歌大脑让AI学做完形填空的新尝试

    岳排槐 发自 凹非寺 又见一篇神标题论文. 来一起感受一下. MaskGAN: Better Text Generation via Filling in the __ 这又是什么鬼?标题里竟然还有需 ...

  2. NLP(三十九)使用keras-bert实现完形填空及简单的文本纠错功能

      在之前的系列文章中,笔者介绍了如何使用keras-bert来调用BERT模型,实现文本多分类,文本多标签分类以及序列标注任务,文章如下: NLP(三十四)使用keras-bert实现序列标注任务 ...

  3. Unsupervised Question Answering by Cloze Translation 通过完形填空翻译的无监督的问答

    Unsupervised Question Answering by Cloze Translation 通过完形填空翻译的无监督的问答 文章目录 Unsupervised Question Answ ...

  4. NLP-阅读理解:“阅读理解”综述(Machine Reading Comprehension, MRC)【完形填空、多项选择、抽取式(答案片段抽取)、生成式(自由作答)】《机器阅读理解数据集》

    <原始论文:Neural Machine Reading Comprehension: Methods and Trends> 一.阅读理解概述 所谓的机器阅读理解(Machine Rea ...

  5. 学科分类号4个空都填什么_高中英语完形填空的5个解题小技巧,大家都在用

    高中英语考试哪一个版块难度比较高?相信很多同学都会不约而同地认为是完形填空,完形填空分值比较高,20个空,江苏卷有20分,全国卷有30分,对文章分析能力和综合能力要求比较高.今天小星就来给大家支支招, ...

  6. 利用“bert模型”预测英语“完形填空”答案

    被课程大作业逼着学习了解了一下bert,转念一想,这不是正好用来解答英语完形填空作业吗,因此有了以下代码: 首先我们导入会用到的库啊,pytorch_pretrained_bert这个库我是第一次用啊 ...

  7. 【Pytorch神经网络实战案例】33 使用BERT模型实现完形填空任务

    1 案例描述 案例:加载Transformers库中的BERT模型,并用它实现完形填空任务,即预测一个句子中缺失的单词. 2 代码实现:使用BERT模型实现完形填空任务 2.1 代码实现:载入词表,并 ...

  8. 2010年中考英语复习:熟记固定词组做好完形填空

    完形填空体现学生综合运用英语语言的能力,集阅读理解与语言运用考查于一体.一般学生对所填的词没有把握,容易产生畏惧心理.   完形填空体现学生综合运用英语语言的能力,集阅读理解与语言运用考查于一体.一般 ...

  9. “完形填空”五步解题法

    中考英语试题中的"完形填空"目前难度并不大,但是在初中阶段养成良好的解题习惯不仅为英语学习奠定一定基础,也为升入高中学习打下一定的阅读基本功. 现将五步解题法教给大家.经常操练,可 ...

最新文章

  1. 本蒟蒻对于二分图一些定理的理解
  2. JQuery中隐式迭代和each的区别(通过反选功能解析)
  3. Nutch爬虫解决页面相对路径问题
  4. mysql字段使用timestamp类型和默认值CURRENT_TIMESTAMP表示默认为时间,类似mssql的getdate()功能;字段自增...
  5. React绑定this的三种方式
  6. C# WinForm程序退出的方法
  7. ORACLE 12C采坑之 ORA-12541:TNS:无监听程序
  8. 云吟职中计算机老师,夹江县云吟职业中学校018招生简介
  9. 训练日志 2018.9.8
  10. nfs需要开通什么端口_开通微信小程序直播需要准备什么?
  11. vue-cli脚手架下,assets中的图片路径使用变量?
  12. 在html5中 空标签可以不写,HTML5中标签之间尽量不要加enter或者空格
  13. abap中读取excel中不同的sheet数据_Python 如何将数据写入Excel的不同或同一个工作簿中...
  14. 物联网开发语言的探讨
  15. VMware虚拟机XP系统安装教程
  16. Sallen-Key 低通滤波器设计过程
  17. pandas DatetimeIndex indexing
  18. 数据标注员需要专业系统的学习么?
  19. 路由器php系统时间设置时间设置时间设置,4G工业路由器系统设置与时间密码设置...
  20. OpenCV各模块函数使用实例(5)--特征检测(Feature Detection)

热门文章

  1. 图:国行HTC 8X修改市场区域
  2. 如何将m4v视频格式快速转换成mp4视频呢
  3. TheFourthJavaText
  4. font-family、font-style、font-weight、font-variant的区别「In CSS」
  5. android x86 安装it,Android X86 虚拟机安装手册
  6. 在 C++ 中与 QML 对象交互
  7. iOS-OC-自定义融云IM聊天界面,键盘收回去输入工具栏下去
  8. 一生应该必看的20个故事
  9. C语言 扑克牌小游戏
  10. python正则表达式替换excel_在 Excel 中使用正则表达式进行查找与替换