本文参考理论知识:http://blog.csdn.net/huagong_adu/article/details/7937616
1.主题模型的概念
主题模型是对文档中隐含的主题进行建模,考虑了上下文语义之间的关系。
一个主题就好像一个“桶”,它装了若干出现概率较高的词语。这些词语和这个主题有很强的相关性,
或者说,正是这些词语共同定义了这个主题。对于一段话来说,有些词语可以出自这个“桶”,有些
可能来自那个“桶”,一段文本往往是若干个主题的杂合体。相当于软聚类,适用于长文本
主题模型分为两大类:PLSA模型和LDA模型,
一.pLSA主要使用的是EM(期望最大化)算法,类似SVD分解主题相当于隐含特征
二.LDA采用的是Gibbs sampling方法和狄利克雷分布。通过文档-->主题-->单词构建模型
具体过程如下
LDA的三个表示层被三种颜色表示出来:
α:分布p(θ)需要一个向量参数,即Dirichlet分布的参数,用于生成一个主题θ向量;
β:各个主题对应的单词概率分布矩阵p(w|z)。
1. corpus-level(红色):α和β表示语料级别的参数,也就是每个文档都一样,因此生成过程只采样一次。
2.document-level(橙色):θ是文档级别的变量,每个文档对应一个θ,也就是每个文档产生各个主题z的概率是不同的,所有生成每个文档采样一次θ。
3. word-level(绿色):z和w都是单词级别变量,z由θ生成,w由z和β共同生成,一个 单词w对应一个主题z。
通过上面对LDA生成模型的讨论,可以知道LDA模型主要是从给定的输入语料中学习训练两个控制参数α和β,学习出了这两个控制参数就确定了模型,便可以用来生成文档。其中α和β分别对应以下各个信息:
把w当做观察变量,θ和z当做隐藏变量,就可以通过EM算法学习出α和β,求解过程中遇到后验概率p(θ,z|w)无法直接求解,需要找一个似然函数下界来近似求解,原文使用基于分解(factorization)假设的变分法(varialtional inference)进行计算,用到了EM算法。每次E-step输入α和β,计算似然函数,M-step最大化这个似然函数,算出α和β,不断迭代直到收敛。
2.TF-IDF
TF-IDF用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。
tf:词频,指的是某一个给定的词语在该文件中出现的频率
idf:倒文档词频,是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到