Nlp 查找目标和中心word2vec矩阵

Nlp 查找目标和中心word2vec矩阵,nlp,word2vec,word-embedding,Nlp,Word2vec,Word Embedding,我读过并听说(在斯坦福大学的CS224中)Word2Vec算法实际上训练了两个矩阵(即两组向量)。这两个矩阵是U和V集,一个用于作为目标的单词,另一个用于作为上下文的单词。最终输出是这两个的平均值。 我想问两个问题。一是: 为什么我们得到两个向量的平均值?为什么有意义?难道我们没有丢失一些信息吗 第二个问题是,使用预先训练好的word2vec模型,如何访问这两个矩阵?是否有任何可下载的word2vec包含这两组向量?我没有足够的资源来训练一个新的 谢谢转发的描述不太正确。传统上,从word2

我读过并听说(在斯坦福大学的CS224中)Word2Vec算法实际上训练了两个矩阵(即两组向量)。这两个矩阵是U和V集,一个用于作为目标的单词,另一个用于作为上下文的单词。最终输出是这两个的平均值。 我想问两个问题。一是:

  • 为什么我们得到两个向量的平均值?为什么有意义?难道我们没有丢失一些信息吗

  • 第二个问题是,使用预先训练好的word2vec模型,如何访问这两个矩阵?是否有任何可下载的word2vec包含这两组向量?我没有足够的资源来训练一个新的


谢谢

转发的描述不太正确。传统上,从word2vec模型中检索的单词向量来自“投影矩阵”,该矩阵将单个单词转换为适合浅层神经网络的适当大小的输入向量

(您可以将投影矩阵看作是将一个热编码转换为该单词的密集嵌入,但库通常通过字典查找来实现这一点——例如:“对于这个单词标记,我应该参考哪一行向量矩阵?”)

还有另一个权重矩阵指向模型的输出节点,其解释根据训练模式而变化。在负采样的常见默认情况下,每个已知单词有一个节点,因此您也可以将此矩阵解释为每个单词有一个向量。(在分层softmax模式下,已知单词不会编码为单个输出节点,因此很难解释该矩阵与单个单词的关系。)

然而,图书馆很少直接提供每个单词的第二个向量。最常见的是,单词向量被认为是从投影矩阵中经过训练的向上输入向量。例如,Google最初发布的
word2vec.c
导出格式只保存了这些向量,而他们发布的大型“GoogleNews”向量集只保存了这些向量。(另一个输出端表示没有平均值。)

一些工作,特别是Mitra et all of MicrosoftResearch(在“&associated writeups”中)的工作指出,这些输出端向量在某些应用程序中可能也有价值——但我没有看到太多其他使用这些向量的工作。(而且,即使在这项工作中,它们也不是用传统向量平均的,而是作为一个单独的选项用于某些目的。)

您必须查看正在使用的任何库的代码,以查看是否可以从其完整的培训后模型表示中获取这些代码。在Python
gensim
库中,负采样情况下的第二个矩阵是一个名为
syn1neg
的模型属性,位于原始
word2vec.c
的命名之后