DSTC11赛道5:把“主观知识”装进任务型对话引擎

频道:新闻 日期: 浏览:627 作者:赵婉婷

01赛事速览:任务型对话再升级

对话系统技术挑战赛(DSTC)走到2023年已是第十一届,赛道5首次把“主观知识”请进任务型对话——既要完成预订、问路等任务,又要把用户的“口碑”“情绪”一并考虑。主办方给出三大子任务:先判断是否需要外部知识,再从海量非结构化文档里“捞”出相关条目,最后生成兼顾任务目标与情感色彩的回复。14支队伍同台竞技,我们最终拿下客观指标第三,其中Turn Detection单项夺冠。

02赛题拆解:数据、定义与难点

2.1 ► 数据画像

数据集由两部分拼成:

19696条“带主观知识”的对话,实体可单可多;

18383条“无主观知识”的MultiWOZ对话,纯任务导向。

知识分两种:

Review型长文本——多句组合,像“早餐选项超乎想象”;

FAQs问答对——简洁直接,如“退房时间几点?”。

实体分布在hotel与restaurant两大域,分别含33与110个业务条目。下图给出三条对话实例与对应知识条目示例:

2.2 ► 问题定义

整个任务被拆成四步闭环:

    Turn Detection:最后一轮查询是否需主观知识;

    Entity Tracking:若需,锁定相关实体集合;

    Entry Selection:从实体知识库里捞“干货”;

    Response Generation:生成兼顾任务与情感的回复。

    难点集中在三条:

知识条目数量不确定,有的对话对应零条,有的十余条;

训练集、验证集、测试集分布差异大,“未见场景”占比高;

不同知识条目情感倾向各异,回复时必须“算总账”。

2.3 ► 评价指标

Turn Detection:Precision、Recall、F1;

Knowledge Selection:Precision、Recall、F1、Exact Match;

Response Generation:BLEU、METEOR、ROUGE-1/2/L。

最终客观分是五项倒数的和,越小越优。

2.4 ► 调研启示

往届类似赛道不多,但前辈已踩过不少坑:

DSTC9-track1格式最简单,每轮只需一条最相关知识;

DSTC10-track2把书面语换成口语,泛化能力瞬间成焦点;

多人尝试数据增广:域分类+实体选择、语音相似扰动、掩码跨度语言建模、后处理Levenshtein距离修正……每招都在缩小“训练集偏见”。

03竞赛方案:从数据增强到模型融合

3.1 ► 数据增强双保险

unseen数据集:把FAQ问答对随机塞进单实体对话,模拟话题跳转,再以80%概率拼成长对话;

noise数据集:用谷歌翻译回译再回译,生成语义级干扰,最后用Wordnet同义词替换,5倍扩充对话+知识库,再两两组合成25倍“大餐”。

3.2 ► Turn Detection:三路专家各显神通

用DeBERTa-v3-base做自编码器,把对话上文+最后一轮查询扔进去,[CLS]向量喂线性层。为应对unseen场景,同步训练:

Seen expert:只在训练集微调;

Unseen expert:用unseen数据集微调RoBERTa;

De-noise expert:先用noise数据预训练,再用25倍含噪数据微调。

最终用差异感知融合——三种概率按逆相关度加权,并设阈值去噪。

3.3 ► Entity Track:n-gram匹配速胜

给每个实体名称建词典,n-gram扫尾轮查询,F1=0.9676、Accuracy=0.9398,一步到位缩候选范围。

3.4 ► Entry Selection:精选“干货”知识条目

把对话上文与知识候选一起喂编码器,拼接后算点积得相关度。训练时按1:1正负例采样;验证时只拿Entity Track圈定的实体知识做候选。同样三路expert+融合权重,保证既见过的也未见过的都能被“捞”到。

3.5 ► Response Generation:让知识“开口”说话

试了GPT-2、BART、T5等多种架构,发现BART+KS-F1权重知识片段表现最优。为防Entity Track/Selection抖动,训练时:

把实体名拼进输入;

随机丢弃15%知识条目;

对比“全知识”vs“精选知识”两种输入版本,结果精选版更稳。此外还试验了LLAMA+instruction fine-tuning路线,可惜幻觉问题拖了后腿。

3.6 ► 融合魔法:差异感知权重公式

以Entry Selection为例,对验证集每个实例 定义权重 (公式见上图)。超参数 随测试集unseen比例动态调整,保证 越大,Unseen expert权重越高。最终输出只保留权重≥阈值的知识条目,既保精度也保召回。算法流程见下图:

算法流程图(可横向拉大)

该套融合框架可无缝迁移到Turn Detection、Response Generation等阶段,做到“一处融合,多处受益”。

04结果复盘:单项冠军与整体第三的幕后功臣

4.1 ► Turn Detection 子任务

验证集上 baseline 已很高,测试集新增 unseen 对话。我们用 F1 与 Recall 双指标学习融合参数,最终提交在 F1 与 Recall 两项分别拿下第一、第二,三项总和第一。

4.2 ► Knowledge Selection 子任务

单模型略超 baseline,融合后性能飙升——EM 指标比 baseline 高出 14 个百分点。验证集按 F1+EM 双指标选最优模型提交,测试集表现依旧稳如老狗。为方便起见,把两套参数分别记作 KS-F1 与 KS-EM。

4.3 ► Response Generation 子任务

本阶段不融合模型。实验显示 KS-F1 知识片段生成的回复在所有自动指标上全面领先 baseline;BART-large(KS-F1) 的 BLEU 更拿下 第二名;T5 在 ROUGE 与 METEOR 上也有亮点。整体看 KS-F1 知识质量最高,再次验证融合策略的正确性。

05未来展望:把“主观知识”装进更大的引擎

    Knowledge Selection 可扩展到 Entity Track——当前只捞不跟踪,未来让实体也带权重;

    区分 Review 与 FAQ 不同语义特性——FAQ 可能与用户查询高度相似,可单独建模;

    生成端引入对话状态追踪与情感理解模型——增强抗干扰与情感一致性;

    让大模型先“读懂”知识再交由生成模型续写——既保理解力也保任务完成度;

    自动学习融合阈值——让算法自己找最优超参,进一步解放人力。