导读:人机对话是人工智能的重要挑战,近几年随着人工智能的兴起,人机对话系统的研究也越来越火热。为了帮助广大开发者们更快捷地实现对话系统的开发,飞桨在自然语言处理模型库(PaddleNLP)中开源了对话模型工具库,内置了对话通用理解模型(DGU)和对话自动评估模型(ADE)。本篇文章将先为大家介绍飞桨对话通用理解模型(DGU)。
1. 人机对话概述
人机对话(Human-Machine Conversation)是指让机器理解和运用自然语言实现人机通信的技术,如下图所示。通过人机对话交互,用户可以查询信息,如示例中的第一轮对话,用户查询天气信息;用户也可以和机器进行聊天,如示例中的第二轮对话;用户还可以获取特定服务,如示例中的最后两轮对话,用户获取了电影票预定服务。
人机对话是人工智能的重要挑战,近年来获得了学术界和工业界的广泛关注。越来越多的人机对话产品,如语音助手、智能音箱、闲聊软件等相继问世,正在改变着人们的生活。
2. 飞桨DGU模型介绍
2.1. 模型介绍
在人机对话系统中,常常需要根据场景的变化去解决多种多样的任务。任务的多样性(意图识别、槽位解析、DA识别、DST等等),以及领域训练数据的稀少,给人机对话系统的研究和应用带来了巨大的困难和挑战。要使得对话系统得到更好的发展,需要开发一个通用的对话理解模型。
为此,飞桨开源了对话通用理解模型(Dialogue General Understanding,DGU),在几乎全部对话理解任务上取得了比肩甚至超越各个领域业内最好的模型的效果,展现了学习一个通用对话理解模型的巨大潜力。
DGU的模型结构如下图所示:
飞桨DGU可以支持意图识别、槽位解析、DA、DST、语义匹配五种对话任务。
(1)意图识别
意图识别,也被称为SUC(Spoken Utterance Classification),顾名思义,是指将用户输入的自然语言会话进行分类,不同类别(classification)对应的就是不同的意图。例如,用户输入“今天天气如何”,其意图可分类为为“询问天气”。从而,可以将意图识别看作是典型的多分类问题。意图的分类和定义可参考ISO-24617-2标准,其中共有56种详细的定义。面向任务的对话系统中的意图识别通常可以视为文本分类任务。同时,意图的定义与对话系统自身的定位和所具有的知识库有很大关系,即意图的定义具有非常强的领域相关性。
(2)槽位解析
槽位,指的是意图所带的参数。一个意图可能对应若干个槽位,例如询问公交车路线时,需要给出出发地、目的地、时间等必要参数。以上参数即“询问公交车路线”这一意图对应的槽位。槽位解析任务的主要目标是在已知特定领域或特定意图的语义框架(semantic frame)的前提下,从输入语句中抽取该语义框架中预先定义好的语义槽的值。语义槽位填充任务可以转化为序列标注任务,即运用经典的IOB标记法,标记某一个词是某一语义槽的开始(begin)、延续(inside),或是非语义槽(outside)。
(3)DA
DA是指对话行为(Dialogue Acts),它在一定程度上反应了说话人的意图,对于确定语句的语用信息具