章放作者

浅谈话题模型:LSA、PLSA、LDA

虽然现在深度学习几乎一统天下,但回顾一下经典还是很有意思的。LSA已经成为经典的经典,UCB的Thomas Hofmann(现在已经到了Google)提出的PLSA,普林斯顿的David Blei提出的LDA,其实在很多应用中还很有效的。

在话题提取问题中,一类经典的模型就是话题模型。总的来说,话题模型的目标是在大量的文档中自动发现隐含的主题结构信息。在本文中,我们将主要介绍以下几种常见的主题模型:(1)潜在语义分析(LSA)模型;(2)概率潜在语义分析(PLSA)模型;(3)潜在狄利克雷分配(LDA)模型。

接下来我们将一一介绍这些模型,并阐明这些模型的相对优缺点。

潜在语义分析(LSA)模型

潜在语义分析(LSA)模型[1] 首先给出了这样一个 ‘‘分布式假设”[2]:一个 单词的属性是由它所处的环境刻画的。这也就意味着如果两个单词在含义上比较接近,那么它们也会出现在相似的文本中,也就是说具有相似的上下文。

简单地说,LSA首先构建了这样一个 ‘‘单词-文档’’ 矩阵:矩阵的每一行表示一个单词, 矩阵的每一列表示一个文章,第 行第 列的值表示第 个单词在第 个段落里面出现了几次或者表示该单词的 tf-idf 值[3,4] 等等。LSA模型在构建好了单词-文档矩阵之后,出于以下几种可能的原因,我们会使用奇异值分解(Singular Value Decomposition,SVD)[5]的方法来寻找该矩阵的一个低阶近似:

  • 原始的单词-文档矩阵过于庞大而会消耗过多的计算资源。在这种情况下,近 似的低阶矩阵可以被解释为原始矩阵的一个 ‘‘近似’’。

  • 原始的单词-文档矩阵往往包含着很多噪音,也就是说并不是里面的任何一个信息都是有用的。在这种情况下,求近似的矩阵的过程可以看成对原来的矩阵进行 ‘‘降噪’’。

  • 原始的单词-文档矩阵相对于 ‘‘真实的’’ 单词-文档矩阵而言过于稀疏。所谓真实的矩阵,就是指将世界上所有出现的单词和文档都考虑在内得到的矩阵,而这显然是不可能的。我们只能通过分析一部分数据来得到真实矩阵的一种近似。在这种情况下,近似的矩阵可以看成是原始矩阵的一种 ‘‘精简’’ 版本。

概率潜在语义分析(PLSA)模型 

概率潜在语义分析(PLSA)模型[6] 其实是为了克服潜在语义分析(LSA)模型存在的一些缺点而被提出的。LSA 的一个根本问题在于,尽管我们可以把 Uk 和 Vk 的每一列都看成是一个话题,但是由于每一列的值都可以看成是几乎没有限制的实数值,因此我们无法去进一步解释这些值到底是什么意思,也更无法从概率的角度来理解这个模型。而寻求概率意义上的解释则是贝叶斯推断的核心思想之 一。

PLSA模型则通过一个生成模型来为LSA赋予了概率意义上的解释。该模型假设,每一篇文档都包含一系列可能的潜在话题,文档中的每一个单词都不是凭空产生的,而是在这些潜在的话题的指引下通过一定的概率生成的。

在 PLSA 模型里面,话题其实是一种单词上的概率分布,每一个话题都代表着一个不同的单词上的概率分布,而每个文档又可以看成是话题上的概率分布。每篇文档就是通过这样一个两层的概率分布生成的,这也正是PLSA 提出的生成模型的核心思想。

PLSA 通过下面这个式子对 和 w 的联合分布进行了建模:

该模型中的 的数量是需要事先给定的一个参数。需要注意的是,上面这 个式子里面给出了 P(w, d) 的两种表达方式,在前一个式子里,和 w 都是在给定的前提下通过条件概率生成出来的,它们的生成方式是相似的,因此是 ‘‘对称’’ 的;在后一个式子里,首先给定d,然后根据 P(z|d) 生成可能的话题 z,然后再根据 P(w|z) 生成可能的单词 w,由于在这个式子里面单词和文档的生成并不相似, 所以是 ‘‘非对称’’ 的。

