单词向量的中心

问题描述 投票:0回答:1

我正在研究NLP,并把头放在穿过多层感知器的步骤中。由于向量是空间中的大小和方向,所以我很好奇单词向量的中心代表什么。在一个非常简单的向量中,我的词可能是21,-5。 0,0代表什么吗?如果不是,那么在训练模型后它可以代表什么吗?

如果我理解正确,一个以前从未出现过的单词将被赋予数字标识和M维向量。然后,此向量进入第一层,该第一层具有与维度一样多的节点,因此在这种情况下为M个节点。通过反向传播,可以更改权重,以使相似的单词在向量空间中“分组”在一起。 (所以这意味着单词向量本身永远不会从其初始随机值进行修改,对吧?)如果我在这里做出错误的假设,请指正。我将不胜感激。

tensorflow nlp vectorization word2vec dl4j
1个回答
0
投票

您可以从数字上将单词“向量”视为一点。它们全部都从原点([0.0, 0.0, 0.0, ..., 0.0])开始并不重要。

任何此类矢量的“中心”仅是其中点,它也是具有相同“方向性”且幅度为一半的矢量。 通常但并非总是,仅通过“余弦相似度”对字向量进行原始方向,not幅度的比较,这实质上是一个差角计算,而长度/大小。 (因此,cosine_similarity(a, b)将与cosine_similarity(a/2, b)cosine_similarity(a, b*4)等相同。)因此,您所询问的这种“中心” /半长实例通常在单词向量方面的意义不如在其他单词中向量模型。通常,只要您使用余弦相似度作为比较向量的主要方法,就不必将它们移到更靠近原点的位置。因此,在该框架中,起点实际上没有明显的含义。

有关幅度的注意事项:由word2vec训练创建的实际原始矢量实际上具有各种幅度。一些人已经观察到这些幅度有时与有趣的单词差异相关联—例如,高度多义的单词(具有多种不同的含义)通常比具有一种主要含义的单词的幅度更低–因为需要在替代上下文中“做一些有用的事情”在训练过程中将向量拖拉到极端之间,而使其更多地处于“中间”位置。而且,尽管逐字比较通常出于纯粹的角度余弦相似性而忽略这些幅度,但有时下游使用(例如文本分类)可能会更好地保持原始幅度。

关于起点的注意事项:Mu,Bhat和Viswanath撰写的至少一篇论文[All-but-the-Top: Simple and Effective Postprocessing for Word Representations]观察到,通常所有单词向量的“平均值”都不是起点,而是在一个方向上有明显的偏差–就我的风格理解而言,这种排序会使整个空间保持不平衡状态,即是否使用“所有角度”来表示含义的对比。 (此外,在我的实验中,这种不平衡的程度似乎取决于在负采样中使用了多少negative个示例。)他们发现,对向量进行后处理以使其更新,可以在某些任务上提高性能,但是我没有看到许多其他项目将其作为标准步骤。 (他们还建议进行其他一些后处理转换,以实质上“在最有价值的维度上增加对比度”。)

关于您的“ IIUC”,是的,单词是给定的起始向量-但是是随机的,然后在反复尝试每个训练示例之后反复通过反向传播微调对其进行不断调整,以使这些“输入词”向量作为尝试预测附近“目标/中心/输出”字词的神经网络的输入效果略好。调整网络的“内部” /“隐藏”权重,以及从本质上是“投影权重”的input vectors本身-从单个词汇表的单一表示形式“到” M个不同的内部隐藏形式-层节点。也就是说,每个“单词向量”本质上是神经网络内部权重的单词特定子集。

© www.soinside.com 2019 - 2024. All rights reserved.