首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >word2vec或skip-gram模型如何将单词转换为向量?

word2vec或skip-gram模型如何将单词转换为向量?
EN

Stack Overflow用户
提问于 2015-09-08 20:46:46
回答 4查看 7.1K关注 0票数 16

我已经阅读了很多关于NLP的论文,并遇到了许多模型。我得到了SVD模型并将其表示为2-D,但我仍然不知道如何通过为word2vec/skip-gram模型提供语料库来生成单词向量?它是否也是每个单词的共现矩阵表示?你能举一个语料库的例子来解释一下吗:

代码语言:javascript
复制
Hello, my name is John.
John works in Google.
Google has the best search engine. 

基本上,skip gram是如何将John转换为向量的?

EN

回答 4

Stack Overflow用户

发布于 2015-09-13 02:09:12

我认为你需要阅读一篇关于培训过程的论文。向量的值基本上是训练好的神经网络的节点值。

我试着阅读了the original paper,但我认为欣荣的论文"word2vec Parameter Learning Explained"有更详细的解释。

票数 10
EN

Stack Overflow用户

发布于 2016-06-01 04:52:36

通过使用神经网络的Autoencoding示例,可以很容易地理解主要概念。您训练神经网络,使其通过较小的中间层将信息从输入层传递到输出层。

在传统的自动编码器中,您有一个大小为N的输入向量,一个长度为M

在成功完成训练后,您将看到,将信息从输入层传输到输出层的神经网络进行了自我调整,以便每个输入单元在中间层具有对应的向量表示。

简化一点,在word2vec的上下文中,您的输入和输出向量的工作方式大致相同,只是在您提交给网络的示例中,输入层中打开的单元与输出层中打开的单元不同。

实际上,您是在训练网络,从语料库中挑选附近(不一定相邻)的单词对,并将它们提交给网络。

输入和输出向量的大小等于您提供给网络的词汇量的大小。

您的输入向量只打开了一个单元(对应于所选对中的第一个单词),输出向量打开了一个单元(对应于所选对中的第二个单词)。

票数 9
EN

Stack Overflow用户

发布于 2017-02-17 02:42:42

对于当前的读者来说,他们可能还想知道“单词向量到底意味着什么”,就像当时的OP一样:正如在http://cs224d.stanford.edu/lecture_notes/LectureNotes1.pdf中所描述的那样,单词向量的维度是n,而n“是定义我们嵌入空间大小的任意大小”。也就是说,这个单词向量没有任何具体的含义。这只是这个词可能具有的某些特性的抽象表示,我们可以用它来区分单词。

实际上,为了直接回答“单词如何转换为向量表示”的原始问题,单词的向量嵌入的值在初始化时通常只是随机化的,并改进了逐次迭代。

这在深度学习/神经网络中很常见,在深度学习/神经网络中,自己创建网络的人通常不太了解这些值到底代表什么。网络本身被认为是通过学习逐渐弄清楚这些价值的。它们只是抽象地表示一些东西,并区分一些东西。AlphaGo就是一个例子,在这种情况下,DeepMind团队不可能解释向量中的每个值代表什么。它就是这样的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32458269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档