- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章使用 BerTopic 在 Python 中进行主题建模由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
通过主题建模,你可以收集非结构化数据集,分析文档,并获得相关和所需的信息,这些信息能帮你做出更好的决策.
执行主题建模有不同的技术(如LDA),但是在本NLP教程中,你将学习如何使用Maarten Grootendorst开发的BerTopic技术.
BerTopic是一种主题建模技术,它使用转换器(BERT嵌入)和基于类的TF-IDF来创建密集集群。它还允许您轻松地解释和可视化生成的主题.
BerTopic算法包含三个阶段:
1.嵌入文本数据(文档):此步骤中,算法使用BERT提取文档嵌入,也可以使用其他任何嵌入技术.
默认情况下,它使用下面的句子转换器 。
2.Cluster文档:使用UMAP降低嵌入的维数,使用HDBSCAN技术聚类减少嵌入并创建语义相似文档的聚类.
3.创建主题表示:利用基于类的TF-IDF进行主题提取和精简,提高最大边缘关联词的一致性.
可以通过 pip 安装软件包:
如果你对可视化选项感兴趣,你需要按照如下方式安装它们.
BerTopic支持不同的转换器和语言后端,你可以使用它们来创建模型。你可以根据下面可用的选项安装一个.
我们将使用以下库来帮助我们加载数据并从BerTopic创建模型.
在本NLP教程中,我们将使用2020年东京奥运会推文,目标是创建一个模型,该模型可以根据推文的主题自动分类.
注:出于计算原因,我们只选择了6000条推文.
要使用BERTopic创建模型,需要将推文作为列表加载,然后将其传递给fit_transform方法。这个方法将做以下工作:
训练模型后,可以按降序访问主题的大小.
注:Topic -1是最大的,它指的是没有分配给生成的任何主题的离群推文。在本例中,我们将忽略Topic -1.
你可以选择一个特定的主题,并得到该主题的前n个单词和他们的c-TF-IDF分数.
对于这个选定的话题,常用词是瑞典,目标,罗尔夫,瑞典人,目标,足球。很明显,这个话题的重点是“瑞典队的足球”.
BerTopic允许您以非常类似于LDAvis的方式可视化生成的主题。这会让你对主题的质量有更多的了解。在本文中,我们将介绍三种可视化主题的方法.
visualize_topics方法可以帮助您可视化生成的主题及其大小和相应的单词。视觉化的灵感来自于LDavis.
visualize_barchart方法将通过创建c-TF-IDF分数的条形图来显示选定的几个主题术语。然后,您可以比较彼此的主题表示,并从生成的主题中获得更多的见解.
上面的图表中,你可以看到话题4的热门词是proud, thank, cheer4india, cheer和congrats.
你还可以可视化某些主题之间的相似程度。要可视化热图,只需调用.
在上图中,你可以看到topic 93与topic 102相似,相似度为0.933.
有时您可能会生成过多或过少的主题,BerTopic为您提供了一种选择,以不同的方式控制这种行为.
(a)你可以通过设置参数nr_topics来设置你想要的主题数量。BerTopic将找到类似的主题并合并它们.
在上面的代码中,将要生成的主题的数量是20.
(b)另一种选择是自动减少专题的数目。要使用这个选项,你需要在训练模型之前将"nr_topics"设置为"auto".
(c)最后一种选择是减少模型训练后的主题数量。这是一个很好的选择,如果重新培训模型将花费许多小时.
在上面的示例中,在训练模型之后,您将主题的数量减少到15个.
要预测新文档的主题,需要在转换方法上添加一个(或多个)新实例.
你以使用save方法保存训练过的模型.
你可以使用load方法来加载模型.
在创建模型时,BerTopic提供了许多特性。例如,如果您有一个特定语言的数据集(默认情况下,它支持英语模型),您可以通过在配置模型时设置语言参数来选择语言.
注意:请选择其嵌入模型存在的语言.
如果你的文档中混合了多种语言,你可以设置language="multilingual"以支持超过50种语言.
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】 。
原文地址:https://developer.51cto.com/art/202108/679535.htm 。
最后此篇关于使用 BerTopic 在 Python 中进行主题建模的文章就讲到这里了,如果你想了解更多关于使用 BerTopic 在 Python 中进行主题建模的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
这个问题已经有答案了: Cannot create AlertDialog: AppCompat error (2 个回答) 已关闭 6 年前。 当我在列表项中调用警报对话框时,我的应用程序崩溃了。我
我在 Angular 应用程序中安装了 Material UI,现在我收到错误,没有导出的成员 Observable 错误, 我删除了节点模块并重新安装,问题仍然存在 ERROR in node_mo
我有一个架构,其中有两个独立的应用程序。原始来源是一个sql数据库。 App1 监听 CDC 表以跟踪对该数据库中表的更改、规范化和序列化这些更改。它获取这些序列化消息并将它们发送到 Kafka 主题
这个问题在这里已经有了答案: Material Design, AppCompat, and Backwards Compatibility (1 个回答) 关闭 6 年前。 我收到如下错误信息:
我喜欢新 Office 套件和 Visual Studio 上的窗口镶边: 当然,我仍在为 Windows 7 开发应用程序,但我想知道是否有一种快速且简单的方法(阅读:WPF 样式或 Windows
我正在使用 HoloEverywhere-1.6.8。 我有一个基于 Holo.Theme 的自定义主题。 ... 我遇到了下面的崩溃,但它只出现在以下设备上: Galaxy Tab 10.1 P
我正在尝试为 Angular 的 DevExtreme 小部件加载主题。我采用了不同的方法: 在 angular.json 中设置样式但不会产生任何影响: "projects": { "my-proj
我想定义一个 android 样式,它扩展了一个在不同的应用程序/包中定义的样式,而不是作为库导入。 从对android资源的xml引用的定义here : @[:]/ 似乎可以在定义资源的地方指定一个
我正在尝试测试一种制作主题的方法,但我使用的方法并没有给我预期的结果。这是我的设置: drawable/dummy.xml 值/mythemes.xml @style
通过 telnet 使用 IMAP,我希望能够从特定的给定电子邮件中提取主题。现在我知道 fetch 命令负责从电子邮件中获取数据。 我的问题是,如何在不使用对 BODY[HEADER.FIELDS
我刚刚开始使用 RStudio 中的一些新的 knitr 功能。 我已经尝试在 R Markdown 设置对话框中选择几个不同的主题,但这些似乎对我生成的文档的样式没有任何明显的影响。应该,还是我错过
在我的应用程序中,我有多种主题样式(您可以将它们视为不同的、单独的 CSS 样式文件)。我想开始使用 CSS 模块,但我什至不知道如何 import我的第一个文件。 让我们假设以下(简单)目录结构:
有没有一种方法可以在一个 Azure 主题订阅上拥有多个监听客户端,并且它们都接收所有消息?我的理解是订阅的唯一实现是发布的消息仅传递到该订阅上的一个客户端,因为它就像一个队列。 可以使用同一订阅将这
我有一台 super 光滑的显示器,所以白天我可以比深色主题上的代码更好地看到自己的倒影。因此,我认为如果我可以在 vimrc 中有一个简单的 if 开关来根据一天中的时间设置深色主题或浅色主题,那就
我希望在我的 Symfony2 项目中提供基本的主题支持,因此我希望为每个主题提供单独的静态文件(css、js、img)。 我尝试添加 assetic: read_from: %kernel
有没有一种方法可以在一个 Azure 主题订阅上拥有多个监听客户端,并且它们都接收所有消息?我的理解是订阅的唯一实现是发布的消息仅传递到该订阅上的一个客户端,因为它就像一个队列。 可以使用同一订阅将这
在 NES 上有多个处于 WAITING 状态的“Discovery Worker”和“Keep Alive”线程是预期的行为吗? "DiscoveryWorker-10" Id=62 WAITING
我正在尝试找到最适合加载图像的颜色并将其应用到背景中。适应图像并使 UI 感觉更自然。 到目前为止我已经找到了 2 个方案: 1> 平均像素(下面的代码): final Color acclimati
我知道每个请求都由一个 servlet 线程提供服务,但是对于一个用户 session ,两个请求是否可以由两个不同的线程提供服务? 如果上述情况真的发生,那么第一个请求服务线程存储的线程局部变量被第
我无法理解操作栏外观与主题化之间的交互模式。我的应用设置为使用默认主题,我认为它是深色的: 通过应用范围内的样式从应用中删除操作栏会导致主要 Activity 的黑色背景: 没有 and
我是一名优秀的程序员,十分优秀!