BERTopic 重复样本分配到不同的簇

9nvpjoqh  于 5个月前  发布在  其他
关注(0)|答案(3)|浏览(76)

你好。我一直很感激你的伟大工作。
虽然它让我的项目变得更容易,但我有一个简单的问题无法解决。
当我有重复的数据样本时,它总是被分配到不同的簇中。
我有一些示例,但它们是用我的语言(韩语)编写的,所以我从其他GitHub问题中找到了一个示例,其中1,-1被分配到了不同的簇中。
scikit-learn-contrib/hdbscan#548

data = np.array([[1,1]] * 500)
clusterer = hdbscan.HDBSCAN(min_cluster_size=5, cluster_selection_method='eom').fit(data)
clusterer.labels_

array([ 1, -1, -1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1,  1,  1,  1,  1,  1,  1,  1,  1,
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        1,  1,  1,  1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  1, -1,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0, -1])

从这个GitHub问题中,我认为应用'allow_single_cluster=True'将解决重复数据被分配到不同簇的问题,但它没有。
我能得到其他解决方案吗?
谢谢。

8aqjt8rx

8aqjt8rx1#

感谢您分享这个!很遗憾,我对此没有更多的见解,因为这似乎是一个HDBSCAN特定的问题。也许您可以在那里重新联系他们?

4uqofj5v

4uqofj5v2#

感谢您对我的问题感兴趣。
您是否注意到过任何重复数据集问题?
我只是好奇,如果我是唯一遇到这个问题的人,那么我必须进一步检查我的代码。
在研究这个问题时,我发现了一些可疑的现象,即当我使用.visualize_documents可视化嵌入时,即使没有jittering函数,重复的文档也会抖动。
所以我的结论是,在您的bertopic过程中,重复的嵌入抖动,因此即使设置了'allow_single_cluster=True',它们仍然被视为不同的文档。
如果您有任何评论,那将是非常好的。
谢谢您一直以来的支持。

uxh89sit

uxh89sit3#

通常,我会删除重复的文档,因为它们不会对主题的创建产生贡献。这肯定是我建议的一个步骤。

相关问题