你好@MaartenGr,
我尝试在大量记录中实现BERTopic。希望得到你的一些建议。谢谢!
我正在处理与财务公告相关的数据。每年大约有1500万条句子。我想了解随着时间推移,记录中涵盖了哪些主题。首先,我计划使用几年(至少2~3年)的数据来构建一个基本的BERTopic模型并检查整体主题。因为我们希望获得更精细和稳定的主题,可以将其视为基础,所以在这里使用较长的时间段。同时,我希望每季度用新到的季度记录更新模型。例如,如果我们使用2018-2020年之间的数据训练我们的基础模型,我们希望当我们在2020Q2填写数据时,模型能自动添加诸如“covid”的主题(Covid相关主题开始出现在我们的记录中),以更新模型。我们还希望保留这些旧主题,以跟踪它们随时间的变化趋势。
我注意到有很多可能使用的工具,如动态主题建模、在线主题建模或手动主题建模(?)。如果我们估计模型随时间变化,如何识别不断上升的主题而不因模型随机性而失去现有主题?你对这种情况有什么建议吗?
另一个问题是关于在线主题建模与动态主题建模的区别。如果我在这里使用动态主题建模,它是否只会给我提供主题表示(关键词)随时间的变化,而不是显示当前时间点的一些新出现的主题?如果我使用在线主题建模,为每个循环输入不同大小的数据是否有意义?如何确保从基本主题(Tn)获得的主题相对稳定?
再次感谢你的帮助!
1条答案
按热度按时间0ve6wy6x1#
如果我们估计模型随时间的变化,如何在不失去现有主题的情况下识别一个上升的主题?
如何确保来自基本主题(Tn)的主题相对稳定?
可以通过在UMAP中设置
random_state
来规避模型随机性。在这种情况下,您对哪种方法更合适有什么建议吗?
如果您希望持续获得新主题,那么在线主题建模将更合适。特别是如果您预计会有新数据进来。然而,如果您已经拥有所有数据,那么动态主题建模似乎更合适,因为您可以只训练一个模型并随着时间的推移对其进行建模。
如果我在这里使用动态主题建模,它是否只会给我展示主题表示(关键词)随时间的变化,而不会显示当前时间点的一些新出现的主题?
它旨在展示主题表示的变化,但也会显示主题随时间分布的情况。这种分布还会显示某些主题是否已经出现。
如果我正在使用在线主题建模,为每个循环输入不同大小的数据是否有意义?
不一定。一般来说,我会建议让数据足够显著以便学习,而不是一次传递一个。