调研目的:如何使用第三方库快速对数据进行预训练,得到embedding

知乎一: 请问如何用nlp预训练模型做word embedding ,如bert怎么提取出embedding?

作者(香港大学)马东什么:
  不同预训练模型的embedding机制不一样,word2vec glove fasttext 都是直接查词得到embedding,bert 直接取最后一层的输出,elmo更灵活了 可以取embedding和lstm层的输出的平均 concat或者顶层lstm的输出。提取出embedding之后 将这些embedding与其它特征concat即可

作者Sirius:
  主流的BERT包,经典的是google-research/bert;另外,这个也很好用huggingface/transformers,是从pytorch-pretrained-bert进化过来的。BERT Word Embeddings Tutorial(英文)

作者天生smile
  超出我的理解能力,解释了源码。项目太复杂:实体识别NER、金融图谱塔建、seq2seq。但bert的没有代码。

作者风吹草地
  pytorch-pretrained-bert简单使用,没有训练,直接输入一句话,得到这句话的embedding。

作者iterate7
   bert进行embedding。BertModel.from_pretrained也是拿训练好的

作者captainqxy
  使用transformers从头训练Bert。pytorch版

知乎二: 为什么 Bert 的三个 Embedding 可以进行相加?

Token Embedding、Segment Embedding、Position Embedding的意义我已经清楚了,但是这三个向量为什么可以相加呢?相加后向量的大小和方向就变了,语义不就变了吗?

调研结果:

我的目的是为知识追踪的Question进行预训练,得到Question的embedding,充分表达Question的语义。我的训练集像NLP一样,一句句话。因为我的词不是中文,没有已经训练好的参数。只能从头开始训练。而且训练中文的bert模型都是几十层的,我这个小型数据集是不适合的。结果:手写实现一层Transformer的encoder。
理解了Transformer的话,其实就那几个部分。不必使用人家的第三方函数库。

不过走NLP方向,肯定也要熟悉怎么使用第三方库。
TensorFlow的话可以使用bert4keras苏剑林大神的,他还有自己的qq群
pytorch的话,就上面参考资料。

实验结果

知识追踪的语料,虽然是序列是question id,就好比人说的每句话,我们从序列中,希望的到question与Question之间的某些关系,相似的question的embedding距离较近。结果表明,训练的loss一直不降,维持在5~7左右。而且训练好的embedding还没skip-gram的好。经分析和推断
(1)question序列中,较远的题目没有很强的联系。
(2)question序列中,没有位置关系,因为他是从无向图graph中取样的。无向图取样比较随意。Q1-C1-Q2-C1-Q3-C1-Q2(元路径Q-C-Q的局限性)
(3)question之间的联系并没有中文中“我”跟“爱”的联系强。skip-gram就只用判断2个question是否相似。skip-gram有负样本,不用计算softmax。
(4)bert是预测mask掉的词,gpt是预测下一个词,哪个形式好呢?

