BERTopic 在同一个数据集上多次编译时的不同主题

y0u0uwnf  于 4个月前  发布在  其他
关注(0)|答案(5)|浏览(40)

我运行了代码,得到了10个主题,但去年运行代码时,我可以看到16个主题。我已经在umap模型中设置了随机状态。然而,这是因为收到的关于文档拆分的警告吗?

甚至输入文件和输出文件的数量也不匹配。

brc7rcf0

brc7rcf01#

我运行了代码,得到了10个主题,但去年运行代码时,我可以看到16个主题。我已经在UMAP模型中设置了随机状态。然而,这是因为收到的关于文档拆分的警告吗?
要确定是否因为文档拆分收到了警告,需要查看实际拆分文档的代码。我之前没有看到这些警告,这可能意味着你使用了自定义技术。请确保提供完整的示例。
至于主题差异,可能是版本控制的结果。你是否确保去年你所使用的环境与刚才运行的环境完全相同?例如,它是否包含相同的Python版本、BERTopic、numpy、numba等?如果不是,那么这可能会解释你得到的主题差异。
甚至输入文件和输出文件的数量都不匹配。
“输入文件”和“输出文件”是什么意思?你是如何定义这两个的?例如,“输入文件”是你传递给BERTopic类的文档吗?那么你是如何计算“输出文件”的数量的?你的代码将在这里有所帮助。

blmhpbnm

blmhpbnm2#

当然,下面是附上的代码:

$x_1^c_0d_1x$

$x_1^c_1d_1x$

00jrzges

00jrzges3#

当然,以下是附上的代码。

你分享的代码没有显示如何初始化BERTopic。你能展示你的完整代码吗?
甚至输入文件和输出文件的数量也不匹配。
根据你的代码,似乎你是基于预处理生成了以下代码,而不是基于BERTopic,所以错误应该出在你的预处理步骤中:

print(f"Number of input files: {len(all_docs)}\n"+
...

我假设在你生成docs之后,你将它们传递给了BERTopic,但你没有分享那部分代码。
此外,请确保回答所有问题:
关于主题差异,可能是版本控制的结果。你是否确保去年你所处的环境与刚才运行的环境完全相同?例如,它是否包含相同的Python版本、BERTopic、numpy、numba等?如果不是,那么这可能解释了你得到的主题差异。
每当你创建一个问题时,请创建一个完整的示例。展示你的完整代码或创建一个最小可复现示例,并演示到底出了什么问题。

3b6akqbq

3b6akqbq4#


![](//img.saoniuhuo.com/images/202407/46771721989664534.jpg)

![](//img.saoniuhuo.com/images/202407/64751721989665633.jpg)

这是你想要的代码吗?
axr492tv

axr492tv5#

你没有回答所有问题,也没有展示完整的示例。

话虽如此,我认为你的问题的答案如下:
我运行了代码并得到了10个主题,但之前当我去年运行代码时,我可以看到16个主题。我已经在umap模型中设置了随机状态。然而,这是因为收到的关于文档拆分的警告吗?
BERTopic在过去一年中发生了显著变化,所以看到主题数量在早期版本和最近发布的版本之间发生变化并不奇怪。在这里进行版本控制非常重要,可以帮助你了解不同版本模型的性能。为了将来参考,查看serialization应该有助于使不同环境中的保存/加载更加稳定。
甚至输入文件和输出文件的数量都不匹配。
从你的代码来看,你似乎从BERTopic独立地生成了输入文件(all_docs)和输出文件(processed_docs)。因此,问题很可能在于你处理数据的方式。

相关问题