上图给出了 PLSA 模型中非对称形式的 Plate Notation表示法。其中 表示 一篇文档,表示由文档生成的一个话题,w 表示由话题生成的一个单词。在这个模型中,和 w 是已经观测到的变量,而 是未知的变量(代表潜在的话题)。 

容易发现,对于一个新的文档而言,我们无法得知它对应的 P(d) 究竟是什么, 因此尽管 PLSA 模型在给定的文档上是一个生成模型,它却无法生成新的未知的文档。该模型的另外的一个问题在于,随着文档数量的增加,P(z|d) 的参数也会随着线性增加,这就导致无论有多少训练数据,都容易导致模型的过拟合问题。这两点成为了限制 PLSA 模型被更加广泛使用的两大缺陷。

潜在狄利克雷分配(LDA)模型

为了解决 PLSA 模型中出现的主要问题,潜在狄利克雷分配(LDA)模型被 Blei 等人提出[7],这个模型也成为了主题模型这个研究领域内应用最为广泛的模 型。从根本上来讲,LDA 模型是在 PLSA 的模型的基础上引入了参数的先验分布这个概念。

从上一节我们可以看到,在 PLSA 这个模型里,对于一个未知的新文档 d,我们对于 P(d) 一无所知,而这个其实是不符合人的经验的。或者说,它没有去使用本来可以用到的信息,而这部分信息就是 LDA 中所谓的先验信息。

具体来说,在 LDA 中,首先每一个文档都被看成跟有限个给定话题中的每一个存在着或多或少的关联性,而这种关联性则是用话题上的概率分布来刻画的, 这一点与 PLSA 其实是一致的。

但是在 LDA 模型中,每个文档关于话题的概率分布都被赋予了一个先验分布,这个先验一般是用稀疏形式的狄利克雷分布表示的。 这种稀疏形式的狄利克雷先验可以看成是编码了人类的这样一种先验知识:一般而言,一篇文章的主题更有可能是集中于少数几个话题上,而很少说在单独一篇文章内同时在很多话题上都有所涉猎并且没有明显的重点。

此外,LDA 模型还对一个话题在所有单词上的概率分布也赋予了一个稀疏形式的狄利克雷先验,它的直观解释也是类似的:在一个单独的话题中,多数情况是少部分(跟这个话题高度相关的)词出现的频率会很高,而其他的词出现的频率则明显较低。这样两种先验使得 LDA 模型能够比 PLSA 更好地刻画文档-话题-单词这三者的关系。

事实上,从 PLSA 的结果上来看,它实际上相当于把 LDA 模型中的先验分布转变为均匀分布,然后对所要求的参数求最大后验估计(在先验是均匀分布的前提下,这也等价于求参数最大似然估计)[8],而这也正反映出了一个较为合理的先验对于建模是非常重要的。

而好的先验其实源于对于现象的准确深刻的洞察。

参考文献:

[1] Hofmann T. Probabilistic latent semantic analysis[C]//Proceedings of the Fifteenth conference on Uncertainty in artificial intelligence. [S.l.]: Morgan Kaufmann Publishers Inc., 1999: 289–296.

[2] Firth J R. A synopsis of linguistic theory, 1930-1955[J]. Studies in linguistic analysis, 1957.

[3] Salton G, Buckley C. Term-weighting approaches in automatic text retrieval[J]. Information processing & management, 1988, 24(5): 513–523.

[4] Ramos J, et al. Using tf-idf to determine word relevance in document queries[C]//Proceedings of the first instructional conference on machine learning: volume 242. [S.l.: s.n.], 2003: 133–142.

[5] Kalman D. A singularly valuable decomposition: the svd of a matrix[J]. The college mathematics journal, 1996, 27(1): 2–23.

[6] Deerwester S, Dumais S T, Furnas G W, et al. Indexing by latent semantic analysis[J]. Journal of the American society for information science, 1990, 41(6): 391.

[7] Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation[J]. Journal of machine Learning research, 2003, 3(Jan): 993–1022.

