InstructABSA — 指令微调驱动的方面级情感分析与评论解构
Skill-VOC-Aspect-Sentiment-Extraction · 07-NLP-VOC
1. 解决的问题
母婴品类改版方向不明——InstructABSA 方面级情感分析将差评维度拆解从 2 周人工 → 2 小时自动完成,精准定位高差评方面(噪音/尺寸),避免错误改版投入 ¥5 万+ MOQ 成本
2. 核心算法逻辑
传统情感分析只给出"正面/负面/中性"三分类,但跨境电商运营需要的是更细粒度的答案:"这条评论里,用户对哪个方面不满意,不满程度如何?" 一条"吸力好但噪音大,物流也慢"的评论,从整体情感看是负面,但对"吸力"这个方面是正面——单一情感标签会抹掉这种业务关键信息。
3. 业务应用场景
业务问题:某母婴团队的吸奶器 SKU 在 Amazon 积累了 3,000 条评论,整体评分 3.8 星,但不清楚"哪些具体问题在拖评分"。靠人工阅读要花 2 周,且不同运营的判断标准不一。
InstructABSA 处理流程: 1. 对全量评论跑 ATSC(方面情感分类),提取 `(方面, 情感, 意见词)` 三元组 2. 统计各方面的差评占比和情感强度(负面词权重) 3. 输出"方面-情感热力图":哪些方面差评最集中
| 方面 | 正面率 | 负面率 | Top 负面意见词 | |---|---|---|---| | 吸力 | 45% | 38% | "too weak", "not strong enough" | | 噪音 | 22% | 65% | "loud", "noisy", "not quiet" | | 充电 | 71% | 15% | — | | 尺寸/重量 | 38% | 45% | "too big", "bulky" |
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- ROI 预估:
- 差评维度拆解决策加速:避免错误产品改版,每次节省 ¥50,000+(MOQ 生产改版成本)
- 客服工单自动路由:人工分类时间减少 60%,年化节省 ¥20,000-50,000
- 选品改版命中率提升:精准定位高差评方面,假设改版成功率从 40% → 65%,年化 GMV 增量 ¥50-150 万
- 年化综合 ROI:¥100-200 万
- 实施难度:⭐⭐☆☆☆(规则版直接可用;生产版 InstructABSA 模型推理需 GPU 或调用 API)
7. 代码模板
代码块数量:2 · 路径:未检测到
"""
VOC Aspect Sentiment Extraction — 基于 InstructABSA 的方面级情感分析
简化实现:规则+词典方法,生产环境替换为 InstructABSA 模型推理
依赖: re, dataclasses (标准库)
"""
from dataclasses import dataclass, field
import re
@dataclass
class AspectSentimentTuple:
"""方面-意见-情感三元组"""
aspect: str
opinion: str
sentiment: str # positive / negative / neutral
confidence: float = 1.0
raw_span: str = "" # 原始文本片段
@dataclass
class ABSAResult:
"""单条评论的 ABSA 结果"""
review_id: str
text: str
tuples: list = field(default_factory=list)
overall_sentiment: str = "neutral"
# ─── 领域词典(母婴吸奶器,可扩展) ───
ASPECT_KEYWORDS = {
"吸力": ["suction", "suction power", "pump strength", "suction level", "pumping power"],
"噪音": ["noise", "sound", "loud", "quiet", "silent", "noisy", "decibel"],
"充电": ["battery", "charge", "charging", "USB", "battery life", "power"],
"尺寸重量": ["size", "bulky", "heavy", "weight", "portable", "compact", "large", "small"],
"舒适度": ["comfortable", "comfort", "pain", "hurt", "fit", "flange", "sore"],
"易用性": ["easy", "simple", "difficult", "complicated", "setup", "assemble"],
"客服": ["customer service", "support", "response", "refund", "return", "help"],
"物流": ["shipping", "delivery", "arrived", "package", "late", "fast", "slow"],
"价格": ["price", "worth", "value", "expensive", "cheap", "affordable", "cost"],
}
POSITIVE_WORDS = {
"excellent", "great", "good", "amazing", "wonderful", "perfect", "love",
"quiet", "strong", "easy", "comfortable", "efficient", "powerful", "fast",
"affordable", "worth", "recommend", "happy", "satisfied", "awesome",
}
NEGATIVE_WORDS = {
"bad", "terrible", "awful", "poor", "weak", "loud", "noisy", "painful",
"difficult", "complicated", "disappointing", "slow", "expensive", "broken",
"leaking", "uncomfortable", "useless", "waste", "regret", "return",
}
NEGATION_WORDS = {"not", "no", "never", "n't", "dont", "doesnt", "wouldnt", "cant", "hardly"}
class RuleBasedABSA:8. 论文来源
未自动抽取;请查看原始 Skill 卡片。