词的表达

  1. 给定语料库 ,其中包含 篇文档 。

    • 每篇文档 包含单词序列 ,其中 表示单词的编号:

      • 表示第 篇文档
      • 表示文档中的第 个单词
      • 表示第 篇文档包含 个单词
      • 表示第 篇文档的第 个单词为
    • 所有的单词来自于词汇表 ,其中 表示词汇表的大小。

    词的表达任务要解决的问题是:如何表示每个单词

  2. 最简单的表示方式是one-hot 编码。对于词汇表中第 个单词 ,将其表示为:

    即第 位取值为1,剩余位取值为0

    这种表示方式有两个主要缺点:

    • 无法表达单词之间的关系。对于任意一对单词 ,其向量距离均为
    • 向量维度过高。对于中文词汇表,其大小可能达到数十万,因此one-hot 向量的维度也在数十万维。这对于存储、计算都消耗过大。
  3. BOW:Bag of Words:词在文档中不考虑顺序,这称作词袋模型。

一、向量空间模型 VSM

  1. 向量空间模型主要用于文档的表达。

  2. 向量空间模型假设单词和单词之间是相互独立的,每个单词代表一个独立的语义单元。实际上,该假设很难满足:

    • 文档中的单词和单词之间存在一定关联性,向量空间模型忽略了上下文的作用。
    • 文档中存在很多的一词多义和多词同义的现象,每个单词并不代表一个独立的语义单元。

1.1 文档-单词 矩阵

  1. 给定语料库 和词汇表 ,定义文档-单词 矩阵为:

    令矩阵为 ,则:

    • 表示文档 中含有单词
    • 表示文档 中不含单词

    于是文档 表示为: ,其中文档 中包含的单词对应的位置取值为1,其它位置取值为 0 。

1.2 权重

  1. 事实上,文档的上述表达并未考虑单词的顺序,也未考虑单词出现的次数。

    一种改进策略是考虑单词出现的次数,从而赋予文档-单词 矩阵以不同的权重:

    其中 表示单词 在文档 中的权重。

    • 如果单词 在文档 中未出现,则权重
    • 如果单词 在文档 中出现,则权重
  2. 权重 有两种常用的选取方法:

    • 单词权重等于单词出现的频率TF

      函数 返回单词 在文档 中出现的频数。

    • 单词权重等于单词的TF-IDF

      函数 是单词的逆文档频率: ,其中:

      • 为语料库的文档数量
      • 为出现单词 的文档的数量
      • 为单词 出现在一篇文档中的概率
  3. TF-IDF 不仅考虑了单词的局部特征,也考虑了单词的全局特征。

    • 词频 描述了单词 在文档 中的局部统计特征
    • 逆文档频率 描述了单词 在语料库 中的全局统计特征

1.3 相似度

  1. 给定 文档-单词 矩阵,则很容易得到文档的向量表达:

  2. 给定文档 ,文档的相似度为:

    其中

二、LSA

  1. 潜在语义分析latent semantic analysis:LSA 的基本假设是:如果两个词多次出现在同一篇文档中,则这两个词具有语义上的相似性。

2.1 原理

  1. 给定文档-单词 矩阵

    其中 表示单词 在文档 中的权重,可以为:

    • 单词 在文档 中是否出现的0/1 值。
    • 单词 在文档 中出现的频次。
    • 单词 在文档 中的TF-IDF 值。
  2. 定义 , 它为矩阵 的第 列,代表单词 单词-文档向量,描述了该单词和所有文档的关系。

    • 向量内积 描述了单词 和单词 在文档集合中的相似性。
    • 矩阵乘积 包含了所有词向量内积的结果。
  3. 定义 ,它为矩阵 的第 行,代表文档 文档-单词向量,描述了该文档和所有单词的关系。

    • 向量内积 描述了文档 和文档 在文档集合中的相似性。
    • 矩阵乘积 包含了所有文档向量内积的结果。
  4. 对矩阵 进行SVD 分解。假设矩阵 可以分解为:

    其中:

    • 为单位正交矩阵。

    • 为广义对角矩阵。

      其中 称作奇异值。

  5. SVD 分解的物理意义为:主题。

    • 所有的文档一共有 个主题,每个主题的强度分别为:

    • 篇文档 由这 个主题组成,文档的主题分布(称作文档-主题向量)为:

    • 个主题由 个单词组成,主题的单词分布(称作主题-单词向量 )为:

    • 个单词也可以由 个主题描述,单词的主题分布 (称作单词-主题向量)为:

    • 根据 有:

      则该分解的物理意义为:文档-单词 矩阵 = 文档-主题 矩阵 x 主题强度 x 主题-单词 矩阵。

  6. 将奇异值从大到小进行排列,选择 top k 的奇异值来近似 ,即:

    其中:

    • :由 的前 列组成。
    • :由从大到小排列的最大的 k 个奇异值组成的对角矩阵。
    • :由 的前 列组成。
  7. 选择top k 的物理意义为:选择权重最大的前 k 个主题。

    • 篇文档 由这 个主题组成,文档的主题分布为:

    • 个主题由 个单词组成,主题的单词分布为:

    • 个单词也可以由 个主题描述,单词的主题分布为:

 

 

