大语言模型辅助的 ABSA 全面优化方案(Markdown 版)

目标:在 ABSA(Aspect-Based Sentiment Analysis)任务中,系统性利用 大语言模型(LLM) 提升训练数据质量与多样性,覆盖 ATE / OTE / ASC / ASTE(ACOS) 四类(子)任务,并与现有结构化模型(如 RoBERTa-SSGCN / AOAN / DAGCN)无缝结合。


目录


引言与范围

  • 任务覆盖

    • ATE(Aspect Term Extraction)
    • OTE(Opinion Term Extraction)
    • ASC/ATSC(Aspect-level Sentiment Classification)
    • ASTE / ACOS(三元组/四元组抽取)
  • 方案核心:以 LLM 为数据引擎,构建 发现 → 生成 → 验证 → 训练 的闭环,提升长尾方面、复杂句式、风格迁移与情感均衡。


总体框架与数据流

无标注语料 ──▶ 语义发现(LLM+句法先验) ──▶ 候选三/四元组
                          │                           │
                          ▼                           ▼
                    结构/一致性验证 ─────────▶ 高置信“发现样本”
                          ▲                           │
                          │                           ▼
少量金标 ──▶ 动态示例库 ◀──── 生成控制(LLM, 多样/风格/极性受控) ──▶ 合成样本
                          │
                          ▼
                     训练阶段调度
               (Gold → Discover → Generate → Gold微收束)
                          │
                          ▼
                     下游ABSA模型训练
       (RoBERTa-SSGCN / AOAN / DAGCN / 其他多任务架构)

模块1:精细语义发现(从无标注文本挖掘)

目标:在真实语料中自动挖掘 <Aspect, Opinion, Sentiment[, Category]> 结构,优先覆盖长尾与复杂句。

步骤

  1. 候选句筛选

    • 依存句法与 POS 先验:名词(N) ↔ 形容词/动词(A/V) 的修饰/主谓/谓宾路径;距离阈值与依存模式白名单。
    • 领域词表:方面候选(域词典/TF-IDF/NP短语),观点候选(情感词/否定/转折触发词)。
  2. LLM 抽取

    • Prompt 要求输出所有方面-观点对及极性(允许多对、多极性并存)。
    • 多类别难题→分而治之:按语义将方面类别分组;组内抽取/分类,低频类别二判确认。
  3. 产出候选三/四元组,进入验证模块。

要点

  • 先验+LLM 结合,减少“全量直接分类”的难度与成本。
  • 对跨域场景,可按 (domain, polarity) 作为“类型”分组以增强可分性。

模块2:生成控制与多样性(合成高质样本)

目标:合成 多样、可控、覆盖面广 的 ABSA 样本,补齐情感/风格/句式分布不足。

控制维度

  • 极性分布:批量生成时显式指定正/中/负配比(如 1:1:1 / 2:1:1)。
  • 语言风格:口语(社交) vs 书面(正式);平台风格(Amazon/大众点评/微博 等)。
  • 句式复杂度:简单句 / 复合句(并列、让步、转折、因果);多方面共现。
  • 词汇与表达:鼓励释义、同义替换、俚语/缩写;设置重复惩罚与相似度去重。
  • 方面-观点搭配:针对指定 Aspect/Category 生成多样意见表达(显式/隐含/反讽)。

实现

  • AAO(一次多条)与 OBO(逐条回填)两种生成流程;
  • 动态示例(下节)辅助 Few-shot,一致性强、重复度低;
  • 生成后进入验证模块自动筛噪与去重。

模块3:对齐与验证(结构与情感一致性)

目标:过滤噪声与不一致样本,确保用于训练的数据可靠可用

校验清单

  • 结构合法性:Aspect/Opinion 是否出现在句中且句法相关;ACOS 中 Category 是否合理。
  • 情感一致性:极性与情感触发线索一致;可用情感词典/小分类器/二次 LLM 复核。
  • 完备性/格式:三/四元组字段齐全,索引/边界有效。
  • 常识合理性:排除不合常理的搭配(如“沙发很美味”)。
  • 去重与分布对齐:去近重复;句长/风格对齐真实语料分布。

实现建议:规则(快) + 轻量判别模型(准) + 小规模人工抽检(稳)。


模块4:动态示例选取(ICL 演示检索)

目标:为每次 LLM 调用检索最相关、最具代表性的演示样例,提升输出质量与多样性。

示例库:金标 + 高置信自动样本(持续自举扩充)。

检索策略

  • Aspect/Category 匹配
  • 风格匹配(社交/书面、平台语气);
  • 多样性轮换(避免长期固定示例导致模式化);
  • 难度/句式匹配(复杂任务配复杂示例)。

应用:用于发现生成两端 Few-shot 提示,显著减少漏抽取/术语单一/措辞重复。


模块5:训练策略(阶段式/课程式融合)

目标:以“由精到广、由易到难”的顺序融合多源数据,稳健提升模型泛化。

