主题模型LDA简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人类是怎么生成文档的呢?
LDA的这三位作者在原始论文中给了一个简单的例子。比如假设事 先给定了这几个主题:Arts、Budgets、Children、Education,然后 通过学习训练,获取每个主题Topic对应的词语。如下图所示:
然后以一定的概率选取上述某个主题,再以一定的概率选取那个主
“事物”
生命 0.3 路 0.2 夜 0.1 天空 .04 孩子 .03 …
2013/12/8
“行动”
爱 0.2 碎 0.1 哭 0.1 死 .07 飞 .01
生成p(w|z)的 先验分布:
Dirichlet(η)
不再迷惘的生命 被燃碎千万次 也依然坚强 …
坚强的孩子 依然前 行在路上 张开翅膀 飞向自由 让雨水埋 葬他的迷惘 …
57/49
Gibbs Sampling
总结
主题模型的优点?
• 1、它可以衡量文档之间的语义相似性。对于一篇文档,我们求出来的主题分布可 以看作是对它的一个抽象表示。对于概率分布,我们可以通过一些距离公式来计算 出两篇文档的语义距离,从而得到它们之间的相似度。
• 2、它可以解决多义词的问题。“苹果”可能是水果,也可能指苹果公司。通过我 们求出来的“词语-主题”概率分布,我们就可以知道“苹果”都属于哪些主题, 就可以通过主题的匹配来计算它与其他文字之间的相似度。
Beta分布中的参数可以 认为形状参数,通俗但 不严格的理解是,和共 同控制Beta分布的函数 “长的样子”:形状千 奇百怪,高低胖瘦有关。
28/49
共轭先验分布
• 在贝叶斯概率理论中,如果后验概率P(θ|x)和先验概率p(θ)满足同样的 分布律,那么,先验分布和后验分布被叫做共轭分布,同时,先验分 布叫做似然函数的共轭先验分布。
PLSA到LDA
47/49
多项式分布 的参数p(z|d)
生成p(z|d)的 先验分布:
Dirichlet(α )
rakecas…@gmail.com
0.5 0.4 0.1
0.6 0.2 0.2
…
…
…
生成模型:LDA
多项式分布 的参数p(w|z)
Topic
“情感”
孤独 0.3 自由 0.1 迷惘 0.1 坚强 .08 绝望 .05 …
参数的学习
• 给定一个文档集合,Wm,n是可以观察到的已知变量,α和β是根 据经验给定的先验参数,其他的变量zm,n,θ和φ都是未知的隐含 变量,需要根据观察到的变量来学习估计的。根据LDA的图模型, 可以写出所有变量的联合分布:
联合分布
• 第一项因子是给定主题采样词的过程 • 后面的因子计算,nz(t)表示term t被观察到分配topic z的次数, nm(t)
题下的某个单词,不断的重复这两步,最终生成如下图所示的一篇 文章(其中不同颜色的词语分别对应上图中不同主题下的词):
• LDA就是要干这事:根据给定的一篇文档,推测其主题分布。
• 通俗来说,可以假定认为人类是根据上述文档生成过程写成了各 种各样的文章,现在某小撮人想让计算机利用LDA干一件事:你 计算机给我推测分析网络上各篇文章分别都写了些啥主题,且各 篇文章中各个主题出现的概率大小(主题分布)是啥。
• 在传统信息检索领域里,实际上已经有了很多衡量文档相似性的 方法,比如经典的VSM模型。然而这些方法往往基于一个基本假 设:文档之间重复的词语越多越可能相似。这一点在实际中并不 尽然。很多时候相关程度取决于背后的语义联系,而非表面的词 语重复。
• 隐含狄利克雷分布简称LDA(Latent Dirichlet allocation),是一种主题模型, 基于一个常识性假设:文档集合中的所有文本均共享一定数量的隐含主 题。基于该假设,它将整个文档集特征化为隐含主题的集合,可以将文 档集中每篇文档的主题按照概率分布的形式给出。
• 通俗来说,一个主题就好像一个“桶”,它装了若干出现概率较 高的词语。这些词语和这个主题有很强的相关性,或者说,正是 这些词语共同定义了这个主题。
case1:
如果时间回到2006年,马云和杨致远的手还会握在一起吗? 阿里巴巴集团和雅虎就股权回购一事签署了最终协议。
case2:
富士苹果真好,赶快买!!! 苹果7真好,赶快买!!!
表示topic k分配给文档m中的word的次数。
计算因子
51/49
计算因子
52/49
• 反过来,既然文档已经产生,那么如何根据已经产生好的文档反 推其主题呢?这个利用看到的文档推断其隐藏的主题(分布)的 过程(其实也就是产生文档的逆过程),便是主题建模的目的: 自动地发现文档集中的主题(分布)。
路 0.2 夜 0.1 天空 .04 孩子 .03 …
“行动”
爱 0.2 碎 0.1 哭 0.1 死 .07 飞 .01 …
p(w|z)
d
坚强的孩子 依然前 行在路上 张开翅膀 飞向自由 让雨水埋 葬他的迷惘 …
w
p(w| d)= p(w| z)p(z | d) z
观测,已知
未知,需学习
• plsa作为topic-model ,每篇文档对应一系列topics,每个topic对应一批terms,有如下问题: • 1.每篇文档及其在topic上的分布都是模型参数,也就是模型参数随着文档的数目增加而增
24/49
贝叶斯参数估计的思考过程
先验分布:根据一般的经验认为随机变量的分布。 后验分布:通过当前训练数据修正后的随机变量的分布,比先验分布更符合当前数据。 似然估计:已知训练数据,给定了模型,通过让似然极大化估计模型参数的一种方法。
25/49
思考过程
先验分布:
26/49
思考过程
27/49
Beta分布的概率密度曲线
• 2、对学术文章挖掘。学术文章不同于一般的新闻报道、博客文章,
加,这样容易导致overfitting • 2.对于new doc,如何确定其topic 分布
• LDA解决这个问题,没必要把每个doc-topic分布作为模型参数,为doc-topic分布增加一个先 验概率,限制整体上文档的topic分布,具有先验分布的作用。
• doc-topic分布服从多项分布,狄利克雷分布是其共轭先验。 • 这样参数的个数就变成K +N*K, N为词个数,K为topic个数,与文档个数无关。
30/49
从二项分布推广到多项分布 从Beta分布推广到dirichlet分布
共轭分布
注:上式中的加号“+”, 并不代表实际的数学公 式是相加,事实上,实 际计算过程是相乘的。
32/49
Beta分布期望
33/49
Beta分布的期望推广到Dirichlet分布
狄利克雷分布(Dirichlet分布)是多项式分布的共轭先验 概率分布。
主题模型发展和改进
松弛LDA的假设:
• 1、LDA作出的一个假设是词袋模型,在这种设定下,词的顺序是无关紧要的。当然 我们自然的认知下,文档中的词之间存在着各种各样的规律,所以我们的目标是将 这些特定的结构引入。对于更加复杂的目标——例如语言的生成——上述假设就很 不合理了。现在也有一些建模方式把词的顺序设置为不可以调换的了。例如 Wallach设计出一种话题模型可以在LDA和标准HMM模型之间进行转换。这些模型显 著地扩展了参数空间,然而在语言建模性能上却有了一定的提升。
数学知识
理解LDA,可以分为下述5个步骤:
• 一个函数:gamma函数 • 四个分布:二项分布、多项分布、beta分布、Dirichlet分布 • 一个概念和一个理念:共轭先验和贝叶斯框架 • 两个模型:pLSA、LDA • 一个采样:Gibbs采样
随机变量的分布
15/49
思考
• 尝试计算X(k)落在区间[x,x+Δx]的概率:
• 3、第三个假设是话题的数目已知并保持不变。贝叶斯无参数话 题模型提供了一个漂亮的解法:话题的数目由在后验推断过程中 的文档集合确定,并且新文档可展示出新的话题。贝叶斯无参数 话题模型已经被扩展到话题的层次中,这个模型可以找到一棵话 题的树结构出来(树形层次的主题结构),从更加宽泛到更加具 体的演进,这个结构是由数据推断出来的。
35/49
1.unigram model 词袋模型
36/49
• 问题:粗暴地认为词与词之间没有联系。没有解决一词多义和歧 义的现象。
文本生成模型:PLSA
0.5 0.4 0.1
p(z|d)
z
Topic
“情感”
孤独 0.3
自由 0.1
迷惘 0.1
坚强 .08
绝望 .05
…
“事物”
生命 0.3
• 2、另一个假设是文档的顺序没有影响。这个假设在分析在较长 一段时间内的文档集合时候就不是很合适了。在这样的文档集合 下,我们可能希望假设话题随着时间而改变。针对这个问题的一 个观点是动态话题模型——一个增加了对文档的顺序的影响因素, 并给了一个比LDA更加丰富的后验话题结构。还可以引入文档、 主题、词之间的关联。
主题模型LDA简介
李威
ቤተ መጻሕፍቲ ባይዱ么是主题?
• 主题就是一个概念、一个方面。它表现为一系列相关的词语。 • 比如一个文章如果涉及到“百度”这个主题,那么“中文搜索”、
“李彦宏”等词语就会以较高的频率出现,而如果涉及到“IBM” 这个主题,那么“笔记本”等就会出现的很频繁。
• 如果用数学来描述一下的话,主题就是词汇表上词语的条件概率 分布 。与主题关系越密切的词语,它的条件概率越大,反之则越 小。
• 换言之,人类根据文档生成模型写成了各类文章,然后丢给了 计算机,相当于计算机看到的是一篇篇已经写好的文章。现在计 算机需要根据一篇篇文章中看到的一系列词归纳出当篇文章的主 题,进而得出各个主题各自不同的出现概率:主题分布。即文档 d和单词w是可被观察到的,但主题z却是隐藏的。
54/49
词分布和主题分布
• 它能够发现文档-词语之间所蕴含的潜在语义关系(即主题)——将文档 看成一组主题的混合分布,而主题又是词语的概率分布——从而将高维度 的“文档-词语”向量空间映射到低维度的“文档-主题”和“主题-词语” 空间,有效提高了文本信息处理的性能。
应用场景:
• 主题模型LDA(latent dirichlet allocation)的应用还是很广泛的,在检索、 图像分类、文本分类、用户评论的主题词抽取,做feature、降维等。例 如可以用主题维度来表示原来的字典维度,大大的降低了文本表示的维 度。通过一些聚类等的思想,将一些细粒度的特征组合到一个新的空间 上去,例如主题空间。
为什么要引入主题模型?
• 文档之间是否相关往往不只决定于字面上的词语重复,还取决于 文字背后的语义关联。对语义关联的挖掘,可以让我们的搜索更 加智能化。主题模型是对文字隐含主题进行建模的方法。它克服 了传统信息检索中文档相似度计算方法的缺点,并且能够在海量 互联网数据中自动寻找出文字间的语义主题。
• 3、它可以排除文档中噪音的影响。一般来说,文档中的噪音往往处于次要主题中, 我们可以把它们忽略掉,只保持文档中最主要的主题。
• 4、它是无监督的,完全自动化的。我们只需要提供训练文档,它就可以自动训练 出各种概率,无需任何人工标注过程。
• 5、它是跟语言无关的。任何语言只要能够对它进行分词,就可以进行训练,得到 它的主题分布。
34/49
• 根据贝叶斯法则
P
x
Px P
Px
Px
P
• P(x|θ)表示以预估θ为参数的x概率分布,可以直接求得。P(θ)是已 有原始的θ概率分布。
• 方案:选取P(x|θ)的共轭先验作为P(θ)的分布,这样,P(x|θ)乘以 P(θ)然后归一化结果后其形式和P(θ)的形式一样。
基于主题模型的应用:
• 1、情感分析。从用户生成的包含观点和意见的文本中提取出这些观点和意见。
• 主题模型在情感分析的任务是学习出来用户讨论和评论中的内容主题。常用三大方 法:无监督主题抽取、弱监督学习、联合抽取主题和观点。
• 最后可以根据主题模型的输出,进行文档情感分类、生成基于主题的情感摘要、构 建情感词典。
16/49
划分为3段
17/49
事件E2:假设有2个数落在区间[x,x+Δx]
18/49
只需要考虑1个点落在区间[x,x+Δx]
19/49
X(k)的概率密度函数
20/49
Γ函数
• Γ函数是阶乘在实数上的推广
21/49
Beta分布
利用Γ函数
23/49
Beta-Binomial 共轭引例: