案例库 · 研发与科研 · 技术决策 · 2013
word2vec 把词义变成可加可减的向量
Mikolov 的 skip-gram 模型从原始文本学习稠密词向量,使得「国王 - 男人 + 女人」的结果落在「女王」附近。
解法
2013年1月,Google 的 Tomas Mikolov 和同事提出了两种架构——CBOW 和 skip-gram——用来从海量文本中学习连续的词向量。他们的目标是取代独热编码,那种编码把每个词当作互不相关的维度。
这些模型极其简单:一个隐藏层学会从上下文预测当前词,或者从当前词预测上下文。由于在数十亿词上训练,每个词被压缩成一个小而稠密的向量,分布相似性就变成了几何上的邻近。
论文报告了在词相似性测试上的巨大精度提升,而计算成本低得多,并且展示了向量运算能捕捉关系:「国王」的向量减去「男人」加上「女人」,结果最接近「女王」。在16亿词的数据集上训练,用时不到一天。
生效的原因
- 预测迫使含义压入一个紧凑向量
- 相似上下文收敛到邻近点
- 向量偏移编码了类比关系,比如国王到女王
- 在16亿词上训练不到一天
取得的成效预测邻居;含义变成几何神来之笔
可借鉴之处
不要为百万词手工设计特征——设定一个预测任务,其解决方案必须压缩含义,然后让梯度下降找到几何结构。
后续进展
词向量成为自然语言模型的标准输入表示,word2vec 的技巧——下采样、负采样、短语向量——在后续论文《单词和短语的分布式表示》中得到扩展。嵌入的思想后来影响了 GloVe、BERT 和 transformer 时代。
资料来源
- Efficient Estimation of Word Representations in Vector Space
- Distributed Representations of Words and Phrases and their Compositionality
发现哪里写错了?告诉我们。