You need to enable JavaScript to run this app. 如何基于Jupyter Notebook搭建SeanMF主题模型交互式关键词查询面板
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Jupyter Notebook搭建SeanMF主题模型交互式关键词查询面板

Jupyter Notebook 交互式主题关键词仪表盘实现方案

1. 前期准备

  • 先将你拿到的主题关键词文本数据转换为Python字典结构,方便后续查询调用,转换参考代码如下:
# 假设你把所有主题关键词存在topic_keywords.txt里,格式和你给出的示例一致
topic_dict = {}
with open("topic_keywords.txt", "r", encoding="utf-8") as f:
    for line in f:
        line = line.strip()
        if not line:
            continue
        # 分割主题编号和关键词部分
        topic_part, keyword_part = line.split(": ")
        topic_id = int(topic_part.replace("Topic ", ""))
        keyword_list = keyword_part.split(" ")
        topic_dict[topic_id] = keyword_list
  • 依赖安装:如果你还没装交互组件库,执行以下命令安装
pip install ipywidgets

如果是Jupyter Lab环境还需要执行jupyter labextension install @jupyter-widgets/jupyterlab-manager启用扩展,重启Jupyter后生效。

2. 交互仪表盘核心代码

直接在Notebook单元格运行以下代码即可生成所需的交互功能:

import ipywidgets as widgets
from ipywidgets import interact

# 总主题数,你可以根据实际值修改
TOTAL_TOPIC = 25
# 默认展示的关键词数量
DEFAULT_KEYWORD_NUM = 10

def show_topic_keywords(topic_id, keyword_num):
    # 校验主题是否存在
    if topic_id not in topic_dict:
        print(f"未找到编号为{topic_id}的主题,请确认主题编号")
        return
    keywords = topic_dict[topic_id][:keyword_num]
    print(f"主题{topic_id} 前{keyword_num}个关键词:")
    print("、".join(keywords))

# 绑定交互控件
interact(
    show_topic_keywords,
    # 主题选择下拉框,范围1到总主题数
    topic_id = widgets.Dropdown(options=range(1, TOTAL_TOPIC+1), value=1, description='主题编号:'),
    # 关键词数量滑块,max值可根据每个主题实际最大关键词数调整
    keyword_num = widgets.IntSlider(min=1, max=20, value=DEFAULT_KEYWORD_NUM, description='关键词数量:')
);

3. 使用说明

运行上述代码后,单元格下方会自动生成两个交互控件:

  • 主题编号下拉框:选择你要查看的主题ID
  • 关键词数量滑块:拖拽调整要展示的关键词数量
    调整控件参数后会自动刷新输出对应结果,完全匹配你需要的交互逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 16:45:08