返回 Skill 列表
extension
分类: 数据与分析需要 API Key

amazon-discuss-analyze

上传亚马逊商品评论,进行评论的解读,发现高价值客户, 反对客户,潜在复购客户

person作者: user_98ee4f09hubcommunity

Amazon 评论分析工作流

将卖家精灵 (SellerSprite) 导出的 Amazon 产品评论 Excel,自动化完成:读取 → 分析 → 生成报告 → 本地归档 → 上传 IMA 知识库。

触发条件

用户上传一个 .xlsx 文件,并要求分析 Amazon 评论。典型用户消息:

  • "帮我分析这个产品的评论"
  • "分析 B09JC1W613 的评论"
  • "看看这个 ASIN 的用户反馈"

完整流程

步骤 1:读取 Excel 数据

使用 Python openpyxl 读取用户提供的 Excel 文件:

  • 识别所有 Sheet(通常一个,以 ASIN 命名)
  • 提取表头(ASIN、评论人、标题、星级、VP评论、Vine Voice、型号、赞同数、图片数量、评论时间、内容、评论人主页)
  • 读取全部评论行

步骤 2:分析评论

对每条评论执行以下分析:

用户三分类

基于评论文本内容,按以下规则分类:

| 类别 | 判定规则 | |------|----------| | 🏆 高忠诚度用户 | 有复购信号 + (评论 > 200 词 或 提到品牌/卖家) | | 🔄 复购潜力客户 | 有复购信号,但评论较短、未涉及品牌 | | ⚠️ 流失-产品问题 | 有负面措辞 + 星级 ≤ 4 | | ⚠️ 流失-有保留 | 有负面措辞或低星级,但未提及复购 | | ⚠️ 流失-低参与 | 无负面、无复购信号、评论简短 |

复购信号关键词:

  • plan on purchasing, will buy again, ordering more
  • thinking of ordering, considering another, might get another
  • order another, purchasing at least, bought another
  • getting another, another one

负面情绪关键词:

  • garbage, unhappy, disappointed, frustrated
  • do not stick, had to go out and buy, absolute
  • doesn't, waste, terrible, poor

品牌认同关键词:this seller, highly recommend this

情感分析

从所有评论中提取:

正面意见:按提及频次统计,记录关键词和英文原文引用,原文后必须用括号附中文翻译负面意见:按严重度分级(P0/P1/P2),记录提及率和英文原文引用,原文后必须用括号附中文翻译

严重度标准:

  • P0:直接导致差评或强烈负面措辞的问题
  • P1:多次提及但未直接导致差评的问题
  • P2:个别提及的低优先级问题

步骤 3:生成分析报告

生成 MD 格式报告,包含以下章节:

  1. 报告概览(YAML frontmatter 含 asin、date、tags)
  2. 用户分类结果(三类客户分布 + 每位用户详细判定依据 + 英文原文证据及中文翻译)
  3. 情感分析(正面意见 + 负面意见,按频次和严重度排序,附英文原文引用及中文翻译)
  4. 产品改进建议(P0/P1/P2 优先级 + 具体建议)
  5. 客户运营策略(按用户分层给出差异化跟进方案)
  6. 关键词监控体系(负面预警词 + 正面追踪词,为自动化打基础)
  7. 数据附录(原始数据表 + ASIN 变体分布 + 评论全文)

原文引用翻译规范(强制)

报告中所有英文原文引用,必须在括号内附上中文翻译,格式:

> English original text here. (这里是对应的中文翻译。)

示例

  • The hooks kept falling off after 2 days.(挂钩用了两天就掉了。)
  • Soft and comfortable, I love it!(柔软舒适,非常喜欢!)

此规则适用于:用户分类中的原文证据、情感分析中的正面/负面引用、数据附录中的评论全文。

报告命名规范:{ASIN}_{YYYY-MM-DD}_评论分析.md

YAML frontmatter 格式:

---
asin: B09JC1W613
date: 2026-06-25
product_name: 产品名称
tags: [评论分析, 用户分类, 产品类型, ASIN码]
review_count: 8
avg_rating: 4.5
classification:
  高忠诚度用户: 1
  复购潜力客户: 1
  流失风险-产品问题: 2
  流失风险-有保留: 1
  流失风险-低参与: 3
---

步骤 4:本地归档

在工作目录下创建结构化归档:

reviews/
├── index.json                          # 全局索引
└── {ASIN}/
    └── {YYYY-MM-DD}/
        ├── raw-data.xlsx               # 原始数据
        ├── {ASIN}_{YYYY-MM-DD}_评论分析.md  # 分析报告
        └── metadata.json               # 结构化元数据

metadata.json 包含:

  • 基础信息:asin, date, product_name, data_source
  • 统计信息:total_reviews, asins_covered, avg_rating, rating_distribution
  • 分类汇总:classification_summary
  • 主题提取:top_positive_themes, top_negative_themes(含关键词和提及率)
  • 全量评论数据:reviews 数组(含分类结果)

index.json 更新:追加新分析记录到对应 ASIN 的 analyses 数组,更新 last_updated 时间戳。

步骤 5:上传 IMA 知识库

使用 scripts/ima_upload.py 一键上传,该脚本封装了完整链路(preflight → create_media → COS upload → add_knowledge)。

KB ID 自动发现:脚本首次运行时会自动调用 IMA API 获取用户的知识库列表,自动选择并缓存。后续无需重复配置。手动指定时用 --kb-id 参数。

SKILL_DIR="$HOME/.workbuddy/skills/amazon-discuss"

# 自动发现知识库(推荐)
python3 "$SKILL_DIR/scripts/ima_upload.py" \
  --file "/path/to/reviews/{ASIN}/{date}/{ASIN}_{date}_评论分析.md" \
  --title "{ASIN}_{date}_评论分析.md"

脚本返回 JSON:

{"status": "ok", "media_id": "markdown_xxx_yyy", "kb_id": "xxx"}

凭证自动从 ~/.config/ima/client_id~/.config/ima/api_key 读取。上传成功后更新 index.json 中的 ima_media_id

步骤 6:更新索引

更新 reviews/index.json,新增 analsis 记录并更新相关统计。

从 IMA 查询历史记录

使用 IMA get_knowledge_listsearch_knowledge API 查询已归档的报告。

查询知识库列表:

# 获取知识库列表
POST /openapi/wiki/v1/get_addable_knowledge_base_list

搜索已有报告:

# 搜索知识
POST /openapi/wiki/v1/search_knowledge
{"query": "{ASIN码}", "knowledge_base_id": "{kb_id}"}

已知限制

  1. 数据来源:依赖卖家精灵导出的 Excel,不支持自建爬虫
  2. 评论数量:适合中小规模(8-200 条),大量评论需考虑 token 限制
  3. 语言:目前仅处理英文评论,分析结果使用中文呈现;所有英文原文引用均附带中文翻译
  4. 分类精度:基于关键词匹配的启发式规则,边缘情况可能存在误判

依赖

  • Python:openpyxl(读取 Excel)
  • Python:scripts/ima_upload.py(IMA 上传,纯 stdlib,无额外依赖)
  • IMA Skills 包:~/.workbuddy/skills/ima-skill/(仅需 API 凭证)
  • IMA API 凭证:~/.config/ima/client_id + ~/.config/ima/api_key