李裕礞 LDA主题模型及其演化模型JMTS
新闻来源:IR实验室       发布时间:2016/4/7 23:45:16

  提到LDA主题模型,首先要回顾概率与统计学中的一些知识,下式给出了经典的贝叶斯公式:

其中先验概率是P(theta),即没有数据支持的情况下发生的概率。 后验概率是P(theta|x),即当我们又获得了资料之后,再次进行评估而得到的概率。分母P(x)是个归一化因子:

  我们经常提到的最大似然估计,是要使分子上的P(x|theta)最大,即

  而最大后验概率,是使P(theta|x)最大,即:

  在学习LDA的过程中,常常听说概率统计学发展中有频率学派及贝叶斯学派,这两个学派的区别在于,频率学派通常认为参数是个定值,例如最大似然估计(MLE)、矩估计、EM算法等。而贝叶斯学派认为参数本身也是变化的,是服从某种分布的。比如说有一枚硬币,我们做投掷实验,统计正反面的次数。实验结束后,频率学派的人可能得到一个结果是硬币是正面的概率(就是先验概率P(theta))为0.8(只是举个例子,意思是固定的值);而贝叶斯学派的人会说硬币是正面的概率服从某种分布并给出这种分布的参数,比如说是服从均匀分布、或是服从高斯分布、或是服从我们将在下面提到的Beta分布。

  具体服从哪种分布,我们是不知道的。但个人直观上感觉贝叶斯学派趋向正确的可能性大一点,因为他们给模型中又增加了一个不确定的指标,从而让模型能够更自由地拟合各种数据,从而有可能更接近真实数据。

  提出了参数是变化的而非定值这一想法之后,带来的问题就是计算起来更复杂了,好在先验概率服从什么分布都是我们自己设定的,只要我们愿意,设定成什么分布都可以,反正都比固定值要自由。因此,本着计算起来方便的原则,前人将这个先验分布设定成了Beta分布。计算方便的理由如下。

  假设有两个工厂生产硬币,其中一个工厂生产的是劣质不均匀的,投出正面的概率是0.8,另一个工厂生产的是良好的0.5概率的均匀硬币,两个工厂生产出的硬币个数相同。也就是说,这时候我们的先验概率中theta的取值有两种情况,P(theta=0.8)=0.5,P(theta=0.5)=0.5。我们在做实验的时候,会得到似然概率P(x|theta),也就是:

  其中如果抽到均匀硬币theta=0.5,如果是不均匀的硬币theta=0.8。如果抛出正面x=1,否则x=0。这样我们做完投掷实验之后,理论上我们就能计算出后验概率P(theta|x)的相对大小。

  为了得到一个完美的后验概率形式,也为了我们能反复迭代后验概率和先验概率,我们希望后验概率和先验概率服从相同的分布。比如都服从高斯分布,都服从Beta分布只是参数不同等。这样先验概率分布和似然分布搭配在一起,能产生与先验概率相同分布的后验概率,这种先验分布就叫做该似然分布的共轭先验分布。

  我们这里抛硬币实验服从的是二项分布,它对应的共轭先验分布是Beta分布,以下是Beta分布的形式,其中a和b是两个参数:

  当我们把抛硬币换成抛骰子,抛骰子实验服从的是多项式分布,它对应的共轭先验分布是Dirichlet分布,以下是Dirichlet分布的形式:

http://sucimg.itc.cn/sblog/j24fc194e3126c49d315032f55d0a52e2

其他常用的共轭分布如下表所示:

http://image.lxway.com/upload/3/90/390dd88864ed5a6d7eaabbc51e67b239.png

  LDA模型

blob.png

blob.png

blob.png

 

blob.png

      计算每个文档的主题分布:

blob.png


blob.png


blob.png

    计算每个主题的词分布:



blob.png

blob.png

blob.png

MG-LDA模型:


blob.png


blob.pngblob.png




blob.png


blob.png



blob.png


参考论文题目:Joint multi-grain topic sentiment: modeling semantic aspects for online reviews

作者:韩国人

时间:2014年投稿,2016年收录

期刊:Information Sciences

数据集:jmtsdataset [可下载](http://dilab.korea.ac.kr/jmts/jmtsdataset.zip)

 

数据集介绍(已下载)

jmtsdataset数据集是作者自己整理的评论数据。

包含两个文件夹,分别为旅馆及餐厅的评论数据,**Hotel Reviews**, **Restaurant Reviews**,解压后为148MB。

 

论文内容整理

文中主要提出了一种与领域无关的情感主题模型叫**JMTS**,Joint Multi-grain Topic Sentiment,即连接多粒度主题情感。它能高质量地自动抽取出语义方面。

论文目的:客户的评论比商家的描述更可靠,因为用户的观点是在不同的使用环境下生成的。当前的用户UI工具,只能统计关键词及评分,关注不到用户观点的细节处。因此需要这样的自动化观点挖掘及情感分析工具。

很多进行关注点分级的情感分析都是通过抽取名词短语进行的,一般使用WordNet词典资源进行抽取。LDA从文章中抽取主题效果很好,但不适合用在评论中,因为评论中的某些关注点可能只被提到了一次。

MG-LDA解决了这个问题。为了高效地发现local topic,MG-LDA模型使用到了窗口,并且有4个层次。但MG-LDA不能检测主题的情感倾向性,它发现的角度很多与情感无关。

JMTS解决了这个问题,它在window和topic之间加上了情感层,这在情感词和有价值的关注点之间建立了一条连接。假设各意群(semantic aspect)是在局部出现的,通过划分多个重叠的窗口区分它们。

 

假如某条评论中有5句话,同时设定窗口的大小是3,则共有7个窗口。 {s1}, {s1, s2}, {s1, s2, s3}, {s2, s3, s4}, {s3, s4, s5}, {s4, s5}, 及 {s5}。JMTS的关键在于将基于窗口的情感分布与主题分布结合起来,在MG-LDA中加入情感标签的限制。使得情感和主题能够被同步地表述。这样使得主题到文章及词到主题的概率是都不均匀的,能显著提高情感分类效果,而在LDA中,每个主题分到不同文章的概率及每个词分到不同主题的概率都是相同的。

使用两个不同领域的数据集(旅馆、餐厅),旅馆的数据集中是将按照评论的评分进行训练,使用人工标注好的3418个数据进行测试。

这些关注点都是人工整理好的。之后用算法生成的关注点将与这些人工整理的关注点进行比较。作为评价模型好坏的一个指标。

 

情感分类

评分为4,5的定为正向情感评论,为1,2的为负向情感评论,评分为3的删去。通过比较一个关注点中正向词和负向词的可能性大小来决定这个关注点的情感。ASUM及JST算法每个情感有50多个主题,其中很多抽取出的关注点都是不能在实际生活中被评价的。而JMTS每个情感只使用6到10个局部的主题,用10个局部主题及30个全局主题即可以表示出JMTS的结果。


blob.png

blob.png

blob.png