PyTorch 1.0 中文官方教程:词嵌入:编码形式的词汇语义
译者:巩子惠
词嵌入是一种由真实数字组成的稠密向量,每个向量都代表了单词表里的一个单词。 在自然语言处理中,总会遇到这样的情况:特征全是单词!但是,如何在电脑上表述一个单词呢?你在电脑上存储的单词的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 中文官方教程:词嵌入:编码形式的词汇语义相关推荐
- PyTorch 1.0 中文官方教程:使用 Amazon AWS 进行分布式训练
译者:yportne13 作者: Nathan Inkawhich 编辑: Teng Li 在这篇教程中我们会展示如何使用 Amazon AWS 的两个多路GPU节点来设置,编写和运行 PyTorch ...
- PyTorch 1.0 中文官方教程:在 C++ 中加载 PYTORCH 模型
译者:talengu PyTorch的主要接口为Python.虽然Python有动态编程和易于迭代的优势,但在很多情况下,正是Python的这些属性会带来不利.我们经常遇到的生产环境,要满足低延迟和严 ...
- PyTorch 1.0 中文官方教程:使用PyTorch编写分布式应用程序
译者:firdameng 作者:Soumith Chintala 在这个简短的教程中,我们将讨论PyTorch的分布式软件包. 我们将看到如何设置分布式设置,使用不同的通信策略,并查看包的内部部分. ...
- PyTorch 1.0 中文官方教程:torch.nn 到底是什么?
译者:lhc741 作者:Jeremy Howard,fast.ai.感谢Rachel Thomas和Francisco Ingham的帮助和支持. 我们推荐使用notebook来运行这个教程,而不是 ...
- PyTorch 1.0 中文官方教程:使用字符级别特征的 RNN 网络进行姓氏分类
译者:hhxx2015 作者: Sean Robertson 我们将构建和训练字符级RNN来对单词进行分类. 字符级RNN将单词作为一系列字符读取,在每一步输出预测和"隐藏状态", ...
- PyTorch 1.0 中文官方教程:可选:数据并行处理
译者:bat67 最新版会在译者仓库首先同步. 在这个教程里,我们将学习如何使用数据并行(DataParallel)来使用多GPU. PyTorch非常容易的就可以使用GPU,可以用如下方式把一个模型 ...
- PyTorch 1.0 中文官方教程:使用 PyTorch C++ 前端
译者:solerji PyTorch C++ 前端 是PyTorch机器学习框架的一个纯C++接口.PyTorch的主接口是Python,Python API位于一个基础的C++代码库之上,提供了基本 ...
- PyTorch 1.0 中文官方教程:ONNX 现场演示教程
译者:冯宝宝 本教程将向您展示如何使用ONNX将已从PyTorch导出的神经模型传输模型转换为Apple CoreML格式.这将允许您在Apple设备上轻松运行深度学习模型,在这种情况下,可以从摄像机 ...
- PyTorch 1.0 中文官方教程:聊天机器人教程
译者:毛毛虫 作者: Matthew Inkawhich 在本教程中,我们探索了一个好玩和有趣的循环序列到序列的模型用例.我们将用 Cornell Movie-Dialogs Corpus处的电影剧本 ...
最新文章
- Js实现回车登录,监听回车事件
- 环境变量path误删解决办法
- php如何存到磁盘,php缓存----磁盘缓存
- python整人程序_python—做一个恶搞程序
- 时间频率科学数据管理控制与应用
- ASN.1编解码:asn1c-ORAN-E2AP
- 都是执行软件测试,差异点在那里
- python 遍历_Python遍历字典
- Sqlite3修复数据库
- python随机生成一个地区地址_利用Python生成随机的IP地址
- 牛逼!终于有人开源了一份基于SSM框架实现了支付宝支付功能的完整源代码......
- 《码出高效:Java 开发手册》技术笔记
- f检验matlab计算,方差分析F检验的步骤和判定
- 骄傲地宣布一件事:月入3万的目标还没实现
- STM32F446RET6产品描述
- Sony DRP-RP1装微信读书
- Android 判断当前设备是手机还是平板
- 及时总结工作中的经验是个人成长的关键
- 介绍芯片时为什么都要介绍制程?制程到底是什么?14nm、10nm?
- 美国站亚马逊UL2772测试报告16 CFR PART 1512自行车安全报告办理