是什么
主题模型是一种把文本集合中的文档用潜在主题来概括的方法。它不只盯着出现了哪些词,而是假设词背后有一组较少的主题,文档由这些主题混合而成。2003 年的 Latent Dirichlet Allocation 论文把集合中的每个条目建模为对一组底层主题的有限混合[1];每个主题又被建模为对一组主题概率的无限混合[1]。在文本建模中,这些主题概率为文档提供了一个显式表示[1]。论文把问题表述为:为集合中的成员寻找简短描述,使大规模集合能够被高效处理,同时保留对分类、新异检测、摘要和相似性判断有用的基本统计关系[1]。
怎么工作
可以把它想成两个层次的混合。第一层,一篇文档不是只属于一个主题,而是以不同比例同时涉及多个主题;第二层,每个主题本身有一个概率轮廓,决定哪些词更容易出现。举例来说,一个主题可能在「珊瑚」「礁」「海洋」这类词上权重较高,另一个主题可能在「利率」「通胀」「银行」这类词上权重较高;一篇同时谈海洋生态和金融政策的文章,就可以是这两个主题的混合。这个例子只是说明混合的含义,不代表任何具体语料。
这种表示把一篇文档压缩成一组主题比例,同时保留集合中词与词的共现结构。主题和每篇文档的主题比例都是潜在变量:它们不直接出现在文本里,需要从实际出现的词中推断。论文描述的是一个三层分层贝叶斯模型,用概率分布把文档、主题和词联系起来,而不是靠手工规则把三者拼在一起[1]。
从哪来
这里描述的形式化版本来自 Latent Dirichlet Allocation 论文,发表在 JMLR 第 3 卷,2003 年 1 月,页码 993 至 1022[2]。论文把这种生成式概率方法与 tf-idf 对照:tf-idf 把任意长度的文档化为固定长度的数字列表,但几乎不揭示文档之间或文档内部的统计结构[1]。论文还讨论了潜在语义索引(latent semantic indexing),它通过对词项—文档矩阵做奇异值分解,找出一个能捕捉集合中大部分方差的线性子空间[1]。与这些方法相比,论文提出的模型用主题概率显式表示文档,并把主题放进一个分层贝叶斯结构里[1]。
今天用在哪里
论文给出的目标很具体:让大规模文本集合得到高效处理,同时保留对分类、新异检测、摘要和相似性判断有用的统计关系[1]。主题概率作为文档的显式表示,可以直接服务于这些任务[1]。用更直白的话说,主题模型把一篇文档变成一份紧凑的主题画像,在大集合中比较文档时,这比直接比较原始词表更容易操作。它也可以帮助读者看出哪些主题在集合中反复出现,并把这些主题作为进一步阅读和探索的起点。
局限
主题模型是一种简化。它把文档看成主题的混合,重点在词项共现和主题概率,而不是完整的句法、词序或否定等语言结构;因此有些依赖顺序的差别可能被抹平。主题数量、语料规模和预处理方式都会影响结果,不同设定可能给出不同的主题描述。主题是潜在变量,不保证与人的标签一致,解释时需要结合具体任务和语料。它的价值在于提供一个可计算、可比较的统计摘要,而不是替代仔细的文本阅读。
注释与来源
- Latent Dirichlet Allocationhttps://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf
- Journal of Machine Learning Research Volume 3https://jmlr.org/papers/v3
引用本页: 主题模型. TellWorld, https://www.tellworld.net/zh/learn/topic-model. 更新于 2026-11-07