[学习笔记]学习主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)

本文介绍了主题模型及其在文本挖掘中的作用,特别是PLSA(概率潜在语义分析)模型。PLSA是一种通过EM算法求解的生成模型,用于揭示文档背后的隐含主题。文章详细阐述了PLSA的数学原理,包括E-step和M-step的迭代过程,并讨论了主题模型在计算文本相似性、用户聚类和推荐系统中的应用。
摘要由CSDN通过智能技术生成

from: http://www.hxxiaopei.com/?p=71

读了著名的【Google News Personalization Scalable Online CF】,提及到针对用户聚类,利用相似用户性信息计算喜欢的news。其中包含min-hash以及plsi,产生了对plsi的兴趣。

plsi是model-based 推荐算法,属于topic(aspect) model,最近研究了topic model,发现其在NLP领域用途很大。

引入:

在文本挖掘时,计算文档相似性是很基础的操作,通常,对文本进行分词,构建VSM,通过jaccard或者cosin计算距离或者相似性,这是基于corpus的思路,仅仅考虑词组,并未考虑文本的语义信息。针对下面情况,基于cropus很难处理:

*如果时间回到2006年,马云和杨致远的手还会握在一起吗

*阿里巴巴集团和雅虎就股权回购一事签署了最终协议

如果采用基于corpus的jaccard距离等算法,那么这两个文本的完全不相关,但是事实上,马云和阿里巴巴集团,杨致远和雅虎有着密切的联系,从语义上看,两者都和“阿里巴巴"有关系。

此外,另一个case:

*富士苹果真好,赶快买

*苹果四代真好,赶快买

从corpus上来看,两者非常相似,但是事实上,2个句子从语义上来讲,没有任何关系,一个是”水果“另一个是”手机"。

通过上面的例子,差不多也看出来topic model是什么以及解决什么问题。

概念:

topic model是针对文本隐含主题的建模方法,针对第一个case,马云对应的主题是阿里巴巴,阿里巴巴集团也隐含阿里巴巴主题,这样两个文本的主题匹配上,认为他们是相关的,针对第二个,分别针对水果以及手机主题,我们认为他们是不相关的。

究竟什么是主题?[接下来参考baidu搜索研发部官方博客中对语义主题的定义] 主题就是一个概念、一个方面。它表现为一系列相关的词,能够代表这个主题。比如如果是”阿里巴巴“主题,那么”马云“”电子商务“等词会很高的频率出现,而设计到”腾讯“主题,那么“马化腾”“游戏”“QQ”会以较高的频率出现。如果用数学来描述一下的话,主题就是词汇表上词语的条件概率分布,与主题密切相关的词,条件概率 p(w|z) 越大。主题就像一个桶,装了出现频率很高的词语,这些词语和主题有很强的相关性,或者说这些词语定义了这个主题。同时,一个词语,可能来自于这个桶,也可能来自那个桶,比如“电子商务”可以来自“阿里巴巴”主题,也可以来自“京东“主题,所以一段文字往往包含多个主题,也就是说,一段文字不只有一个主题。

 

上面介绍了主题的概念,我们最为关心的是如何得到这些主题?这就是topic model要解决的问题。

define: d表示文档,w表示词语,z表示隐含的主题。

p(w|d)=zp(w|z)p(z|d)

其中  p(w|d) 表示w在文档d中出现的概率,针对训练语料,对文本进行分词,w的频度除以文档所有词语的频度和,可以求出,对于未知数据,model用来计算该value.

p(w|z) 表示在给定主题情况下词语的出现的概率是多少,刻画词语和主题的相关程度。

p(z|d) 表示文档中每个主题出现的概率

所以主题模型就是 利用大量已知的 p(w|d) 词语-文档信息,训练出来主题-文档 p(z|d) 以及词语-主题 p(w|z)

plsa模型:

plsa是一种topic model,它属于生成模型(不是很理解),给定文档d后,以一定的概率选择d对应的主题z,然后以一定概率选择z中的词语w.

plsa提供了一种模型求解的方法,采用之前介绍的EM算法,EM算法在之前已经介绍,现在不作处理,直接利用EM信息对topic model进行求解。

l(θ)

= Ni=1Mj=1n(di,wj)lnp(wj|di)

>= Ni=1Mj=1n(di,wj)Zk=1Q(zk|di,wj)lnp(wj|zk)p(zk|di)

其中Q是z的分布函数,表示在给定参数的情况下(w,d),z的后验概率。

根据EM算法,我们最后求解:

E-step :

Q(zk|di,wj)=p(wj|zk)p(zk|di)Kk=1p(wj|zk)p(zk|di)

M-step:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值