主题模型--BERTopic python解析

这篇具有很好参考价值的文章主要介绍了主题模型--BERTopic python解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概念

1.1 主题模型

主题模型(Topic Model)是自然语言处理中的一种常用模型,是一种无监督学习方法,它用于从大量文档中自动提取主题信息。

主题模型的核心思想是,每篇文档都可以看作是多个主题的混合,而每个主题则由一组词构成。

  • 主题模型能够帮助我们理解文档集中的主题结构,有助于文档分类、聚类和信息检索。
  • 主题模型能够将高维的文本数据降维到低维的主题空间,便于后续的分析和处理。

1.2 BERTopic

BERTopic是基于BERT词向量进行主题建模技术,它利用 Transformer 和 c-TF-IDF 来创建密集的集群(分类),允许轻松解释主题,同时在主题描述中保留重要词。

从个人实践效果来看,要优于LDA、BTM等主题模型

BERTopic 可以看作是创建其主题表示的一系列步骤。此过程有五个步骤:

  1. Embeddings:词嵌入,选择预训练模型
  2. Dimensionality Reduction:降维,默认选择UMAP
  3. Clustering:聚类,默认选择HDBSCAN
  4. Vectorizers:将文本中的词语词频矩阵
  5. c-TF-IDF:获得主题的准确表示
  6. Fine-tune Topics:模型微调(可选)
    bertopic,NLP,1024程序员节,BERTopic
    里面涉及到的模型原理后续会分别整理

二、建模流程

使用BERTopic,有两种方式,一种是全部使用默认参数,直接调包运行;另外一种是自己根据实际数据集进行超参数进行调整

2.1 快速入门

直接使用默认的参数进行调用

2.1.1 安装包
pip install bertopic
2.1.2 数据导入
df = pd.read_csv('news.csv')
2.1.3 分词

分词可以实现处理好再进行建模,也可以定义好分词的方法在建模时传入,一般建议先分词在建模,这样可以打印中间分词结果进行检查

bertopic,NLP,1024程序员节,BERTopic

2.1.4 创建模型
from sentence_transformers import SentenceTransformer
from sklearn.feature_extraction.text import CountVectorizer

embedding_model = SentenceTransformer("distiluse-base-multilingual-cased-v1")
vectorizer =  CountVectorizer()

from bertopic import BERTopic

topic_model = BERTopic(embedding_model=embedding_model, vectorizer_model=vectorizer)
topics, probs = topic_model.fit_transform(docs)

训练时如果报错,可参照之前的一篇文章

bertopic,NLP,1024程序员节,BERTopic

2.1.5 查看结果
  • topic_model.get_topic_info 查看各主题信息
    bertopic,NLP,1024程序员节,BERTopic

  • topic_model.visualize_topics() 话题间距离的可视化
    bertopic,NLP,1024程序员节,BERTopic

  • topic_model.visualize_hierarchy(top_n_topics=20) 主题层次聚类可视化

  • topic_model.visualize_barchart(topics=[1]) 显示主题1的词条形图
    bertopic,NLP,1024程序员节,BERTopic

  • topic_model.visualize_heatmap() 主题相似度热力图
    bertopic,NLP,1024程序员节,BERTopic文章来源地址https://www.toymoban.com/news/detail-770295.html

