BERTopic 主题数量少于文章数量,

b09cbbtk  于 2个月前  发布在  其他
关注(0)|答案(6)|浏览(49)

你好,我正在使用partial_fit函数连续生成主题。然而,在某些批次中,主题的数量可能比数据集中的文章数量少一些。我已经检查了partial_fit中的"labels"属性,它返回的确切主题与文章相同,但是当我在BERTopic之后调用model.topics_时,它返回的主题数量较少。这种情况是如何发生的?我该如何解决这个问题?或者至少,我可以知道哪些文章没有被分配到主题吗?我可以将它们直接删除,因为通常只有2或3篇文章缺少主题。谢谢!

bzzcjhmw

bzzcjhmw1#

在没有看到你的代码的情况下,很难说。你能分享一个完整的示例吗?另外,你确保按照文档中提到的那样迭代更新 model.topics_ 吗?

mpgws1up

mpgws1up2#

我正在使用River来持续生成新的主题。我还需要更新模型的topics_参数吗?

gupuwyp2

gupuwyp23#

当然可以!topics_ 只在每个 .partial_fit 调用中保存每个批次。因此,如果您想为迄今为止看过的每个文档保存每个主题,您需要按照以下方式更新它:

yx2lnoni

yx2lnoni4#

但是这些主题不是已经保存在“topics”列表中了吗?目前,我正在每个批次内调用:
df = pd.DataFrame({'Document': df['text'],
'Topic': topics})
来为该批次创建一个数据框和主题。然后我将模型和数据本地保存并清理内存。然后我再次使用新一批数据加载模型并运行之前的模型。这样可以吗?我认为对于大多数批次来说效果还不错,只是生成的主题数量比文章数量少2或3个。

falq053o

falq053o5#

你应该按照上面图片中我描述的方式去做。如果你没有做,你能提供你的完整代码吗?
这也可能是一个关于River的问题,但我并不完全确定。试着用增量kmeans方法,看看是否能解决你的问题。

eoigrqb6

eoigrqb66#

我明白了,我会尝试一下。谢谢!

相关问题