2.2 应用

  1. 得到了文档的主题分布、单词的主题分布之后,可以获取文档的相似度和单词的相似度。

    • 文档 和文档 的相似度:

    • 单词 和单词 的相似度:

  2. 虽然获得了文档的单词分布,但是并不能获得主题的相似度。

    因为 是正交矩阵,因此有:

    则有:

    因此,任意两个主题之间的相似度为 0 。

  3. 因为文档-主题向量 决定,而

    文档-主题向量 的行向量,也就是 的列向量。文档-单词向量 的行向量,也就是 的列向量。

    因此,对于一篇新的文档 ,假设其文档-单词向量 ,则其文档-主题向量为:

  4. 因为单词-主题向量 决定,而:

    单词-主题向量 的行向量,也就是 的列向量。单词-文档向量 的列向量。

    因此,对于一个新的单词,假设其单词-文档向量 ,则单词-主题向量为:

  5. LSA 可以应用在以下几个方面:

    • 通过对文档的文档-主题向量 进行比较,从而进行基于主题的文档聚类或者分类。
    • 通过对单词的单词-主题向量进行比较,从而用于同义词、多义词进行检测。
    • 通过将query 映射到主题空间,进而进行信息检索。

2.3 性质

  1. LSA 的本质是将矩阵 通过 SVD 进行降维。降维主要是由于以下原因:

    • 原始的文档-单词 矩阵 太大,计算机无法处理。通过降维,得到原始矩阵的一个近似。
    • 原始的文档-单词 矩阵 含有噪音。通过降维,去掉原始矩阵的噪音。
    • 原始的文档-单词 矩阵 过于稀疏。通过降维,得到一个稠密的矩阵。
  2. LSA 的降维可以解决一部分同义词的问题,也可以解决一部分二义性的问题。

    • 经过降维,意义相同的同义词的维度会因降维被合并。
    • 经过降维,拥有多个意义的词,其不同的含义会叠加到对应的同义词所在的维度上。
  3. LSA 的缺点包括:

    • 产生的主题维度可能存在某些主题可解释性差。即:它们并不代表一个自然语言上的主题。

    • 由于Bag of words:BOW 模型的局限性,它无法捕捉单词的前后顺序关系。

      一个解决方案是:采用二元词组或者多元词组。

    • LSA 假设单词和文档形成联合高斯分布。实际观察发现,它们是一个联合泊松分布。

      这种情况下,用pLSA 模型效果会更好。

三、Word2Vec

3.1 CBOW 模型

  1. CBOW 模型(continuous bag-of-word):根据上下文来预测下一个单词。

3.1.1 一个单词上下文

a) 网络结构
  1. 在一个单词上下文的CBOW 模型中:

    • 输入是前一个单词,输出是后一个单词。
    • 输入为输出的上下文,由于只有一个单词作为输入,因此称作一个单词的上下文。
  2. 一个单词上下文的CBOW 模型如下:

    cbow1

    其中:

    • 为隐层的大小,即隐向量

    • 网络输入 ,它是输入单词(即上下文单词)的 one-hote 编码,其中只有一位为 1,其他位都为 0 。

    • 网络输出 ,它是输出单词为词汇表各单词的概率。

    • 相邻层之间为全连接:

      • 输入层和隐层之间的权重矩阵为 ,其尺寸为
      • 隐层和输出层之间的权重矩阵为 ,其尺寸为
  3. 假设没有激活函数,没有偏置项。给定输入 ,则其对应的隐向量 为:

    令:

    由于 是个one-hot编码,假设它为词表 中第 个单词 ,即:

    则有:

    即: 的第 就是词表 中第 个单词 的表达,称作单词 的输入向量。

  4. 给定隐向量 ,其对应的输出向量 为:

    令:

    则有: ,表示词表 中,第 个单词 的得分。

    为矩阵 的第 列,称作单词 的输出向量。

  5. 之后接入一层 softmax 层,则有:

    表示词汇表 中第 个单词 为真实输出单词的概率。

  6. 假设给定一个单词 (它称作上下文),观测到它的下一个单词为

    假设 对应的网络输出编号为 ,则网络的优化目标是:

    其中 为输入单词 的输入向量。

  7. 考虑到 ,定义:

    则优化目标为:

b) 参数更新
  1. 定义 ,即第 个输出单元对应于真实的输出单词 时,它为1;否则为0。

    定义:

    它刻画了每个输出单元的预测误差:

    • 时: ,它刻画了输出概率 () 与真实概率 之间的差距。
    • 时:,它刻画了输出概率 () 与真实概率 之间的差距。
  2. 根据:

    则有:

    更新规则为:

    其物理意义为:

    • 当估计过量 (