在 SVD 之前在单词共现矩阵上应用逐点互信息的优缺点是什么?

机器算法验证 自然语言 svd 互信息 词嵌入 语言模型
2022-02-02 04:02:36

生成词嵌入的一种方法如下镜像):

  1. 获取语​​料库,例如“我喜欢飞行。我喜欢 NLP。我喜欢深度学习。”
  2. 从中构建单词共现矩阵:

在此处输入图像描述

  1. 执行 SVDX,并保持第一个kU 的列。

在此处输入图像描述

子矩阵的每一行U1:|V|,1:k将是该行表示的单词的单词嵌入(第 1 行 = “I”,第 2 行 = “like”,...)。

在第 2 步和第 3 步之间,有时会应用逐点互信息(例如A. Herbelot 和 EM Vecchi。2015。构建共享世界:将分布映射到模型理论语义空间。在 2015 年自然语言处理经验方法会议论文集中. 葡萄牙里斯本.)。

在 SVD 之前在单词共现矩阵上应用逐点互信息的优缺点是什么?

1个回答

根据Dan Jurafsky 和 ​​James H. Martin的书:

“然而,事实证明,简单的频率并不是衡量单词之间关联的最佳方法。一个问题是原始频率非常偏斜,并且没有很强的辨别力。如果我们想知道杏和菠萝共享什么样的上下文但不是通过数字和信息,我们不会很好地区分诸如 the、it 或 they 之类的词,这些词经常与各种词一起出现,并且不能提供任何特定词的信息。”

有时我们用正的逐点互信息替换这个原始频率:

PPMI(w,c)=max(log2P(w,c)P(w)P(c),0)

PMI 本身显示了观察单词 w 与上下文单词 C 相比独立观察它们的可能性有多大。在 PPMI 中,我们只保留 PMI 的正值。让我们考虑一下 PMI 何时为 + 或 - 以及为什么我们只保留负数:

PMI 正值是什么意思?

  • P(w,c)(P(w)P(c))>1

  • P(w,c)>(P(w)P(c))

  • 它发生在wc像踢球和球一样,相互发生比单独发生更多。我们想保留这些!

负 PMI 是什么意思?

  • P(w,c)(P(w)P(c))<1

  • P(w,c)<(P(w)P(c))

  • 这意味着两者wc或其中之一倾向于单独发生!由于数据有限,它可能表明统计数据不可靠,否则它会显示无信息的共现,例如“the”和“ball”。(“the”也出现在大多数单词中。)

PMI 或特别是 PPMI 帮助我们通过信息共现来捕捉此类情况。