Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【视频】文本挖掘:主题模型(LDA)及R语言实现分析游记数据

【视频】文本挖掘:主题模型(LDA)及R语言实现分析游记数据

作者头像
拓端
发布于 2024-12-27 12:31:27
发布于 2024-12-27 12:31:27
940
举报
文章被收录于专栏:拓端tecdat拓端tecdat

全文下载链接:http://tecdat.cn/?p=14997

在文本挖掘中,我们经常有文档集合,例如博客文章或新闻文章,我们希望将它们分成自然组,以便我们理解它们点击文末“阅读原文”获取完整代码数据

主题建模是一种对此类文档进行分类的方法。在本视频中,我们介绍了潜在狄利克雷分配LDA模型,并通过R软件应用于数据集来理解它。

什么是主题建模?

主题建模是一种对文档进行无监督分类的方法,类似于对数字数据进行聚类。

一个文档可以是多个主题的一部分,有点像模糊聚类(或软聚类),其中每个数据点属于多个聚类。

简而言之,主题建模设想了一组固定的主题。每个主题代表一组单词。主题建模 的目标是以某种方式将所有文档映射到主题,这样每个文档中的单词大部分都被那些虚构的主题捕获。

主题建模的工具和技术将文本分类或分类为每个主题的单词,这些是基于狄利克雷分布建模的。

什么是潜在狄利克雷分配?

潜在狄利克雷分配是一种无监督算法,它为每个文档为每个定义的主题分配一个值。

潜在是隐藏的另一个词(即无法直接测量的特征),而狄利克雷是一种概率分布。

我们要从数据中提取的主题也是“隐藏主题”。它还有待被发现。它的用途包括自然语言处理 (NLP)和主题建模等。

这种方法遵循与我们人类相似的思维方式。这使得 潜在狄利克雷分配 更易于解释,并且是目前最流行的方法之一。不过,其中最棘手的部分是找出主题和迭代的最佳数量。

不要将潜在狄利克雷分配与潜在判别分析(也称为 LDA)相混淆。潜在判别分析是一种有监督的降维技术,用于高维数据的分类或预处理。

为什么要进行主题建模?

主题建模提供了自动组织、理解、搜索和总结大型电子档案的方法。

它可以帮助解决以下问题:

发现收藏中隐藏的主题。新闻提供者可以使用主题建模来快速理解文章或对相似文章进行聚类。另一个有趣的应用是图像的无监督聚类,其中每个图像都被视为类似于文档。

将文档分类为发现的主题。历史学家可以使用 LDA通过分析基于年份的文本来识别归类为历史上的重要事件相关的主题。

使用分类来组织/总结/搜索文档。基于 Web 的图书馆可以使用 LDA根据您过去的阅读内容推荐书籍。例如,假设一个文档属于主题 :食品、宠物狗和健康。因此,如果用户查询“狗粮”,他们可能会发现上述文档是相关的,因为它涵盖了这些主题(以及其他主题)。我们甚至无需浏览整个文档就能够计算出它与查询的相关性。

因此,通过注释文档,基于建模方法预测的主题,我们能够优化我们的搜索过程。

潜在狄利克雷分配及其过程

潜在狄利克雷分配是一种将句子映射到主题的技术。它根据我们提供给它的主题提取某些主题集。在生成这些主题之前,LDA 执行了许多过程。

在应用该过程之前,我们有一定的规则或假设。

主题建模的 LDA 假设有两个:

首先,每个文档都是主题的混合体。我们想象每个文档可能包含来自多个主题的特定比例的单词。例如,在双主题模型中,我们可以说“文档 1 是20%的主题A和80%的主题B,而文档2是70% 的主题A和30%的主题B”。

其次,每个主题都是单词的混合。例如,我们可以想象一个新闻的两个主题模型,一个主题是“政治”,一个主题是“娱乐”。政治话题中最常见的词可能是“主席”和“政府”,而娱乐话题可能由“电影”、“电视”和“演员”等词组成。重要的是,单词可以在主题之间共享;像“预算”这样的词可能会同时出现在两者中。

LDA 是一种同时估计这两者的数学方法:找到与每个主题相关联的词的混合,同时确定描述每个文档的主题的混合。

并且,这些主题使用概率分布生成单词。在统计语言中,文档被称为主题的概率密度(或分布),而主题是单词的概率密度(或分布)。

主题本身就是词的概率分布。

这些是用户在应用 LDA 之前必须了解的假设。

LDA 是如何工作的?

LDA 有两个部分:

属于文档的词,我们已经知道。

这属于某个主题的词或属于某个主题的单词的概率,我们需要计算。

