隐含狄利克雷分布是一种主题建模技术,用于发现中心主题及其在文档集中的分布。
隐含狄利克雷分布 (LDA)(不要与机器学习中的线性判别分析混淆 )是一种贝叶斯主题建模方法。简而言之,LDA 是一种有条件的概率式主题建模。
主题建模是一种自然语言处理 (NLP) 技术,它在大型文本数据集上应用无监督学习,以生成从这些文档中得出的词项摘要集。这些词项旨在代表整个文集的主要专题集。通过这种方式,主题模型旨在发现一组文档的潜在主题或主题特征。1
用户可以使用 scikit-learn(或 sklearn)自然语言处理工具包 (NLTK) 和 Python 中的 gensim 轻松生成 LDA 主题模型。R 中的 topicmodels 和 lda 包还包含用于生成 LDA 主题模型的函数。
LDA 是一种概率模型。这意味着 LDA 算法根据概率分布生成主题,并在这些不同的主题中对单词和文档进行分类。但是,为什么这种方法适合于揭示文本数据中隐藏的主题结构呢?从本质上讲,LDA 假定文档是通过对文档前主题进行随机采样生成的,并试图对这种采样进行逆向工程。
LDA 想象中的文本生成过程始于前文档主题。每个主题都是固定的单词词汇表,其中每个单词都有属于该主题的概率。请注意,为了考虑词义和用法的潜在多元性,我们给词分配的是概率而不是一个独立的类别。然后,为了创建文本文档,机器会随机生成一个主题分布,例如,政治占 85%,金融占 10%,历史占 5%。对于该文档中的每个单词,机器都会随机选择一个选定的主题,并从该主题中随机发出一个单词。请注意,LDA 本身并不以这种方式生成文档。相反,这是 LDA 假定文档生成的过程。LDA 本身试图逆转这一过程,以揭示遍布于文档语料库中的总体和隐藏主题。
该图说明了 LDA 的假设文本生成过程:
这张图片底部是由单词分布组成的随机分类主题。这些主题适用于集合中的每份文档。为了生成给定文档(在本例中为莎士比亚的《奥赛罗》),机器会生成主题分布,即最右边的图表。该分布是构成文档的主题(以及每个主题的比例)。对于文档中的每个单词,机器都会随机选择一个选定的主题(彩色圆点列),从中随机选择一个单词(突出显示的词项)。2请注意,此可视化仅为说明性示例,而不是任何实际主题建模或文本生成的结果。但是,如前所述,LDA 假设每份文档都是由这种一般生成过程生成的,而 LDA 试图对这种生成过程进行逆向工程。
与潜在语义分析(LSA)等其他主题建模方法一样,LDA 将整个语料库中的文档视为 Bag of Words。这意味着 LDA 忽略了词序和上下文。相反,它关注单词在每个单独文档中出现和共同出现的频率。3词频和共同出现在文档-词项矩阵中建模。在这里,文档是行,单词是列,反之亦然。每个单元格的值表示给定单词在每个文档中出现的频率。4
使用文档-词项矩阵,LDA 算法会根据词频和共同出现情况生成主题分布(即具有各自概率的关键词列表)。通过跟踪共同出现的频率,LDA 假设一起出现的单词很可能是类似主题的一部分。然后,该算法根据给定文档中出现的单词组分配文档主题分布。5
例如,我们为一组新闻文章生成一个 LDA 模型,其具有以下部分输出
在这里,我们有两个主题,可能被描述为移民(主题 1)和天文学(主题 2)。每个单词的得分是该关键词在给定主题中出现的概率。每份文档所附的概率是该文档属于混合主题的概率,考虑到该文档中每个主题的单词的分布和共同出现情况。例如,表格第一行列出了主题 1 下的边框 ,概率为 40%,主题 2 中的空格,概率为 60%。这些百分比表示各自词语在整个语料库中出现在该主题中的概率。第一行文档内容为文档 1:主题 1:.95,主题 2:.05。这意味着,根据文档 1 中出现的单词,该模型预测文档 1 95% 来自主题 1,5% 来自主题 2。换句话说,我们假设的 LDA 模型假设这些是用于生成模型的主题和主题比例。
当然,多义词尤其会给这种离散分类带来问题,例如,alien 可能指人类移民,也可能指地外生物。在这种情况下,LDA 算法如何确定单词(进而确定文档)属于哪个主题?
在为单词分配主题时,LDA 算法使用所谓的吉布斯采样。吉布斯采样公式为
要理解该方程的精确运算和超参数,需要统计学和马尔可夫链蒙特卡洛技术(后者通常用于强化学习)方面的基础知识。尽管如此,我们可以总结该方程的主要组成部分:
请注意,吉布斯采样是一个迭代流程。换言之,一个单词并不会被采样一次,被分配一个主题,然后便被扔到一边。相反,吉布斯采样将每个单词进行多次迭代,从而根据彼此的情况更新主题词的概率。6
LDA 的显著特征是每份文档在一组共享主题上的概率分布。与其他主题建模方法一样,这些主题及其在每份文档中的分布情况并不为人所知。主题建模是无监督的,没有手动标记的数据来指导分析。通过发现隐藏的主题结构,LDA 最终为整个文档集的文档添加注释。这些注释(即揭示的主题)可用于对文本进行分类。这样,LDA 通过自动添加注释和组织大量文档集来为信息检索系统提供帮助。7
哪些工具或指标可以帮助用户微调 LDA 模型?对于刚接触主题建模的人来说,了解到文献中并没有采用一种甚至一系列性能指标可能会令人沮丧。
定性。不管信不信,定性评估并不少见,尤其是在现实世界的应用中。这通常包括检查每个主题的前五或前十个关键词。然后,可使用这些关键词根据人类用户对主题的可解释程度对主题进行评估。8这种“目测”需要大量的专业领域知识并且熟悉所审议的文档。9
连贯性。主题连贯性是评估生成主题的一种常用定量方法。主题连贯性得分衡量的是某一主题最可能出现的单词在整个语料库中的相同文档中共同出现的频率。更具体地说,它是根据每个单词在整个语料库中的出现频率,计算一个主题前 n 个单词中每对单词的共同出现频率。其目的是量化给定主题的连贯性程度。一个模型的总体连贯性得分是属于每个单独主题的连贯性得分的平均值。实际上,这个总分代表了给定模型中的平均主题连贯性。顾名思义,连贯性仅根据主题的连贯程度来评估模型。主题必须保持一定程度的独特性,但目前还没有可量化的指标来衡量。10
最近的研究表明,连贯性得分等定量指标在主题模型评估中并不可靠。这在一定程度上是由于可解释性这一自称的评价目标的歧义,即怎样才能使模型及其结果具有可解释性?11此外,为旧系统设计的自动化指标可能无法很好地推断出新系统的情况。由于许多已发布的实验缺乏透明度,无法将评估方法推广到其他数据集或领域,因此这一问题变得更加复杂。12最近的研究转向了人工智能应用,特别是大型语言模型 (LLM),并采用此方式为特定研究目标设计和评估 LDA 模型。13虽然这展现出可喜的成果,但仍有必要开展进一步的研究。
使用 IBM® watsonx Orchestrate 轻松设计可扩展的 AI 助手和代理、自动执行重复任务并简化复杂流程。
通过强大灵活的库、服务和应用组合,加速实现人工智能的商业价值。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。
1 Daniel Jurafsky and James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3rd edition, 2023, https://web.stanford.edu/~jurafsky/slp3/. Jay Alammar and Maarten Grootendorst, Hands-On Large Language Models, O’Reilly, 2024.
2 David Blei,“概率主题模型”, 《ACM 通信》,第 55 卷,第 4 期,2012 年,第 77-84 页。Zhiyuan Chen 和 Bing Liu,“面向 NLP 应用程序的主题模型”, 《机器学习和数据挖掘百科全书》,Springer,2017 年。
3 Matthew Jockers, Text Analysis with R for Students of Literature,Springer,2014 年。
4 Cole Howard、Hobson Lane 和 Hannes Hapke,《自然语言处理实战》,Manning Publications,2019 年。Sowmya Vajjala、Bodhisattwa Majumder、Anuj Gupta 和 Harshit Surana,《实用自然语言处理》,O'Reilly,2020 年。
5 Sowmya Vajjala、Bodhisattwa Majumder、Anuj Gupta、Harshit Surana,《实用自然语言处理》,O'Reilly,2020 年。 David Blei、Andrew Ng 和 Michael Jordan,“隐含狄利克雷分布”, Journal of Machine Learning Research,第 3 卷,2003 年,第 993-1022 页。
6 Zhiyuan Chen 和 Bing Liu,“面向 NLP 应用的主题模型”, 机器学习 和数据挖掘百科全书 ,Springer,2017 年。
7 David Blei,“概率话题模型”,《ACM 通讯》,第 55 卷,第 4 期,2012 年,第 77-84 页。
8 Chandler Camille May,“主题建模的理论与实践”,Dissertation,John Hopkins University,2022 年。
9 Matthew Gillings and Andrew Hardie, “The interpretation of topic models for scholarly analysis: An evaluation and critique of current practice,” Digital Scholarship in the Humanities, Vol. 38, No. 2, 2023, pp. 530-543, https://academic.oup.com/dsh/article-abstract/38/2/530/6957052
10 Chandler Camille May, “Topic Modeling in Theory and Practice,” Dissertation, John Hopkins University, 2022. https://aclanthology.org/D11-1024/
11 Zachary Lipton, “The Mythos of Model Interpretability: In machine learning, the concept of interpretability is both important and slippery,” Queue, Vol. 16, No. 3, pp. 31-57, https://dl.acm.org/doi/10.1145/3236386.3241340 . Caitlin Doogan and Wray Buntine, “Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures,” Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2021, pp. 3824-3848, https://aclanthology.org/2021.naacl-main.300 .
12 Alexander Hoyle, Pranav Goel, Andrew Hian-Cheong, Denis Peskov, Jordan Boyd-Graber, Philip Resnik, “Is Automated Topic Model Evaluation Broken? The Incoherence of Coherence,” Advances in Neural Information Processing Systems, 2021, pp. 2018-2033, https://proceedings.neurips.cc/paper_files/paper/2021/hash/0f83556a305d789b1d71815e8ea4f4b0-Abstract.html . Caitlin Doogan and Wray Buntine, “Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures,” Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2021, pp. 3824-3848, https://aclanthology.org/2021.naacl-main.300 .
13 Dominik Stammbach, Vilém Zouhar, Alexander Hoyle, Mrinmaya Sachan, and Elliott Ash, “Revisiting Automated Topic Model Evaluation with Large Language Models,” Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, 2023, pp. 9348-9357, https://aclanthology.org/2023.emnlp-main.581/ .