美文网首页
概率潜在语义分析(PLSA)

概率潜在语义分析(PLSA)

作者: 单调不减 | 来源:发表于2019-06-20 21:25 被阅读0次

    概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)是一种利用概率生成模型对文本集合进行话题分析的无监督学习方法。模型最大特点是用隐变量表示话题。整个模型表示文本生成话题,话题生成单词。假设每个文本由一个话题分布决定,每个话题由一个单词分布决定。

    直观上,语义相近的单词和语义相近的文本会被聚到相同的“软类别”,话题表示的就是这样的“软类别”。图中三个框框各自表示一个话题。

    1、生成模型

    生成模型中,单词变量w与文本变量d是观测变量,话题变量z是隐变量。也就是说模型生成的是单词-话题-文本三元组(w,z,d)三元组的集合,但观测到的是单词-文本二元组(w,d)的集合。观测数据表示为单词-文本矩阵T的形式,T的行表示单词,列表示文本,元素表示单词-文本对(w,d)出现的次数。

    从数据生成过程可以推出,文本-单词共现数据T出现的概率为:

    P(T)=\prod_{(w,d)}P(w,d)^{n(w,d)}

    n(w,d)表示(w,d)出现的次数,每个单词-文本对生成的概率如下:

    \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}

    最后一个等号基于在话题z给定条件下单词w与文本d条件独立的假设:

    P(w,z|d)=P(z|d)P(w|z)

    2、共现模型

    与生成模型一样,文本-单词共现数据T出现的概率为:

    P(T)=\prod_{(w,d)}P(w,d)^{n(w,d)}

    每个单词-文本对生成的概率如下:

    P(w,d)=\sum_{z\in Z}P(z)P(w|z)P(d|z)

    共现模型同样假设在话题z给定条件下单词w与文本d条件独立:

    P(w,d|z)=P(w|z)P(d|z)

    其直观图示如下:

    容易验证生成模型和共现模型是等价的。但两者性质不同,生成模型中单词变量w和文本变量d是不对称的,而共现模型中单词变量w和文本变量d是对称的。因此两个模型的学习算法形式也有所不同。

    3、PLSA参数估计的EM算法

    设单词集合为W=\{w_1,w_2,\dots,w_M\},文本集合为D=\{d_1,d_2,\dots,d_N\},话题集合为Z=\{z_1,z_2,\dots,z_K\},给定单词-文本共现数据T=\{n(w_i,d_j)\}i=1,2,\dots,Mj=1,2,\dots,N,目标是估计PLSA生成模型的参数。使用极大似然估计,对数似然函数为:

    \begin{aligned} L&=\sum_{i=1}^M\sum_{j=1}^N n(w_i,d_j)\log P(w_i,d_j)\\ &=\sum_{i=1}^M\sum_{j=1}^N n(w_i,d_j)\log[\sum_{k=1}^K P(w_i|z_k)P(z_k|d_j)]\\ \end{aligned}

    接下来通过EM算法迭代学习模型的参数即可,最终得到P(w_i|z_k)P(z_k|d_j)

    相关文章

      网友评论

          本文标题:概率潜在语义分析(PLSA)

          本文链接:https://www.haomeiwen.com/subject/gifsqctx.html