找到后者的算法。

浏览每个文档并将文档中的每个单词随机分配给k个主题之一(k是预先选择的)。

现在我们尝试了解它的完整工作过程:

假设我们有一组来自某个数据集或随机来源的文档。我们决定要发现K 个主题,并将使用 LDA 来学习每个文档的主题表示以及与每个主题相关联的单词。

LDA 算法循环遍历每个文档,并将文档中的每个单词随机分配给 K 个主题中的一个。这种随机分配已经给出了所有文档的主题表示和所有文档的单词分布以及所有主题的单词分布。LDA 将遍历每个文档中的每个单词以改进这些主题。但是这些主题的表示并不合适。所以我们必须改进这个限制。为此,对于每个文档中的每个单词和每个主题 T,我们计算:

文档 d 中当前分配给主题 T 的单词的比例

主题 T 的分配在来自这个词的所有文档中的比例

将单词重新分配给一个新主题,我们以P(主题 T | 文档 D) 乘以 P(单词| 主题 T)的概率选择主题 T,这实质上是,主题T生成的单词的概率。在多次重复上一步之后,我们最终达到了一个大致稳定的状态,即分配是可以接受的。最后,我们将每个文档分配给一个主题。我们可以搜索最有可能被分配到某个主题的单词。

我们最终得到了输出,例如

·分配给每个主题的文档

·主题的最常用关键词

·由用户来解释这些主题。

两个重要说明:

·用户必须决定文档中存在的主题数量

·用户必须解释主题是什么

所以通常如果我们有文档集合,我们想要生成一组主题来表示文档,我们可以使用 LDA 来执行它。因为 LDA 将通过遍历每个文档来训练这些文档并将单词分配给主题。但这不是一个循环过程。这里是一个学习过程。它将遍历每个文档中的每个单词并应用上面讨论的公式。

R软件 LDA 应用

我们将尝试通过R软件将 LDA 应用于数据来更简要地理解它。

越来越多的人愿意精神消费。旅游不仅可以提升人们对外地环境和外地人文的认知,也可以放松身心、愉悦心情,是一种受欢迎的精神消费。

随着国内近些年来互联网的发展,越来越多的人开始线上消费,消费感受的推荐成为了潮流。在各个旅游平台上,越来越多的人愿意参与旅游目的地游玩感受的分享。

本文试图从马蜂窝旅游官网上就新疆这个旅游目的地游记进行感知分析。

游记表现出多元复杂的情感

通过情感分析(也称为意见挖掘),用文本挖掘和计算机语言学来识别和提取原始资料中的主观信息,分析主观信息(例如观点,情感,态度,评估,情感等),以进行提取,分析,处理,归纳和推理。


图表1


通过数据分析可知,旅客对新疆整体上正向情感还是远高于负向情感,旅游群体对新疆旅游地区还是呈现出积极的肯定态度,如舒适、恬静、赏心悦目、激动、留恋等。从词频统计看出,自然风光多,旅游对民族特色的较为关注,如:盆地、白云、沙漠、草原、南疆。当然还有吃食,如“奶酪”等等。从结果也可以看到有少量的“失望”、“惆怅”等情感,通过游记我们发现风景基本上满足了旅客的需求,但是深层次的体验项目较少,新疆旅游景点间空间跨度大、路况条件差、行车时间长、节假日拥堵排队等。新疆旅游大部分都是景区内的风景,对于自然风貌记录偏少,规划、人文旅游也偏少。情感分析可知,游客对风景、美食都很满意,有着更高的期待。

哪些游记帮助人数最多

通过游记的内容特点和帮助人数,我们通过决策树来判断哪些游记的帮助人数最多,同时也发现大多数驴友的心里出行需求。


图表2


样本游记从游记篇幅、作者等级、人均花费、旅行组合、出行天数等方面反映游记的特点。游记篇幅的大小和作者等级是影响帮助人数的最重要的因素,内容详尽的游记能帮助到更多的人,经验老道的驴友的游记一般更有参考价值。旅行组合中家庭组合较少,赴疆游客以个人或朋友背包客徒步、自由行旅游为主,人均费用在7k以下,出行天数小于12天。游记的帮助人数客观地反映了驴友们旅游行程规划的心理预期,同时会对其他旅游者的决策和对旅游目的地的营销产生重要影响。

游记话题情感认知形象

接下来我们通过主题挖掘寻找游记话题和表达情感之间的关系。


图表3

从中可以看到有两个主题是景点相关,从关键词中可以用看到驴友们关注比较多的景点是独库公路、天山、喀纳斯、禾木、布尔津、五彩滩等。“新疆”、“独库公路”、“喀纳斯”、“乌鲁木齐”是游记样本中共现频率最高的词,成为两个重要的中心节点。通常情况下,距离中心节点越近,表示与两个节点的关联越紧密。由此可见,语义网络图呈现出两个较为明显的趋势:一是“新疆”一词辐射出的语义网络除旅游景区外,更多地表现了游客对新疆“雪山”、“草原”、“景色”等旅游形象的整体情感感知:如“独特”、“宁静”等,这与新疆对外旅游宣传所采用的词语相一致; 二是“乌鲁木齐”、“风景”一词辐射出的语义网络集合了更多与行程和旅游攻略相关的信息,如“酒店”、“机场”、“包车”、“自驾”等,从游客感知视角证实了新疆旅游的旅游攻略行程信息以及乌鲁木齐作为重要的旅游集散中心在新疆旅游业发展中的地位。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
游记数据感知旅游目的地形象
越来越多的人愿意精神消费。旅游不仅可以提升人们对外地环境和外地人文的认知,也可以放松身心、愉悦心情,是一种受欢迎的精神消费。
拓端
2020/10/22
5290
R语言中对文本数据进行主题模型topic modeling分析
在文本挖掘中,我们经常收集一些文档集合,例如博客文章或新闻文章,我们希望将其分成自然组,以便我们可以分别理解它们。主题建模是对这些文档进行无监督分类的一种方法,类似于对数字数据进行聚类,即使我们不确定要查找什么,也可以找到自然的项目组。
拓端
2020/08/17
1.5K0
R语言中对文本数据进行主题模型topic modeling分析
R语言之文本分析:主题建模LDA|附代码数据
另一种方法是通过主题搜索和探索文档。广泛的主题可能与文章中的各个部分(国家事务,体育)有关,但这些部分内或之间可能存在特定主题。
拓端
2023/06/30
7730
主题建模技术介绍-机器学习模型的自然语言处理方法
主题模型(topic model)是以非监督学习的方式对文集的隐含语义结构(latent semantic structure)进行聚类(clustering)的统计模型。
程序你好
2020/12/31
4K0
主题建模技术介绍-机器学习模型的自然语言处理方法
Python酒店评论文本数据分析:tf-idf、贝叶斯、逻辑回归,支持向量机SVM、K最邻近算法KNN、随机森林、LDA主题模型
随着互联网的普及和移动端的应用的飞速发展,消费者在各大电商平台进行活动交易时产生了大量的行为数据,在线评论文本就是其中一种。
拓端
2023/01/10
7650
LDA主题模型 | 原理详解与代码实战
很久之前的LDA笔记整理,包括算法原理介绍以及简单demo实践,主要参考自July老师的<通俗理解LDA主题模型>。
NewBeeNLP
2020/08/26
9.2K0
LDA主题模型 | 原理详解与代码实战
独家 | 使用Python的LDA主题建模(附链接)
主题建模包括从文档术语中提取特征,并使用数学结构和框架(如矩阵分解和奇异值分解)来生成彼此可区分的术语聚类(cluster)或组,这些单词聚类继而形成主题或概念。
数据派THU
2021/04/07
5.6K0
R语言SVM和LDA文本挖掘分类开源软件存储库标签数据和词云可视化
开源软件存储库上有数千个开源软件,可以从中免费使用该软件。为了能够有效和高效地识别用户所需的软件,已根据软件的功能和属性向软件判断了标记。因此,标签分配成为开源软件存储库软件维护成功的关键。手动分配需要专家判断软件的功能和性能,并从软件的大型标签池中选择适当的预定义标签,这显然很耗时。因此,此任务上的软件挖掘的目的是利用数据挖掘的进步,为新上传的软件项目启用自动标记分配(重新推荐)。
拓端
2022/11/18
6960
LDA主题模型:一眼看穿希拉里的邮件
关于LDA有两种含义,一种是线性判别分析(Linear Discriminant Analysis),一种是概率主题模型:隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),本文讲后者。
大数据技术与机器学习
2019/11/20
9990
Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集|附代码数据
在这篇文章中,我们讨论了基于gensim 包来可视化主题模型 (LDA) 的输出和结果的技术
拓端
2023/06/12
5820
通俗理解LDA主题模型
0 前言 印象中,最开始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是因为这篇文档的前序铺垫太长(现在才意识到这些“铺垫”都是深刻理解LDA 的基础,但如果没有人帮助初学者提纲挈领、把握主次、理清思路,则很容易陷入LDA的细枝末节之中),还是因为其中的数学推导细节太多,导致一直没有完整看完过。 理解LDA,可以分为下述5个步骤: 一个函数:gamma函数 四个分布:二项分布、多项分布、beta分布、Dir
机器学习AI算法工程
2018/03/13
20.7K0
通俗理解LDA主题模型
教程 | 一文读懂如何用LSA、PSLA、LDA和lda2vec进行主题建模
在自然语言理解任务中,我们可以通过一系列的层次来提取含义——从单词、句子、段落,再到文档。在文档层面,理解文本最有效的方式之一就是分析其主题。在文档集合中学习、识别和提取这些主题的过程被称为主题建模。
机器之心
2018/07/30
1.8K0
教程 | 一文读懂如何用LSA、PSLA、LDA和lda2vec进行主题建模
机器学习当中的数学闪光:如何直观地理解 LDA
主题建模是指识别用于描述一组文档的最合适的主题。这些主题只有在主题建模过程中才会出现(因而称为隐藏的)。一个流行的主题建模方法就是广为人知的Latent Dirichlet Allocation(LDA)。尽管这个名字有点拗口,但其背后的想法却是相当简单。
AI研习社
2018/10/24
5890
机器学习当中的数学闪光:如何直观地理解 LDA
我是这样一步步理解--主题模型(Topic Model)、LDA(案例代码)
关于LDA有两种含义,一种是线性判别分析(Linear Discriminant Analysis),一种是概率主题模型:隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),本文讲后者。
mantch
2019/07/30
3.5K0
我是这样一步步理解--主题模型(Topic Model)、LDA(案例代码)
技术干货:一文详解LDA主题模型
本文介绍了自然语言处理中的文本分类任务,以及常用的文本分类算法。包括朴素贝叶斯分类器、支持向量机、逻辑回归和神经网络等。还介绍了这些算法的具体实现步骤和优缺点,以及适用场景。
企鹅号小编
2017/12/27
1.5K0
技术干货:一文详解LDA主题模型
文本主题模型之LDA(一) LDA基础
    在前面我们讲到了基于矩阵分解的LSI和NMF主题模型,这里我们开始讨论被广泛使用的主题模型:隐含狄利克雷分布(Latent Dirichlet Allocation,以下简称LDA)。注意机器学习还有一个LDA,即线性判别分析,主要是用于降维和分类的,如果大家需要了解这个LDA的信息,参看之前写的线性判别分析LDA原理总结。文本关注于隐含狄利克雷分布对应的LDA。
