豆瓣上有一篇简单介绍LSA和PLSA的文章

链接http://www.douban.com/note/63275934/,我也已经保存到本地了

【Latentsemanticanalysis】
LSA最初是用在语义检索上,为了解决一词多义和一义多词的问题:
1.一词多义: 美女和PPMM表示相同的含义,但是单纯依靠检索词“美女”来检索文档,很可能丧失掉那些包含“PPMM”的文档。
2.一义多词:如果输入检索词是多个检索词组成的一个小document,例如“清澈 孩子”,那我们就知道这段文字主要想表达concept是和道德相关的,不应该将“春天到了,小河多么的清澈”这样的文本包含在内。

为了能够解决这个问题,需要将词语(term)中的concept提取出来,建立一个词语和概念的关联关系(t-c relationship),这样一个文档就能表示成为概念的向量。这样输入一段检索词之后,就可以先将检索词转换为概念,再通过概念去匹配文档。

在实际实现这个思想时,LSA使用了SVD分解的数学手段。我们可以将document andterm表示成为矩阵的形式。用x表示term-documentmatrix,通过SVD分解X可以表示为
x=T*S*D 。
S为对角矩阵,对角元素表示对应概念的有效程度。其实在实际生活当中概念就是具体事物的抽象,被人们所接受和使用的概念都是能够很有效概念。LSA算法也和实际生活中一样,需要提出掉有效程度低的概念,保留有效程度高的概念。
T为正交矩阵,行向量表示term,列向量表示概念
D为正交矩阵,行向量表示概念,列向量表示document

【PLSA】
PLSA和LSA基础思想是相同的,都是希望能从term中抽象出概念,但是具体实现的方法不相同。PLSA使用了概率模型,并且使用EM算法来估计P(t|c)和P(c|d)矩阵,详细算法可参考下面列举的相关文献。




相关文献:
一篇介绍LSA非常好的note
Latent semanticanalysisnotebyzhouli

一篇介绍PLSA的notebyhongliangjie
Notes onProbabilisticLatentSemanticAnalysis(PLSA)
PLSAwiki上面有PLSA的creator Hofmann的原始文章


根据这篇文章的相关文献找到了

Latentsemanticanalysisnote:http://blog.csdn.net/wangran51/article/details/7408406

以及

SVD奇异值分解:http://blog.csdn.net/wangran51/article/details/7408414

这两篇文章都很不错,需要认真研究

更多相关文章

  1. Java之Spring Cloud概念介绍(非原创)
  2. 《JavaScript高级程序设计》读书笔记(三)基本概念第一小节

随机推荐

  1. 上优酷土豆,再也不用看广告啦!
  2. 豆瓣开源的那些神库
  3. Spring Cloud Security:Oauth2结合JWT使用
  4. Spring Cloud Security:Oauth2实现单点登
  5. String还有长度限制?是多少?
  6. 仅需四步,整合SpringSecurity+JWT实现登录
  7. Spring Cloud Alibaba:Nacos 作为注册中心
  8. 百度亮了,Python帮你上Google
  9. 使用Jenkins一键打包部署SpringBoot应用,
  10. 你还在代码里做读写分离么,试试这个中间件