跳转至

Template-assisted Contrastive Learning of Task-oriented Dialogue Sentence Embeddings

会议: ACL 2026
arXiv: 2305.14299
代码: GitHub
领域: 对话系统
关键词: 对话句嵌入, 对比学习, 模板增强, 意图分类, 无监督表示学习

一句话总结

提出 TaDSE 框架,利用对话中现有的模板(template)信息作为辅助锚点,通过模板感知的数据增强、配对对比训练和语义压缩推理三个阶段,在无监督设置下显著提升任务型对话的句子嵌入质量,在五个基准上超越此前 SOTA 甚至优于有监督的商业嵌入模型。

研究背景与动机

领域现状:学习高质量的对话句嵌入对于低标注场景下的意图分类、槽填充等下游任务至关重要。现有无监督句嵌入方法(如 SimCSE、PromptBERT)在通用文本上表现良好,但迁移到对话领域效果明显下降,因为对话话语之间存在特殊的语义关系结构。

现有痛点:对话领域中获取话语级别的语义关系标注非常困难,而 token 级别的标注(如实体、槽位、模板)则相对容易获取。然而,现有的句嵌入框架都是句子级别的自监督框架,无法利用这些丰富的 token 级别辅助知识。通用数据增强方法(如回译、规则替换)容易引入语义偏移或需要额外模型支持。

核心矛盾:对话中蕴含了大量结构化的模板信息(同一模板对应多条不同表述的话语),但这种 utterance-template 的配对关系从未被利用到嵌入学习中。现有方法只在话语空间内做对比学习,忽略了模板可以作为语义锚点来约束嵌入空间的结构。

本文目标:设计一种能够利用模板信息来增强对话句嵌入的无监督框架,使得语义相似的话语聚类更紧凑、决策边界更清晰。

切入角度:作者观察到模板是话语的"语义骨架"——同一模板下的话语共享核心语义结构,仅在槽值上有差异。将模板作为辅助表示引入对比学习,可以帮助模型学会区分正确的 utterance-template 配对,从而改善嵌入空间。

核心 idea:通过模板感知的数据增强扩充 utterance-template 配对多样性,再用三路对比损失(模板损失 + 话语损失 + 配对损失)联合训练,最后用语义压缩在推理时融合模板表示来进一步优化嵌入。

方法详解

整体框架

TaDSE 的核心想法是把对话里「同一模板对应多条表述」这种现成的 token 级结构,转化成句子级对比学习的免费监督信号。它以对话话语及其对应模板为输入,先做模板感知的数据增强扩充 utterance-template 配对的多样性,再用一组三路对比损失同时雕刻模板表示、话语表示与配对表示,最后在推理时把模板表示按比例融回话语表示,输出区分度更高的句子嵌入。整条流程不依赖任何话语级语义标注,纯无监督。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
    A["输入:对话话语 + 对应模板"] --> B
    subgraph B["模板数据增强"]
        direction TB
        B1["抽取槽位高频值<br/>构建 Slot Book"] --> B2["对每个模板做 top-k 槽值排列组合<br/>生成合成话语"]
    end
    B --> C
    subgraph C["三路对比损失(联合训练)"]
        direction TB
        C1["模板损失 L^t<br/>dropout 噪声造正样本"]
        C2["话语损失 L^u<br/>沿用 SimCSE"]
        C3["配对损失 L^pair<br/>正确 utterance-template 配对为正样本"]
    end
    C -->|"得到模板表示 t 与话语表示 u"| D["语义压缩推理<br/>repr = λ·t + (1−λ)·u"]
    D --> E["输出:区分度更高的句子嵌入"]

关键设计

1. 模板数据增强:用槽值排列组合喂饱配对对比学习

配对对比学习要奏效,前提是每个模板下都有足够多样的话语样本,但原始数据集的 utterance/template 比率偏低,配对信号太稀疏。为此本文从数据集中抽取槽位(如 CITY、DEVICE)及其高频取值,构建 Slot Book,再对每个模板做 top-k 频率值的槽值排列组合,生成自然的合成话语——例如 Book a flight to {CITY} 可派生出 Book a flight to Paris/Tokyo/London

在 5 个数据集上共生成 83.4 万条增强话语,平均每个模板对应 16 条,配对多样性大幅提升,让后续对比损失有足够正负样本去学到细粒度的区分能力。

2. 三路对比损失:让模板成为约束嵌入空间的语义锚点

单纯的话语级对比(如 SimCSE)只在话语空间内打转,用不上模板这层结构信息。TaDSE 因此把损失拆成三路:模板损失 \(L^t\) 用 dropout 噪声生成正样本对、拉近同一模板的两次编码;话语损失 \(L^u\) 沿用 SimCSE 思路学习话语表示;配对损失 \(L^{pair}\) 把正确的 utterance-template 配对当正样本、其他话语当负样本,逼模型识别语义匹配的配对。三者联合优化为 \(L^{train} = L^t + \lambda^u L^u + \lambda^{pair} L^{pair}\)

配对损失是把模板真正用起来的关键一环:它让模板充当语义锚点,把同模板话语拉近、异模板话语推远,从而在嵌入空间里形成更清晰的语义聚类与决策边界。

