LDA模型范文(精选7篇)
LDA模型 第1篇
互联网已经成为人们获取新闻信息的重要渠道,其方便快捷的访问方式和丰富实时的资源给读者带来了极大便利。然而,如何快捷准确地了解和跟踪一个新闻话题的发展,帮助用户关注其感兴趣的新闻话题是本文的研究目的。
在传统TDT中,新闻话题被定义为一个种子事件引起的若干相关新闻事件的集合[1]。实际上新闻话题不仅仅包含具有特定时间、地点、人物的事件,在“全国两会”这样的新闻话题中,甚至找不到这样的具体事件,所有新闻报道围绕一个个会议主题展开。例如“医疗改革”、“行政体制改革”等都是全国两会新闻报道的重要方面,有明显的主题但缺乏事件特性的新闻报道集合对读者而言具备和具体事件同等的价值。其与具体事件相比,可以认为是具有主题的泛化事件。因此,本文研究的新闻话题不但包括“汶川地震”这样的突发事件,也包括具有主题的泛化事件,泛指所有新闻报道涉及的话题。
话题的演化反映了一个新闻话题从它的提出、发展、衰亡、最后结束,这样一个过程。随着时间变化,话题内容往往会发生迁移,如何描述话题的演化关系以及其内容变化是目前的研究难点。例如话题“2008北京奥运”,在2007两会主要讨论“奥运准备工作”,在2008年两会则转而讨论“开幕式,运动员准备工作”等。同一话题,在不同的时间阶段,新闻报道的焦点不同,则发生了新闻话题的内容演化;有些话题由于涉及多个方面,可能演化到几个方向,例如“房产”话题涉及“旧房拆迁与土地征用”,“房价上涨”,“经济适用房建设”等相关子话题。如果用同一个话题在不同时间段上的变化来描述其演化,那么其内容演化则很难体现出来。本文先抽取不同时间段上的新闻话题,然后判断话题之间的关联,从而获知话题在内容上的变化。
LDA模型是模拟文档生成过程的话题模型。因为它可以很好地模拟大规模语料的语义信息,有学者将LDA模型引入话题的演化研究[3,4,5,6]。在相关研究中[3,4,5,6,10],都假设话题的数目在整个时间段是不发生变化,这是不合理的:在不同的时间阶段,新话题会产生,旧话题会消失,新闻报道的话题是动态变化的,话题数目存在差异是必然的。另外,相关研究无法探测到上文提出的话题内容迁移。因此本文假设话题数目在不同时间段是可变的。
1 相关工作
话题的识别与追踪工作最早源于TDT(Topic Detection and Tracking)研究,TDT中以事件的追踪来描述话题的追踪。在LDA模型提出以后,因为LDA模型可以很好地模拟大规模语料的语义信息,有学者将LDA模型引入话题的趋势变化研究。如何利用文本信息和时间戳信息探测和追踪话题变化,是最近研究的焦点。
基于LDA模型及其变形模型的研究工作中,有三种主要的方法来探测话题以及追踪话题的发展:第一种方法TOT(Topic Over Time)[3],假定文档中的词是由语义上相关的词和时间戳两个因素影响。按照这条假设,该模型可以把连续的时间信息引入生成模型中,利用连续的时间信息,来表征话题的变化趋势。该模型的缺陷是,无法对新来的文档进行扩展,必须重新建模。
第二种方法认为时间是离散的。在建模前,根据时间段划分文档。例如DTM(Dynamic Topic Model)[5]考虑话题受到若干先验话题的影响,通过引入时间序列分析模型来改进LDA模型的生成过程,以期得到更准确的话题变化趋势。该模型对参数的推导很复杂,而且没有考虑到文档数目变化对话题数目的影响。属于这种方法另外一个模型是OLDA(Online-LDA)[6],OL-DA通过使用前一个时间段模型训练后的参数作为当前时间段模型的初始参数,引入了话题对后续话题的影响。同时,OLDA模型通过判断相邻的时间段内话题的距离来判定话题之间是否有演化关系。然而,OLDA存在的问题是每个时间段上的话题数目都相等,忽略了文档数目变化对话题数目的影响。
第三种方法同样认为时间是离散的,但对文档应用模型后的离散化:在文献[4]中,首先,应用LDA模型训练文集。在这一过程中,忽略文档的时间戳信息。其次,根据文档的时间戳,划分各个子集,通过话题在这个子集上分布描述话题在这个时间段上的状态。但是这种方法对时间信息的利用不是很充分,而且还要考虑时间窗口的划分:时间窗口较大,会减弱话题的变化趋势;时间窗口较小,又有可能出现话题变化趋势较大,不符合实际。
上述三种方法对模型都假设任意时刻的话题数目都相同,即话题数目在整个过程是不发生变化,这是不合理的。在实际情况中,文本数目较大的文集必然含有更多话题,因此不同的时间段的文档数目差异也决定了话题数目的差异。另外,上述各种方法都假定话题只可以向一个方向演化,然而如引言部分所述,一个话题有可能演化到多个话题。因此,本文提出的方法是基于可变话题数目的话题模型演化,预先将文集根据文档的时间戳划分为不同的子文集,对每个子文集找到最合适的话题数目来描述该子文集的话题,然后通过计算不同时刻话题的距离来表示话题之间的关联度。
2 话题演化模型
2.1 LDA模型简介
对于先介绍LDA模型以及其参数推理方法Gibbs Sampling。本文使用的符号见表1。
LDA模型是一个三层贝叶斯生成概率模型。该模型将文档模拟为潜在话题的有限混合。在模型的三层结构中,首先假设词由话题的概率分布混合产生,而每个话题是在词汇表上的一个多项式分布;其次假设文档是潜在话题的概率分布的混合;最后针对每个文档从Dirichlet分布中抽样产生该文档包含的话题比例,结合话题和词的概率分布生成该文档中的每一个词。该模型也是用隐性话题关联文档和词的一种层次贝叶斯网络。因为词的可观测性,可以认为话题在文档中的分布和话题在词汇表上的分布条件独立。文档和词的联系,是通过一个额外的隐性变量z来表示的。隐性变量z表示话题与文档中的特定词的关系。通过引入θ,φ的先验概率,LDA是一个完整的生成模型。同时LDA假设文档中的词是可交换的,文集中文档是可交换的。
文档的生成过程可以看作模型的一种概率取样的过程,通过这样一个过程来描述文档中的词是如何通过使用隐性变量来生成的。该模型描述了文档的生成过程,主要步骤如下:
(1)对文集中的任一文档d,生成一个θ~Dir(α);
(2)考虑文档d中的词wi的生成:
a)生成一个话题zj~Multinomial(θ);
b)对话题zj生成一个离散变量φz~Dir(β);
c)生成使得p(wi|φz)最大的一个词。
其中,α的值表示各个话题在取样之前的权重分布,β的值表示各个话题对词的先验分布。
由于精确的参数推理很难实现[2,7,8],通常采用VEM[2],Gibbs Sampling[8]和Expectation propagation[11]。由于Gibbs Sampling方法实现比较简单,因而被广泛应用。Gibbs Sampling算法通过迭代采样来逼近真实的概率分布。使用Gibbs Sampling关键在于如何求解当前单词采样的概率p(zid|zd-i,w,.)。这个条件概率的求解公式为:
应用模型的参数推理方法Gibbs Sampling得到θ,φ的后验估计值[7,8]如下:
其中,T为话题数目,W为词表个数;CijVK为计数矩阵CVK中第ij项,即第i个词指派给第j个话题的次数,同样,CdjDK为计数矩阵CDK中的第dj项,即第d篇文档中,指派给第j个话题的词的数目。
2.2 话题的定义
新闻话题表示现实世界中发生的某一特定事件以及所有相关事件的集合,也可以表示目前出现在互联网上各种各样讨论的话题以及其相关话题。
定义1话题是由一组语义上相关的词及词与话题相关的权重的向量表示。即Z={(v1,p1),(v2,p2),,(vn,pn)},其中vi是与Z相关的词,pi为该词与Z的相关度的衡量,在LDA中表示为Zjt={(v1,p(v1|zj)),(v2,p(v2|zj)),,(vn,p(vn|zj))}。其中vi∈V,p(vi|zj)是话题为j时选择词为vi的概率,Zjt为时间间隔t内的第j个话题。
2.3 话题的抽取
本文中话题的定义与LDA模型中话题的定义一致,因此可以对新闻文集Ct应用LDA模型建模并抽取出Ct中的话题。其中Ct中话题被表示为词表V及在V上的一个分布。
应用LDA模型,话题数目Kt必须事先确定。根据假设,文本数目较大的文集必然含有更多话题,不同时间段中话题数目是随时间动态变化。因此,需要先确定使得模型最优的话题数目。
LDA话题数目的选取策略是根据文献[7]中提出的方法。根据贝叶斯模型选择方法,计算给定观测数据W的情况下模型的后验概率P(W|K)进行模型选择。P(W|K)近似计算式为:
其中Γ()为标准Gamma函数。由式(3)计算的结果中,使得p(W|z,K)最大的K,即为最佳的话题数目。
2.4 话题的演化
话题的演化反映了话题变化的过程,必然导致相邻时间间隔的具有同一主题的话题存在语义上的延续性。因此本文定义话题的演化关系:在相邻时间间隔的两个话题存在着关联关系。
如何判断话题的关联,则是研究演化关系的关键。本文定义话题为一组词及该词与话题的相关度组成,假设相邻时间间隔ti和ti+1的文集上经LDA模型抽取得到的话题Zrti,Zsti+1。q是Zrti在V上的概率分布,p是Zsti+1在V上的概率分布,则p和q之间的Kullback-Leibler距离就表示了上述两个话题在词表上分布的差异性。差异度越小,两个话题在语义上就更接近,关联度就越高。因此话题Zrti和Zsti+1的关联度本文使用p和q的KL差分来计算:
两个话题的语义相关性,应该是对称的,也就是相互关联。考虑到Kullback-Leibler差分的不对称性,使用下式进行计算话题Zrti和话题Zsti+1的关联度为:
其中,。
两个话题分布距离越小,越有可能存在关联。通过设定一个距离阈值,来决定不同时间段上的话题是否具有演化关系。即,如果两个话题的相似度小于阈值,则判定这两个话题具有演化关系。
3 实验结果与分析
实验部分分为话题抽取和话题演化关系检测两部分。本文设置时间间隔δ为一年,划分语料,然后应用LDA模型。对于文档的建模过程,本文使用Gibbs Sampling进行参数推演,迭代2000次。模型参数α,β分别设置为50/K和0.1。本文实验使用了Xuan-Hieu Phan,Cam-Tu Nguyen提供的开源的Gibbs Sampling工具[9]。
3.1 实验数据
实验数据使用两会报告(人大会议和政协会议,2007~2009的新闻语料)。按照δ划分后的具体数据见表2。
首先对表2中语料进行分词,然后过滤停用词。另外,因为在两会期间,人名可能与很多话题相关,导致人名对话题的区分性不高,所以本文过滤了文档中的人名。
3.2 实验结果与评测
3.2.1 话题抽取结果
按照2.3节叙述的方法,2007~2009两会语料话题数目(表3),部分话题(对每年两会抽取结果列出了3组,并给出了其人工总结后的话题)以及其对应话题词见表4。
3.2.2 话题演化结果与分析
1)根据2.4节叙述的方法分别计算07年与08年两会话题的关联度,以及08年与09年两会话题的关联度,设置阈值(0.5)判断相邻时间间隔中话题的演化关系。第j个话题在时间间隔t中的比重计算公式如下:
其中为时间间隔t内第j个话题在文档d中比例的后验估计值。
2)图1是从结果中选取的若干个话题的演化图。纵坐标代表的是该话题在当年会议中所有话题中所占的比重使用式(6)计算。图1中实线话题表示1对1话题演化,虚线话题表示多个子话题(同一话题)合并后强度演化。例如:“房产”话题,07年是住房保障(具体特征词见表5),08年涉及到住房保证等话题,09年涉及房价调整等多个子话题。通过图1可以看出该话题的强度变化。例如,2008北京奥运会的话题在2007年两会已经有所提及,在2008年两会达到了一个高峰,然后在2009年两会奥运会的话题就趋于淡化;通过图1可以清晰地看到环境保护的话题的比重越来越大,说明了两会对环境问题的关注;两会话题中,台湾和大陆的两岸关系的话题强度变化比较平缓。
3)图2给出了本文方法所探测到话题演化图,其中列举了每个话题的五个话题词和时间戳信息。通过图2,可以看到一个话题可能演化到多个话题,2007年的住房问题可以演化到2008年的三个对应话题中。多个话题可以演化到一个话题,比如2008年的住房保障和商品房房价拐点两个话题都演化到2009年的房价调整话题。房产话题的特征词见表5。
4)根据图2所示,可以看到本文的方法也可以探测到向一个方向演化的话题。如图2中所示,话题“官员财产申报”。具体特征词见表6。
5)本文方法同样可以精确地探测到一些新出现的话题,以及演化结束的话题,或是没有对应的相关话题(即只在很短的一段时间内的时效性话题)。例如:图2所示的新的话题(2009,水价改革)以及演化关系终止的话题(2007,物权法)。具体话题词见表4。
6)根据本文的方法,有些话题之间的关系被错判为演化关系。例如:08年的南方雪灾话题(灾害,应急,重建,电网,恢复,南方,应对,雪灾,救灾,提高),被关联到09年四川灾后重建话题(重建,四川,恢复,地震,灾区,汶川,资金,灾害,四川省,工作),关联度为0.44935,小于本文设置阈值。通过上述话题词的对比,可看到都有灾害和重建这些关键词,说明了两个话题在一定程度上存在关联的,只是两个话题并不相同,不存在演化关系。
07年的银行收费话题(收费,银行,查询,建议,收取,全国人大代表,服务,标准,听证,商业银行)与08年的公路收费话题(收费,公路,政府,高速公路,大街,车辆,大桥,交通,道路,问题)关联,关联度为0.46821,小于本文设置阈值,被判定为关联关系。同样,这两个话题都涉及到收费问题,都出现了收费这个比较重要的词,说明了话题在一定程度上存在关联。但有关联的两个话题并不一定存在演化关系,需要找到话题之间代表同一话题的特征。
4 结论和展望
本文提出了基于LDA模型新闻话题演化方法。其主要特点是1)不同时间段话题数目是可变的,话题数目的确定使用了由极大似然估计值决定话题数目的方法;2)话题的演化关系通过话题抽取和话题关联两个步骤完成,反映了话题内容的变化。该方法应用在2007~2009年两会的新闻语料中,构建了2007~2009年两会话题的演化关系。结果表明本文提出的方法,可以很好地描述话题的演化过程。相对于前人的工作,本文的方法能找到1对多或多对多的子话题之间的演化,体现话题的内容变化。
未来的工作是改进话题的识别,在不同的时间段上,不但能够识别话题之间存在的关联,还要能够识别话题具有的同一性,只有具备了话题的同一性和关联性,话题之间才存在演化关系。
摘要:新闻话题及演化的研究可以帮助人们快速了解和获取新闻内容。提出了一种挖掘新闻话题随时间变化的方法,通过话题抽取和话题关联实现话题的演化。首先应用LDA(Latent Dirichlet Allocation Model)对不同时间段的文集进行话题的自动抽取,话题数目在不同时间段是可变的;计算相邻时间段中任意两个话题的分布距离实现话题的关联。实验结果证明该方法不但可以描述同一个话题随时间的演化过程,还可以描述话题内容随时间的变化,反映了话题(或子话题)之间多对多的演化关系。
关键词:潜在狄利克雷分配模型,话题关联,话题演化
参考文献
[1]洪宇,张宇,刘挺,等.话题检测与跟踪的评测及研究综述[J].中文信息学报,20072,1(6):71-78.
[2]Blei B D,Ng AJ,ordan M I.Latent Dirichlet allocation[J].Journal of Machine Learning Research,2003(3):933-1022.
[3]Xuerui Wang,Andrew McCallum.Topic over time:A Non-Markov Continuous-Time Model of Topical Trends[C]//ACM SIGKDD-2006,424-433.
[4]David Hall,Daniel Jurafsky,Christopher D Manning.Studying theHistory of Ideas Using Topic Models[C]//Proceedings of the 2008Conference on Empirical Methods in Natural Language Processing,2008:363-371.
[5]David M Blei,John D Lafferty.Dynamic Topic Models[C]//Proceed-ings of the 23rd International Conference on Machine Learning.2006:113-120.
[6]Alsumait L,Barbara D,Domeniconi C.On-line LDA:adaptive topicmodels for mining text streams with applications to topic detection andtracking[C]//ICDM,2008.
[7]Griffiths T L,Steyvers M.Finding scientific topics[C]//Proc NatlAcad Sci U S A,vol.101 Suppl ,12004:5228-5235.
[8]Mark S,Tom G.Probabilistic Topic Models[M]//T Landauer,D Mc-Namara,S Dennis,et al.Latent Semantic Analysis:A Road to Mean-ing.2006.
[9]Xuan-Hieu Phan,Cam-Tu Nguyen.http://gibbslda.sourceforge.net/.
[10]Mei Q,Zhai C.Discovering evolutionary theme patterns from test:an exploration of temporal text mining[C]//Proceeding of the eleventhACM SIGKDD international conference on Konwledge discovery in datamining,2005.
LDA模型 第2篇
微博作为一种新兴媒体, 已经成为了信息传播的重要方式。人们不仅可以利用微博共享信息, 还可以在微博上搜索信息, 实时收看各种新闻资讯。微博兼有博客和即时消息两种网络服务的优点, 它允许人们把他们目前正在做的事情在网络上以短消息的形式发布出去, 这样, 那些关注他的人便可以知道这个人目前的状况。作为世界上拥有注册用户数量最多的微博服务, Twitter在2012年6月已经拥有超过5亿的注册用户, 并且数量仍在快速增长。
当用户大量使用微博进行信息传播时, 便产生了大量的信息。这些消息都是不超过140个字的短消息。在这大量的消息之中, 有许多的消息是相关的, 他们都是对于某一事件的描述和评论。那么所有与这一事件相关的消息就构成了这一事件的话题。在微博服务中, 有超过上亿的用户, 每天发布大量的消息。因此如何在大量的微博信息中发现用户所关心的话题是一项富有挑战的课题。
本文将微博消息看作文档, 利用LDA模型对微博消息隐含的话题进行建模, 从而找出微博消息中用户关注的话题。在找出话题之后, 对话题进行重新排名, 从而能更准确地将重要的话题提供给用户。
1 相关工作
在信息检索领域, 话题发现一直是一项重要的研究工作。话题发现模型可以分为基于文档模型的话题发现和基于LDA模型的话题发现。
传统的文本话题发现方法是将文本文档看作向量, 然后利用聚类方法找出热点话题的文档。文献[1]应用文本检索和聚类技术研究了文本内容的事件检测。在分析过程中, 该研究分别采用了层次和非层次的文档聚类算法。研究结果发现, 结果聚类的层次结构对以前不明事件的回顾性检测提供了非常重要的信息。文献[2]提出了一种增量的层次聚类算法。该算法对词汇表建立了一个层次聚类结构, 并且对结果二叉树进行优化以达到最小的开销。最后, 算法对词汇表中的其它文档进行分类, 将它们分到已经分好的层次结构中。Papka和Allen提出了一个门限值模型, 应用单趟聚类算法对文档集进行话题检测[3]。该模型将事件的属性作为主要依据, 但是由于事件的先前报道不充分将导致算法的准确性不高。此外在单趟聚类算法中, 缺少早期提示或者错误的早期提示的可能性将明显增加。基于时机和社会评估的相互关系, 文献[4]提出了一种新的Twitter热点话题检测方法。在一段合适的时间内, 如果一个话题被广泛检测到, 但是在此之前却很少被检测到, 那么这个话题在这段时间内就是一个新的热点话题。同样在Twitter上, Phuvipadawat和Murate[5]提出了重要新闻的集合的概念, 并设计了“Hotstream”系统为用户提供重要新闻。聚类方法的优点是算法简单易于实现, 并且现有的很多聚类方法都可以作为借鉴, 缺点是不能很好地应对稀疏的微博发言信息。
LDA模型[6]一经提出便广泛应用在文本文档的潜在话题发现中。LDA模型将文档看作一组单词的组合, 可以将高维的稀疏文本向量映射到低位的隐式话题空间, 能很好地应对只有140字的简短并且稀疏的微博信息。为了解决数据稀疏的问题, 文献[7]采用了LDA模型对微博信息进行建模, 然而在对文档集进行聚类的时候, 采用了单趟聚类算法。该单趟聚类算法虽然简单并且易实现, 但是话题发现的准确度非常有限。为了进一步提高LDA模型话题发现的准确性, 研究人员引入了文档以外的信息, 如Rosen-Zvi等[8]将文档的作者之间的网络关系考虑在内, 提出了Topic-Author模型;Mc-callum等[9]不仅考虑了作者之间的网络关系, 还考虑了文本的发送者和接受者信息, 提出了Topic-Author-Recipient模型。实验表明, 考虑除文本以外的额外信息可以更好地提高话题发现的准确性。
2 基于LDA的话题发现方法
LDA模型[6]是一种非监督机器学习技术, 可以用来识别大规模文档集中潜在的主题信息。它采用了词袋的方法, 这种方法将每一篇文档视为一个词频向量, 从而将文本信息转化为了易于建模的数字信息。
本节通过LDA模型分析出文档集中的隐含话题, 然后将话题作为节点建立一个网络, 并按照PageRank方法对拓扑图的节点进行排名。在结果返回时, 将排名靠前的话题返回给用户, 从而提高话题预测的准确性。
2.1 LDA话题发现
对于语料库中的每篇文档, LDA定义了如下生成过程:1) 对每一篇文档, 从主题分布中抽取一个主题;2) 从上述被抽到的主题所对应的单词分布中抽取一个单词;3) 重复上述过程直至遍历文档中的每一个单词。
形式化一点说, 语料库中的每一篇文档与T个主题的一个多项分布相对应, 将该多项分布记为θ。每个主题又与词汇表中的V个单词的一个多项分布相对应, 将这个多项分布记为φ。上述词汇表是由语料库中所有文档中的所有互异单词组成, 但实际建模的时候要剔除一些停用词, 还要进行一些词干化处理等。θ和φ分别有一个带有超参数α和β的Dirichlet先验分布。对于一篇文档d中的每一个单词, 我们从该文档所对应的多项分布θ中抽取一个主题z, 然后我们再从主题z所对应的多项分布φ中抽取一个单词w。将这个过程重复Nd次, 就产生了文档d, 这里的Nd是文档d的单词总数。这个生成过程可以用图1所示的模型表示。
本文用D={d1, d2, , dM}来表示微博消息的集合, 其中dm表示第m个消息, M是所有信息的数目。每条信息包含若干个单词dm={wm, 1, wm, 2, , wm, Nm}, 其中Nm表示文档dm中的单词的数目。我们用V={v1, v2, , vV}来表示字典的集合, 其中V表示字典中含有的单词的个数。我们用z来表示每个被观测到的潜在话题, Zm={zm, 1, zm, 2, , zm, Nm}表示信息dm的所有单词的话题序列。其LDA模型的话题产生过程算法如下:
其中φk= (φk, 1, φk, V) T∈RV, φk, i=p (w=vi|z=k) 。k话题的数目, 话题和单词的联合分布的参数为Φ= (φ1, φK) T∈ZkV。θm= (θm, 1, , θm, k) T∈Rk, θm, k=p (z=k|dm) 。最后, 微博信息和话题的联合分布参数为Θ= (θ1, , θM) T∈RMk。
马尔科夫链的蒙特卡洛方法是一种有效的复杂分布采样的方法。为了使得到的采样数据是一个唯一的稳态分布, 本文应用吉普斯采样构建一个不可归约的, 周期性的, 可逆的马尔科夫链。算法的细节如下。
首先, z和w的联合分布如下:
当指定了LDA模型下z和w的联合分布后, 可以通过下面的公式计算吉普斯采样器的条件概率:
当马尔科夫链达到稳态后, 我们可以从该马尔科夫链中采样。当采样结束后, 可以对其它的潜在变量进行估计, 估计公式如下:
2.2 话题重要性排序
根据LDA模型, 我们可以构造微博信息集合的模型图, 见图2 (a) 。图中每条微博信息可以看作一个文档, 每一个文档又包含多个话题, 其中每个话题是由多个词汇所组成。在这个包含3个层次的层次图中, 话题层是隐含的, 可通过2.1节的算法得出。LDA模型的目的就是找出这些话题。LDA模型经过计算后可以找出大量的隐含着的话题, 当找出这些隐含的话题后, 如何将大量的话题返回给用户呢?
由于每个话题由多个词汇所组成, 并且同一个词汇可能包含在多个话题中, 如图2 (a) 中的wordp, wordq, wordr和words, 它们分别包含在topic1&topick, topic1&topic2, topic2&topick和topic1&topick中。如果将话题作为节点, 话题和话题之间共享的词汇作为边, 可以得到如图2 (b) 所示的无向网络。在这个无向网络中, 节点表示文档所隐含的话题, 节点之间的边表示话题之间的共享词汇。由于两个话题可能包含多个相同的词汇, 故两个节点间可能多条重复边。如果将边上的词汇去掉, 用两个节点之间的边的个数来表示这两个节点的边的权重, 图2 (b) 所示的图可以进一步化为图3所示的加权无向网络。
在话题组成的无向加权图中, 我们可以通过节点之间的链接关系分析话题的重要性, 如PageRank[10], HITS[11], SALSA[12]等。
PageRank作为网络节点排名的事实标准, 被广泛采用。PageRank将随机冲浪模型引入网络节点的排名。假设从某一节点出发, 沿着节点的边随机游走, 当游走的步数趋于无穷时, 停留在每一节点的概率为一个固定的值 (即稳态值) , 并且无论我们如何选择初始节点, 停留在每个节点的概率都不发生变化。按照节点的稳态值的大小对网络节点进行排序, 就可以得到节点在网络中的排名。PageRank的计算公式如下:
其中, n表示网络中节点的个数, P为网络的转移概率矩阵, α为阻尼系数, π为网络中n个节点的稳态值向量。
3 实验及结果分析
3.1 评价标准
本文中话题检测的性能用话题缺失的概率Pmiss, 错误提示的概率PFA来表示, 和上述两者的组合CDet来表示。其中CDet的计算公式如下:
根据TDT标准[2], 我们令CMiss=1.0, CFA=0.1, Ptarget=0.02。在实际应用中, 这些参数会发生不同的变化, 我们对CDet进行规范化, 从而得到 (CDet) Norm:
在上述公式中, (CDet) Norm的值越小, 说明话题检测的质量越好。
3.2 数据收集
我们在2012年12月通过开放API收集了Twitter上的204 074条信息。这些信息共包含了1 589个话题。
3.3 结果分析
首先我们根据3.1节提供的标准分析了算法的准确性。我们分别实现了简单的基于LDA的话题检测方法和经过LDA模型进行话题检测后采用PageRank进行重新排名的方法, 实验结果分别见表1和表2所示。
从上述两个表中我们可以看出, 随着相似性门限值t的增大, 两种算法的缺失概率PMiss也逐渐的增大, 并且错误检测的概率PFA逐渐减小。此外, 由于本文的方法对LDA模型分析后的结果进行了重新排名, 可以将重要的结果返回给用户, 所以经过PageRank排名的LDA模型减小了PMiss, PFA和 (CDet) Norm, 从而提高了话题发现的准确度。
4 结语
微博作为新媒体已经成为人们日常信息传播和获取的重要组成部分。实时性使得微博能及时地反映用户的当前状态。当现实社会的某一热点事件发生时, 人们可以在微博上快速传播这一事件。然而微博中充斥着大量的信息, 因此如何在微博中发现热点话题是一项重非常要的研究内容。本文通过LDA模型对微博中隐含的话题进行建模, 根据话题间共享词汇的关联性将话题构成一个无像加权图, 通过PageRank算法对话题的重要性进行排名, 最终将重要的话题返回给用户。实验表明, 排名后返回给用户的话题的准确性明显高于未排名的结果。
参考文献
[1]Blei D, Ng A, Jordan M, et al.Latent dirichlet allocation[J].Journal of Machine Learning Research, 2003 (3) :993-1022.
[2]Yang Y, Pierce T, Carbonell J.A study on Retro-spective and On-Line Event detection[C]//Proceedings of the 21st Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 1998:28-36.
[3]Trieschnigg D, Kraaij W.TNO hierarchical topic detection report[C]//The 7th Topic Detection and Tracking Conference, 2004.
[4]Papka R, Allan J.On Line New Event Detection Using Single Pass Clustering[R].UMass Computer Science, 1998.
[5]Cataldi L, Caro D.Schifanella C.Emerging Topic Detection on Twitter based on Temporal and Social Terms Evaluation[C]//Proceedings of the Tenth International Workshop on Multimedia Data Mining, Washington, 2010, 1-10.
[6]Phuvipadawat S, Murata T.Breaking News Detection and Tracking in Twit-ter[C]//2010 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology, Toronto, 2010:120-123.
[7]Huang B, Yang Y, Mahmood A, et al.Microblog Topic Detection Based on LDA Model and Single-Pass Clustering[C]//Rough Sets and Current Trends in Computing, Springer, 2012:166-171.
[8]Rosen-Zvi M, Griffiths T, Steyvers M, et al.The author-topic model for authors and documents[C]//Proc.of Conf.on Uncertainty in Artificial Intelligence, 2004, 487-494.
[9]Mccallum A, Corrada-Emmanuel A, Wang X.Topic and role discovery in social networks[C]//Proc.of Int.Joint Conf.on Articial Intelligence, 2005:786-791.
[10]Page L, Brin S, Motwani R, et al.The PageRank citation ranking:bringing order to the web[R].Stanford InfoLab, 1999.
[11]Chatrchyan S, et al.Observation of a new boson at a mass of 125 GeV with the CMS experiment at the LHC[J].Physics Letters B, 2012, 716 (1) :30-61.
LDA模型 第3篇
微博,来源于英文单词Micro-blog。微博用户使用约140字符的文字和图片、链接来更新信息和即时分享,具有发布内容碎片化、传播速度快、简单方便、受众范围广、交互性强的特征。例如在2008年的印度孟买恐怖袭击案件和2009年的美航坠河事件报道中,Twitter都赢得了先机。2009年8月“新浪微博”开始融入到进入网络用户的工作、生活和学习中。2013年4月20日8时03分,四川芦山地震发生一分钟后“@中国地震台网速报”根据中国地震台网自动测定信息,向公众发布“雅安地区附近发生5.9级左右地震,最终结果以正式速报为准”,虽然最后被修订为7级,但是使远离震中的亿万网民能够初步了解了地震的基本情况。
微博作为一种新型的、开放性的互联网应用平台,主要特点如下:
(1)信息覆盖面广。据统计,2012年底Twitter用户已经超过5亿,活跃用户超过2亿,每日发布的消息数量达2亿条;截止2013年底,国内新浪微博用户超过5亿,活跃用户超过6000万,每天转发、评论和原创的微博总数也超过1亿条;微博用户涵盖了社会政府机构、各行各业的权威人士和草根,便于网友之间相互交流并很容易形成热点话题。
(2)传播速度快。由于微博内容简短、信息的生产、发布、转载和反馈,几乎是零时间或者趋向于零时间,充分的体现了“及时”特点。
(3)互动性强。微博的互动性体现在用户之间的关注与被关注关系,并分为单向、双向关注两种。这种关系能够实现信息的即使分享和交流,弱化了互动角色之间的主体地位。微博的独特的信息传播机制,既不同于人际之间点对点的对话交流(例如QQ/MSN),又不同于点对面的大众传播(例如各种媒体或论坛),而是树状、环状交织并不断扩展的裂变传播方式。
(4)元数据内容丰富。指为微博开发者提供的通过API接口方式获得的一些微博结构化数据,包括微博文本元数据和用户信息。微博元数据由“type(类型)”、“attribute(属性)”、“value(值)”组成。其中微博文本元数据包含作者、发布时间、内容、评论数、转发数等标签;用户元数据则包含标识、关注数、粉丝数等[1]。微博的元数据反应了微博的社会关系网络,有助于进行热点话题发现。
对微博进行热点话题发现的研究,在网络舆情预测与分析、关键人挖掘和SEO(Search Engine Optimization,搜索引擎优化)方面具有十分重要的作用。
2 相关概念
话题发现与趋势分析TDT(Topic Detection and Tracking)产生于1996年,由美国国防高级研究计划署DARPA提出要开发一种新技术来自动判别新闻流主题。美国国际标准技术研究所NIST(National Institute of Standards and Technology)每年举办话题检测与跟踪会议来为研究提供支持,IBM、卡耐-基梅隆大学、北京大学、中科院计算所等机构陆续开展了这方面的研究与评测。涉及的具体技术包括分词、形态分析、高维向量空间的降维和聚类等。
文献[2]认为话题(Topic)是一个核心事件或活动以及与之直接相关的事件或活动;事件(Event)是由某些原因、条件引起,发生在特定时间、地点,与某些人或物相关,也可能伴随某些必然结果。例如:“2014年7月1日,日本修改宪法解禁集体自卫权是一个事件”。由于话题可以包含多个事件,所以“日本解禁集体自卫权”是一个话题,这个话题可以包含“2014年7月1日,日本修改宪法解禁集体自卫权”和“中国7月1日外交部回应,不得损害中国国家主权和安全,不得损害地区的和平稳定”等等一系列事件和人们对此的谈论内容。K.K.Bun将热点话题(Hot Topic)定义为在一个时间周期之内出现频率较高的话题,其中,判定条件是话题出现的次数和时间。主题是比话题含义更广的概念,具有抽象的含义,可以看做是涵盖多个类似的具体的事件或者根本是多个具体事件的抽象。如“争端”和“灾害”都是一个主题,“中日钓鱼岛争端”、“中菲黄岩岛争端”、“俄日北方四岛争端”都可以归为“争端”这一主题。
本文研究的话题指的是公众一段时间讨论、交流的中心;微博热点话题的构成通常包含几个要素:一是有大量微博用户参与讨论和交流的事件,符合话题的传播周期;二是包含相当数量的微博条目、评论和转发。图1显示了主题、话题和事件之间的关系:
3 微博热点话题发现
3.1 微博预处理
在单位时间和范围内,微博用户最为关心的热点问题,称为微博热点话题,通常使用用户发布、回复或者评论的微博数量超过预设的阈值来度量。从互联网上采集到的海量微博数据不能直接用于话题发现,需要进行数据过滤、分词和词性过滤、建立倒排索引、微博语义扩展等,预处理从微博的内容信息、用户信息两个维度对数据进行,因此微博热点话题MBHT(Micro-blog Hot Topic)可以形式化描述为[3]:MBHT=(MS,US,T,FS)。其中MS(Micro-blog Set)表示热点话题所涉及的微博和评论的集合;US(User Set)表示所涉及的微博用户集合;T表示热点话题从产生到消亡的时间窗口;FS(Feature Set)表示能够代表热点话题的特征项集合。
3.2 微博特征项建模
微博客作为一种新型的网络媒体数据,数据量巨大,表述不规范,导致其文本数据的特征空间非常稀疏。如果将预处理后的所有词汇都作为特征项,会造成特征空间巨大,并对热点话题发现形成干扰。从话题发现的过程分析,相似度计算是其非常重要的一个步骤,对结果的好坏有着直接的影响作用。文献[4]指出在处理短文本过程中,使用基于文本向量化的方法会丢失内部隐藏的语义信息,并且降噪和降维能力诸多缺陷。文献[5]在指出传统单纯依靠词频的文本向量化的不足,并考虑使用主题模型来进行弥补。本文在对两种模型进行了深入研究的基础上,分析了VSM(Vector Space Module)和LDA(Latent Dirichlet Allocation隐式狄利克雷分布)模型的优缺点,首先采用VSM模型进行微博的向量化,使用TF-IDF(Term Frequency-Inverse Document Frequency)进行权重计算,同时采用LDA模型进行建模,得到每个文本的主题分布向量,挖掘出潜在的语义信息,将词频和语义信息进行加权计算,从而完成微博的相似度计算。
3.2.1 微博文本的VSM建模
向量空间模型VSM的基本思想:将文本信息的处理转化为数学上的向量计算,通过将一组微博看作是向量空间的多个向量,每个特征项使用一个坐标轴来表示。具体如下:微博中第i个特征项使用Ti表示,该特征项的权值采用Wi来表示,因此该微博可以使用向量来表示。通过以上的转化,将微博消息的相似度或相关计算转换成向量的计算,即计算向量空间两个不同点之间的距离。
使用VSM进行微博消息表示的优点:表示方法简单、具有可操作性和可计算性,并且实现了语言问题向数学问题的转化,为文本相似度的计算增加了新的手段。该模型的缺点:未考虑特征项之间的联系,造成语义信息的丢失,同时由于向量空间维数高,如果没有进行降维处理,计算量比较大,当有新微博加入时,必须重新计算特征项权值,维护成本高。
当一条微博消息被向量化后,需要确定该特征在微博信息的重要性。TF-IDF算法通常用来评估特征项对于语料库中的语料的重要程度。其中TF(特征项频率)指的是某一个特征项在语料库中出现的频率,该频率是对特征项总数(terms count)的归一化,以防止它偏向长语料。IDF(反文档频率)反映了特征项在语料库的类别区分能力,主要用于对TF进行权值调整,调整权值的目的在于增强重要特征项,弱化次要特征项。本文采用TF-IDF的乘积来作为微博特征向量空间权值Wi的取值测度,其基本公式如(1)(2)(3)所示:
在上述公式中,ni,j表示特征项ti在微博语料dj中的出现次数,分母是语料dj中所有特征项的出现次数之和。|D|:语料库中的语料总数,分母是包含该词条的语料数目[6]。例如:如果一篇微博100有个词条,而词条“数据挖掘”出现了3次,那么TF=3/100=0.03,假设语料库有10000000篇微博,其中有1000篇微博出现了“数据挖掘”这个词条,那么IDF=log(10000000/1000)=4,TF*DF=0.03*4=0.12;同时类似“的”这样的词条在上述微博可能出现10次,那么TF=10/100=0.01,并且在上述语料库每篇都会出现,所以IDF=log(10000000/10000000)=0,TF*IDF=0。通过对比可得到“数据挖掘”是特征项词语。
3.2.2 微博文本的LDA建模
LDA[7]由Blei等人在2003年提出的文档-主题-单词这样一个三层的贝叶斯层次模型(Bayes Hierarchy Model)。它假设每篇文本内部隐含着若干主题,并且可按照一定的比例使用这些隐主题来表示;每个主题由该文本的特征项构成,并且可由这些特征项的概率分布来体现。
其基本思想:每篇文本的语义都是按照一定概率选择了某个主题,并从选定的主题中再以一定概率选择某些词语。该思想通过在文本和词语之间增加了主题层,将VSM模型的文档-词矩阵的两层模型转化为文档-主题和主题-词语的三层贝叶斯模型,既降低了维度又避免了语义特征的丢失,更好的表现了原文档特征。在LDA中,文档信息可以形式化表示成词频向量,并由词语-主题和主题-文档的概率组成,具体LDA模型的概率使用公式(4)表示:
这个概率公式如果用矩阵表示如图2所示:
图2的LDA主题模型由两个矩阵A和B构成。矩阵A的“主题-词语”表示每个主题中每个单词出现的概率,矩阵B的“文档-主题”表示每个文档中每个主题出现的概率,矩阵C的“文档-词语”表示每个文档中每个单词即出现的概率,亦是词频。通过微博的预处理可得到每个微博中每个单词的词频,继而得到左边矩阵C,然后通过主题模型对矩阵C进行训练,可以学习出矩阵A和B。
为了通过矩阵C得到矩阵A和B,假设语料库中M篇微博文档表示为{d1,d2,….dM},其中包含N个特征项表示{w1,w2,...wN},在M篇微博文档中分布的K个主题表示为{z1,z2,...,zK},因此矩阵A、B、C分别表示为M×K、K×N、M×N。
LDA模型中的每篇文档的主题分布是多项式分布,可用参数θ表示,具体如公式(5)所示:
同样,每个主题下特征项的分布也是多项式分布,可用参数φ来表示,具体如公式(6)所示:
由于上述两个多项式分布的概率满足对称Dirichlet分布,为了推导参数θ和φ,可用参数α和β表示为公式(7)和(8):
LDA模型的文档生成方式如下所示:
(1)从Dirichlet分布中通过参数α得到文档-主题的多项式分布θ(d i),然后从主题分布中抽取一个主题zk;
(2)从Dirichlet分布中通过参数β得到主题-特征项的多项式分布φ(zi),从上述被抽取的主题zk抽取特征项wi;
(3)循环上述过程,直至遍历完语料库中的所有文档di和词语wi:
在LDA模型的计算过程中,参数θ和φ的求解是个关键问题,但是对于上述两参数的求解是个非常复杂的数学问题,所以一般采用不精确的模型推导方法。常用的有Blei[7]提出的变分法,即主要根据变分推断和EM算法(Expectation Maximization Algorithm,最大期望算法);后来有人提出了采用Gibbs抽样算法(Gibbs sampling)[8]来进行LDA的求解,Gibbs抽样是MCMC(Markov chain monte carlo,马尔可夫链蒙特卡尔)理论中用来获取一系列近似等于指定多维概率分布(比如2个或者多个随机变量的联合概率分布)观察样本的算法。本文亦采用Gibbs抽样算法,通过构建收敛的马尔可夫链,抽取最接近与概率分布的样本。
利用Gibbs抽样算法对参数θ和φ的值进行计算的过程如图3下:
通过Gibbs抽样算法能够计算LDA模型的关键参数θ和φ的值。其中参数θ由矩阵A计算得出,表示微博语料库文档-隐主题的概率分布;参数φ由矩阵B计算得出,表示微博隐主题-特征项的概率分布。
3.3 热点话题发现方法
目前,微博的热点话题发现方法主要是将其看做短文本来处理,一般采用基于词频统计的方法;本文融合了微博的特点和社会关系来进行微博聚类能有效的解决热点话题发现问题。
3.3.1 微博向量相似度计算
微博文本的聚类首先需要向量相似度计算。在基于向量空间模型中,微博文档di和dj间基于词频空间上的余弦相似度如公式(9)所示,其中n为VSM的维度。
在基于LDA的模型中,K为微博空间主题的个数,微博文档di和dj间基于主题空间的余弦相似度为[9]:
本文提出的将上述VSM与LDA模型相结合的方法中,微博文档di和dj向量的相似度计算通过使用λ加权,计算公式如(11)所示:
3.3.2 融合微博社会关系的话题发现算法
本文拟采用融合微博社会关系的热点话题发现方法,该方法根据微博发布用户的状态进行分类,同时基于微博社区结构及社会关系[10,11],将微博文档分为评论、转发、原文等。基于社会关系的思想能弥补诸多传统文本话题检测的不足之处,例如用户A发微博说:“XXX在飞机上殴打空姐……”,用户B回复A说:“嗯,他被停职检查,不再担任广州越秀区武装部政委”。虽然他们谈论的是同一个话题“方大国殴打空姐”,但是由于用户AB所发的两篇微博之间可能没有任何共同词汇,因此语义相似度为0,所以说仅依靠语义来度量话题之间的关系是远远不够的。此时,微博中丰富的社会化关系(例如评论、转发等)可以成为文档之间关系度量的重要依据。
基本思路:在传统聚类算法Single-pass的基础上,提出了融合微博的社会关系理论的SPWSR(Single-Pass With Social Relation)算法。该算法将用于微博互动的转发评论关系,微博用户之间的关注关系增加到话题发现中,并且预设微博向量相似度阈值A,最终判断微博语料或者建立新话题类别或者归入已有类别。算法的具体流程如下:
(1)微博文本预处理。包括对微博进行分词、去除停用词、权重计算、语义扩展、建立初始微博向量,并为首条微博向量建立话题类别等。
(2)依次处理微博向量,判断当前读入的微博M同话题类别Ci中的微博{M1,M2…Mn}是否存在评论转发关系。如果存在,则将当前微博M归入话题Ci,并调整该话题质心向量;如果不存在,则通过公式(10)计算微博M同话题类别集合{C1,C2…Cn}之间的相似度sim(M,Ci),如果sim(M,Ci)>A,则将其归入话题类别Ci,并更新Ci的话题向量,同时转步骤(4);否则继续进行步骤(3)。
(3)比较当前微博M同话题类别Ci的相似度sim(M,Ci)与相似度阈值A的大小,如果sim(M,Ci)<A并且当前Ci是最大相似度的微博话题类别,进一步判断微博M和max(Sim(M,Ci))中的类别Ci是否存在关注关系,如果存在则将其归入类别Ci,但更新微博话题向量,如果不存在将其归入类别Ci后不更新微博话题向量,转步骤(4)。
(4)判断微博是否处理完毕,如果不是转入则转入步骤(3);若是处理完毕则结束该算法。
4 实验
4.1 实验评价方法
由于研究的具体问题和语料不同,话题发现的评价方法也不同,基于此实验以NIST为话题发现所建立的评价指标体系为基础,通过漏检率、误检率,准确率、召回率等基本性能指标的求解,以反映准确率和召回率的综合指标F1-measure、漏检率和误检率的综合指标CDet为话题发现评价的重点,并将CDet进行归一化处理得到Norm(CDet)。上述各指标计算公式如下:
参数说明:在微博语料库中,a为模型检测到的相关微博数,b为检测到的不相关微博数,c为相关未检测到的微博,d为不相关未检测到的微博,其中Cmiss和CFA为漏检和错检的代价系数,漏检的代价一般较高,Ptarget是先验目标概率,表示某话题的微博出现的概率,其与Pnon-target概率和是1。
4.2 实验过程
本文以新浪微博为实验语料,采集了马航失联、昆明暴恐、招远血案、昭通地震、斯诺登事件等5个热点话题共80560条微博数据,除数据本身外,还包括上述微博的用户信息与微博元数据信息。实验首先进行微博预处理,每个话题筛选100条微博分别进行VSM和LDA建模,并根据新浪微博的特殊符号以及结构特点,例如“//@、#”,进行微博转发评论、用户关注关系等信息的提取,用作SPWSR算法的基础。
对于评价指标Norm(CDet),文献[12]认为Cmiss=1,CFA=0.1,Ptarget=0.02,Pnon-target=0.98[15]结果较好。为了将公式(11)的加权系数调到最佳,分λ对的不同取值(精度为0.1)来测试上述算法的F1-measure值。通过大量的实验证明当λ=0.4,F1-measure取得最大值为0.86。
为了测试和评价SPWSR算法的性能,进行了下列对比实验。实验采用话题检测常用的层次聚类算法和K-means聚类算法用来进行对照,层次聚类算法采用自下而上的合并聚类方法;K-means聚类算法根据微博数量来决定初始微博类别的设置。实验采用5个话题的平均性能作为各个算法的性能指标,实验结果使用折线图表示如下所示。
从图4的比较结果可以看出,同传统的层次聚类和K-means聚类算法相比,SPWSR算法在各项指标上都有较大的提高,部分性能指标提高将近20%。原因之一在于该算法考虑了微博的结构特点和特征项之间隐含的语义信息,同时联合了多种模型进行相似度计算,提高了微博之间相关性的判断;原因之二由于微博用户之间的关注关系和微博之间的转发评论关系,同层次聚类和K-means聚类算法相比,能够较大的提高算法的指标。因此,虽然引入微博的结构化信息增加了算法的复杂度,但却是必要的。
5 结束语
微博作为即时信息的发布和传播途径,随着微博用户数量的急剧增加,被人们越来越重视,并成为当前移动互联网时代舆情发布和传播的重要途径。本文充分考虑了微博的结构化特点和社会关系,融合了VSM和LDA模型,设计了SPWSR热点话题发现算法,提高了话题发现的效率。
摘要:针对现有话题检测技术的不足,提出了一套适用于微博的热点话题发现方法。通过分析话题检测和微博的相关概念、特点及传播规律,对微博进行预处理和特征项的选择。利用VSM和LDA模型对其进行混合建模并进行微博相似度计算,融合微博社会关系提出了SPWSR聚类算法进行热点话题发现。实验结果表明,在NIST的评价指标体系下,该方法各指标平均提高了10%到20%。
关键词:微博,向量空间模型,LDA模型,话题发现,社会关系。
参考文献
[1]张静.基于微博的网络热点发现模型及平台研究[D],武汉:华中科技大学,2010.
[2]张辉,周敬民,王亮等.基于三维文档向量的自适应话题追踪器模型[J].中文信息学报,2010,(5):70-76.
[3]唐果,陈宏刚.基于BBS热点主题发现的文本聚类方法[J].计算机工程,2010,(7):79-81.
[4]FERN X Z,BODLEY C E.Cluster ensembles for high dimensional data clustering:An empirical study[R].School of Electrical and Computer Engineering,Purdue University,2004,(6):212-226.
[5]崔凯.基于LDA的主题演化演技与实现[D].长沙:国防科技大学,2010.
[6]李勇,张克亮.基于微博的网络舆情分析系统设计[J].计算技术与自动化.2013,(2):125-126.
[7]DAVID M.BLEI,ANDREW Y.Ng.Latent Dirichlet Allocation[J].Journal of Machine Learning Research,2003,(3):993-1022.
[8]STUART G,DONALD G.Stochastic relaxation gibbs distributions and the Bayesian restoration of images[J].IEEE Trans Actions on Pattern Analysis and Machine Intelligence,1984,(6):7212-7411.
[9]黄波,基于向量空间模型和LDA模型相结合的微博客话题发现算法研究[D].成都:西南交通大学,2012.
[10]王晓光.微博社区交流结构极其特征研究[D].上海:华东师范大学.2011.
[11]LIMEI C,YUNGANG W,Bo S,et al.MicroBlog Social Network Analysis[C].Proceedings of 2010 2nd International Symposium on Information Engineering and Electronic Commerce(IEEC).IEEE.2010:l-3.
LDA模型 第4篇
关键词:可视化,多基因组,LDA模型,MDS算法
0 引 言
近年来随着个体基因组测序的普及,测序的个体基因组数量大大增加,基于多个个体基因组数据的研究也日渐增多。遗传学、人类学、社会学等许多学科都高度重视对人群的研究,早期的Hap Map计划[1]就有意识地搜集世界各地不同人群的基因组数据,作为其延续,2014年年中,千人基因组计划[2]公开发布了第三阶段的数据,共包括属于5个超级人群、26个人群的2 504个个体的基因组变异数据。在遗传疾病的研究中,对多个疾病样本与多个正常样本的基因组进行比照分析、对多个疾病亚型的样本基因组进行测试分析,均为常见的科学手段。因此,同时对多个个体的基因组进行比较、分析即已成为生命科学和医学研究中的重要需求。多基因组可视化能够显著提升多个个体基因组的比较和分析效率,也是重要的研究课题。
多基因组可视化并非多个个人基因组可视化的简单集成,特别是当需要可视化的个人基因组数量较多时,简单集成的方法无法直观地表达多个基因组之间的异同。多基因组可视化关注的是多个基因组之间的关系,也并非是基因组的一般性特征,这又不同于一般性的基因组可视化。多个基因组遗传变异层面的比较,因为变异数量巨大、并且绝大部分变异并无信息性,故而很难在有限的显示空间内可视化,也即使研究者很难从大量变异数据中筛选出重要的变异。通过帮助研究者们查看多个基因组在遗传变异层面的比较结果,并且寻找多个基因组中对研究有用的变异,则是多基因组可视化的主要目的。
本文根据多基因组可视化的需求,探讨了多基因组可视化面临的主要问题,分析了多基因组可视化的数据降维策略; 提出了基于LDA模型及KL散度的多基因组相似度求解方法,其中,LDA模型由于可以给出相似基因组之间的共同潜在特征相关的变异列表和概率分布,将更加有利于对研究者所关心的变异进行识别; 并且建立了基于MDS算法的多基因组可视化降维方法; 最后,本文使用千人基因组第三阶段的基因组变异数据,分析和测试了上述方法的有效性。
1 LDA 模型的基本理论
Latent Dirichlet Allocation( LDA) 模型[3]是无监督学习的概率主题模型,该模型假设每个文档有不同概率的多个主题,而文档中的词汇则通过这些主题以一定概率具体选择而生成。因此,通过学习语料库中的文档,LDA模型可以获取语料库中潜在的主题,并得到每个文档的主题混合分布,以及每个主题中的主题 - 词汇概率。由于是无监督学习算法,使得LDA并不需要输入标注后的语料库,并且对于每一个主题,都可以找出一个词的集合对其进行描述。LDA模型基于bag - of - words假设,即不考虑词在文档中的顺序,并且也不考虑文档之间的顺序。但LDA并不假设词汇或文档是独立同分布的。LDA模型可以用于文本主题识别,文本分类和文本相似度计算等问题。
LDA模型的主要任务是寻找使语料库文档具有较高概率的模型,并使语料库以外的其他类似文档也具有较高概率,以识别非语料库文档的主题。因此,LDA模型的基本策略是用一组随机混合的隐含主题分布表示文档,并使用词汇的概率分布来描述每个主题。通过观测到的语料库内文档中词汇的分布估计文档 - 主题向量和主题 - 词汇矩阵等参数,从而获得主题的词汇描述、文本的主题相似度等信息。
LDA假定语料库D中的每个文档是通过如下过程生成的:
( 1) 选择文档词汇数量的分布N ~ Poisson( ξ) ;
( 2) 选择多项分布的参数θ ~ Dir ( α) ;
( 3) 通过以下两个步骤选择N个词中的每个词wn:
1选择一个主题zn~ Multinomial( θ) ;
2依照概率分布p( wn| zn,β) ,即主题为zn条件下的多项分布概率,选择一个词汇wn。
LDA模型最早通过变分贝叶斯期望最大化算法 ( Variational Bayesian Expectation Maximization,VBEM) 估计参数[3],也可以使用较快的吉布斯采样( Gibbs Sampling) 方法估计参数[4]。在LDA模型基础上,D. Blei等和D. Ramage等随后又提出了有监督的LDA模型s LDA[5]和L - LDA[6]。
2 基于 LDA 模型的多基因组相似度计算方法
基于此,一般化地考虑LDA模型,LDA模型试图从可观测到的离散数据单元和离散数据单元的无序集合的关联关系中,为这些集合学习到一个有意义的隐含属性,该属性是集合包含其内容数据的标志,也是集合与集合之间进行语义性比较的基础,并且该属性还可以使用一些离散数据单元所描述或定义。但是LDA模型并不限定该属性和数据之间或属性和集合之间有因果关系。
综上理解可知,LDA模型可以应用于多基因组的相似度计算和比较研究中。人类基因组之间有高达99. 9% 的相似性,个体基因组一般被表示为相对于一个标准的参考基因组的一组变异信息。因此基因组可以表示为许多变异的集合,对于基因组而言,这些变异只有分子位置上的顺序关系,语义关联上的顺序关系可以被忽略。而根据不同的问题背景,该基因组可能具有不同的属性,如不同人群、超级人群,或者疾病 - 正常、疾病的不同亚型等等。本文以属于不同人群的多个基因组为例,应用LDA模型计算多基因组的相似程度,本例中,个体的基因组事实上可能是多个人群的混合,如混血。图1显示了多基因组相似度计算问题的数据与LDA模型术语间的映射关系。
本文根据先验知识的变异预筛选策略能够使多基因组相似度计算问题的规模降低到LDA模型的求解算法能够求解的范围内,并更好地识别有意义的人群 - 变异关系和基因组相似特征变异。
与一般的LDA模型解类似,人群( 多基因组的子类别)的相似度以及多个个体基因组之间的相似度可以使用Kullback - Leibler Divergence,即KL散度( KL距离)[7]来刻画,由于KL散度的不对称性,也可以使用对称KL散度,即KL散度的算术平均数、几何平均数、调和平均数,或者JS散度( Jensen - Shannon divergence) 及其平方根[8,9],本文将使用JS散度的平方根作为两个个体基因组之间的相似性度量。
根据LDA模型的基本理论,使用变分贝叶斯期望最大化( VBEM) 算法,可以迭代求解人群分布向量。
VBEM算法引入变分参数γ和φ,简化了原来由于θ、z和w的条件关系而难以求解的概率图模型。指定了简化的可优化下界的函数后,即需寻找使下界函数和真实联合后验分布的KL散度极小化的变分参数γ和φ,具体公式为:
3 基于 MDS 算法的多基因组可视化降维算法
MDS方法的基本流程为:
( 1) 给定M个样本的K维数据,计算每对样本之间的相似度/距离,并存入M×M的矩阵Δ;
( 2) 把数据投射到低维( r维,r < < K) 空间,为样本在r维空间中随机初始位置,使用一个M×r的矩阵X存放投影后每个样本在r维空间的坐标;
( 3) 根据样本在低维空间的坐标,计算每对样本之间的距离,一般为欧氏距离,并存入M×M的矩阵D。
( 4) 测量Δ与D的差别,差别使用应力值衡量,计算公式如:
( 5) 如果应力值大于阈值,即低维空间的样本距离关系还没有足够近似高维空间中的样本相似关系,则移动矩阵X中的样本坐标,使高维空间相似度高的样本之间的距离减小,以减小总体应力值。
( 6) 重复( 3) - ( 5) ,如果应力值小于阈值,或多次循环阈值差别不大( 收敛到局部最优) ,算法停止。
本文使用LDA模型求解了多基因组之间的相似性,相似度量是KL散度。KL散度是不对称的,但是在MDS算法中,作为输入的高维空间样本距离应是对称的。因此在实践中,常常使用KL散度的算数平均数、几何平均数、调和平均数,或者JS散度及其平方根作为相似性的度量。
JS散度 ( Jensen - Shannon Divergence) 是对称和平滑版本的KL散度,数学定义如下:
其中:
MDS算法的另一个关键问题是应力函数的优化方法。本文采用SMACOF算法[10]最小化应力函数,应力函数定义为:
也就是说,最小化应力函数实际是尽量令dij( X) ≈δij。具体地,dij为r维空间上样本i和j的欧氏距离。
4 实验结果与结论分析
研究采用千人基因组第三阶段数据作为本文方法的测试数据。
在遗传过程中,子代个体将继承两个亲代个体的部分变异,并产生少量( < 100) 新的变异。因此,对于子代个体来说,性状和表型主要由亲代个体遗传信息的重新组合决定,这是子代与亲代相似性的遗传基础,同时也将使亲代的遗传特征以变异为表现形式而保留在后代的基因组中。由于地理因素和社会因素,人类在漫长的进化和发展过程中,总是在一定的人群( population) 范围内通婚,这就使得每个人群中广泛存在某些从祖先获得的较稳定遗传特征,而不见或少见于其他人群。典型的特征如肤色、瞳孔、发色等等。在基因组层面,这些遗传特征可以用一个变异或多个变异的组合进行描述,而且这些变异在不同人群中,则呈现为高内聚、低耦合的特点。
图2就是所有个体的基因组相似度计算和可视化结果。从图2( a) 中可以看到,本文的多基因组可视化方法,尽管采用了无监督的算法,但却完美重现了全部5个超级人群的划分: 欧洲人群( European,EUR) ,东亚人群( East Asian,EAS) ,混血美洲人群( Ad Mixed American,AMR) ,南亚人群( SouthAsian,SAS) 和非洲人群( African,AFR) 。
图2( a) 还准确地定位了混血美洲人群的位置,即欧洲人群和非洲人群之间,但也延伸向东亚人群和非洲人群之间。这与中南美洲是欧洲殖民者、非裔奴隶和当地原住民长期混血的事实十分吻合。特别地,其中延伸向非洲人群和东亚人群中间部分的趋势,也与中南美洲原住民是冰川期从欧亚大陆沿白令海峡迁往美洲大陆的理论自洽。而南亚人群与欧洲人群同属白色人种,两者的距离比非洲人群和东亚人群更加接近。
由于各超级人群的区别十分明显,为了进一步讨论超级人群内部各人群的相似与区别,图2( b) 用不同形状代表各超级人群,用颜色区分超级人群内部的各个人群。超级人群下的各人群之间划分也十分显著。图2( b) 还显示了在欧洲人群中,伊比利亚人群( IBS,图b - 1) 最接近混血美洲人群中的波多黎各人群和哥伦比亚人群( PUR,CLM,图b - 2) ,这与中南美洲的主要殖民者是西班牙人和葡萄牙人也十分吻合。而南美洲太平洋沿岸国家秘鲁的人群( PEL,图b - 3) 则保留了较多的原住民血统。尽管混血美洲人群血统较为复杂,但本文的可视化方法仍然较为清晰地展示了混血美洲人群内部各个人群的区别,以及这些人群与其他超级人群的联系。
5 结束语
基于LDA的用户轨迹分析 第5篇
关键词:用户轨迹,语义解释,LDA,主题区域
0 引 言
近年来, 随着以GPS导航仪和智能手机为代表的智能终端的普及应用, 人们已经能够以相对低廉的代价获得大量的用户实时位置数据, 如在GPS导航系统的支持下, 我们可以实时获得汽车驾驶员当前所在的经、纬度位置信息和行驶方向信息;对于随身携带了移动电话的用户, 我们也能以基站定位的方式, 估计出该用户所在的大概区域。特别的, 对于给定的用户, 当我们把他在一组连续时间点上的位置“串联”起来后, 就形成了他在这个时间段内的行为轨迹数据。
在大量的用户位置和行为轨迹数据背后, 隐含了丰富的空间结构信息和用户行为规律信息, 通过对这些信息进行深入的挖掘和利用, 我们不仅有可能发现个体用户的日常行为规律和群体用户的共性行为特征, 甚至还有可能掌握他们的社交关系信息, 这对城市规划、智能交通甚至广告推荐等应用都具有非常重要的意义。
在用户轨迹分析的研究中最为常用的手段是聚类, 文献[1 - 3]都先将轨迹分割成小的子段, 然后通过不同的方法聚类子段来提取相似的子轨迹。Ahmed Kharrat[4]等提出轨迹聚类方法NETSCAN, 该方法先计算繁忙路径, 然后根据用户设定的密度参数聚类子轨迹。夏英[5]通过增加停留点 ( stop) 语义信息来提高子轨迹划分的合理性, 再通过聚类的方法获得用户关注度更高的热点路径。Andrey Tietbohl[6]等人基于轨迹速度的特征通过聚类的方法提取单一轨迹的中的有趣位置。桂智明与陈彩[7]通过预先定义与应用需求相关的重要地点作为关键点, 对与该地点具有同种空间关系的轨迹点进行聚类, 发现轨迹中隐含的关联规则和频繁模式。
常规的聚类方法只能获得用户轨迹的聚类结果, 但是无法从生成的角度解释用户的行为。本文提出使用生成模型来对用户轨迹进行语义解释, 即通过使用LDA模型发现轨迹集中的潜在主题区域来解释用户轨迹的形成原因, 这些主题区域反映了位置与用户轨迹的内在联系, 在这里我们将主题区域看作城市的功能区, 由于这些区域提供一定的服务如商业、教育、娱乐或者交通要道等, 吸引大量用户的到来, 从而在这个地方形成一个热门的主题。这些功能区域可能是由城市规划者人工设计的, 也有可能是按照人类现实生活方式自然形成, 会随着城市的发展改变功能和边界, 所以热门主题区域并不能通过行政划分的方式得到。
本文使用D. M. Blei[8]等人提出的LDA模型作用户出行规律聚类, LDA是文档分析研究与应用中最有影响力的模型之一。近年来对LDA模型在有关用户行为的应用也引起了广泛的关注。Ferrari[9]等人应用LDA模型从基于位置的社交数据 ( twitter) 提取城市的日常活动模式。Mamei[10]同样应用LDA分析用户在不同时间段的日常活动模式, 不同的是他们更关注的是单个用户的行为, 而不是群体用户行为。Xuelian Long[11]等人使用LDA模型从Foursquare在匹兹堡地区的签到数据发现当地的地理主题。Jing Yuan[12]等人基于LDA模型和狄利克雷多项式回归 ( DMR) 模型, 结合人们在区域间流动的轨迹数据和区域的POI信息, 来发现城市的不同功能区, 并推断不同功能的功能强度。与上述工作不同的是我们关注用户轨迹的语义解释, 并基于如下的假设: 用户的出行都带有一定目的, 每一次的出行可以看作是随机选择了一个目的, 为了达到目的用户随机经过一系列的位置, 这些位置点“串联”起来最终形成了轨迹, 我们就是希望通过本文的手段解释用户轨迹形成的背后意图。
本文研究用户轨迹的语义解释, 总体思路是使用LDA模型从用户的轨迹集中提取主题区域和主题路径, 提取的结果有以下的意义: ( 1) 提取的主题区域对城市规划、位置推荐、商业选址都有一定的参考价值; ( 2) 每个主题区域由热门路段构成, 发现这些热门路段对交通设施规划、路线导航以及交通管制都能提供信息; ( 3) 使用主题模型能较好地给出轨迹的语义解释, 为理解用户行为尤其是从海量轨迹数据集中理解用户行为提供思路。
1 基于 LDA 的用户轨迹模型
为把LDA应用于用户出行轨迹分析, 在本文中, 我们应用表1模型在用户轨迹与文本描述间建立如下映射关系: 我们将一个用户走过的轨迹视作一个文档, 走过的轨迹中涉及多个主题区域, 好比一个文档包含多个主题, 这样轨迹集类比文集, 对轨迹集进行主题推断, 可以得到多个主题区域, 这些主题区域由路段的分布来描述。在主题区域内或附近甚至更远的道路承载着往来这个区域的人类流动, 在这些道路中有些道路是比较频繁地被人们选中的, 将一个主题区域看作一个主题, 则常被选中的路段就好比主题中的高频词。
给定用户轨迹集, 我们构造用户轨迹与路段的关系矩阵M, 矩阵的行表示一个用户轨迹, 列表示一个路段, 矩阵中每个元素表示用户轨迹在路段上经过次数, 如, vmn表示用户m在路段n上走过的次数。文本LDA采用词袋的方法, 即不考虑词语词之间的先后次序, 类似地在我们的模型中也不考虑路段与路段出现的先后次序。
LDA包含K个隐含主题z = { z1, z2, …, zk} , 轨迹中每个路段都是由某个主题产生, 而每个轨迹中的K个主题则按照特定概率θ混合而成, 整个轨迹集上主题先验分布用α表示, 所有主题上路段分布用β表示, 如图1 ( a) 所示, 任一轨迹t = { r1, r2, …, rN} 的生成过程如下:
获得用户轨迹t经过的主题区域的分布θ~Dir (α) 。
(1) 对于轨迹t中的每个路段rn;
( 2) 根据主题区域分布随机选择主题区域zn, zn~ Multi-namial ( θ) ;
( 3) 从主题区域zn的多项条件概率分布p ( rn|α, β) 选择一个路段rn。
轨迹t生成的概率表示为:
在模型中, 主要的问题是给定t, α, β, 求解θ, z的后验分布:
直接计算这个分布比较困难, 使用Blei[8]提出的变分EM算法来计算p ( zn| t, α, β) , 具体过程如下:
( 1) 如图1 ( b) 所示将原LDA进行扩展;
( 2) 使用一个变分分布q ( θ, z) 近似逼近p ( zn| t, α, β) , 其中β为一个k×n随机的随机矩阵; 假定每一行都是独立采样与一个可交换的Dirichlet分布, 选择一个可以分离的分布:
最小化q和p之间的相对熵, 可得:
通过多次迭代可以变分参数 ( γ*, ф*) , 从Dir ( γ* ( t) ) 中选择样本θ, 而θ中每一维度表示一个轨迹中的主题在该轨迹中所占的比例, 真正的主题比例θ*可以由Dir ( γ* ( t) ) 中产生的样本均值得到。参数фn近似表示p ( zn| rn) , 由于zn服从Muti-nomial ( θ*) , 可得到一个轨迹属于某个主题的概率分布为:
用户出行主题的发现得于对模型进行参数推断, 然而由上述方法发现的主题是用热门路段来表示的, 我们需要结合这些路段在交通路网中的位置以及附近的兴趣点才能解释用户的行为。
2 实 验
2. 1实验数据集
本文实验使用的是2012年2月份出租车在珠海收集的GPS轨迹数据集 ( 由广东省交通中心提供) , 共由896辆出租车在全市范围内为时1个月收集数据, 数据量足够大, 对该数据集的统计结果见表2所示。
对车辆走过的总路段数以及覆盖不同的路段数统计如图2所多示子, 集横匹轴配表加示强车了辆局编部号特, 左征纵在坐不标完表整示掌走纹过图的像路识段别总结数果 ( 的文贡档中献词, 因的此数获量得) 更, 右优纵的坐掌标纹表识示别每结辆果出, 对租比车结的果轨, 迹再覆一盖次的验路证段M数F-占总路段数 ( 词汇) 的比例。
数据集中出租车走过的轨迹在珠海地图中的分布如图3所示, 全市共划分为10 015个路段, 轨迹集共覆盖其中2 960个不同的路段, 占29.6%, 可见该数据的覆盖范围比较广。
2.2轨迹解释
本文实验参数具体设置如下:对每个用户轨迹的最大迭代次数为20, 参数估计的收敛值为10-6, EM最大迭代次数设为100, EM收敛值设为10-4, 而主题数需要人工调整, 主题数会直接影响聚类的结果。下面以主题数等于4为例进行实验, 当迭代到第26次时参数收敛, 得到4个主题区域如图4所示, 可以看出结果具有明显的聚类效应。
从地图可以直观看出:
主题1该主题下的频繁路段包括昌盛路、港昌路、粤海中路、迎宾南路和情路南路, 结合地图可以看到这些路段基本是从珠海到澳门的必经之路, 反映出人们常选择这些路去澳门, 除此之外该主题还有一个显著特征, 在该主题所在区域内有大量的酒店旅馆、商场、餐厅, 故该主题形成的背后原因是有较多的人到此旅游、住宿或者购物。
主题2该主题区域包含非常多的教育机构, 例如暨南大学珠海校区、珠海第十中学、香洲实验学校等, 可以看出教育功能是该区域最明显的特征, 教师、学生上下课会在该区活动, 从而形成聚集效应。
主题3该主题区域中最突出的是具有行政、旅游功能, 珠海市政府、香洲国家税务局等政府机构坐落在该区域, 另外, 区域附近有珠海的著名景点, 如情侣路、石景山公园、香山公园、珠海市博物馆等等, 所以到此处行政办公或旅游是该区轨迹形成的主要原因。
主题4从地图可以看出该主题下的频繁路段恰好是从斗门区、金湾区到香洲区的必经之路, 该主题形成是由于人们频繁选择这些路段在区域间往来。
为了考察主题数对聚类结果的影响, 将主题数设为5、6、7分别进行实验, 发现增加主题数会将原来的主题细分, 或者增加其他主题, 但是最明显的仍然是前面4个主题。从实验可以看出本文模型的参数具有普适性。
3结语
本文提出使用LDA模型对用户轨迹进行语义解释, 通过实验可以看出本文方法能发现城市中的主题区域, 这些主题区域都有各自明显的特征, 反映了人们的活动意图, 发现的结果对城市规划、交通管制等应用都有重要的参考价值。由于使用LDA模型发现的主题区域是用热门路段表示的, 本身没有带有语义, 本文是根据经验来解释其语义, 下一步工作是研究结合其他数据源, 例如POI数据, 来自动地解释主题区域的语义。
参考文献
[1]Lee J G, Han J, Whang K Y.Trajectory clustering:A partition-andgroup framework[C]//Proceedings of the 2007 ACM SIGMOD international conference on Management of data, Beijing, China, June 11-14, 2007.
[2]韩陈寿, 夏士雄, 张磊, 等.基于速度约束的分段轨迹聚类算法[J].计算机工程, 2011 (7) :219-221, 236.
[3]张延玲, 刘金鹏, 姜保庆.移动对象子轨迹段分割与聚类算法[J].计算机工程与应用, 2009 (10) :65-68.
[4]Kharrat A, Popa I, Zeitouni K, et al.Clustering algorithm for network constraint trajectories[C]//13th International Symposium on Spatial Data Handling, SDH, Montpellier, France, 2008:631-647.
[5]夏英, 温海平, 张旭.基于轨迹聚类的热点路径分析方法[J].重庆邮电大学学报:自然科学版, 2011 (5) :602-606.
[6]Palma A T, Bogorny V, Kuijpers B, et al.A clustering-based approach for discovering interesting places in trajectories[C]//Proceedings of the 2008 ACM symposium on Applied computing, 2008:863-868.
[7]桂智明, 陈彩.基于语义的移动对象轨迹知识发现研究[J].计算机工程, 2009 (16) :14-16.
[8]Blei D, Ng A, Jordan M.Latent dirichlet allocation[J].The Journal of Machine Learning Research, 2003, 3:993-1022.
[9]Ferrari L, Rosi A, Mamei M, et al.Extracting urban patterns from location-based social networks[C]//LBSN’11, 2011.
[10]Ferrari L, Mamei M.Discovering daily routines from google latitude with topic models[C]//CoM oRea’11, 2011.
[11]Long X, Jin L, Joshi J.Exploring Trajectory-Driven Local Geographic Topics in Foursquare[C]//Proc LBSN’12, 2012.
LDA模型 第6篇
0 引言
主题模型[1]的应用广泛, 一种简单有效的主题标签信息模型被应用到了计算机视觉任务。主题模型方法也被应用到了场景建模, 分割及分类或检测。在其中的一些视觉应用中, 潜主题[2]本身被假定为对应于对象的标签。如果标记的数据是可用的, 要么全部或一些z值可以被视为可观察到的, 而不是潜在的变量。我们的模型将扩展z的标记从单值的形式变成子集的形式, 从而提供额外的模型表现。
如果文档的基于主题的陈述是用于文档分类, 为单词w提供z-标签[3]的话可以被视为作为与特征标签半监督的学习的功能类似。在这里, 单词被视为特征, 而z-标签向导作为一个特征标签。这不同于其他使用文件标签信息的有监督的LDA变种,
LDA模型[4]的统计软件调试文件, 它只能出现主题在文件的一个特殊的子集。这种作用是通过使用不同的超参数实现文件的2个子集。半监督LDA模型可以实现与通过限制在z在文件之外的特殊的子集同样的效果, 以便在z的不能假设主题价值。因此, 本方法可以被看作是LDA[5]的推广。
另一种看法是, z-标签可能指导二次发现主题模型或发现不占优势的统计模式数据。用户对这些主题可能更有兴趣或与用户的目标更相关, 但标准的LDA会忽略掉这些有用的主题, 而选取更显著地结构, 这便是半监督LDA模型的优势所在。
1 模型建立
我们让
如上讨论, 有如下公式:
这一提法给了我们一个灵活的方法[6]来插入优先级高的知识到潜在主题的推演中。我们可以在语料库中为每一个词设置, 这让我们, 例如, 强制两次出现相同的字 (例如, ”apple pie”和”apple i Pod”) 通过不同的主题加以解释。这种效果是不可能通过特定主题[7]的非对称矢量实现并将一些条目设置为零的。
这种硬约束模型也可以适当放宽, 让成为我们的约束的另一个条件, 其中当时, 就又成为了硬约束, 而当时, 就成为了无约束的采样方程。
而我们给出的z-标签约束作为机械的修改吉布斯抽样方程[8], 它可以从一个无向延伸衍生出LDA模型[9]。该软约束吉布斯抽样方程是由这种模型自然产生, 它也是后面描述的一阶逻辑的约束条件的基础。
2 实验分析
2.1 半监督LDA性能评估
实验英文语料库选取newsgroup, 训练集占70%, 测试集占30%, 表中显示了语料库的一部分类别分布。参数设置为:主题数K取50, α和β取值根据经验分别取的是α为1, β为0.1, 迭代次数为2000轮, 对于半监督LDA, 将γ取值为0, 每个类别指定一个确定的主题。
现在用实验结果来展示主题集模型, 除非另有规定, 分别取对称超参数α=0.5, β=0.1。迭代次数选择2000轮, 同时所有的MCMC链都对2000个样品进行估算。
我们探索运用主题集的识别相关的一个目标概念的话, 给定的一组与此概念相关的种子单词集。例如, 如果生物专家可能会对“translation”的概念感兴趣。接着专家将随后提供一组与这一概念关联很强的相关种子单词集, 在这里我们假设种子词集{translation, trna, anticodon, ribosome}。我们为所有出现这四个字的语料库与添加硬约束。然后, 运行LDA, 主题数T选择50, 对种子单词集, 我们分别对标准LDA模型和有监督的LDA模型进行执行。表2给出了无监督的LDA模型和有监督的LDA模型, 运行后的结果。表2-2a所示的是有监督的LDA模型执行后, 与种子单词最相关的50个单词的结果, 表2-2b所示的是在无监督情况下, 与种子单词最相关的50个单词的结果。
为了更好地理解表中的结果, 种子单词用蓝色表示, 与种子单词相关的单词用红色表示出来, 黑色单词表示与种子单词不相关, 从整体上的效果来看, 有如下结果:
1) LDA模型在有监督的情况下, 主题0和主题13所示, 有监督模型得到的单词数更多;
2) 在与种子单词的相关单词数量上几乎相同的情况下, 如主题21所示, 所指向的主题有所偏移, 标准的LDA模型更指向m RNA, 而不是指向translation, 存在类似的结果, 主题43更指向ribosome而不是翻译的过程。
这些结论表明, 有监督的LDA模型有着更加均衡, 更加全面的效果。
2.2 LDA应用实验分析
实验采用NEWSGROUP数据集, 采用70%数据作为训练集, 剩余的30%数据作为测试集。分类器采用线性SVM分类器, 通过Liblinear工具实现。实验先在训练集上进行LDA训练, 其中LDA训练采用Gibbs抽样方法, 参数设置为:主题数K取50, α和β的取值根据经验分别取的是α为1, β为0.1, 迭代次数为2000轮, 对于半监督LDA, 将γ取值为0, 每个类别指定一个确定的主题。
文本表示选择用VSM, 特征选择分别采用MI, IG, DF, CHI, LDA, 半监督LDA进行对比实验, 对于半监督LDA, 由于主题的指定, 这使得对于种子文档进行吉布斯采样时, 种子文档中的词也就属于指定的主题, 进行吉布斯采样的文档集包含训练文档和测试文档。特征词的词向量对于半监督LDA来说并没有选取所有主题下的值, 而是选取那些类别指定的主题值, 因为这些主题值有着更加相关的信息, 这意味着词向量只选取了50维特征向量中的一部分, 这里我们选取了一半25维的特征。
由表2-3可以看出, 将LDA应用于特征选择的效果明显较好, 与其他方法相比, 比其中最好的特征选择方法CHI略好, 又由于LDA是一种无监督的特征选择方法, 所以LDA应用于特征选择是一个不错的选择。
从上表2-4可以看出, 利用半监督LDA的指定主题下的词向量来进行特征选择的效果要比其他特征选择略好, 与用原始LDA的词向量的效果相差不多, 略好, 原因可能在于这里面仅使用了指定类别对应的主题信息, 而将其他忽略掉的主题可能有些影响较大的特征, 所以带来效果的提升不够明显。
3 结论
本文给出了一种半监督的LDA模型, 这种LDA模型将隐性层的主题z显示的进行监督, 对Gibbs采样进行了改进, 加入了监督因子, 并且利用LDA模型进行向量模型表示, 看其对文本的表示效果, 并其他几种模型相比, 对LDA模型进行了特征选择的实验分析, 其分析结果表明特征选择的表现良好, 是一种良好的特征选择方法, 基于半监督的LDA模型与原始LDA模型在特征选择上性能相差不多。
参考文献
[1]David M B, Andrew Y N, Michael I J.2003.Latent Dirichlet allocation.Journal of Machine Learning Research[J], 2003, 3:993-1022.
[2]Jordan B, David B, Zhu X J.2007.A topic model for word sense disambiguation.In Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning[J].2007, 3:1024-1033.
[3]Gregory D, Gideon M, Andrew M.Learning from labeled features using generalized expectation criteria.SIGIR[J]2008:595-602.
[4]Thomas G, Mark S.Finding scientific topics.Proceedings of the National Academy of Sciences[J], 2009, 101 (1) :5228-5235.
[5]Erik T S, Fien D M.Language independent named entity recognition.In Proceedings of CoNLL-2003[J], 2003:142-147.
[6]Liu Ying, Ciliax B J, Borges K, et al.Comparison of Two Schemes for Automatic Keyword Extraction from MEDLINE for Functional Gene Clustering[C]llProc.of IEEE Computational Systems Bioinformatics Conference.Stanford, Califomia, USA:IEEE Press, 2004:394-404.
[7]Shi Jing, Hu Ming, Shi Xin, et al.Text Segmentation Based on Model LDA[J].Chinese Joumal of Computers, 2008, 31 (10) :1865-1873
[8]魏钰洁, 潘清, 田园.基于IAE的国防采办系统研究与设计[J].软件, 2012, 33 (9) :17-21
基于2D-LDA的车牌字符识别 第7篇
关键词:字符识别,2D-PCA,2D-LDA,多层感知机神经网络
字符识别是计算机视觉中一个重要课题,有着广泛的应用前景。近年来,如何提取有鉴别性的特征以及如何对它进行降维,成为研究的热点。其中,主成分分析(Principal Component Analysis,PCA)和线性鉴别分析(Linear Discriminant Analysis,LDA)是两种最常用的线性降维方法。
PCA的意义是在重构样本数据时使其平方误差最小,也即PCA利用一组为数不多的特征去尽可能精确地表示模式样本。PCA计算向量样本的总体协方差矩阵,其最大的d个特征值对应的特征向量作为鉴别矢量集,然后样本在鉴别矢量集上投影,得到的d个系数就是抽取出的特征。LDA的基本思想是选择使得Fisher准则函数达到极值的向量作为最佳投影方向,从而使得样本在该方向上投影后,达到最大的类间离散度和最小的类内离散度[1,2]。由于LDA在降维过程中也考虑到了类别信息,所以在人脸识别的应用中识别率高于PCA[7],所以采用LDA的方法对车牌字符进行降维。另外,经典的PCA和LDA要求样本数据是一维的,但是一维方法在处理图像识别时存在固有弊病。比如,将字符图像向量化后维数常常高达上万维,这会造成计算负荷过大和矩阵奇异问题[3]。为解决这一问题,研究者提出了直接基于2D图像矩阵而无须矢量化的2D-PCA[4,5]和2D-LDA[6,7,8,9]法,有效降低了运算量和矩阵奇异问题。综上所述,采用2D-LDA算法。
1 2D-LDA算法
经典的数据降维方法主要有主成分分析(PCA)和线性鉴别分析(LDA)两类。PCA的目的是最大化所有类别样本之间总体分散程度,可以看作是一种无监督的学习方法。而LDA的主要思想是最大化类间分散程度,并且同时使类内散布最小。因此,LDA是一种监督学习算法。2D-LDA是一种直接基于二维图像矩阵的方法,分别计算二维图像投影的类内和类间散度矩阵,在一定最优化准则下确定最优的投影坐标系。2D-LDA方法运算量小,有效利用了图像的空间结构信息。
TSB和TSW分别表示投影后的向量{y1,y2,...,yN}的类间和类内散度矩阵,它们如下式定义:
其中,
所以:
所以,式(2)所示的准则函数可表示为如下形式:
当WS非奇异时,使式(9)的值最大的最优投影向量可以通过特征值问题解得:
即Uopt可取矩阵SW-1SB的特征向量。传统的LDA可能会遇到矩阵奇异问题,而2D-LDA能够避免这个问题。这是因为:对于任一训练图像Xj∈Rm×n,它的秩rankXjminm,n,由式(8)可知:
所以,SW非奇异需要满足:
上式在实际中是容易满足的,比如在A~Z字符识别问题中,假设每个字符的宽高相等,那么只要训练集样本大于26个那么就可以避免矩阵非奇异问题。在实际中一般取一组向量作为投影向量组,即UU1,U2,...,Ud。
2 分类方法
3 实验与分析
3.1 测试样本介绍
在Matlab环境下实现上述2D-LDA字符识别的训练,并在车牌字符集上进行测试。该测试集共有34个类别,分别为数字0~9和字母A~Z(不含‘I’和‘O’)。每张图像都被规整到48×24的像素大小,且都为二值图像。部分测试图像如图1所示。
训练集中各个类别的样本个数如图2所示。测试集中数字0和1的个数分别与‘O’和‘I’相同。
3.2 2D-LDA识别结果
实验分别对数字0~9,字母A~Z和0~9及A~Z训练了三个不同分类器。考虑到计算负荷,选择式(14)所表示的距离度量。训练过程中,在每个类别中随机选择5个样本用作训练,剩余样本作为测试集。选择前5个最大特征值对应的特征向量组成Uopt。对于每种分类器重复进行10次尝试,保存使测试误差最小的投影向量组Uopt,且把每个训练样本在此向量组上的投影作为模板yjXjUopt。以下分别给出实验结果。
3.2.1 数字分类器
先如上述进行10次随机选择的训练,再按照K最近邻原则判断是否准确,即若K个最近邻中存在和测试样本同类的训练集样本则表示分类准确。在这里取K=3,最好的总体识别率为99.79%(如图3),平均识别率为99.34%(如图3)。
3.2.2 字母分类器
字母分类器的训练与测试如同数字分类器。在KNN原则下,进行10次随机选择的训练,最好的总体识别率为99.49%(如图4)。
3.2.3 数字+字母分类器
数字+字母分类器的训练与测试如同数字分类器,但是需要指出的是字母中不包括‘I’和‘O’,所以有效类别数量为34,以下图中‘I’和‘O’所在的直方图分量值被忽略(即以0值表示)。在KNN原则下,10次随机采样的训练获得最好的分类识别率为:99.20%(如图5)。
3.3 分类器性能
KNN分类器和开源车牌识别项目Easy PR中的多层感知机神经网络的性能对比如表1所示。
4 结语
本文介绍了2D-LDA的算法,以及与传统LDA相比的优势。从理论上说明了2D-LDA可以有效避免矩阵奇异问题。最后,将2D-LDA应用于车牌字符识别中,给出了使用K最近邻分类器情况下的分类识别率,并与开源项目Easy PR中的识别方法对比,前者有着更高的识别率。
参考文献
[1]张生亮,杨静宇.2DPCA及2DLDA相关研究综述[J].世界科技研究与发展,2008,30(3):286-289.
[2]程正东,章毓晋,樊祥.基于图像抽样重组的2维线性鉴别分析[J].中国图象图形学报,2010,15(2):261-265.
[3]温福喜,刘宏伟.基于2D-PCA和2D-LDA的人脸识别方法[J].计算机应用研究,2007,24(8):201-203.
[4]王友钊,潘芬兰,黄静.基于2D-PCA的两级LDA人脸识别方法[J].计算机工程,2014(9):243-247.
[5]Li M,Yuan B.2D-LDA:A statistical linear discriminant analysis for image matrix[J].Pattern Recognition Letters,2005,26(5):527-532.
[6]Yang J,Zhang D,Yong X,et al.Two-dimensional discriminant transform for face recognition[J].Pattern Recognition,2005,38(7):1125-1129.
[7]覃磊,李德华,周康.基于分块2DPCA与2DLDA的单训练样本人脸识别[J].微电子学与计算机,2015(11):105-110.