如何在BERTopic的visualize_topics()图表悬停时查看超5个主题词?
问题翻译
我正在使用TOPIC_MODEL.visualize_topics()将主题可视化到图表中(示例图表如下:
),想咨询:当悬停在图表中的主题blob上时,如何查看超过5个关键词?
解决方法
快速调整参数实现
如果你用的是BERTopic库的visualize_topics()方法,直接在调用时添加top_n_words参数就能指定悬停显示的关键词数量,比如要显示10个:TOPIC_MODEL.visualize_topics(top_n_words=10)这样悬停主题blob时,就会展示你设置数量的关键词。
自定义悬停提示内容(进阶)
要是想自己控制悬停提示的格式,比如换行展示关键词,可以先拿到可视化的Figure对象,再修改悬停模板:fig = TOPIC_MODEL.visualize_topics(top_n_words=10) # 遍历每个主题的可视化轨迹,修改悬停文本 for trace in fig.data: new_hover_texts = [] for topic_data in trace.customdata: topic_id = topic_data[0] # 拆分关键词列表 keywords = topic_data[1].split(" | ") # 把关键词用换行拼接,自定义显示格式 keyword_text = "<br>".join(keywords) new_hover_texts.append(f"主题 {topic_id}<br>关键词:<br>{keyword_text}") # 更新悬停模板和文本 trace.hovertemplate = "%{text}<extra></extra>" trace.text = new_hover_texts # 展示修改后的图表 fig.show()
内容的提问来源于stack exchange,提问作者taga
相关产品推荐
相关产品推荐

