背景
自然语言和文本处理是人工智能和机器学习方面的一个重大的挑战,在这个领域中的任何巨大进步都会对信息检索,信息过滤,智能接口,语言识别,自然语言处理,机器学习产生重大的影响。机器学习的主要难点在于“被阐述”的词法和“真正要表达”的语义的区别。产生这个问题的原因主要是:1.一个单词可能有多个意思和多个用法。2. 同义词和近义词,而且根据不同的语境或其他因素,原本不同的单词也有可能表示相同的意思。
LSA是处理这类问题的著名技术,其主要思想就是映射高维向量到潜在语义空间,使其降维。LSA的目标就是要寻找到能够很好解决实体间词法和语义关系的数据映射。正是由于这些特性,使得LSA成为相当有价值并被广泛应用的分析工具。PLSA是以统计学的角度来看待LSA,相比于标准的LSA,它的概率学变种有着更巨大的影响。
LSA:
PLSA是LSA的概率学延伸,所以我们首先要知道LSA的算法。
潜在语义分析(LSA)又称为潜在语义索引(LSI),是一种使用数学和统计的方法对文本中的词语进行抽取,推断它们之间的语义关系,并建立一个语义索引,而将文档组织成语义空间结构的方法。它的出发点是文档的特征项与特征项之间存在着某种潜在的语义联系,消除词之间的相关性,简化文本向量的目的。它通过奇异值分解(SVD),把特征项和文档映射到同一个语义空间,对文档矩阵进行计算,提取K个最大的奇异值,近似表示原文档。这个映射必须是严格线性的而且是基于共现表的奇异值分解。
LSA的算法:
假设有N篇的Document,D={d_1, … ,d_N},和M个Word,W={w_1, … ,w_M},再设置K个潜在类Z={z_1, … ,z_K}。
首先,建立一个N*M的文档矩阵A,其中的每一项分别对应了DiWj出现的统计频率(tf*idf)。这个就是前面说的共现表。
接着,对这个矩阵做奇异值分解。奇异值分解的公式为:
A(n*m) = U(n*n) E(n*m) V(m*m)。
然后按照大小排序保留奇异值矩阵E的K个特征值(奇异值是特征值的非负平方根),K个奇异值对应的左、右奇异向量U和V进行相应抽取,
,即可用K维矩阵A*近似表示A。
A*(n*m) = U(n*k) E(k*k) V(k*m)
A* ≈ A
PLSA:
PLSA is a statistical technique for the analysis of two-mode data for example words and documents. It evolved from Latent semantic analysis, adding a sounder probabilistic model.
Standard latent semantic analysis downsizes the occurrence matrix (usually via a singular value decomposition) to find a set of concepts related to the documents and terms.
Whereas PLSA models the probability of each co-occurrence as a mixture of conditionally independent multinomial distributions.
In this model, d are documents, w are words, and z are a set of latent topics which give a distribution over words P(w|z). d and w are observed, but z is a latent (unobserved) variable.
N is the number of documents in the collection, and Wd is the number of words per document.
This model generates documents as: For each document d, we sample a topic according to P(z | d). We then sample a word from that topic according to P(w | z). This is repeated for each word in the document.
In PLSA the goal is to find the topic specific word distributions P(w|z) and corresponding document specific mixing proportions P(z|d) which make up the document specific word distribution P(w|d).
PLSA是在LSA进行潜在语义索引的基础上,在文档和潜在语义、潜在语义和词语之间使用概率模型进行描述,参数估计使用EM算法。
与LDA区别:
PLSA与LDA最大的区别就在于,对Doc--Topic这一级,PLSA把这一级的所有变量都看作模型的参数,即有多少文档那么就有多少模型的参数;而LDA引入了一个超参数,对Doc--Topic这一级进行model,这样无论文档有多少,最外层模型显露出来的就只有一个超参数(对于Doc--Topic)