You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将语义聚类生成的多个独立列表合并为一个列表?

文本聚类结果合并问题解决方法

问题场景

使用SentenceTransformer结合KMeans完成文本聚类后,已得到5个独立的聚类子列表,但尝试合并时仅获取到最后一个子列表,目标是生成包含所有聚类子列表的统一列表。

错误尝试代码

list2=[]
for i in cluster:
  list2.append(i)
list2

错误结果

['A monkey is playing drums.',
 'Someone in a gorilla costume is playing a set of drums.']

错误原因

你循环的cluster变量是之前打印聚类结果时的循环变量,循环结束后它仅保留最后一个聚类的子列表。此时for i in cluster是遍历该子列表中的每一个句子,最终得到的是最后一个聚类的句子集合,而非包含所有聚类子列表的大列表。

正确解决方法

其实示例代码中已经生成了包含所有聚类子列表的统一列表clustered_sentences,直接使用该变量即可。如果需要手动构建,代码如下:

方法1:直接复用已有变量

# 示例代码中已生成的clustered_sentences就是包含所有聚类的统一列表
all_clusters = clustered_sentences

方法2:手动遍历构建

all_clusters = []
# 遍历所有聚类子列表,将每个子列表加入统一列表
for cluster in clustered_sentences:
    all_clusters.append(cluster)

正确结果示例

[
 ['The girl is carrying a baby.', 'The baby is carried by the woman'],
 ['A man is riding a horse.', 'A man is riding a white horse on an enclosed ground.'],
 ['A man is eating food.', 'A man is eating a piece of bread.', 'A man is eating pasta.'],
 ['A cheetah is running behind its prey.', 'A cheetah chases prey on across a field.'],
 ['A monkey is playing drums.', 'Someone in a gorilla costume is playing a set of drums.']
]

内容的提问来源于stack exchange,提问作者xavi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:45:45