隐狄利克雷分配 (LDA) 是一个突出的概率图模型例子,应用于文本分析,特别用于识别文档集合(语料库)中的主题结构,常称作“主题”。它基于生成过程的原则运作,即描述了文档可能如何生成的概率机制。理解这一生成过程,对把握LDA的贝叶斯表述有重要作用。
LDA 的主要思想有两个方面:
- 每个文档被建模为固定数量主题的混合。例如,一篇关于技术的新闻文章可能由70%的“技术”、20%的“商业”和10%的“政治”主题组成。
- 每个主题被建模为词汇表中词语的分布。“技术”主题可能对“软件”、“云计算”、“AI”和“网络”等词语赋予高概率,而“商业”主题则倾向于“股票”、“市场”、“利润”和“公司”等词语。
LDA 将每个文档的主题混合和每个主题的词语分布都视为隐性(未观测)随机变量。此外,它为每个文档中的每个词语实例分配一个特定主题。唯一观测到的数据是词语本身。推断的目标(我们将在后续章节中讨论)是在给定观测词语的情况下,推断这些隐性结构(主题混合、主题-词语分布和词语-主题分配)。
生成过程
让我们概述LDA假设的逐步生成过程,针对包含M个文档、预定义数量的K个主题以及包含V个独特词语的词汇表的语料库。
-
定义先验:
- 为文档-主题分布的狄利克雷先验选择参数α。通常,α是一个对称的K维向量,α=(α1,...,αK),常设为αi=α0/K,其中α0为某个标量。
- 为主题-词语分布的狄利克雷先验选择参数β。通常,β是一个对称的V维向量,β=(β1,...,βV),常设为βj=β0/V,其中β0为某个标量。
-
生成主题-词语分布:
- 对于每个主题 k∈{1,...,K}:
- 抽取一个词语分布 ϕk∼Dir(β)。ϕk是一个V维向量,其中ϕkv是词语v在主题k下出现的概率,且∑v=1Vϕkv=1。
-
生成文档特定变量:
- 对于每个文档 d∈{1,...,M}:
- 抽取一个主题混合 θd∼Dir(α)。θd是一个K维向量,其中θdk是主题k在文档d中的比例,且∑k=1Kθdk=1。
- 确定文档中的词语数量,Nd。
- 对于每个词语位置 n∈{1,...,Nd}:
- 抽取一个主题分配 zdn∼Cat(θd)。zdn指示了文档d中第n个词语是由哪个主题生成的。
- 抽取观测词语 wdn∼Cat(ϕzdn)。wdn是文档d中位置n处观测到的实际词语,它从对应于分配主题zdn的词语分布中抽取。
超参数α和β分别控制主题混合和主题-词语分布的特征。较低的值通常导致更稀疏的分布(文档包含较少主题,主题集中于较少词语)。
图模型表示
此生成过程直接对应于一个贝叶斯网络结构。我们可以使用盘式记法(plate notation)来可视化这些依赖关系,其中盘(矩形)表示变量的重复。
隐狄利克雷分配模型的盘式记法。圆圈代表随机变量(阴影部分是隐性的,双圆圈是已观测的)。矩形(盘)表示重复。箭头表示条件依赖。从ϕ到w的虚线表示所使用的特定ϕk取决于z的值。
贝叶斯表述总结
在此PGM中,隐变量是文档-主题分布 θ={θd}d=1M、主题-词语分布 ϕ={ϕk}k=1K以及每个词语的主题分配 Z={zdn}d=1,n=1M,Nd。观测变量是词语本身,W={wdn}d=1,n=1M,Nd。参数α和β通常被视为固定超参数,尽管它们也可以被学习(例如,使用经验贝叶斯或设置超先验)。
在给定超参数的情况下,关于所有变量的完整联合概率分布根据图模型进行因子分解:
p(W,Z,θ,ϕ∣α,β)=(k=1∏Kp(ϕk∣β))(d=1∏Mp(θd∣α)(n=1∏Ndp(zdn∣θd)p(wdn∣zdn,ϕ)))
此处:
- p(ϕk∣β) 是主题k词语分布的狄利克雷概率密度。
- p(θd∣α) 是文档d主题分布的狄利克雷概率密度。
- p(zdn∣θd) 是基于θd分配主题zdn的分类概率质量。
- p(wdn∣zdn,ϕ) 是在给定其分配主题zdn和相关主题-词语分布ϕzdn的情况下,观测词语wdn的分类概率质量。
贝叶斯表述为推断奠定基础。我们的目标通常是计算在给定观测文档的情况下,隐变量的后验分布:p(Z,θ,ϕ∣W,α,β)。这种后验分布显现了隐藏的主题结构。然而,由于复杂的依赖关系和高维度,直接计算此后验是不可行的。这需要使用近似推断技术,例如折叠吉布斯采样或变分贝叶斯,这些是后续章节的主题。