四阶段

  1. Stage-1 基础(Gold):仅金标训练,建立任务骨架;可多任务(ATE/OTE/ASC/ASTE)共享编码器。
  2. Stage-2 扩展(Discover):渐进引入高置信发现样本(小步加入+监控 dev);低学习率/小权重融合。
  3. Stage-3 多样强化(Generate):课程式加入合成样本(先易后难;交替混训以防偏移)。
  4. Stage-4 微收束(Gold):少量金标再精调 1–2 轮,对齐人工标注风格。

采样与权重:Gold:Discover:Generate ≈ 2:1:1(起点,可网格调参)。


模块6:与现有模型的结合与接口

数据接口统一

  • 序列标注(BIO):从三/四元组导出 ATE/OTE BIO 标签。
  • 分类(ASC):输入形式 “句子 [SEP] 方面”,标签为极性。
  • 图模型:为新句生成依存边;提供边列表/邻接矩阵字段。

适配示例

  • RoBERTa-SSGCN:依存图 + 句子;我们提供解析与混合数据,提升复杂句/长距离依存鲁棒性。
  • AOAN/DAGCN:直接用三元组监督;多样依存与反向依存案例丰富训练覆盖。

训练流程

  • 数据源分桶与加权采样;
  • 多任务共享/独立头均可;
  • 保持原模型结构,无需代码大改。

模块7:评估与对照机制

自动评估

  • 模块级:发现的 P/R、成本;生成的 Distinct-n、相似度、覆盖率、困惑度。

  • 综合数据:情感/长度/风格分布对齐度;通过率与人工抽检准确率。

  • 下游指标:

    • ATE/OTE:F1
    • ASC:Accuracy / Macro-F1
    • ASTE/ACOS:三/四元组 F1
  • 消融:去掉 Discover/Generate/验证/动态示例/分组;AAO vs OBO。

人工评估

  • 合成/发现样本准确性与可读性评分;
  • 错误类型分析(漏抽、错极性、边界错等);
  • A/B 用户偏好(应用侧)。

对照

  • Gold-only vs Gold+Discover vs Gold+Generate vs All;
  • 直接 LLM 推理 vs “LLM生成+训练”范式;
  • 多架构适配泛化(SSGCN/AOAN/DAGCN)。

关键 Prompt 模板库

仅示意,实际可按域/语言/平台细化;所有模板建议“只输出 JSON/结构化文本”以便自动解析。

A. 发现(抽取)

任务:从句子中抽取所有 <aspect, opinion, sentiment[, category]>。
要求:给出字符级起止索引;若多对请全部返回;sentiment ∈ {positive, neutral, negative}。
输出:JSON 数组,每项含 {aspect, a_span, opinion, o_span, sentiment[, category]}。
句子:"{sentence}"

B. 发现(二判确认)

任务:判断句子中是否存在 目标对 与 目标极性。
输入:句子、aspect span、(opinion 可选)、目标极性。
输出:{"yes_no": "yes|no", "confidence": 0~1, "evidence": "触发词/短语"}

C. 生成(AAO/OBO)

任务:生成 ABSA 训练样本(句子 + 标注)。
条件:aspect="{aspect}", sentiment={pos|neu|neg}, 风格={社交|书面}, 句式={简单|复杂}。
输出:JSON 数组,每项含 {sentence, aspect, a_span, opinion, o_span, sentiment[, category]}。
示例:(动态检索填充)
请生成 {n} 条,注意避免与示例重复用词与句式。

D. 验证(情感一致性)

任务:核对标注是否与句意一致。
输入:句子、aspect/opinion 及其极性。
输出:{"consistent": true|false, "confidence": 0~1, "notes": "理由"}

实验 Checklist

  • 数据:Rest14/Lap14/Twitter(主);Rest15/16(辅);跨语种可扩。
  • 语义发现:句法先验筛句 → LLM 抽取 → 二判确认 → 高置信集合。
  • 生成控制:配比(正/中/负)、风格(社交/书面)、句式(简单/复合);AAO+OBO;相似度去重。
  • 验证:结构/一致性/常识/格式/去重;门限与判别器调优;少量人工抽检。
  • 训练:Gold → Discover → Generate → Gold 微收束;多任务或单任务;加权采样。
  • 评估:模块级/综合数据/下游指标;消融与对照;案例分析与显著性检验。

附录:超参与实现建议

  • 分组数(K):≈ ⌊类型数/6⌋ 起步;低频类优先二判。
  • 阈值:二判 yes 概率 θ ≈ 0.01–0.05 起步(结合抽检校准)。
  • 生成采样:温度 0.7–1.0;重复惩罚 1.1–1.3;top-p 0.9;批量去重(sim>0.9)。
  • 比例建议:主任务 Gold:Discover:Generate = 1:1:1 或 2:1:1;辅集(更少金标)可放大银标。
  • 课程节奏:先单方面/显式情感 → 再多方面/转折/隐含情感/反讽;epoch 内交替批次混训。
  • 多任务权重:ATE/OTE/ASC/ASTE 损失按 dev Macro-F1 动态调参;防止某头主导。
  • 解析依存:统一 tokenizer 与 span 对齐;为生成句离线缓存依存图以加速训练。
  • 质量看板:通过率、Distinct-n、类别覆盖、P/R、下游指标随 epoch 曲线,便于早停与回滚。