【主题建模】基于 LDA 和 BERTopic 的 COVID-19 论文内容分析

本文利用 LDA 和 BERTopic 分析 COVID-19 论文,从社科角度揭示研究主题。通过对 CORD-19 数据集的筛选和主题建模,发现疫苗、预防措施、牙科护理、经济影响、心理健康等热门话题,以及各国研究的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于 LDA 和 BERTopic 的 COVID-19 论文内容分析

关于 COVID-19 的研究不胜枚举,截至 2022 年初,已发表了超过 800000 800000 800000 篇与 COVID-19 相关的论文。对这些论文进行梳理是一项非常具有挑战性的任务,但这可以帮助我们确定哪些领域可以更多的从研究或研究基金中受益。在本文中,我将评估这些 COVID-19 研究论文的主题,尝试揭示这些统计数据和趋势。

数据集来自 The COVID-19 Open Research Dataset (CORD-19),该数据集包含了与冠状病毒研究或 COVID-19 大流行相关的学术论文语料库。 CORD-19 数据集旨在支持文本挖掘和 NLP 研究,并为评估 COVID-19 大流行的主题提供良好开端。

尽管获取 CORD-19 数据相对不难,但因数据质量问题仍要进行数

### 使用 BERTopic 进行文本主题建模 #### 安装依赖库 首先,需要安装 `bertopic` 库以及其依赖项。可以通过 pip 命令来完成这一操作。 ```bash pip install bertopic ``` #### 导入必要的模块 导入用于处理数据建模型所需的 Python 模块: ```python from bertopic import BERTopic import pandas as pd ``` #### 准备文档集合 准备待分析的文本集合作为输入给 BERTopic 模型的数据源。假设有一个包含多条记录的 DataFrame 表格形式的数据框 df ,其中一列名为 'text' 存储着每篇文章的内容,则可以直接从中提取出所有文章作为列表传递给 fit_transform 方法[^1]。 #### 创建并训练 BERTopic 模型实例 初始化一个新的 BERTopic 对象,并调用 fit_transform() 函数传入预处理后的语料库来进行拟合变换过程,在这个过程中会自动识别出合适的主题数目而不需要预先指定具体的数量。 ```python documents = list(df['text']) topic_model = BERTopic() topics, probs = topic_model.fit_transform(documents) ``` #### 查看生成的主题及其代表性词汇 通过访问属性获取每个聚类中心最常出现的关键术语,这有助于理解各个类别所表达的核心概念;也可以设置参数调整输出结果中的关键词个数以便更好地解释所得结论[^2]。 ```python print(topic_model.get_topic_info()) for i in range(len(topics)): print(f"Topic {i}: ", end="") print(", ".join([word for word, score in topic_model.get_topic(i)])) ``` #### 调整主题数量 如果发现存在过多重复或相近含义的话题群组时,可通过修改配置选项的方式让算法重新计算更合理的分类方案,比如限定最大允许存在的独立话题总数不超过一定限额(如 100),从而达到简化结构的目的。 ```python topic_model.reduce_topics(docs=documents, nr_topics=100) new_topics, new_probs = topic_model.fit_transform(documents) ``` #### 可视化展示 最后利用可视化工具直观呈现各簇间的关系分布情况,帮助进一步探索潜在模式规律特征。 ```python fig = topic_model.visualize_barchart() fig.show() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据与AI实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值