用word2vec训练单词向量后,在将它们用于某些下游应用程序之前,将它们标准化会更好吗?即规范化它们的利弊是什么?
在相似的任务中,规范化稍微提高了我的系统性能。
—
keramat
用word2vec训练单词向量后,在将它们用于某些下游应用程序之前,将它们标准化会更好吗?即规范化它们的利弊是什么?
Answers:
当下游应用程序仅关心单词向量的方向时(例如,它们仅关注两个单词的余弦相似性),然后进行归一化,而忽略长度。
但是,如果下游应用程序能够(或需要)考虑更明智的方面,例如单词重要性或单词用法的一致性(请参见下文),那么规范化可能不是一个好主意。
摘自Levy等人(2015年,以及实际上有关词嵌入的大多数文献):
在将向量用于相似度计算之前将其标准化为单位长度,从而使余弦相似度和点积等效。
同样来自Wilson和Schakel,2015年:
词嵌入的大多数应用不是探索词向量本身,而是探索它们之间的关系以解决例如相似性和词关系任务。对于这些任务,发现使用归一化的字向量可以提高性能。因此,通常会忽略字向量长度。
规范化等同于丢失长度的概念。也就是说,一旦对单词向量进行了归一化,就忘记了它们在训练阶段之后的长度(范数,模数)。
但是,有时值得考虑单词向量的原始长度。
Schakel和Wilson,2015年发现了一些有关单词向量长度的有趣事实:
与在不同上下文中使用的相同频率的单词相比,在相似上下文中始终使用的单词将由更长的向量表示。
不仅方向,而且字向量的长度也携带重要的信息。
词向量长度与词频结合提供了一种有效的词义度量。