BERTopic初始化传入similarity_threshold_merging参数报意外关键字错误
报错原因
该错误由BERTopic版本不匹配导致:
你参考的教程基于旧版BERTopic编写,similarity_threshold_merging是旧版本中BERTopic类初始化时用于控制相似主题自动合并阈值的参数。在后续版本迭代中,官方调整了主题合并的实现逻辑,已将该参数从类初始化方法中移除,你当前环境安装的新版BERTopic无法识别这个入参,因此触发报错。
修复方案
根据需求二选一即可:
- 方案1:删除无效参数(推荐,适配新版BERTopic)
若不需要自定义主题合并阈值,直接删除实例化代码中的similarity_threshold_merging=0.5,行即可。新版BERTopic默认会自动完成相似主题合并,无需在初始化阶段传入该参数。
修改后的可运行代码:
如果使用新版时需要自定义相似主题合并阈值,可以在模型拟合完成后,调用主题合并、主题降维相关方法时传入对应阈值参数,无需在初始化阶段配置。# Create BERTopic model topic_model = BERTopic(top_n_words=20, n_gram_range=(1,2), calculate_probabilities=True, umap_model= umap_model, hdbscan_model=hdbscan_model, verbose=True) - 方案2:降级到匹配的旧版本(适合需要1:1复现教程效果的场景)
若需要严格对齐教程的所有逻辑和参数效果,将当前环境的BERTopic降级到包含该参数的版本即可,执行以下命令完成安装:
安装完成后原有代码可直接运行,不会触发参数错误。pip install bertopic==0.11.0
内容的提问来源于stack exchange,提问作者Gloria Dalla Costa
相关产品推荐
相关产品推荐

