主题模型LDA

来源:互联网 发布:php模板引擎好不好 编辑:程序博客网 时间:2024/06/03 20:50

主题模型

主题建模或主题抽取
在机器学习和自然语言处理等领域,用来在一系列文章中发现抽象主体的一种统计模型;

主题抽取的目的:面对浩如海的文章,怎么能够把相似的文章聚合起来,并且提取描述聚合后主题的重要关键词;

主题抽取的方法:LDA(Latent Dirichlet allocatioin,隐含狄利克雷分布;

LDA:
无监督学习;
软聚类(聚类到多个簇,聚类一般聚类到一个簇)
降维(文档的词高维–》主题分布 较低维)

主题模型的理解

1、多个文档,D1,D2,D3,….Dm; 每个文档中中的词,N1,N2,N3,N4…Nm;

==》主题模型不单单求出文档中每个词频率,从而得出文档的类别;

2、主题模型在文档和词之间又加入了一层:主题;即文档中每个词背后有一个主题,可以根据该主题得出词;

3、有k个主题,每个主题中有多个关键词(主题的词分布)

为什么加入主题?

在文档和词之间加入主题,可以更好的解决一词多义和多词一义的问题:

一个词被映射到多个主题中–一词多义;
多个词被映射到某个主题的概率很高–多词一义;

关键

文档的主题分布–》根据文档中的各个词,得出文档在各个主题上的分布;文档的词是高维的,主题个数相对低维的==》是降维的;

主题的词分布–》每个主题在各个关键词上的分布;

根据第i篇文档的主题分布,可以得出具体的主题; 由主题的词分布,可以得出某个词term;;

==》先算出每个文档中每个词背后的主题,进而得到主题的词分布;

  1. 一个函数:gamma函数,
  2. 两个分布:beta分布、Dirichlet分布,
  3. 一个模型:LDA(文档-主题,主题-词语),
  4. 一个采样:Gibbs采样

在LDA模型中一篇文档生成的方式如下:

  • 从狄利克雷分布 中取样生成文档i的主题分布
  • 从主题的多项式分布 中取样生成文档i第j个词的主题
  • 从狄利克雷分布 中取样生成主题 的词语分布
  • 从词语的多项式分布 中采样最终生成词语

LDA贝叶斯网络结构如下图:

这里写图片描述
主题分布–》某个文档的主题;
词分布,某个主题—》文档中的词;

分布

每篇文档各自的主题分布是多项分布,该多项分布的参数服从Dirichlet分布; 每个主题各自的词分布是多项分布,该多项分布的参数服从Dirichlet分布;

Dirichlet分布

参考

http://www.tuicool.com/articles/reaIra6

原创粉丝点击