BERTopic 主题模型在长文档上的应用

a5g8bdjr  于 2个月前  发布在  其他
关注(0)|答案(8)|浏览(36)

我希望使用BERTopic从较长的文档中提取主题:>10个文档,每个包含3-20页的文本。对于这样的用例,是否有任何特殊的方法、提示或文档可以指导如何使用BERTopic?
感谢您提供的优秀软件包!

wz1wpwve

wz1wpwve1#

我建议在将文档发送给BERTopic之前,先将其转换为句子或段落。由于这样的大文档很可能包含多个主题,将其拆分肯定会有所帮助。

sauutmhj

sauutmhj2#

假设我们想要从整个文档中提取主题。因此,我们执行以下步骤:

  1. 将文档拆分为单独的段落
  2. 独立地为每个段落提取主题
  3. 以某种方式结合跨段落的主题,以获得文档级别的主题。
    我对如何最好地执行第3步感兴趣。我想如果我们采用这种方法,最终会得到段落级别的主题权重,但不清楚如何将这些段落级别的结果组合成整体文档级别,即文档中最常见的主题是什么?我相信我可以想出一个方法,但想了解一下这是否是解决这个问题(可能相当常见的)的推荐方法,或者您能指出任何例子吗?
wvmv3b1j

wvmv3b1j3#

你可以根据文本的长度对分布进行汇总。主题分布就是将被分类为主题的文本所占的百分比。

knpiaxh1

knpiaxh14#

MaartenGr: 有没有这个聚合步骤的代码示例?

44u64gxh

44u64gxh5#

@clstaudt There isn't but it should be relatively straightforward. You could save the results in a dataframe which would have sentences with their assigned topics and the ID of their document. Then, simply count how often a topic appears in each document based on the collection of sentences. Other than that, you could look at using .approximate_distribution

alen0pnh

alen0pnh7#

我对这个很感兴趣。但我有一个问题:在我看来,另一个好的方法是

  1. 将长文档拆分成句子
  2. 为所有这些句子计算嵌入
  3. 计算文档的平均嵌入作为文档的“代表性”嵌入
    如何使用bertopic来实现这一点?这有意义吗?
    谢谢!
ao218c7q

ao218c7q8#

在将文档传递给BERTopic之前,通常建议先拆分长文档。但是要注意合并嵌入时,如果句子包含明显不同的主题,平均嵌入可能会变得混乱。

相关问题