Word2Vec与上下文嵌入的区别及词嵌入上下文相关疑问
词嵌入与上下文嵌入的区别及细节解析
一、传统词嵌入(以Word2Vec为例)
- 你的理解没问题:这类算法拥有全局固定的词汇表,训练完成后,输入语料里的每个唯一单词都会映射到一个固定不变的嵌入向量,不管这个单词出现在什么语境中,输出的向量都是同一个。
- 关于“词嵌入如何考虑上下文”:Word2Vec是在训练阶段利用上下文来学习向量,具体分两种模式:
- CBOW模式:用目标单词的上下文单词预测中心词;
- Skip-Gram模式:用中心词预测周围的上下文单词。
但训练完成后,每个单词的向量就固定下来了——比如“苹果”在“苹果发布新手机”和“我爱吃苹果”这两个语境里,Word2Vec输出的是完全相同的向量,没法区分它的不同词义。
二、上下文嵌入(以BERT、GPT为例)
- 这类算法没有全局固定的单词向量,同一个单词在不同语境下会生成完全不同的嵌入向量。它会根据当前输入的整个序列上下文,动态计算每个单词的语义向量,能精准捕捉语境带来的词义变化——比如刚才的“苹果”,在科技语境和饮食语境里的向量会有明显差异,完美解决一词多义的问题。
- 你提到的“考虑文档中所有单词的序列来学习序列级语义”是准确的,更核心的点是:它在训练和推理阶段都会全程依赖上下文,而不是只在训练时用一次。
三、核心差异总结
- 向量属性:传统词嵌入是静态固定向量;上下文嵌入是动态语境依赖向量。
- 上下文利用时机:传统词嵌入仅在训练阶段用上下文学习向量,推理时完全不考虑当前语境;上下文嵌入从训练到推理全程结合上下文生成向量。
- 歧义处理能力:传统词嵌入无法区分一词多义;上下文嵌入能精准适配不同语境的词义。
内容的提问来源于stack exchange,提问作者tovijayak
相关产品推荐
相关产品推荐

