接下来我们要将学习词嵌入这一问题具体化,当你应用算法来学习词嵌入时,实际上是学习一个嵌入矩阵,我们来看一下这是什么意思。

假设我们字典含有10000个单词,有a,aaron等单词,可能还有一个未知词标记。我们要做的就是学习一个嵌入矩阵E,它将是一个300∗10000300*10000300∗10000的矩阵,如果加上未知词,就是300∗10001300*10001300∗10001维的矩阵。这个矩阵的各列代表的是字典中10000个不同的单词所代表的不同向量。

假设orange的单词编号是6257,代表字典中第6257个单词,我们用符号O6527O_{6527}O6527​来表示这个one-hot向量,这个向量除了在6257处为1,其余各处都为0。显然它是一个10000维的列向量,它只有一个位置为1,。

假如这个嵌入矩阵叫做矩阵E,注意如果用E去乘于orange的one-hot向量O6527O_{6527}O6527​,那么就会得到一个300维的向量,要计算这个向量的第一个元素,你需要做的是把E的第一行和O的整列相乘,不过O的所有元素都是0,只有6257位置上是1,最后你得到的这个向量的第一个元素就是矩阵中orange这一列下的数字,然后我们要计算这个向量的第二个元素,就是把这个O6527O_{6527}O6527​和矩阵E的第二行相乘。以此类推,直到你得到这个向量剩下的所有元素。

这就是为什么把矩阵E和这个one-hot向量相乘,最后得到的其实就是矩阵中某一个300维的列,对应于orange,它对应于e6257e_6257e6​257,这个符号是我们用来表示这个300∗1300*1300∗1嵌入向量的符号,它表示的单词是orange,推而广之,假如说有某个单词w,那么ewe_wew​就代表单词w的嵌入向量。推而广之,E∗OjE*O_jE∗Oj​,OjO_jOj​就是只有在第j个位置是1的one-hot向量,得到的结果就是eje_jej​,它表示的是字典中单词的嵌入向量。

这一节中我们的目标是学习一个嵌入矩阵E,在以后的学习中我们将随机地初始化矩阵E,然后使用梯度下降法来学习这个300∗10000300*10000300∗10000的矩阵中的各个参数。E乘于这个one-hot向量会得到嵌入向量。

再多说一点,当我们动手实现,用大量的矩阵和向量相乘来计算它,效率是很低下的。因为one-hot向量是一个维度非常高的向量,并且几乎所有元素都是0,所以矩阵向量相乘效率太低。因为我们要乘于一大堆0,所以在实践中你会使用一个专门的函数来单独查找矩阵E中的某一列,而不是用通常的矩阵乘法,但是在画示意图的时候这样写比较方便。

但是例如在keras中,就有一个嵌入层,然后我们用这个嵌入层更有效地从嵌入矩阵中提取出你需要的列,而不是对矩阵进行很慢很复杂的乘法运算。

自然语言处理 —— 2.4 嵌入矩阵相关推荐

  1. 吴恩达老师深度学习视频课笔记:自然语言处理与词嵌入

    Word representation:词嵌入(word embedding),是语言表示的一种方式,可以让算法自动理解一些类似的词比如男人.女人,国王.王后等.通过词嵌入的概念,即使你的模型标记的训 ...

  2. [DeeplearningAI笔记]序列模型2.3-2.5余弦相似度/嵌入矩阵/学习词嵌入

    5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.3词嵌入的特性 properties of word embedding Mikolov T, Yih W T, Zwe ...

  3. 深度学习笔记 第五门课 序列模型 第二周 自然语言处理与词嵌入

    本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...

  4. 05.序列模型 W2.自然语言处理与词嵌入

    文章目录 1. 词汇表征 2. 使用词嵌入 3. 词嵌入的特性 4. 嵌入矩阵 5. 学习词嵌入 6. Word2Vec 7. 负采样 8. GloVe 词向量 9. 情感分类 10. 词嵌入除偏 作 ...

  5. 第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings)

    第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 文章目录 第二周 自然语言处理与词嵌入(Natural Language ...

  6. 词嵌入矩阵(Word Embeddings)的生成

    词嵌入矩阵的学习 词嵌入 格式 词嵌入矩阵的训练 词嵌入 词嵌入矩阵是自然语言处理里非常重要的东西.它可以帮助我们快速的使用小样本建立一个不错的自然语言处理任务.那么他是如何生成的呢. 格式 词嵌入矩 ...

  7. 第二周:自然语言处理与词嵌入

    第二周:自然语言处理与词嵌入 2.1 词汇特征(Word Representation) 词嵌入 Word Embedding t-SNE 2.2 使用词嵌入 Name entity例子 步骤: 词向 ...

  8. 【吴恩达深度学习笔记】5.2自然语言处理与词嵌入Natural Language Processing and Word Embeddings

    第五门课 序列模型(Sequence Models) 2.1词汇表征(Word Representation) 词嵌入(word embeddings)是语言表示的一种方式,可以让算法自动的理解一些类 ...

  9. 吴恩达deeplearning.ai系列课程笔记+编程作业(14)序列模型(Sequence Models)-第二周 自然语言处理与词嵌入

    第五门课 序列模型(Sequence Models) 第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 文章目录 第五门课 ...

最新文章

  1. Maven安装与配置(最实用!!!)eclipse中配置maven
  2. 数据蒋堂 | JOIN简化 - 消除关联
  3. 50本精品前端开发书籍免费下载
  4. 计算机网络实验(华为eNSP模拟器)——第二章 VRP通用路由平台介绍
  5. JavaWeb之tomcat安装、配置与使用(一)
  6. Flutter中ListView加载图片数据的优化
  7. php web服务器部署,php – 如何配置apache web服务器以部署laravel 5
  8. zz Makefile学习教程: 跟我一起写 Makefile
  9. java class 文件
  10. 11-Container With Most Water
  11. python排版word文档 效率_5秒搞定Word排版,效率颠覆你的想象!
  12. MATLAB切换中文(无语言选项)
  13. 微信小程序体验版、正式版的发布流程
  14. 智能对话机器人产品之 IBM Watson 三年投资回报率 383% | Chatopera
  15. 表白生成器PHP源码,带自动生成的php表白程序 v1.0
  16. Windows下Qt+minGW+CMake+opencv配置--方法总结、文件分享与排错分享
  17. atcoder abc242 c题 1111gal password
  18. 智能电脑监控器,完美解决想监控别人在自己电脑上的一切操作。
  19. 底层网络知识详解:如何连接外网
  20. Janus源码分析(4)——信令交互过程

热门文章

  1. Serverless 实战 —— 前端也可以快速开发一个 Puppeteer 网页截图服务
  2. DreamFactory入门指南 - 第1章REST和DreamFactory简介
  3. 容器编排技术 -- Kubernetes 应用连接到 Service
  4. Dynamics 365中的应用程序介绍
  5. 设计模式 - 七大设计原则(一)
  6. 微信小程序入门三:轮播图
  7. Error: .eslintrc.js » eslint-config-standard: Environment key “es2021“ is unknown 版本兼容问题
  8. 【概念集锦】之 浅拷贝与深拷贝
  9. mock-api 使用手册
  10. 比特飞使用的是什么主题