译者:巩子惠

词嵌入是一种由真实数字组成的稠密向量,每个向量都代表了单词表里的一个单词。 在自然语言处理中,总会遇到这样的情况:特征全是单词!但是,如何在电脑上表述一个单词呢?你在电脑上存储的单词的ascii码,但是它仅仅代表单词怎么拼写,没有说明单词的内在含义(你也许能够从词缀中了解它的词性,或者从大小写中得到一些属性,但仅此而已)。 更重要的是,你能把这些ascii码字符组合成什么含义?当代表词汇表、输入数据是维的情况下,我们往往想从神经网络中得到数据密集的结果,但是结果只有很少的几个维度(例如,预测的数据只有几个标签时)。我们如何从大的数据维度空间中得到稍小一点的维度空间?

放弃使用ascii码字符的形式表示单词,换用one-hot encoding会怎么样了?好吧,这个单词就能这样表示:

其中,1 表示的独有位置,其他位置全是0。其他的词都类似,在另外不一样的位置有一个1代表它,其他位置也都是0。
这种表达除了占用巨大的空间外,还有个很大的缺陷。 它只是简单的把词看做一个单独个体,认为它们之间毫无联系。 我们真正想要的是能够表达单词之间一些相似的含义。为什么要这样做呢?来看下面的例子:

假如我们正在搭建一个语言模型,训练数据有下面一些句子:

  • The mathematician ran to the store.
  • The physicist ran to the store.
  • The mathematician solved the open problem.

现在又得到一个没见过的新句子:

  • The physicist solved the open problem.

我们的模型可能在这个句子上表现的还不错,但是,如果利用了下面两个事实,模型会表现更佳:

  • 我们发现数学家和物理学家在句子里有相同的作用,所以在某种程度上,他们有语义的联系。
  • 当看见物理学家在新句子中的作用时,我们发现数学家也有起着相同的作用。

然后我们就推测,物理学家在上面的句子里也类似于数学家吗? 这就是我们所指的相似性理念: 指的是语义相似,而不是简单的拼写相似。 这就是一种通过连接我们发现的和没发现的一些内容相似点、用于解决语言数据稀疏性的技术。 这个例子依赖于一个基本的语言假设: 那些在相似语句中出现的单词,在语义上也是相互关联的。 这就叫做 distributional hypothesis(分布式假设)。

Getting Dense Word Embeddings(密集词嵌入)

我们如何解决这个问题呢?也就是,怎么编码单词中的语义相似性? 也许我们会想到一些语义属性。 举个例子,我们发现数学家和物理学家都能跑, 所以也许可以给含有“能跑”语义属性的单词打高分,考虑一下其他的属性,想象一下你可能会在这些属性上给普通的单词打什么分。

阅读全文/改进本文

PyTorch 1.0 中文官方教程:词嵌入:编码形式的词汇语义相关推荐

  1. PyTorch 1.0 中文官方教程:使用 Amazon AWS 进行分布式训练

    译者:yportne13 作者: Nathan Inkawhich 编辑: Teng Li 在这篇教程中我们会展示如何使用 Amazon AWS 的两个多路GPU节点来设置,编写和运行 PyTorch ...

  2. PyTorch 1.0 中文官方教程:在 C++ 中加载 PYTORCH 模型

    译者:talengu PyTorch的主要接口为Python.虽然Python有动态编程和易于迭代的优势,但在很多情况下,正是Python的这些属性会带来不利.我们经常遇到的生产环境,要满足低延迟和严 ...

  3. PyTorch 1.0 中文官方教程:使用PyTorch编写分布式应用程序

    译者:firdameng 作者:Soumith Chintala 在这个简短的教程中,我们将讨论PyTorch的分布式软件包. 我们将看到如何设置分布式设置,使用不同的通信策略,并查看包的内部部分. ...

  4. PyTorch 1.0 中文官方教程:torch.nn 到底是什么?

    译者:lhc741 作者:Jeremy Howard,fast.ai.感谢Rachel Thomas和Francisco Ingham的帮助和支持. 我们推荐使用notebook来运行这个教程,而不是 ...

  5. PyTorch 1.0 中文官方教程:使用字符级别特征的 RNN 网络进行姓氏分类

    译者:hhxx2015 作者: Sean Robertson 我们将构建和训练字符级RNN来对单词进行分类. 字符级RNN将单词作为一系列字符读取,在每一步输出预测和"隐藏状态", ...

  6. PyTorch 1.0 中文官方教程:可选:数据并行处理

    译者:bat67 最新版会在译者仓库首先同步. 在这个教程里,我们将学习如何使用数据并行(DataParallel)来使用多GPU. PyTorch非常容易的就可以使用GPU,可以用如下方式把一个模型 ...

  7. PyTorch 1.0 中文官方教程:使用 PyTorch C++ 前端

    译者:solerji PyTorch C++ 前端 是PyTorch机器学习框架的一个纯C++接口.PyTorch的主接口是Python,Python API位于一个基础的C++代码库之上,提供了基本 ...

  8. PyTorch 1.0 中文官方教程:ONNX 现场演示教程

    译者:冯宝宝 本教程将向您展示如何使用ONNX将已从PyTorch导出的神经模型传输模型转换为Apple CoreML格式.这将允许您在Apple设备上轻松运行深度学习模型,在这种情况下,可以从摄像机 ...

  9. PyTorch 1.0 中文官方教程:聊天机器人教程

    译者:毛毛虫 作者: Matthew Inkawhich 在本教程中,我们探索了一个好玩和有趣的循环序列到序列的模型用例.我们将用 Cornell Movie-Dialogs Corpus处的电影剧本 ...

最新文章

  1. Js实现回车登录,监听回车事件
  2. 环境变量path误删解决办法
  3. php如何存到磁盘,php缓存----磁盘缓存
  4. python整人程序_python—做一个恶搞程序
  5. 时间频率科学数据管理控制与应用
  6. ASN.1编解码:asn1c-ORAN-E2AP
  7. 都是执行软件测试,差异点在那里
  8. python 遍历_Python遍历字典
  9. Sqlite3修复数据库
  10. python随机生成一个地区地址_利用Python生成随机的IP地址
  11. 牛逼!终于有人开源了一份基于SSM框架实现了支付宝支付功能的完整源代码......
  12. 《码出高效:Java 开发手册》技术笔记
  13. f检验matlab计算,方差分析F检验的步骤和判定
  14. 骄傲地宣布一件事:月入3万的目标还没实现
  15. STM32F446RET6产品描述
  16. Sony DRP-RP1装微信读书
  17. Android 判断当前设备是手机还是平板
  18. 及时总结工作中的经验是个人成长的关键
  19. 介绍芯片时为什么都要介绍制程?制程到底是什么?14nm、10nm?
  20. 美国站亚马逊UL2772测试报告16 CFR PART 1512自行车安全报告办理

热门文章

  1. python做单元测试_如何使用python做单元测试?
  2. 按键检测框架单击-双击-连按
  3. STM32官方固件库
  4. 快速修改数组的某个值_我用Python,3分钟快速实现,9种经典排序算法的可视化...
  5. 从程序员到项目经理(12):如何管理自己的时间(上)
  6. 前端怎么存token_学长:说说你理解的 Token
  7. linux svn 拉取代码_svn快速入门指南
  8. 【LeetCode】剑指 Offer 14. 剪绳子
  9. RocketMQ知识点整理
  10. Nginx反向代理其他使用方式