基于LDA模型的文档生成算法
- 格式:docx
- 大小:196.30 KB
- 文档页数:8
补充定义
基于LDA模型的文档生成算法
李晨
(西安电子科技大学 电子工程学院, 陕西 西安 710071)
摘要
关键词
Document generation algorithm based on LDA model
Chen Li
(School of Electronic Engineering,XidianUniv., Xi’an 710071, China; School of Electronic Engineering,XidianUniv., Xi’an 710071, China; School of Electronic Engineering,XidianUniv., Xi’an 710071, China)
Abstract:Along withour country automobile industry and the development of the highway, greatly promoted the meridiantyremarket demand, so that the radialtyredevelopment rapidly. The paper mainly introduces the characteristics of the radialtyredevelopment status and trend, at the same time puts forward the development of china’s automobile radialtyreindustry a piece of advice.
这时就用到了EM算法,EM有两个主要应用环境,第一个是观测到的数据不完整或其它原因导致数据丢失,第二个是似然函数无法直接计算但可以用隐含变量表示。LDA中的参数估计属于后者。
每次E-STEP输入 和 ,计算似然函数,也就是variationalinference的过程,M-STEP最大化这个函数,求出 和 。这样不断迭代知道收敛,就求得了最终的 和 值。在本文中,我们利用Gibbs采样原理,
在通过EM算法估计出参数,得到语料库之后,产生文档的过程如下:
1. 选择N,N服从Poisson( )分布,这里N代表文档的长度。
2. 选择θ,θ服从Dirichlet( )分布,这里θ是列向量,代表的是各个主题发生的概率, 是Dirichlet分布的参数。
3. 对N个单词中的每一个:
a) 选择主题 , 服从Multinomial(θ)多项分布。 代表当前选择的主题;
若 ,i=1,2..k
则由伽马分布的可加和性可得:
又Dirichlet分布的密度函数为:
,其中 ;
所以 = ~
因此我们可以先产生k个独立的服从伽马分布的随机数 ,根据 ,就能得到服从 分布的随机数向量 ,也就是 。
在这里我们取 =1.
得到 后,就要对Topic进行采样
假设现在有 个状态,每个状态发生的概率分别为 接下来定义其对应的断点为 这里,
目前针对LDA扩展的研究工作非常多。其中有对参数的扩展,比如Blei等人在2004年和2006年又相继提出树结构的层级LDA和相关主题模型(CTM),使得模型更接近数据的真实情况。还有面向特定任务的LDA模型,涉及分类、作者主题模型、词义消歧、引用链接分析、人名消歧、情感分析等更细化的任务【2】。
在LDA模型中,由于涉及到概率的生成,所以当对分布函数的参数进行估计的时候,就需要使用到EM算法。EM算法(Expectation-Maximization Algorithm)是由Dempster等人于1977年提出,是一种用于对具有隐变量的概率模型进行极大似然估计的算法。该算法在自然语言处理方面已经有广泛的运用,常见的诸如隐马尔科夫模型、高斯混合模型、k-均值算法、主成分分析等都可以用EM算法的思想来解释【2】。例如在LDA模型中,主题和单词的联合分布的似然函数的表达式无法写出来,但是可以用隐性变量表示出来,这时就可以使用EM算法来估计似然函数的参数。所谓隐性变量,说的是LDA的预测目标——主题分布,是训练集中不能直接观察到的量,是人(或模型)虚构出来的量,因此称之为潜在的(Latent)。
要生成一篇文档首先要有采样数据库【1】,比如:
Figure2LDA模型的词料库
这是由LDA模型的学习过程得出的一个词料库【3】,每一列代表一个主题(topic),比如“Art”、“Budget”、“children”和“Education”。在这个词料库所含单词的分布为多项分布,该词料库由两个参数来刻画,也就是LDA模型中的参数 , 是Dirichlet分布的参数,如图一所示,一个词料库是由多个主题组成的,这些主题在文档中出现的概率θ={ }服从Dirichlet( )分布。 是一个K V的矩阵, 表示第i个主题条件下生成第j个单词的概率,LDA模型的核心和关键就是对这两个参数的估计,这里我们采用EM算法,估计出 ,以后就可以进行文档提取了。
b) 选择所需的单词 ,根据p( | ; ):在 条件下的多项分布。
上式中 是一个 的矩阵, = P( = 1 | = 1),也就是说 记录了某个主题条件下生成某个单词的概率。
在给定了N之后,上述过程实际上是一个采样的过程,就是所有的步骤都是随机的,但是这样的随机过程必须服从相应的分布,比如计算机先根据Dirichlet分布随机产生θ,即各主题在文档中的分布概率已经确定,类似地再产生各个单词,最后得出一篇文档。但通过程序模拟,我们发现这样得出的文档没有多大的意义,只是一些单词的简单堆砌,无法构成一篇可以供人阅读的文章。这是因为LDA模型最初的假设就是学习所用的文档是“bag of words” ——词袋,词与词之间并没不产生语义,但是采样得出的文档并不是失败的,当适当地加入介词或其他联接词语后文档显示出了一定的意义,比如LDA模型的提出者Blei所做的例子【3】:
Keywords:LDAStyleDocEMmaths
1
LDA模型(LatentDirichletAllocation)是文本建模的一种方法,属于概率生成模型。LDA模型是由DavidM.Blei和MichaelI.Jordan等人在2003年提出的【1】。这个模型的提出是为了解决一些文档处理领域的问题,比如文章主题分类、文章检测、相似度分析、文本分段和文档检索等问题【2】。
TheWilliamRandolph HearstFoundationwill give$1.25 milliontoLincolnCenter,MetropolitanOperaCo.,New York Philharmonicand JuilliardSchool.“Ourboardfelt that we had arealopportunitytomakeamarkon thefutureof theperformingartswith thesegrantsanacteverybitasimportantas ourtraditionalareas ofsupportin health, medicalresearch,educationand thesocialservices,”HearstFoundation PresidentRandolphA.HearstsaidMondayinannouncingthegrants.LincolnCenter’ssharewill be$200,000for itsnewbuilding,whichwillhouseyoungartists andprovidenewpublic facilities.The MetropolitanOperaCo. andNew York Philharmonicwillreceive $400,000each. The JuilliardSchool,wheremusicandtheperformingarts aretaught,will get$250,000.TheHearstFoundation,aleading supporterof theLincolnCenterConsolidated CorporateFund,willmakeits usualannual $100,000donation, too.
利用KL距离, ,简化计算。
接下来的工作,就是要进行 EM迭代,直到 和 收敛。
E-STEP:
对每一篇文档,计算 。
M-STEP:
最大化VariationalInference中的下界,求出此时的 和 ,得到 ,即 。
2.2文档生成原理
LDA是给文本建模的一种方法,它属于生成模型。生成模型是指该模型可以随机生成可观测的数据,在这里,LDA可以随机生成一篇由N个单词组成的文章。通过阅读有关LDA模型的论文,我们总结出基本的文档生成的步骤。
目前,E算法,就用来对文档生成模型中的学习过程进行加速,以便应用于多处理器和分布式环境【2】。
我们首先根据前人的成果对LDA模型和EM算法进行了详细研究,并且接触了一些关于用LDA模型实现文档生成的MATLAB程序。之后,我们尝试着以LDA模型为基础,以数学软件MATLAB为工具,先进行参数估计并生成一个有关主题和单词分布的矩阵,然后以这个矩阵作为学习后的结果进行采样,优化,进而生成一篇文档。
对于后验估计
这里假设了 和 相互独立。给定先验初始 和 ,即可计算出 ,一个主题分布的率值, ,对应主题下的单词的概率分布,和相应的 ,于是通过寻找一对 和 ,使上式达到最大,再重新代入上式计算,依次不断类推最终达到收敛。
此处运用到variationalinference的知识,即确定 和 找到一组不断逼近所求似然函数值的函数,确定其中最大值,使之最为接近所求似然函数。
在上面的一段文字中,彩色的单词是采样得到的,仔细一读并不能得到太多信息,但是通过理解语义之后增添介词、代词、冠词情态动词等连接词,文章的意思便逐渐明朗,这样得到的文档相当于学习过程中所用到所有文档的一个综述,不一定是最全面的,但是所含信息量还是很可观。这就是一个优化的过程,也是我们在接下来的研究中需要进一步完善的方面。