文本表示模型可分为以下几种:
本文讲解第二种“主题模型”。
主题模型的目标是在大量的文档中自动发现隐含的主题信息
LSA(Latent Semantic Analysis,潜在语义分析)
首先构建doc-word共现矩阵,矩阵元素为词的tf-idf值(常见词不一定和主题相关,所以tf-idf比词频适用)。
为了找到潜在的语义(主题),LSA利用奇异值分解SVD,把高维的doc-word共现矩阵映射(降维)到低维的潜在语义空间,得到映射后的文档向量和词向量,并且具有相似主题分布的文档(或词)向量接近。
如上图所示,SVD将doc-word共现矩阵 A 分解为U、S、V三个矩阵的乘积
有了LSA文档向量和词向量,可计算不同文档的相似度、不同词的相似度、词(或query)与文档的相似度
缺点:
pLSA(probabilistic Latent Semantic Analysis,概率潜在语义分析)
将LSA的思想带入到概率统计模型中,不再使用SVD,是一种生成式概率图模型(可以写成若干条件概率连乘),用EM算法学习模型参数。
如上图,给定文档 d,主题 z 以 P(z|d) 的概率出现在该文档中;给定主题 z,单词 w 以 P(w|z) 的概率从主题 z 中被选取。在这个模型中,d 和 w 是已经观测到的变量,而 z 是未知的变量(代表潜在的主题)。其中 P(z|d) 和 P(w|z) 是pLSA模型需要求解的参数。
注:pLSA 模型和 LSA 模型之间存在一个直接的平行对应关系:
缺点:
LDA(Latent Drichlet Allocation,潜在狄利克雷分配)
LDA 是 pLSA 的贝叶斯版本,在 pLSA 的基础上,引入了参数的狄利克雷先验分布。
注:pLSA 相当于把 LDA 的先验分布转为均匀分布,然后对参数求最大后验估计(在先验是均匀分布的前提下,这也等价于求参数的最大似然估计),而这也正反映出了一个较为合理的先验对于建模是非常重要的。
P ( w , Z , B , Θ ∣ α , η ) = ∏ t = 1 T p ( Θ t ∣ α ) ∏ i = 1 K p ( β k ∣ η ) ( ∏ n = 1 N P ( w t , n ∣ z t , n , β k ) P ( z t , n ∣ Θ t ) ) P(w,Z,\Beta,\Theta|\alpha,\eta)=\prod_{t=1}^Tp(\Theta_t|\alpha)\prod_{i=1}^Kp(\beta_k|\eta)(\prod_{n=1}^NP(w_{t,n} | z_{t,n}, \beta_k) P(z_{t,n|\Theta_t})) P(w,Z,B,Θ∣α,η)=t=1∏Tp(Θt∣α)i=1∏Kp(βk∣η)(n=1∏NP(wt,n∣zt,n,βk)P(zt,n∣Θt))
上图中的 α 和 η 是狄利克雷分布的超参数,通过极大似然学习,分别决定了主题分布 Θ \Theta Θ 和词分布 β \beta β 。主题分布 Θ \Theta Θ 是一个维度为文档数 × 主题数
的矩阵,矩阵元素 θ i , j \theta_{i,j} θi,j 是主题 j 在文档 i 中的比例;词分布 β \beta β 是一个维度为主题数 × 词数
的矩阵,矩阵元素 β i , j \beta_{i,j} βi,j 是词 j 在主题 k 中的频次。在这个模型中,只有文档分布 w 是观测变量。文档分布 w w w 是一个维度为文档数 × 词数
的矩阵,矩阵元素 w i , j w_{i,j} wi,j 是词 j 在文档 i 中出现的频次。
求解主题分布和词分布,用Gibbs Sampling。首先随机初始化,多次遍历每个词,用其他所有词来预测它,逐渐收敛,获得近似解。
使用 LDA,可以从文档语料库中提取人类可解释的主题,其中每个主题都以与之关联度最高的词语作为特征。例如,主题 2 可以用诸如「石油、天然气、钻井、管道、楔石、能量」等术语来表示。此外,在给定一个新文档的条件下,我们可以获得表示其主题混合的向量,例如,5% 的主题 1,70% 的主题 2,10%的主题 3 等。通常来说,这些向量对下游应用非常有用。
Reference: