可采用指令驱动式结构化抽取、多轮追问+角色锚定法、yaml规则辅助语义过滤、qwen3-reranker-0.6b置信度筛选四种方法实现优缺点自动分离与归类。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您需要从产品评论中自动分离并归类“优点”与“缺点”,则可能是由于评论混杂褒贬、语义交织或隐含对比导致人工提取低效且易遗漏。以下是使用通义千问模型实现优缺点自动分离与归类的具体操作步骤:
一、指令驱动式结构化抽取
该方法依赖千问模型对自然语言指令的强遵循能力,通过明确提示词强制模型以固定格式输出,规避自由生成带来的格式混乱,适用于单条或批量评论的即时处理。
1、将待分析评论粘贴至千问输入框,末尾附加如下指令:“请严格按以下JSON格式输出:{"strengths": ["..."], "weaknesses": ["..."]}。仅提取明确表达正向评价的内容归入strengths,明确表达负向评价或改进建议的内容归入weaknesses;不添加解释、不合并条目、不虚构内容;若某类为空,则填空数组[]。”
2、发送请求后,检查返回是否为合法JSON。若含中文引号或多余文字,使用Python的json.loads()配合re.sub()清洗后再解析。
3、对输出中出现“中性表述但倾向明显”的条目进行二次校验,例如“电池续航还行”应归入strengths,“包装有点简陋”应归入weaknesss,禁止将其归类为neutral或忽略。
二、多轮追问+角色锚定法
该方法针对评论中存在隐含对比、转折结构(如“虽然……但是……”)或复合意图的情况,通过分步引导模型聚焦不同语义单元,提升细粒度分离准确率。
1、首轮输入:“请识别以下评论中所有含‘虽然’‘但’‘不过’‘只是’‘可惜’等转折连词的子句,并逐条列出。”
2、将首轮输出的每个转折子句单独作为新输入,附加指令:“请判断该句表达的是优点还是缺点,仅回答‘优点’或‘缺点’,不加任何其他字。”
3、对未含转折词的主干句,追加提问:“请提取该句中主语所对应的属性(如‘屏幕’‘发热’‘客服响应’),再分别说明用户对该属性的评价是正面、负面还是中性。”
4、汇总全部结果,将标记为‘正面’的属性-评价对归入strengths,标记为‘负面’的归入weaknesses,中性项全部剔除。
三、YAML规则辅助语义过滤
该方法适用于需长期运行、跨团队复用的场景,通过预定义关键词库与模型判断协同,增强对行业黑话、缩略语及地域化表达的识别鲁棒性。
1、在OpenClaw技能配置文件~/.openclaw/skills/comment-splitter/config.yaml中定义规则:
rules:
- name: 屏幕类优点
conditions:
- model_check: "判断是否描述屏幕显示效果好"
- content_contains: ["清晰", "通透", "色彩准", "不偏色", "护眼"]
actions:
- tag: "strengths:screen"
- name: 售后类缺点
conditions:
- model_check: "判断是否反映售后响应慢或处理不当"
- content_contains: ["没回复", "拖了三天", "推来推去", "找不到人"]
actions:
- tag: "weaknesses:after-sales"
2、保存后执行openclaw skills reload comment-splitter使规则生效。
3、上传评论文本至OpenClaw Web控制台,选择comment-splitter技能运行,系统将自动标注每条匹配结果所属的strengths或weaknesses子类。
四、Qwen3-Reranker-0.6B辅助置信度筛选
该方法用于对初步分离结果进行可信度加权,剔除模型低置信输出,特别适用于高敏感业务(如舆情通报、品控报告)中需保障归类质量的场景。
1、对每条被归入strengths或weaknesss的条目,构造重排序查询对:[原始评论文本, 当前条目]。
2、调用Qwen3-Reranker-0.6B模型计算相关性得分,阈值设为0.65;低于该值的条目须标为‘待复核’并进入人工抽检队列。
3、对strengths与weaknesses各自统计高频属性词(如“物流”“做工”“系统流畅度”),按得分均值降序排列,生成TOP5属性清单。