刘建平Pinard
2018/08/07
1.6K0
文本主题模型之LDA(一) LDA基础
技术干货 | 一文详解LDA主题模型
作者简介 夏琦,达观数据NLP组实习生,就读于东南大学和 Monash University,自然语言处理方向二年级研究生,师从知识图谱专家漆桂林教授。曾获第五届“蓝桥杯”江苏省一等奖、国家二等奖。 本篇博文将详细讲解LDA主题模型,从最底层数学推导的角度来详细讲解,只想了解LDA的读者,可以只看第一小节简介即可。PLSA和LDA非常相似,PLSA也是主题模型方面非常重要的一个模型,本篇也会有的放矢的讲解此模型。如果读者阅读起来比较吃力,可以定义一个菲波那切数列,第 f(n) = f(n-1) + f
达观数据
2018/03/30
3.4K0
技术干货 | 一文详解LDA主题模型
文本主题模型之潜在语义索引(LSI)
    在文本挖掘中,主题模型是比较特殊的一块,它的思想不同于我们常用的机器学习算法,因此这里我们需要专门来总结文本主题模型的算法。本文关注于潜在语义索引算法(LSI)的原理。
刘建平Pinard
2018/08/07
1.5K0
文本主题模型之潜在语义索引(LSI)
学界 | 从文本挖掘综述分类、聚类和信息提取等算法
选自arXiv 机器之心编译 参与:机器之心编辑部 文本挖掘一直是十分重要的信息处理领域,因为不论是推荐系统、搜索系统还是其它广泛性应用,我们都需要借助文本挖掘的力量。本文先简述文本挖掘包括 NLP、
机器之心
2018/05/09
2.6K0
学界 | 从文本挖掘综述分类、聚类和信息提取等算法
Python主题建模详细教程(附代码示例)
主题建模是自然语言处理(NLP)和文本挖掘中常用的技术,用于提取给定文本的主题。利用主题建模,我们可以扫描大量的非结构化文本以检测关键词、主题和主题。
磐创AI
2023/08/29
1.1K0
Python主题建模详细教程(附代码示例)
推荐阅读
相关推荐
游记数据感知旅游目的地形象
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档