Vector Representations of Words -- TensorFlow官网word2vec教程翻译

本文为Tensorflow Tutorials 词向量教程的翻译版本,翻译过程即学习过程,同时也会在日后根据当前阶段的理解,重新翻阅更新。

在此教程中,我们借用Mikolov等人论文中提到的word2vec模型,此模型可将单词映射成特定的向量,这一过程被称为word embedding(词嵌入)

着重介绍


本教程着重介绍运用TensorFlow框架构建word2vec模型的有趣、实质性部分。

  • 我们从动机开始解释,为什么要把单词转换成向量。
  • 我们观察模型背后直觉的知识(intuition),以及它是如何被训练的(用一些数学方法来衡量)。
  • 我们还在TensorFlow中展示了该模型的一个简单实现。
  • 最后,我们来看看如何使这个简单版本的模型具有更好的延伸性。

我们将在后面的教程中介绍这些代码,但是如果您喜欢直接学习这些代码,请随意查看tensorflow/examples/tutorials/word2vec/word2vec_basic.py中的极简实现。这个基本的例子包含了下载数据对其进行训练以及结果可视化所需的代码。一旦您熟悉了基本版本的阅读和运行,您就可以学习models/tutorials/embedding/word2vec.py。这是一个更严谨的实现,它展示了一些更高级的TensorFlow原则,比如如何有效地使用线程将数据移动到文本模型中,如何在训练期间进行检查点等。

但是首先,让我们看看为什么要在最开始学习word embeddings(词嵌入)。如果你已熟悉词嵌入相关知识,可以随意跳过这一部分,只针对后面的细节进行学习。

动机:为何学习词嵌入


图像和音频处理系统使用丰富的高维数据集,这些数据集被编码为图像数据的单个原始像素强度的向量,或者音频数据的功率谱密度系数。对于目标或语音识别等任务来说,我们知道成功执行这些任务所需的所有信息都编码在数据中(因为人类可以直接从原始数据执行这些任务)。然而,自然语言处理系统一般将单词视为离散的原子符号,因此’cat’可以表示为Id537,’dog’表示为Id143。这些编码是任意的,并且没有为系统提供关于符号之间可能存在的关系的有用信息。这意味着,当该模型处理有关’狗’的数据时,它从已经学习过的’猫’身上可利用的信息非常少(尽管它们都是动物、四条腿的、宠物等)。将单词表示为惟一离散的标签会导致数据稀疏,这通常意味着我们可能需要更多的数据才能成功训练统计模型。使用向量表示可以克服其中一些障碍。
这里写图片描述

向量空间模型(Vector Space Models)(VSMs)表示连续向量空间中的词(嵌入),其中语义相似的词映射到附近的点(‘彼此嵌入在一起’)。VSMs在NLP领域有着悠久而丰富的历史,但所有的方法都从某种程度上依赖于分布假设(Distributed Hypothesis)——即出现在相同上下文中的单词具有相同的语义。利用这一原理方法可以分为两类:基于计数的方法(如潜在语义分析(Latent Semantic Analysis))和预测方法(如神经概率语言模型(Neural Probability Language Models))。

Baroni等人更详细地阐述了它们的区别,但简而言之:基于计数的方法计算某个单词与相邻单词在大型文本语料库中共存的频率的统计数据,然后将这些统计数据映射到每个单词的一个小而密集的向量。预测模型直接根据学习到的小而密集的嵌入向量(考虑到模型的参数)来预测邻居的单词。

Word2vec是从原始文本中学习词嵌入的一种特别有效的计算预测模型。它有两种风格,连续的词袋模型(CBOW)和Skip-Gram模型(Mikolov等人的3.1和3.2节)。在算法上,这些模型是相似的:CBOW从源上下文单词(‘the cat sit on the’)预测目标词(‘mat’),而skip-gram正好相反,从目标单词预测源上下文单词。这种倒置看起来似乎是一种随意的选择,但从统计学上讲,它的效果是CBOW平滑了许多分布信息(通过将整个上下文视为一个观察结果)。在大多数情况下,这对于较小的数据集是有用的。然而,skip-gram将每个上下文目标对视为一个新的观察对象,当我们有更大的数据集时,这往往会做得更好。在本教程的其余部分中,我们将重点介绍skip-gram模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值