如何为BERTopic的term score decline图添加图例?Colab适配遇阻
在Colab中为BERTopic的Term Score Decline图添加图例的问题与解决
问题描述
在Google Colab中使用BERTopic构建主题模型,调用topic_model.visualize_term_rank()生成term score decline图时,发现该函数不支持添加图例参数,仅能调整图表标题、宽高、对数转换以及指定待绘制的主题,但需要为图表添加图例以满足需求。
尝试解决的过程
尝试修改底层依赖tmtoolkit失败
由于term score decline功能基于tmtoolkit实现,尝试直接修改tmtoolkit来添加图例支持,但在Colab中无法正常加载tmtoolkit:
- 先后尝试
import tmtoolkit和from tmtoolkit import topicmod两种导入方式 - 参考其他使用tmtoolkit的Colab文件,依然出现找不到tmtoolkit的报错,一度以为是Colab环境的普遍问题
尝试直接修改Plotly图表报错
转而尝试直接修改生成的Plotly图表来添加图例,编写代码如下:
import plotly.graph_objects as go import plotly.express as px labels = topic_model.topic_labels_ fig = model.visualize_term_rank(title = 'Topic Coherence', custom_labels = True) fig.update_legends(patch = labels) fig
运行时抛出错误:TypeError: object of type 'int' has no len(),移除fig.update_legends(patch = labels)这一行后,图表可正常生成,但仍缺少所需图例。
最终解决方案(更新于2023-12-15)
后来意识到tmtoolkit需要像BERTopic一样手动安装,而非像tm或nltk那样直接导入。执行安装操作后,问题得以解决,在Colab中生成图表耗时不到一秒。
内容的提问来源于stack exchange,提问作者Simone
相关产品推荐
相关产品推荐

