需通过MonkeyLearn API提取关键词并用D3.js渲染交互式词云:一、调用Keyword Extractor获取带权重的关键词;二、批量处理评论聚合加权词频;三、用D3.js实现悬停显示权重、点击查看原文的动态词云;四、集成评论上下文悬停面板;五、封装为可嵌入CRM或BI系统的Web组件。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您使用 MonkeyLearn 对文本数据(如用户评论)进行分析并希望生成可交互的词云,需借助其 API 提取关键词或主题,并结合前端可视化库实现动态词云效果。以下是具体操作步骤:
一、通过 MonkeyLearn API 提取关键词
MonkeyLearn 的 Keyword Extraction 模块可从评论文本中自动识别高频、语义重要的词汇,为词云提供结构化词频数据。该步骤输出包含词项及其置信度或权重的 JSON 响应,是后续词云渲染的数据基础。
1、登录 MonkeyLearn 控制台,进入 Models → Keyword Extractor 页面。
2、选择预训练模型(如 “English Keywords”)或部署自定义训练的关键词提取模型。
3、在 API 测试区域粘贴待分析的评论文本,点击 “Run”,确认响应中包含 "keyword" 和 "relevance" 字段。
4、复制该模型的 API endpoint URL 与 Token,用于后续程序调用。
二、调用 API 批量处理评论并聚合词频
单条评论提取的关键词数量有限,需对多条评论统一调用 API 并统计词项出现频次与平均相关性,形成加权词表,确保词云能反映真实关注焦点。
1、使用 Python 的 requests 库构造 POST 请求,请求体中将多条评论以列表形式传入 "text_list" 字段。
2、解析返回的 JSON,遍历每条评论的 "keywords" 数组,提取 "keyword" 字符串,并按 "relevance" 加权累加至全局词典。
3、对聚合后的词典按加权值降序排列,截取前 100 项作为词云候选词集。
三、使用 D3.js 渲染交互式词云
D3.js 支持基于 SVG 的力导向布局与鼠标事件绑定,可将 MonkeyLearn 输出的加权词表转化为具备悬停显示权重、点击跳转源评论等交互能力的可视化词云。
1、在 HTML 页面中引入 d3.v7.min.js 和基础 CSS 样式容器。
2、将上一步生成的词频 JSON 数据通过 d3.json() 或内联方式载入,定义字体大小比例函数:词权重越高,font-size 越大。
3、为每个
四、集成评论上下文悬停面板
仅展示词语不足以支撑业务决策,需在词云交互中即时关联原始评论语境,增强分析可信度与可追溯性。
1、预处理阶段保留每条关键词与其来源评论的 comment_id 映射关系,并存入词频数据结构中。
2、在 D3 的 tooltip 中调用 fetch() 请求后端接口,传入 comment_id,返回完整评论内容与时间戳。
3、tooltip 内使用 max-height: 120px 与 overflow-y: auto 确保长评论可滚动查看。
五、部署为嵌入式分析组件
将词云封装为独立 Web 组件,支持通过 iframe 或 JavaScript SDK 嵌入至现有 CRM、客服后台或 BI 看板,实现跨平台复用。
1、将 D3 渲染逻辑封装进自定义 HTML 元素(如
2、组件内部自动加载 MonkeyLearn 词频数据,并监听父页面广播的 "refresh-comments" 自定义事件,触发重绘。
3、在目标系统页面中插入 script 标签加载组件 JS,并添加该自定义元素,设置 data-url="/api/monkeylearn/weighted-keywords" 属性。










