任务型对话系统旨在高效处理任务导向的对话,如何利用任务型对话系统准确、高效、合理地完成信息采集的工作一直是一项关键且具有挑战性的任务。目前的槽位填充数据集大多服务于用户主导型系统,往往会局限于预设好的特定场景和特定槽位。而在“客服-用户”信息收集这一系统主导型的对话场景中,需要填充的槽位与槽位值往往是陌生的,填槽的准确率会严重下降,系统也无法根据槽位填充的情况提出准确的问题引导用户回答,完成下一个填槽行为。传统的TOD方法难以在这个任务上取得很好的结果。
最近的研究表明,大型语言模型在对话、指令生成和推理方面表现出色,能够通过微调极大地提高任务型对话系统的性能。与此同时,大模型优秀的泛化能力也能够承担起系统主导型的对话系统针对空槽位提问的能力,以及对于未训练槽位值的准确填充能力。因此,我们可以利用LLM的相关技术,克服这一在小模型时代难以解决的问题。
在本项工作中,我们提出了一个详细的多领域任务导向型中文对话数据构建流程,并基于此流程构建了中文数据集TransferTOD。该数据集真实地模拟了30个热门生活服务场景下共5760轮次的任务型人机对话。基于此数据集,我们采用全参数微调的方法训练出了TransferTOD-7B。实验结果表明,TransferTOD-7B具有出色的填槽能力和提问能力,并在下游场景中展现出良好的泛化能力,可广泛应用于信息收集场景。
论文链接:https://arxiv.org/abs/2407.21693
仓库链接:https://github.com/KongLongGeFDU/TransferTOD
模型链接:https://modelscope.cn/models/Mee1ong/TransferTOD-7B
1.论文速看
任务型对话系统(Task-Oriented Dialogue System)是一种人机交互系统,旨在帮助用户完成特定的任务或获取特定的信息,目前已被广泛应用于日常生活和商业应用中。目前,TOD系统已经可以有效地适应不同的任务、领域和用户行为,但多数方法仍然局限于预设好的特定场景和特定槽位,一些方法甚至需要从特殊的外部数据库中获取额外的知识,这使得系统在面对未知领域或任务时几乎没有泛化性。此外,现有数据集通常聚焦于用户主导型系统,以回应用户的提问和请求为主要目的构造系统。这就导致在信息收集这一系统主导型的对话场景中,需要填充的槽位与槽位值对于模型来说往往是陌生的,填槽的准确率会严重下降,系统也无法根据槽位填充的情况提出准确的问题引导用户回答,完成下一个填槽行为。同时,对话场景的多样性和真实性也是一个亟待解决的问题,现有的数据场景通常设计得相对单一,并且很少涉及真实对话中的复杂变化。
图一:“客服-用户” 信息收集场景对话示例
大型语言模型 (LLM) 在对话参与、指令生成和零样本推理方面表现出色,为解决上述问题带来了新思路。研究证实,在不同规模的对话语料库上微调的 LLM 可以在不同的任务、领域甚至语言中实现增强的性能。因此,我们可以使用 LLM 来驱动 TOD,使其能够在未知领域完成填槽任务。
我们在论文中提出了一个具有高通用性和可迁移性的四步骤数据集构建流程,并基于此构造了一个多领域任务导向型的中文对话数据集TransferTOD,可以涵盖更为复杂和多样的对话任务,模拟更为真实的对话情景。消融实验证明了我们的数据不仅具备出色的抗干扰能力,在提问环节所体现的语言能力上还具备良好的多样性和流畅性。
实验证据表明,我们所提供的数据集有着十分卓越的性能。我们基于它进行SFT之后得到的TransferTOD-7B 模型不仅可以根据所缺槽位主动向用户提问并根据用户回答准确填槽,而且在提问的准确性和流畅性上面还具有较好的表现。
在跨领域评估中,它的联合准确率(Joint Accuracy)达到了75.09%,槽位 F1 分高达 96.20%,证明了其在槽位任务中的精准度和效率。在提问能力方面,其提问准确率仅略逊于最先进的 GPT-4,而在提问流畅性上,它甚至超越了 GPT-4,展现出流畅而自然的问题生成能力。进一步的研究发现,通过利用域外测试集中的少量数据在 TransferTOD-7B模型上进行二次微调,可以进一步优化模型的泛化能力。二次微调后的模型,在域外测试上的表现超越了使用官方接口在同等数据量下进行微调的 GPT-3.5-Turbo,表现出在面对未知或新领域数据时优秀的性能。
2.贡献总结
- 针对信息收集任务的特点,提出了一个具有高通用性和可迁移性的四步骤数据集构建流程,研究人员能够有效地将该方法应用于跨语言或多语言数据集的创建。
- 构建了一个新的数据集 TransferTOD,可以用于各种生活服务场景中的任务导向对话生成。它包含 30 个场景,包含 5460 轮对话,消融实验表明该数据集具有良好的抗噪性、多样性和流畅性。
- 我们利用 TransferTOD 作为 SFT 数据集,并通过全参数微调训练的 TransferTOD-7B 模型,拥有比 GPT-4更好的槽位填充能力和性能接近的提问能力。通过适当的二次微调技术,我们的模型与使用等量数据进行微调的 GPT-3.5-Turbo 相比,在OOD测试上表现出同样优秀的性能。
3.数据集构造
这项工作的核心贡献之一是提出了一个四步骤的数据集构造的方法,通过这一方法构建了TransferTOD数据集。数据构造的方法具有通用性和扩展性,适用于多种语言或多语种的数据集。
具体来说,我们选择从本地生活的应用软件(比如大众点评,美团,yelp, Booking )上获得启发,爬其最热门的30个生活服务作为我们构造对话的领域,每个领域包含10个左右的槽位。我们邀请了人类专家结合现实生活使用这些应用软件的真实经历,手动构建了一组高质量的对话作为测试集数据,涵盖了30个领域;其中三个领域由于与其他领域的槽位重叠最少而被选为构建域外测试集。其余的数据则用作域内测试集。
对于训练集,我们采取以下步骤来大规模生成数据集:
图二:TransferTOD数据构造步骤示意图
- 原始槽位构造以及对话生成
对于每一个领域构造模板库,每个槽位包含5-6种系统提问模板以及5-6种回答模板。并使用脚本生成的方式实现最初版本的对话数据集。我们称该阶段的数据集为TransferTOD-v1。
- 扰动数据引入
在现实生活中用户可能会提供一些不符合规范或常识的信息,因此一个完善的对话系统应当具备对于用户提供的回答进行检查的能力,必要时需要二次向用户确认以获得准确信息。上述数据将被划出一部分内容,引入用户错误回答的特殊轮次,得到的数据集为TransferTOD-v2。
- 引入GPT3.5增强对话多样性
基于上述静态脚本生成方案实现的对话数据,在提问方式和回答方式的多样性上有所欠缺。每个槽位只有固定的5-6种方式以及回答,这并不贴合现实场景中可能会遇到各种语言习惯用户的情况。因此,我们针对各个场景,在保证对话原意不变的情况下,采用了成本更为低廉的GPT-3.5-turbo模型对提问和回答文本进行改写,来获得更加多样的文本内容,得到了TransferTOD-v3。
- 人工对对话内容的流畅性进行润色
最后,我们进一步优化了同时包含多个槽位询问的对话的流畅性。最初,对话数据基本上是由不连贯的问题或回答的简单组合而成,这并不符合传统的口语习惯。我们先应用了GPT-4进行句子的合并和增强连贯性,并结合基于规则的审查来定位句子破碎的实例,最后再邀请了人工注释人员对被忽略或不合规的句子进行修正,从而确保对话的顺畅。
最终得到了一个跨领域的任务导向型信息收集多轮对话数据集(TransferTOD),包含 30 个场景,包含 5460 轮对话。
4.实验结果
一、主实验部分
在经过四阶段数据构造之后,我们将最终得到的数据集与通用对话belle数据集1:1混合转化为混合数据集,采用全参数微调的方式微调Baichuan2-7B-Base,得到TransferTOD-7B模型。接下来我们针对域内测试集与域外测试集进行了ID测试与OOD测试,并在OOD测试集上进行了对二次微调相关技术的探究。
- 域内(In-Domain)测试
我们采用对话行为 F1 (Dialogue Act F1)值来评估域内模型的性能。在这个测试上我们选择了一些传统的槽位填充模型,它们在域内槽位填充任务上具备优秀的性能。
实验结果表明,与传统的方法相比,基于我们的数据集微调得到的TransferTOD-7B模型在域内测试集上的对话行为 F1 值远高于其他方法,达到了 93.64%。这不仅表明我们模型在域内数据具有极高的填槽准确性,还说明了充分利用大规模数据和特定的微调策略可以提高模型的性能,使其能够更好地捕捉对话行为。
表一:In-Domain测试实验结果
2. 域外(Out-Of-Domain)测试
我们主要从槽位填充能力和生成问题的语义准确性两个方面对模型展开评测。对于模型填槽能力的评估,我们采用了在任务型对话系统槽位抽取任务中广泛应用的 F1 值和联合准确率。对于模型生成问题的语义准确性,我们采用人工评估方法来评价实验结果。
表二:Out-Of-Domain测试实验结果
实验结果表明,在填槽能力上TransferTOD-7B 的平均联合准确率(Joint Accuary)达到了 75.09%,槽位 F1 值达到了 96.20%。与之相比,即使是最强大的闭源大语言模型GPT-4,在这两方面的表现也只能达到 41.68%和 70.91%。
在语言能力上,TransferTOD-7B 在提问准确性和语言流畅度方面表现出色,在提问准确性上超过了所有的开源模型并仅次于 GPT-4。特别是在语言流畅度上,它的得分接近满分,超过了 GPT-4。
3. 二次微调
为了探究如何进一步提高模型的泛化性,我们在 3 个域外测试集中,采用了有限样本进行二次微调,尝试进一步提升模型在域外测试集的准确率。
我们选择在域外测试上表现较好的 GPT-3.5-Turbo 作为我们的对比模型,采用OpenAI的官方微调方式分别在三个领域外的场景中使用了50、100 和 200条数据进行微调。此外,在第三个场景(快递)中,我们还尝试了多种二次微调策略,具体包括混合 BELLE数据、添加域内数据和上采样域外数据,探究如何进一步提升模型在未知领域的性能。
表三:二次微调实验结果
实验结果表明,通过混合域外测试集的一小部分数据进行二次微调之后,模型性能超越了使用等量数据微调的GPT-3.5-Turbo。
二、消融实验部分
在构建数据集的过程中(第三章),我们进行了四个阶段的数据构建。为了验证数据集构建方法的有效性和可靠性,我们对每个构建阶段的数据集(TransferToD v1-v4)分别进行训练,分别得到 TransferTOD-7B-v1 至 v4 四个模型并逐一进行消融实验。
1. TransferTOD-7B-v1 vs TransferTOD-7B-v2:
从联合准确率和SlotF1 值比较模型的准确性。
从联合准确率来看,v1到v2的版本迭代能够实现高达 400%的性能提升;而在SlotF1 值上,模型实现了进一步的突破,得分从 80.53%提升到了 90.24%。
表四:噪声注入消融实验结果
这表明,通过添加干扰数据,模型在对话状态识别和槽位填充任务中的性能得以提升,能更准确地理解用户意图并作出恰当回应,显示出良好的稳健性。
2. TransferTOD-7B-v2 vs TransferTOD-7B-v3:
采用人工打分和GPT-4自动打分相结合的方式,评估模型的语义多样性。
图三:语言多样性对比消融实验结果
结果表明,不管是从人类评审员的视角还是 GPT 的角度,TransferTOD-7B-v3 在语言多样性的对比评测上胜率都高于 v2 模型。说明了采用GPT-3.5进行多样性扩充,可以有效地提升对话数据的回答种类,进一步贴近真实场景的用户回答。
3. TransferTOD-7B-v3 vs TransferTOD-7B-v4:
同样通过采用人工打分和GPT-4自动打分相结合的方式,评估模型在引导提问部分的语义流畅性。
表五:模型提问的语义流畅性的专家评分与GPT评分结果
结果表明,无论采用哪种评分方式,TransferTOD-7B-v4 在模型的语义流畅性上的得分情况始终优于 v3 模型,说明经过第四个阶段的人工检查能够进一步减少语义破碎的情况,提升对话数据的语言质量。
5.总结与展望
在本项工作中,我们提出了一个详细的多领域任务导向型中文对话数据构建流程,并基于此流程构建了中文数据集TransferTOD。该数据集真实地模拟了30个热门生活服务场景下共5760轮次的任务型人机对话。基于此数据集,我们采用全参数微调的方法训练出了TransferTOD-7B。
TransferTOD-7B在域外评估中的联合准确率达到了75.09%,Slot F1值达到了96.20%。在提问能力方面,TransferTOD-7B的准确性仅略逊于GPT-4,而其生成问题的流畅性则超越了我们测试的所有其他模型。实验结果表明,TransferTOD-7B具有出色的填槽能力和提问能力,并在下游场景中展现出良好的泛化能力,可广泛应用于信息收集场景。
此外,我们的研究发现,适当的二次微调可以进一步提升TransferTOD-7B模型的泛化能力。通过使用域外测试集的一小部分数据进行二次微调之后,模型性能超越了使用等量数据微调的GPT-3.5-Turbo。
点击链接阅读原文即可跳转模型链接:TransferTOD-7B