[学习笔记]学习主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)
来源:互联网 发布:打开钱箱的软件 编辑:程序博客网 时间:2024/04/30 10:30
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”会以较高的频率出现。如果用数学来描述一下的话,主题就是词汇表上词语的条件概率分布,与主题密切相关的词,条件概率
上面介绍了主题的概念,我们最为关心的是如何得到这些主题?这就是topic model要解决的问题。
define: d表示文档,w表示词语,z表示隐含的主题。
其中
所以主题模型就是 利用大量已知的
plsa模型:
plsa是一种topic model,它属于生成模型(不是很理解),给定文档d后,以一定的概率选择d对应的主题z,然后以一定概率选择z中的词语w.
plsa提供了一种模型求解的方法,采用之前介绍的EM算法,EM算法在之前已经介绍,现在不作处理,直接利用EM信息对topic model进行求解。
=
>=
其中Q是z的分布函数,表示在给定参数的情况下(w,d),z的后验概率。
根据EM算法,我们最后求解:
E-step :
M-step:
s.t.
符合上面约束的情况下,求解最大值,
=
其中
求
首先求解
有
=>
=>
已知有约束
=>
最后可以求得参数:
基于同样的方式,求
利用约束,可以求得:
EM是迭代算法,所以针对
主题模型的用途:
1.计算文本的相似性,考虑到文本语义,更好的刻画文本相似性,避免多义词,同义词的影响
2.文本聚类,用户聚类(RS)
3.去除噪音,只保留最重要的主题,更好的刻画文档
plsa在推荐系统中的应用:
上面介绍的是文档和词语的关系,映射到推荐系统中,表示为用户和ITEM的关系,ITEM可以使网,视频等。
这样可以看出来描述的完全是同样的问题,
求解
模型参数为
具体的可以参考:
Unsupervised learning by probabilistic latent semantic analysis
Latent Semantic Models for collaborative filtering
Google News Personalization Scalable Online CF
from: http://www.hxxiaopei.com/?p=71
- [学习笔记]学习主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)
- [学习笔记]学习主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)
- [学习笔记]学习主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)
- [学习笔记]学习主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)
- [学习笔记]主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)
- Probability Latent Semantic Analysis (PLSA) 模型 学习笔记
- Probabilistic Latent Semantic Analysis(PLSA)
- Topic Model之Probabilistic Latent Semantic Indexing(PLSI/PLSA)
- Latent Semantic Analysis (LSA) 模型 学习笔记
- plsa(Probabilistic Latent Semantic Analysis) 概率隐语义分析
- 学习Topic Model(主题模型)--Latent Dirichlet Allocation(LDA) 的一些摘要
- 学习Topic Model(主题模型)--Latent Dirichlet Allocation(LDA) 的一些摘要
- PLSA(Probability Latent Semantic Analysis)
- LSA (Latent Semantic Analysis) & PLSA (Probability Latent Semantic Analysis)
- 主题模型(Topic Model)相关学习资料与文献
- 【机器学习】主题模型(二):pLSA和LDA
- 关于LSA(Latent Semantic Analysis)主题模型的个人理解
- 机器学习:主题模型:PLSA
- codeforces--55D--Beautiful numbers(数位dp,dfs+记忆化)
- 树莓派Rpi编译更换 内核
- (转载)linux命令之三十五wc命令
- SNMPv1原理
- 我的blog
- [学习笔记]学习主题模型(Topic Model)和PLSA( probabilistic latent semantic analysis)
- Linux串口(serial、uart)驱动程序设计
- MySQL事务隔离级别详解
- AFNetworking上传遇到的小问题
- linux初级:用useradd SB2,来建立新账户时,显示 bash:useradd:command not found的解决方法
- 火车采集器官方博客
- Latent semantic analysis note(LSA)
- 关于Oracle E-Business Suite并发处理机制(Current Processing)
- 超速判断(10)