主题模型


主题模型_第1张图片

Topic Model

主题模型_第2张图片

  1. LSA: Latent Semantic Analysis,用于挖掘文档与词语之间隐含的潜在语义关联,数学基础是SVD。
  2. pLSA:Probabilistic Latent Semantic Analysis概率模型不够完备;随着文档和词的个数的增加,模型变得越来越庞大;在文档层面没有一个统计模型;EM算法需要反复迭代,计算量也很大。
  3. LDA:Latent Dirichlet Allocation和pLSA不同的是LDA中假设了很多先验分布(Dirichlet),且一般参数的先验分布都假设为Dirichlet分布,其原因是共轭分布时先验概率和后验概率的形式相同。

LDA

主题模型_第3张图片

1.unigram model:
For each ofthe N words w_n:
Choose a word w_n ~ p(w);

N表示要生成的文档的单词的个数,w_n表示生成的第n个单词w,p(w)表示单词w的分布,可以通过语料进行统计学习得到,比如给一本书,统计各个单词在书中出现的概率。
2.Mixture of unigram:
Choose a topic z ~ p(z);
For each of the N words w_n:
Choose a word w_n ~ p(w|z);

其中z表示一个主题,p(z)表示主题的概率分布,z通过p(z)按概率产生;N和w_n同上;p(w|z)表示给定z时w的分布,可以看成一个k×V的矩阵,k为主题的个数,V为单词的个数,每行表示这个主题对应的单词的概率分布,即主题z所包含的各个单词的概率,通过这个概率分布按一定概率生成每个单词。
3.LDA:
Chooseparameter θ ~ p(θ);
For each ofthe N words w_n:
Choose a topic z_n ~ p(z|θ);
Choose a word w_n ~ p(w|z);

其中θ是一个主题向量,向量的每一列表示每个主题在文档出现的概率,该向量为非负归一化向量;p(θ)是θ的分布,具体为Dirichlet分布,即分布的分布;N和w_n同上;z_n表示选择的主题,p(z|θ)表示给定θ时主题z的概率分布,具体为θ的值,即p(z=i|θ)= θ_i;p(w|z)同上。

用开源库JGibbLDA处理中文的例子

JGibbLDA是LDA的Java实现,链接http://jgibblda.sourceforge.net/

JGibbLDA的eclipse工程目录

主题模型_第4张图片

 语料及其编码格式

该语料是一个文本文件,包含了6个document,每个占一行。注意首航是document的个数。
主题模型_第5张图片

这里的语料文件最初的编码格式是UTF-8 , 会遇到编码的问题,出现如下的错误
主题模型_第6张图片

下面用notepad++将预料文件抓换成UTF-8无BOM 格式
主题模型_第7张图片

路径问题

文件的路径可能会出现错误,如下面两个图所示

主题模型_第8张图片

主题模型_第9张图片

根据出错提示,找到出错的代码,修改需要存取的文件路径参数,让所有的文件都放在工程的models子目录下:

这里写图片描述

主题模型_第10张图片

命令行参数设置

命令行下运行该库的格式如下:

java [-mx512M] -cp bin:lib/args4j-2.0.6.jar jgibblda.LDA -est [-alpha ] [-beta ] [-ntopics ] [-niters ] [-savestep ] [-twords ] –dir -dfile

其中各个参数的含义如下:

-est 从训练语料中评估出LDA模型
-alpha LDA模型中的alpha数值,默认为50/K(K是主题数目)
-beta LDA模型中的beta数值,默认是0.1
-ntopics 主题数目,默认值是100
-niters GIbbs采样的迭代数目,默认值为2000
-savestep 指定开始保存LDA模型的迭代次数
-dir 训练语料目录
-dfile 训练语料文件名称

在eclipse中设置方法如下:
右键LDA.java,在run –>run configuration,在arguments属性下填入命令行参数,如下:
主题模型_第11张图片
* 概率语言模型及其变形系列(2)-LDA及Gibbs Sampling
* 概率语言模型及其变形系列(5)-LDA Gibbs Sampling 的JAVA实现
* 主题模型LDA及其在微博推荐&广告算法中的应用
* 主题模型LDA

pLSA

  • Probabilistic latent semantic analysis (pLSA)
  • 概率语言模型及其变形系列-PLSA及EM算法

《LDA数学八卦》

http://emma.memect.com/t/9756da9a47744de993d8df13a26e04e38286c9bc1c5a0d2b259c4564c6613298/LDA

你可能感兴趣的:(主题模型)