二、LSA

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

2.1 原理

  1. 给定文档-单词 矩阵 二、LSA - 图1

    二、LSA - 图2

    其中 二、LSA - 图3 表示单词 二、LSA - 图4 在文档 二、LSA - 图5 中的权重,可以为:单词 二、LSA - 图6 在文档 二、LSA - 图7 中是否出现的0/1 值、单词 二、LSA - 图8 在文档 二、LSA - 图9 中出现的频次、或者单词 二、LSA - 图10 在文档 二、LSA - 图11 中的TF-IDF 值。

  2. 定义 二、LSA - 图12, 它为矩阵 二、LSA - 图13 的第 二、LSA - 图14 列,代表单词 二、LSA - 图15单词-文档向量,描述了该单词和所有文档的关系。

    • 向量内积 二、LSA - 图16 描述了单词 二、LSA - 图17 和单词 二、LSA - 图18 在文档集合中的相似性。
    • 矩阵乘积 二、LSA - 图19 包含了所有词向量内积的结果。
  3. 定义 二、LSA - 图20 ,它为矩阵 二、LSA - 图21 的第 二、LSA - 图22 行,代表文档 二、LSA - 图23文档-单词向量,描述了该文档和所有单词的关系。

    • 向量内积 二、LSA - 图24 描述了文档 二、LSA - 图25 和文档 二、LSA - 图26 在文档集合中的相似性。
    • 矩阵乘积 二、LSA - 图27 包含了所有文档向量内积的结果。
  4. 对矩阵 二、LSA - 图28 进行SVD 分解。假设矩阵 二、LSA - 图29 可以分解为:二、LSA - 图30 。其中:

    • 二、LSA - 图31 为单位正交矩阵。

    • 二、LSA - 图32 为广义对角矩阵。

      二、LSA - 图33

      其中 二、LSA - 图34 称作奇异值。

  5. SVD 分解的物理意义为:将文档按照主题分解。所有的文档一共有 二、LSA - 图35 个主题,每个主题的强度 (主题强度就是主题在数据集中出现的次数)分别为:二、LSA - 图36

    • 二、LSA - 图37 篇文档 二、LSA - 图38 由这 二、LSA - 图39 个主题组成,文档的主题概率分布(称作文档-主题向量)为:

      二、LSA - 图40

    • 二、LSA - 图41 个主题由 二、LSA - 图42 个单词组成,主题的单词概率分布(称作主题-单词向量 )为:

      二、LSA - 图43

    • 二、LSA - 图44 个单词由 二、LSA - 图45 个主题组成,单词的主题概率分布(称作 单词-主题 向量)为:

      二、LSA - 图46

    • 根据 二、LSA - 图47 有:

      二、LSA - 图48

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

2.2 应用

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

    • 文档 二、LSA - 图49 和文档 二、LSA - 图50 的相似度:

      二、LSA - 图51

    • 单词 二、LSA - 图52 和单词 二、LSA - 图53 的相似度:

      二、LSA - 图54

  2. 虽然获得了文档的单词分布,但是并不能获得主题的相似度。因为 二、LSA - 图55 是正交矩阵,因此有:

    二、LSA - 图56

    则有:

    二、LSA - 图57

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

  3. 文档-主题向量二、LSA - 图58 决定。根据: 二、LSA - 图59 ,而文档-主题向量二、LSA - 图60 的行向量,也就是 二、LSA - 图61 的列向量。文档-单词向量二、LSA - 图62 的行向量,也就是 二、LSA - 图63 的列向量。

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

    二、LSA - 图66

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

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

2.3 性质

  1. LSA 的本质是将矩阵 二、LSA - 图67 通过 SVD 进行降维,降维主要是由于以下原因:

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

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

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

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

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

    • LSA 假设单词和文档形成联合高斯分布。实际观察发现,它们是一个联合泊松分布。这种情况下,用pLSA 模型效果会更好。