概率潜在语义分析(PLSA)是一种利用概率生成模型对文本集合进行话题分析的无监督方法。 PLSA 模型假设每个文本由一个话题分布决定,每个话题由一个单词分布决定。该模型中的话题是不可直接观测到的,是潜在的隐变量。整个模型表示文本生成话题,话题生成单词,从而得到单词—文本共现数据的过程。
生成模型
假设有M个单词集合 W = { w 1 , w 2 . … , w M } W=\{w_1,w_2.\ldots,w_M\} W={ w1,w2.…,wM},N个文本集合 D = { d 1 , d 2 , … , d N } D=\{d_1,d_2,\ldots,d_N\} D={ d1,d2,…,dN},K个话题集合 Z = { z 1 , z 2 , … , z K } Z=\{z_1,z_2,\ldots,z_K\} Z={ z1,z2,…,zK}。假设用概率分布 P ( d ) P(d) P(d)表示生成文本 d d d 的概率, P ( z ∣ d ) P(z|d) P(z∣d) 表示文本 d d d生成话题 z z z 的概率, P ( w ∣ z ) P(w|z) P(w∣z) 表示话题 z z z 生成单词 w w w的概率。
生成模型步骤如下:
(1)依据概率分布 P ( d ) P(d) P(d) ,从文本集合中随机选取一个文本 d d d,共生成 N N N个文本。对生成的N个文本都执行下面的操作:
(2)在给定文本 d d d 的条件下,依据条件概率分布 P ( z ∣ d ) P(z|d) P(z∣d) ,从话题集合中随机选取一个话题 z z z,共生成 L L L个话题。对生成的 L L L个话题都执行下面的操作:
(3)在给定话题 z z z的条件下,依据条件概率分布 P ( w ∣ z ) P(w|z) P(w∣z) ,从单词集合中随机选取一个单词 w w w。
从数据生成的过程可以推出,单词—文本共现数据 T T T的生成概率为所有的单词—文本对 ( w , d ) (w,d) (w,d) 的生成概率的乘积:
P ( T ) = ∏ w , d P ( w , d ) n ( w , d ) P(T) = \prod_{w,d} P(w,d)^{n(w,d)} P(T)=w,d∏P(w,d)n(w,d)
其中, n ( w , d ) n(w,d) n(w,d) 表示 ( w , d ) (w,d) (w,d) 出现的次数,而 ( w , d ) (w,d) (w,d) 的生成概率如下:
P ( w , d ) = P ( d ) P ( w ∣ d ) = P ( d ) ∑ z P ( w , z ∣ d ) = P ( d ) ∑ z P ( z ∣ d ) P ( w ∣ z ) \begin{aligned} P(w,d) & =P(d)P(w|d) \\ &= P(d)\sum_{z} P(w,z|d) \\ & = P(d)\sum_{z} P(z|d)P(w|z) \end{aligned} P(w,d)=P(d)P(w∣d)=P(d)z∑P(w,z∣d)=P(d)z∑P(z∣d)P(w∣z)
这就是生成模型的定义。生成模型属于概览有向图模型,可以用下图表示:
共现模型
除了生成模型,还可以定义与之等价的共现模型,共现模型假设在给定话题