lda主题模型用来干什么 lda主题模型原理介绍

2025-01-0723:43:47创业资讯0

关于贾少华

贾少华,内蒙古大学计算机学院硕士毕业,曾就职于某知名IT公司担任数据挖掘工程师。目前,他身为某乳业公司的资源规划高级专员,致力于业务数据化工作。他对经济与计算机的融合充满热情,坚信可解释络将带来巨大的市场需求和学术进展。

1. 理论介绍

LDA(潜在狄利克雷分配)模型是在2003年由Blei等人提出的。该模型建立在LSA(潜在语义分析)与pLSI(概率潜在语义分析)模型的基础上,是一种更为完善、成熟的概率主题模型。LDA模型通过引入超参数的概念,使得整个模型相比pLSI更加概率化,并形成了三层贝叶斯网络结构。

图示:传统LDA模型的概率图(图略)

LDA模型的主要目的是探索一篇文档中潜在的主题。这些潜在主题的数量通常是通过困惑度或对数似然值来确定的。一篇文档通常由多个部分组成,每个部分又由多个单词构成,即多个主题由多个单词构成,而这些主题共同构成了一篇文档。

对于文档集D中的每个文档w,LDA假设了以下的生成过程,具体如下:

  1. 确定文档中的潜在主题数量。
  2. 然后,为每个主题分配一定的词频概率。
  3. 接着,对于文档中的每个单词,按照以下步骤进行:
    • (a)从主题分布中随机选择一个主题。
    • (b)从该主题的词频概率分布中随机选择一个单词。

在LDA模型中,需要估计的两个参数是θ和φ,即文档-主题概率分布和主题-词概率分布。虽然使用EM算法对θ和φ进行参数估计的方法难以通过代码实现,但在后续的模型学习与实现中,通常采用Gibbs抽样来估计这两个参数的值。

2. 数据准备

本次Demo实验选取了部分Yelp电商评论中的文本数据进行实验。这些评论有真有假,我们将对真实评论和虚假评论进行主题抽取。表一展示了原始的评论数据集和经过清洗后的数据集。

当数据量较小时,LDA抽取的主题可能代表性不强。为了扩大建模的单词量,我们将真实评论和虚假评论分别合并为一个文档,并使用LDA模型进行建模和主题抽取。主题抽取的结果如表二和表三所示。

表二:真实评论主题抽取结果(表略)

表三:虚假评论主题抽取结果(表略)

附录:代码(Python 3.6, Jupyter Notebook)

  • 版权说明:
  • 本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 295052769@qq.com 举报,一经查实,本站将立刻删除。