如何使用bert做word embedding相关推荐

  1. 从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史

    本文可以任意转载,转载时请标明作者和出处. 张俊林 2018-11-11 (如果图片浏览有问题可以转至:知乎版本) Bert最近很火,应该是最近最火爆的AI进展,网上的评价很高,那么Bert值得这么高 ...

  2. 【深度学习】从Word Embedding到Bert模型

    Bert最近很火,应该是最近最火爆的AI进展,网上的评价很高,那么Bert值得这么高的评价吗?我个人判断是值得.那为什么会有这么高的评价呢?是因为它有重大的理论或者模型创新吗?其实并没有,从模型创新角 ...

  3. 从Word Embedding到Bert模型:自然语言处理中的预训练技术发展史

    转:https://zhuanlan.zhihu.com/p/49271699 作者:张俊林 专栏:深度学习前沿笔记 目录: 1.图像领域的预训练 2.Word Embedding考古史 3.从Wor ...

  4. 【发展史】自然语言处理中的预训练技术发展史—Word Embedding到Bert模型

    目录 自然语言处理中的预训练技术发展史-Word Embedding到Bert模型 1 图像领域的预训练 2 Word Embedding考古史 3 从Word Embedding到ELMO 4 从W ...

  5. 从Word Embedding到Bert模型---NLP中预训练发展史

    本文转自张俊林老师,希望加深记忆及理解. 本文的主题是自然语言处理中的预训练过程,会大致说下NLP中的预训练技术是一步一步如何发展到Bert模型的,从中可以很自然地看到Bert的思路是如何逐渐形成的, ...

  6. 【李宏毅机器学习】Unsupervised Learning - Word Embedding 无监督学习 - 词嵌入(p22) 学习笔记

    文章目录 Unsupervised Learning Word Embedding 用一个vector来表示一个word的几种方法 1-of-N Encoding Word Class Word Em ...

  7. RNN模型与NLP应用笔记(2):文本处理与词嵌入详解及完整代码实现(Word Embedding)

    一.写在前面 紧接着上一节,现在来讲文本处理的常见方式. 本文大部分内容参考了王树森老师的视频内容,再次感谢王树森老师和李沐老师的讲解视频. 目录 一.写在前面 二.引入 三.文本处理基本步骤详解 四 ...

  8. Word Embedding 学习笔记

    Word Embedding 学习笔记--GloVe 与 word2vec 完成日期:2019.02.25 文章目录 Word Embedding 学习笔记--GloVe 与 word2vec 一. ...

  9. 06_1.Pytorch中如何表示字符串、word embedding、One - hot、Embedding(Word2vec、BERT、Glove)【学习总结】

    1.6.1.如何表示字符串 1.6.1.1.word embedding 1.6.1.1.1.文本表示(Representation) 1.6.1.1.2.独热编码 | one-hot represe ...

最新文章

  1. 大话卷积神经网络CNN,小白也能看懂的深度学习算法教程,全程干货建议收藏!...
  2. iMeta期刊12名编委入选科睿唯安2021年度高被引学者
  3. 如何编写更好的SQL查询:终极指南-第二部分
  4. 迭代3:UC1,UC2的2.1 业务建模 2.2 UC2用例模型 2.3 UC2补充性规格说明
  5. “ yield”关键字有什么作用?
  6. Ubuntu18 搭建apache2+php5.6+mysql服务器
  7. 2019年暑假慈溪集训(更新ing)
  8. python flag 参数_flag_flagpython_js开关flag - 云+社区 - 腾讯云
  9. kettle使用_ETL工具(kettle)使用系列(二)
  10. Windows登录密码轻松破解
  11. android适配各种分辨率的问题
  12. windows库的创建和使用:静态库+动态库
  13. web前端开发流程图,118页Vue面试题总结,完整PDF
  14. 漂亮有创意的思维导图模板下载教程,教你思维导图怎么画
  15. JavaScript 实现全选,分组全选,列表折叠。
  16. 【论文解读】Stacked Hourglass Networks
  17. html文件做屏保win10,win10系统把屏保设置为桌面壁纸的处理方法
  18. Mac系统升级后,无法安装Cornerstone解决办法
  19. 八、量子纠缠状态的纯化协议及其应用
  20. 安装libjpeg库后提示libjpeg.so.8不存在(linux环境)

热门文章

  1. allegro制作通孔焊盘封装-flash热风焊盘-图文并茂的Allegro 通孔焊盘制作教程
  2. 51nod1462 树据结构
  3. 讲师征集令 | Apache DolphinScheduler Meetup分享嘉宾,期待你的议题和声音!
  4. matplotlib画图修改刻度线的粗细、刻度字体的大小以及标题字体的大小
  5. 电镀清洗水中提取黄金的方法?
  6. 电话机器人效果怎么样,电话机器人代理
  7. sql server之T-SQL语句创建数据库创建表
  8. 电子合同在什么情况下,法院不予认可
  9. 100万算大钱还是小钱?
  10. 【图论训练】天气晴朗的魔法【最小生成树】