内容简介:Word Embedding是文档词彙表中最受欢迎的表示之一。它能够捕获文档中单词的上下文,语义和句法相似性,与其他单词的关係等。什幺是 word embedding?鬆散地说,它们是特定单词的向量表示。话虽如此,接下来是我们如何生成它们?更重要的是,他们如何捕捉内文?
Word Embedding是文档词彙表中最受欢迎的表示之一。它能够捕获文档中单词的上下文,语义和句法相似性,与其他单词的关係等。
什幺是 word embedding?鬆散地说,它们是特定单词的向量表示。话虽如此,接下来是我们如何生成它们?更重要的是,他们如何捕捉内文?
Word2Vec是使用浅层神经网络学习word embeddings的最流行的技术之一。它由 Tomas Mikolov于2013年在谷歌开发 。
让我们逐一解决这个问题。
我们为什幺需要它们?
请考虑以下类似的句子: Have a good day and Have a great day. 它们几乎没有不同的含义。如果我们构建一个详尽的词彙表(让我们称之为V),它将具有V = {Have,a,good,great,day}。
现在,让我们为V中的每个单词创建一个 one-hot encoded vector。我们的 one-hot encoded vector的长度将等于V(= 5)的大小。除了表示词彙表中相应单词的索引处的元素外,我们将得到一个零向量。那个特定元素就是一个。下面的编码可以更好地解释这一点。
Have = [1,0,0,0,0]`; a=[0,1,0,0,0]` ; good=[0,0,1,0,0]` ; great=[0,0,0,1,0]` ; day=[0,0,0,0,1]` (` represents transpose)
如果我们试图想像这些编码,我们可以想到一个5维空间,其中每个单词佔据其中一个维度,与其余维度无关(沿其他维度没有投影)。这意味着 ‘great’和 ‘good’与 day’和 ‘have’不同,这是不正确的。
我们的目标是使具有相似内容的词语佔据紧密的空间位置。在数学上,这些向量之间角度的余弦应接近1,即角度接近0。
这是生成 分布式表示 的想法。直觉上,我们引入了一个词对其他词的 依赖性 dependence 。在这个词的上下文中的单词将获得这种 依赖 dependence 的更大份额 。 在一个 one hot encoding representations中,所有的字是 独立 彼此的 , 如前面提到的。
Word2Vec如何工作?
Word2Vec是一种构造这种embeddimg的方法。它可以使用两种方法(均涉及神经网络)获得:Skip Gram和Common Bag of Words(CBOW)
CBOW模型: 此方法将每个单词的上下文作为输入,并尝试预测与上下文对应的单词。考虑我们的例子: Have a great day.
让神经网络的输入成为单词, great. 请注意,我们在这里尝试使用单个上下文输入字来预测目标字( d ay )。 更具体地说,我们使用输入字的一个 one hot encoding,并测量与目标字( d ay)的一个one hot encoding相比的输出误差。 在预测目标词的过程中,我们学习了目标词的向量表示。
让我们深入了解实际架构。
输入或上下文字是大小为V的一个 one hot encoded vector。隐藏层包含N个神经元,输出又是V长度向量,其中元素是softmax值。
让我们得到右图中的术语:
– Wvn是将输入x映射到隐藏层的权重矩阵(V * N维矩阵)
–
W`nv是将隐藏层输出映射到最终输出层的权重矩阵(N * V维矩阵)
我不会进入数学。我们只是想知道发生了什幺。
隐藏层神经元只是将输入的加权和复製到下一层。没有像sigmoid,tanh或ReLU那样的激活。唯一的非线性是输出层中的softmax计算。
但是,上述模型使用单个上下文词来预测目标。我们可以使用多个上下文单词来做同样的事情。
上面的模型採用 C context words。当 Wvn 用于计算隐藏层输入时,我们对所有这些C上下文字输入 求 平均值。
因此,我们已经看到了如何使用上下文单词生成单词表示。但是还有一种方法可以做同样的事情。我们可以使用目标词(我们想要生成它们的表示)来预测上下文,并且在过程中,我们生成表示。另一个名为Skip Gram模型的变体就是这样做的。
Skip-Gram模型:
这看起来像多上下文CBOW模型刚刚被翻转。在某种程度上这是事实。
我们将目标词输入网络。该模型输出C概率分布。这是什幺意思?
对于每个上下文位置,我们得到V概率的C概率分布,每个单词一个。
在这两种情况下,网络都使用反向传播来学习。详细的数学可以在 这里 找到
谁赢?
两者各有利弊。根据Mikolov的说法,Skip Gram可以很好地处理少量数据,并且可以很好地代表罕见的单词。
另一方面,CBOW更快,并且对更频繁的单词具有更好的表示。
什幺在前面?
以上解释是非常基本的。它只是让您高度了解嵌入字是什幺以及Word2Vec如何工作。
还有很多东西。例如,为了使算法在计算上更有效,使用诸如Hierarchical Softmax和Skip-Gram Negative Sampling之类的技巧。所有这些都可以在 这里 找到。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hit Refresh
Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37
Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!