PMI 衡量两个对象的共现,比“它们各自出现得多,所以碰巧共现”高出多少。 它把语料计数变成关联分数,也提供了理解 SGNS 词向量的一条数学路径。
“SGNS 隐式分解平移后的 PMI 矩阵”有明确条件:先看一个可手算的计数例子,再推导它在哪一步成立。
从共现次数到关联强度
假设按指定窗口提取出 个有效训练词对。其中中心词“道路”出现 100 次,上下文“城市”出现 200 次,两者共同构成词对 40 次。这些都是词对集合上的计数,不是直接拿原始文本的词数混算。
于是 、、。若二者独立,预期联合概率为 ;实际是它的两倍。
PMI 是 pointwise mutual information,通常译作点互信息。正值表示超出独立基准的共现,零表示恰好符合该基准,负值表示低于基准。这里用自然对数,单位为 nat;它不是因果效应,也不是词义相同的证明。罕见词对的估计还可能因少量计数而很不稳定。
SGNS 对一个词对究竟偏好什么分数
先把点积 当作可以单独调整的自由变量。设正词对计数为 ,中心词计数为 ,每个正样本配 个噪声,噪声分布为 。这个词对的期望噪声次数为 。
在 时,SGNS 对这一项最大化
求导并令其为零。
它衡量的其实是数据次数与期望噪声次数的比值。把计数换成概率,可得到
这里沿 SGNS 的期望目标作代数推导。Levy 与 Goldberg 的经典分析采用上下文边际作为噪声分布,并明确讨论了这一设定与实际平滑采样的差别。(Levy & Goldberg, 2014)
为什么不能漏掉噪声分布的条件
只有当 时,最后一项才消失。
这时所有词对确实都平移同一个 。但若采用词频的 次幂平滑,一般有 ,修正项会随上下文词变化。此处 还必须是相同有效训练词对集合的边际,不能不经核对就等同于采样器使用的原始词频。
回到教学例子,令 、。有 、,所以
PMI 为正,SGNS 偏好的自由点积仍可能为负。 原因是该词对的数据次数虽然高于独立共现基准,却低于五倍采样下的期望噪声次数。这个分数不能直接当成“语义相关度大于零或小于零”的判断。
“隐式分解”与实际低维训练之间还差什么
把全部中心词与上下文词排列起来,点积组成矩阵 。若词表大小为 、向量维度为 ,这个矩阵的秩最多为 。
上面的逐项最优值允许每个 独立变化;实际低维词向量则共享 和 ,一个词的更新会影响整行或整列,通常无法同时满足所有独立最优值。因此实际 SGNS 可以从低秩、带计数权重的逻辑损失拟合理解,不能说每次训练都会精确恢复那个矩阵。(Levy & Goldberg, 2014)
推导还有两个边界:这里使用的是噪声采样的期望,不是每批有限随机样本的精确次数;若 而 ,该自由项的最优值趋向负无穷,不能直接当作普通有限矩阵元素。
SPPMI 加 SVD 是另一条显式路线
为得到可处理的关联矩阵,可以将平移后的 PMI 在零处截断,构造 SPPMI(shifted positive PMI)。
再对 做截断奇异值分解,例如取前 个奇异值及对应向量。
、 分别给出两侧方向, 保存奇异值。可用 等约定构造词表示,但要说明奇异值怎样分配到两侧。
这是一种显式统计后分解的方案。截断、权重、维度和分解准则都已成为选择;标准截断 SVD 对应矩阵平方误差的低秩近似,而 SGNS 优化的是上面的加权逻辑目标。二者相关,却不是同一个优化算法,也不保证给出相同的向量。(Levy & Goldberg, 2014)
怎样用这个视角读其他方法
GloVe 显式拟合对数共现计数,并加入偏置与权重;SGNS 从词对采样出发,却能在理想条件下导出关联矩阵。它们的联系在于如何利用共现统计,差别则在拟合对象与损失。
PCA 与降维可视化 也会用到低维表示,但词向量训练与“把已有向量投影为二维”不是同一任务。返回 词向量与表示学习专题。