文本处理中经典的LSA与PLSA 对比,EM算法,EM算法求解PLSA
主要参考:
1. 引子
Bag-of-Words 模型是NLP和IR领域中的一个基本假设。在这个模型中,一个文档(document)被表示为一组单词(word/term)的无序组合,而忽略了语法或者词序的部分。BOW在传统NLP领域取得了巨大的成功,在计算机视觉领域(Computer Vision)也开始崭露头角,但在实际应用过程中,它却有一些不可避免的缺陷,比如:
稀疏性(Sparseness): 对于大词典,尤其是包括了生僻字的词典,文档稀疏性不可避免;
多义词(Polysem): 一词多义在文档中是常见的现象,BOW模型只统计单词出现的次数,而忽略了他们之间的区别;
同义词(Synonym): 同样的,在不同的文档中,或者在相同的文档中,可以有多个单词表示同一个意思;
从同义词和多义词问题我们可以看到,单词也许不是文档的最基本组成元素,在单词与文档之间还有一层隐含的关系,我们称之为主题(Topic)。我们在写文章时,首先想到的是文章的主题,然后才根据主题选择合适的单词来表达自己的观点。在BOW模型中引入Topic的因素,成为了大家研究的方向,这就是我们要讲的Latent Semantic Analysis (LSA) 和 probabilitistic Latent Semantic Analysis (pLSA),至于更复杂的LDA和众多其他的Topic Models,以后再详细研究。
2. LSA简介
SA的基本思想就是,将document从稀疏的高维Vocabulary空间映射到一个低维的向量空间,我们称之为隐含语义空间(Latent Semantic Space).
如何得到这个低维空间呢,和PCA采用特征值分解的思想类似,作者采用了奇异值分解(Singular Value Decomposition)的方式来求解Latent Semantic Space。标准的SVD可以写为:
LSA的优点
低维空间表示可以刻画同义词,同义词会对应着相同或相似的主题;
降维可去除部分噪声,是特征更鲁棒;
充分利用冗余数据;
无监督/完全自动化;
与语言无关;
LSA的不足
没有刻画term出现次数的概率模型;
SVD的优化目标基于L-2 norm 或者是 Frobenius Norm的,这相当于隐含了对数据的高斯噪声假设。而term出现的次数是非负的,这明显不符合Gaussian假设,而更接近Multi-nomial分布;
对于count vectors 而言,欧式距离表达是不合适的(重建时会产生负数);
特征向量的方向没有对应的物理解释;
SVD的计算复杂度很高,而且当有新的文档来到时,若要更新模型需重新训练;
维数的选择是ad-hoc的;
3. pLSA
类似于LSA的思想,在pLSA中也引入了一个Latent class,但这次要用概率