Chapter 09
2.2.1. Word2Vec:序列建模的理论基础
2.2.1. Word2Vec:序列建模的理论基础¶
Word2Vec (Mikolov et al., 2013) 的成功建立在一个简单而深刻的假设之上:在相似语境中出现的词语往往具有相似的含义。通过分析海量文本中词语的共现模式,我们可以为每个词学习一个稠密的向量表示,使得语义相近的词在向量空间中距离更近。
Word2Vec主要包含两种模型架构:Skip-Gram和CBOW(Continuous Bag of Words)。Skip-Gram模型通过给定的中心词来预测其周围的上下文词,而CBOW模型则相反,通过上下文词来预测中心词。在推荐系统中,Skip-Gram模型由于其更好的性能表现而被更广泛地采用。
2.2.1.1. Skip-Gram模型详解¶
图2.2.1 Word2Vec Skip-Gram模型示意图¶
在Skip-Gram模型中,给定文本序列中位置(t)的中心词(w_t),模型的目标是最大化其上下文窗口内所有词语的出现概率。具体而言,对于窗口大小为(m)的情况,模型要预测(w_{t-m}, w_{t-m+1}, \ldots, w_{t-1}, w_{t+1}, \ldots, w_{t+m})这些上下文词的概率。
中心词(w_t)预测上下文词(w_{t+j})的条件概率定义为:
(2.2.1)¶[P(w_{t+j} | w_t) = \frac{e^{v_{w_{t+j}}^T v_{w_t}}}{\sum_{k=1}^{|V|} e^{v_{w_k}^T v_{w_t}}}] 其中(v_{w_i})表示词(w_i)的向量表示,(V)是词汇表。这个softmax公式确保了所有词的概率之和为1,而分子中的内积(v_{w_{t+j}}^T v_{w_t})衡量了中心词与上下文词的相似度。
2.2.1.2. 负采样优化¶
直接计算上述softmax的分母需要遍历整个词汇表,在实际应用中计算代价过高。为了解决这个问题,Word2Vec采用了负采样(Negative Sampling)技术。这种方法将原本的多分类问题转化为多个二分类问题:
(2.2.2)¶[\log \sigma(v_{w_{t+j}}^T v_{w_t}) + \sum_{i=1}^{k} \mathbb{E}{w_i \sim P_n(w)} \log \sigma(-v{w_i}^T v_{w_t})] 其中(\sigma(x) = \frac{1}{1 + e^{-x}})是sigmoid函数,(k)是负样本数量,(P_n(w))是负采样分布。负采样的直观解释是:对于真实的词对,我们希望增加它们的相似度;对于随机采样的负样本词对,我们希望降低它们的相似度。
这种优化策略不仅大幅提升了训练效率,还为后续推荐系统中的模型训练提供了重要的技术范式。当我们将这一思想迁移到推荐领域时,“词语”变成了“物品”,“句子”变成了“用户行为序列”,但核心的序列建模思想保持不变。
Table Of Contents
-
2.2.1. Word2Vec:序列建模的理论基础 2.2.1.1. Skip-Gram模型详解
-
2.2.1.2. 负采样优化
codePrevious 2.2. I2I召回 Next 2.2.2. Item2Vec:最直接的迁移
