调研目的:如何使用第三方库快速对数据进行预训练,得到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. 少儿编程语言python-2019儿童编程语言大全
  2. windows下使用pip安装Python Web框架webpy
  3. 程序员到底需要什么样的需求文档?
  4. android封装全局调用的toast_Android实用的Toast工具类封装
  5. LeetCode 1641. 统计字典序元音字符串的数目(DP)
  6. Web端H.265播放器研发解密
  7. 【一天的作息时间】.....程序员们,好好看看
  8. Signal和Slot是同步的还是异步的
  9. CodeForces #549 Div.2 ELynyrd Skynyrd 倍增算法
  10. 大数据之-Hadoop3.x_MapReduce_WordCount案例_Debug调试---大数据之hadoop3.x工作笔记0092
  11. Java自动化测试框架-05 - 来给你的测试报告化个妆整个形 - (上)(详细教程)
  12. ML.NET 发布0.11版本:.NET中的机器学习,具有TensorFlow和ONNX的新功能
  13. SoyNet:大豆叶部病害分类(研究思路清晰)
  14. iOS 快捷下载和安装并使用CocoaPods
  15. 关于GIS/RS的一些网站和论坛
  16. 【读书笔记】浪潮之巅——公司史篇
  17. Veket Win7PE Win10PE多启动维护优盘制作
  18. date日期格式化 java,Java日期格式化常用方法
  19. 什么是超级浏览器?有什么作用?如何选择?
  20. vue 引入 element-ui 报 es2015 的错

热门文章

  1. 【转】本人常用资源整理
  2. 节能与环保杂志节能与环保杂志社节能与环保编辑部2023年第2期目录
  3. 【终极之战】基于Vue3+Vant3造一个网页版的类掘金app项目 - 个人主页
  4. Log4j写日志文件使用详解
  5. 公共场所的标志和说明英文表达100例
  6. 区块链+人工智能,重新定义世界
  7. 数据标注是什么,如何高效完成数据标注?
  8. stm32的语音识别_基于STM32的嵌入式语音识别模块设计实现
  9. 联想网站诊断分析(12.10)
  10. Scratch课程设计(四)