LSA/LSI/LDA——关键词提取

主题模型认为在词与文档之间没有直接的联系,它们应当还有一个维度将它们联系起来,主题模型将这个维度称为主题。每个文档都对应着一个或多个的主题,而每个主题都有对应的词分布,通过主题,就可以得到每个文档的词分布。

LSA/LSI/LDA——关键词提取_第1张图片
image.png

常用的算法

  • LSA:主要采用 SVD(奇异值分解)的方法进行暴力求解
  • LDA:通过贝叶斯学派的方法对分布信息进行拟合。

LSA

主要步骤:

  • 使用 BOW 模型将每个文档表示为向量。
  • 将所有的文档词向量拼接起来构成词——文档矩阵(m*n)
  • 对词——文档矩阵进行奇异值分解操作([mr][rr][r*n])
  • 根据 SVD 的结果,将词——文档矩阵映射到一个更低维度([mk][rr][r*n],0 缺点:
  • SVD 的计算复杂度非常高,特征空间维度较大,计算效率十分低下。
  • LSA 得到的分布信息是基于已有数据集的,当一个新的文档进入已有的特征空间时,需要对整个空间重新训练,以得到加入新文档后对应的分布信息。

LDA

LDA 算法假设文档中主题的先验分布和主题中的词的先验分布都服从狄利克雷分布。在贝叶斯学派看来,先验分布+数据=后验分布。我们通过对已有数据集的统计,就可以得到每篇文档中主题的多项式分布和每个词对应的多项式分布。通过先验的狄利克雷分布和观测数据得到的多项式分布,得到一组 Dirichlet-multi 共轭,并据此来推断文档中主题的后验分布和主题中词的后验分布。

结合吉布斯采样的 LDA 模型训练过程:

  • 随机初始化,对语料中的每篇文档中的每个词 w,随机赋予一个 topic 编号 z
  • 重新扫描数据库,对每个词 w 按照吉布斯采样公式重新采样它的 topic,在语料中进行更新。
  • 重复以上语料库的重新采样过程直到吉布斯采样收敛
  • 统计语料库的 topic-word 共现频率矩阵,该矩阵就是 LDA 模型

训练好的 LDA 模型,接下来就可以按照一定的方式针对新的文档 topic 进行预估:

  • 随机初始化,对当前文档中的每个词 w,随机地赋予一个 topic 编号 z
  • 重新扫描当前文档,按照吉布斯采样公式,重新采样它的 topic
  • 重复以上过程直至吉布斯采样收敛
  • 统计文档中 topic 分布即为预估结果。

你可能感兴趣的:(LSA/LSI/LDA——关键词提取)