到了这里,关于主题模型--BERTopic python解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【 BERTopic应用 02/3】 分析卡塔尔世界杯推特数据

    摄影:Fauzan Saari on Unsplash         这是我们对世界杯推特数据分析的第3部分,我们放弃了。我们将对我们的数据进行情绪分析,以了解人们对卡塔尔世界杯的感受。我将在这里介绍的一个功能强大的工具包是Hugging Face,您可以在其中找到各种模型,任务,数据集,它还

    2024年02月13日
    浏览(64)
  • NLP与大模型主题全国师资培训班落地,飞桨持续赋能AI人才培养

    为了推动大模型及人工智能相关专业人员的培养,8月11日-8月13日,由中国计算机学会主办、机械工业出版社、北京航空航天大学、百度飞桨联合承办 “CCF群星计划之文心高校行- NLP与大模型”主题师资培训班(以下简称培训班)在北京天信亮酒店圆满举办。 来自全国各地4

    2024年02月11日
    浏览(48)
  • 1024 程序员节,圆一个小小的梦

    Hope is a good thing, maybe the best of things, and no good thing ever dies. 希望是件美丽的东西,也许是最好的东西,而美好的东西是永远不会消逝的。 大家好,我是勇哥 。 1024 , 程序员节,圆了我一个小小的梦。 花了半年时间,我写了一本电子书 ,书名是:《 RocketMQ4.X设计精要 》,我想

    2024年02月08日
    浏览(72)
  • 解决github ping不通的问题(1024程序员节快乐!

    1024程序员节快乐!( 随便粘贴一个文档,参加活动 域名解析(域名-IP):https://www.ipaddress.com/ Ubuntu平台 github经常ping不通或者访问缓慢,方法是更改hosts文件 在hosts里添加github的ip 140.82.114.4 www.github.com 199.232.5.194 github.global.ssl.fastly.net 54.231.114.219 github-cloud.s3.amazonaws.com 可以访

    2024年01月18日
    浏览(80)
  • 1024程序员节特辑:【Spring Boot自动配置原理揭秘】

    主页传送门:📀 传送   Spring Boot 是一个用于创建独立的、生产级别的 Spring 应用程序的框架。它极大地简化了 Spring 应用程序的开发过程,其中一个关键的功能就是自动配置(Auto-Configuration)。   自动配置可以根据项目需求自动配置各种服务和组件,它可以帮助开发者

    2024年02月08日
    浏览(69)
  • 程序员帮助程序员!用1024拼出更美好的云计算未来

    中国的云计算市场是全球增长最快的。据预测,中国公共云服务市场的全球份额将从 2020 年的 6.5% 增加到 2024 年的 10.5% 以上。 伴随行业的迅速发展,催生了云计算相关人才需求的井喷增长,供需矛盾凸显。据德意志银行分析报告,越来越多IT企业关闭了线下IDC,开始把业务迁

    2024年02月16日
    浏览(61)
  • 好用且免费的CodeWhisperer,给1024程序员节送礼来了

          国庆期间没有胆量去人从众的景点,关在家里刷手机时意外在亚马逊的User Group公众号上发现了CodeWhisperer这么个好东西(bu yao qian),以后撸代码也可以提高生产力(fang yang mo yu)了,这还不赶紧上手试一下。看官方介绍说它支持流行的IDE开发工具,包括VS Code、Intelli

    2024年02月08日
    浏览(54)
  • 1024程序员节带你玩转图片Exif信息获取之JavaScript

    目录 一、前言 二、背景 三、Exif.js          1、Exif.js 简介 2、Exif.js 引入 四、多场景展示数据获取 1、原始图片直接获取  2、base64 编码文件加载  3、文件上传的方式加载  五、总结        1024是2的十次方,二进制计数的基本计量单位之一。1G=1024M,而1G与1级谐音,也有一

    2024年02月20日
    浏览(60)
  • 1024程序员节特辑 | Spring Boot实战 之 MongoDB分片或复制集操作

    Spring实战系列文章: Spring实战 | Spring AOP核心秘笈之葵花宝典 Spring实战 | Spring IOC不能说的秘密? 国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题

    2024年02月08日
    浏览(82)
  • 1024程序员狂欢节 | IT前沿技术、人工智能、数据挖掘、网络空间安全技术

    一年一度的1024程序员狂欢节又到啦!成为更卓越的自己,坚持阅读和学习,别给自己留遗憾,行动起来吧! 那么,都有哪些好书值得入手呢?小编为大家整理了前沿技术、人工智能、集成电路科学与芯片技术、新一代信息与通信技术、网络空间安全技术,四大热点领域近期

    2024年02月06日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包