3. 语义压缩推理:把模板的语义精华按比例融回话语表示

模板可以看作话语的「语义骨架」,适量融入能在决策边界附近放大区分度,把外观相似但语义不同的话语拉开。TaDSE 在推理阶段据此构造最终表示 \(repr_i = \lambda^{comp} t_i + (1 - \lambda^{comp}) u_i\),其中混合系数 \(\lambda^{comp}\) 在验证集上调优。

这一步不止是推理增强,\(\lambda^{comp}\) 的最优取值本身还是一个分析工具——它反映了该数据集上模板与话语的语义关联强弱,为理解表示空间提供了可解释的窗口。

损失函数 / 训练策略

三路对比损失均基于 InfoNCE 框架,在 mini-batch 内采样负样本,每路有独立的温度超参 \(\tau_t\)\(\tau_u\)\(\tau_{pair}\)。骨干为基于 SimCSE 的 BERT-base,做迁移学习,并用 kNN 在训练集上做意图分类评估。可选地在模板分支加一层可训练 MLP \(W_A\) 来调整模板表示的维度。

实验关键数据

主实验

模型 SNIPS ATIS MASSIVE HWU64 CLINC150 平均
BERT 80.00 78.05 41.86 50.84 33.35 56.82
SimCSE 91.71 85.67 76.77 81.08 71.00 81.25
DSE 95.86 87.01 76.77 79.28 70.16 81.82
TaDSE 97.00 89.70 78.18 82.77 70.56 83.64
TaDSE w/ MLP 96.29 89.14 79.15 82.29 72.49 83.87

与商业有监督嵌入对比(TaDSE 为无监督,仅 110M 参数):

模型 SNIPS ATIS 平均
OpenAI-large 98.57 84.77 91.67
Gemini-001 98.29 86.00 92.15
TaDSE 97.00 89.70 93.35

消融实验

配置 SNIPS ATIS MASSIVE CLINC150
w/o 增强 (SimCSE) 91.71 85.67 77.00 71.05
+ 增强 93.29 86.00 77.37 70.98
+ \(L^t\) 95.29 88.47 78.58 71.53
+ \(L^t\) + \(L^{pair}\) 96.14 89.59 79.39 72.98
+ \(L^{t'}\) (MLP) + \(L^{pair}\) 97.00 88.69 79.83 73.45

关键发现

  • 配对损失 \(L^{pair}\) 的贡献最大,在 SNIPS 上单独引入即可从 93.29 提升到 96.14(+2.85%),证明 utterance-template 配对学习的有效性
  • 模板损失 \(L^t\) 本身也能显著提升性能(+2.0%~+2.5%),说明模板中包含的显著语义信息对嵌入学习有独立贡献
  • 增强稳定性因数据集而异:SNIPS/ATIS 随增强量增加持续提升(增强稳定),而 MASSIVE/CLINC150 在高阶增强下可能下降
  • 语义压缩在增强稳定的数据集上始终有正收益(SNIPS +0.29%、ATIS +0.44%),验证了模板-话语语义对齐的质量

亮点与洞察

  • 模板作为语义锚点的思路非常巧妙——将对话中已有的 token 级标注转化为句子级对比学习的辅助信号,实现了"免费"的监督信号注入。这个思路可以推广到任何有结构化模板/schema 的领域
  • 语义压缩测试不仅是推理增强手段,更是一个分析工具——\(\lambda^{comp}\) 的最优值反映了嵌入空间中模板-话语语义对齐的质量,为理解表示空间提供了可解释的窗口
  • 无监督 110M 小模型在平均准确率上超越 OpenAI 和 Google 的有监督商业嵌入,展示了领域特化方法的巨大潜力

局限与展望

  • 依赖模板和槽位标注,对于无标注模板的对话数据集需要额外的自动模板提取步骤(文中 CLINC150 的 NER 方案效果有限)
  • 仅在意图分类任务上评估,未验证在其他下游任务(如对话状态跟踪、响应选择)上的效果
  • 语义压缩在非增强稳定数据集上效果不确定,说明方法对数据质量有一定敏感性
  • 可以考虑结合 LLM 自动生成高质量模板来去除对人工标注的依赖

相关工作与启发

  • vs SimCSE: SimCSE 仅用 dropout 噪声做正样本,TaDSE 额外引入模板作为语义锚点进行配对对比,能更好地利用对话领域的结构信息
  • vs DSE: DSE 用连续话语作为正样本对进行对比学习,但仍是话语-话语级别的学习;TaDSE 引入了跨粒度的 utterance-template 配对,提供了更精确的语义关联信号

评分

  • 新颖性: ⭐⭐⭐⭐ 模板作为对比学习锚点的设计和语义压缩测试均有创新,但基础框架仍基于 SimCSE
  • 实验充分度: ⭐⭐⭐⭐ 五个数据集上全面评估,消融充分,还与商业模型对比,但缺少更多下游任务的验证
  • 写作质量: ⭐⭐⭐⭐ 论文结构清晰,方法推导完整,图表丰富
  • 价值: ⭐⭐⭐⭐ 为对话嵌入学习提供了一种有效的利用模板信息的范式,可推广到其他有结构化标注的领域