[8] GirolamiM,KabánA.On an equivalence between plsi and lda[C]//Proceedings of the 26 th annual international ACM SIGIR conference on Research and development in informaion retrieval. [S.l.]: ACM, 2003: 433–434.

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论LDAPLSALSA模型
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

最大似然估计技术

极大似然估计是统计学中用来估计概率模型参数的一种方法

贝叶斯推断技术

贝叶斯推断(英语:Bayesian inference)是推论统计的一种方法。这种方法使用贝叶斯定理,在有更多证据及信息时,更新特定假设的概率。贝叶斯推断是统计学(特别是数理统计学)中很重要的技巧之一。贝叶斯更新(Bayesian updating)在序列分析中格外的重要。贝叶斯推断应用在许多的领域中,包括科学、工程学、哲学、医学、体育运动、法律等。在决策论的哲学中,贝叶斯推断和主观概率有密切关系,常常称为贝叶斯概率。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

奇异值分解技术

类似于特征分解将矩阵分解成特征向量和特征值,奇异值分解(singular value decomposition, SVD)将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过分解矩阵,我们可以发现矩阵表示成数组元素时不明显的函数性质。而相比较特征分解,奇异值分解有着更为广泛的应用,这是因为每个实数矩阵都有一个奇异值分解,但未必都有特征分解。例如,非方阵型矩阵没有特征分解,这时只能使用奇异值分解。

狄利克雷分布技术

狄利克雷分布是一组连续多变量概率分布,是多变量普遍化的Β分布。为了纪念德国数学家约翰·彼得·古斯塔夫·勒热纳·狄利克雷(Peter Gustav Lejeune Dirichlet)而命名。狄利克雷分布常作为贝叶斯统计的先验概率。当狄利克雷分布维度趋向无限时,便成为狄利克雷过程(Dirichlet process)。 狄利克雷分布奠定了狄利克雷过程的基础,被广泛应用于自然语言处理特别是主题模型(topic model)的研究。

潜在语义分析技术

潜在语义分析(LSA)是自然语言处理中的一种技术,特别是在分布式语义学中。传统的语义学通常研究字、词的含义以及词与词之间的关系,如同义,近义,反义等等。潜在语义分析探讨的是隐藏在字词背后的某种关系,这种关系不是以词典上的定义为基础,而是以字词的使用环境作为最基本的参考。这种思想来自于心理语言学家。他们认为,世界上数以百计的语言都应该有一种共同的简单的机制,使得任何人只要是在某种特定的语言环境下长大都能掌握那种语言。在这种思想的指导下,人们找到了一种简单的数学模型,这种模型的输入是由任何一种语言书写的文献构成的文库,输出是该语言的字、词的一种数学表达(向量)。字、词之间的关系乃至任何文章片断之间的含义的比较就由这种向量之间的运算产生。值接近1代表相似的单词,而值接近0代表非常不相似的单词。这项技术在信息检索中,被称作潜在语义索引(LSI)。

概率潜在语义分析技术

概率潜在语义分析(PLSA),也称为 概率潜在语义索引(PLSI),尤其是在信息检索领域)是一个一种用于分析双模式和共现数据的统计技术。 实际上,就像从PLSA进化而来的潜在语义分析一样,可以根据它们对某些隐藏变量的亲和性来导出观察变量的低维表示。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

噪音技术

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

主题模型技术

主题模型(Topic Model)在机器学习和自然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。直观来讲,如果一篇文章有一个中心思想,那么一些特定词语会更频繁的出现。比方说,如果一篇文章是在讲狗的,那“狗”和“骨头”等词出现的频率会高些。如果一篇文章是在讲猫的,那“猫”和“鱼”等词出现的频率会高些。而有些词例如“这个”、“和”大概在两篇文章中出现的频率会大致相等。但真实的情况是,一篇文章通常包含多种主题,而且每个主题所占比例各不相同。因此,如果一篇文章10%和猫有关,90%和狗有关,那么和狗相关的关键字出现的次数大概会是和猫相关的关键字出现次数的9倍。一个主题模型试图用数学框架来体现文档的这种特点。主题模型自动分析每个文档,统计文档内的词语,根据统计的信息来断定当前文档含有哪些主题,以及每个主题所占的比例各为多少。

推荐文章
暂无评论
暂无评论~