【问题标题】:Does adding a list of Word2Vec embeddings give a meaningful represenation?添加 Word2Vec 嵌入列表是否提供有意义的表示?
【发布时间】:2021-08-19 14:39:38
【问题描述】:
我正在使用预训练的 word2vec 模型 (word2vec-google-news-300) 来获取给定单词列表的嵌入。请注意,这不是我们在对句子进行标记后得到的单词列表,它只是描述给定图像的单词列表。
现在我想为整个列表获取一个向量表示。添加所有单个词嵌入有意义吗?还是我应该考虑平均?
另外,我希望向量具有恒定大小,因此不能选择连接嵌入。
如果有人能解释考虑上述任何一种方法背后的直觉,那将非常有帮助。
【问题讨论】:
标签:
nlp
word2vec
embedding
language-model
【解决方案1】:
平均是最典型的,当有人正在寻找一种超级简单的方法将词袋转换为单个固定长度的向量时。
你也可以尝试一个简单的总和。
但请注意,总和和平均值之间的主要区别在于平均值除以输入向量的数量。因此,它们都导致一个向量指向完全相同的“方向”,只是大小不同。并且,比较此类向量的最常用方法是余弦相似度,它忽略了幅度。因此,对于稍后比较向量的许多基于余弦相似度的方法,sum-vs-average 将给出相同的结果。
另一方面,如果您以其他方式比较向量,例如通过欧几里德距离,或将它们输入其他分类器,sum-vs-average 可能会有所不同。
同样,有些人可能会在用于任何比较之前尝试对所有向量进行单位长度归一化。在这样的使用前标准化之后,那么:
- 欧几里得距离(从小到大)和余弦相似度(从大到小)将生成相同的最近邻列表
- average-vs-sum 将导致不同的结束方向 - 因为单位归一化会提高一些向量的大小,并降低其他向量的大小,从而改变它们对平均值的相对贡献。
你应该做什么?没有普遍正确的答案 - 根据您的数据集和目标,以及您的下游步骤使用向量的方式,不同的选择可能会在您执行的任何最终质量/可取性评估中提供轻微的优势。因此,尝试几种不同的排列以及不同的其他参数是很常见的。
分别:
-
GoogleNews 向量早在 2013 年左右就在新闻文章上进行了训练;因此,它们的词义可能不是图像标记任务的最佳选择。如果您有足够的数据,或者可以收集数据,那么训练您自己的词向量可能会产生更好的结果。 (使用特定领域的数据以及根据您自己的评估调整训练参数的能力都可以带来好处 - 特别是当您的领域是独一无二的,或者标记不是典型的自然语言句子时。)
- 还有其他方法可以为 run-of-tokens 创建单个汇总向量,而不仅仅是 arithmatical-combo-of-word-vectors。一个是 word2vec 算法的一个小变种,通常名称为
Doc2Vec(或“段落向量”)——它也可能值得探索。
- 还有一些方法可以比较令牌袋,利用词向量,不将令牌袋折叠成单个固定长度的向量 1st - 虽然它们'计算成本更高,有时比简单的余弦相似度提供更好的成对相似度/距离结果。一种这样的替代比较称为“Word Mover 的距离” - 在某些时候,您可能也想尝试一下。