一种人机对话方法、装置、计算机设备及存储介质
专业领域
本发明属于计算机技术领域,尤其涉及一种人机对话方法、装置、计算机设备及存储介质。
背景技术
近些年来,随着人工智能技术的迅猛发展,人机交互领域有了巨大的进步。而人机对话系统是人机交互中十分重要的一个子领域,在虚拟个人助手应用中扮演着非常重要的角色。其主要的功能是通过对用户自然语言的理解,帮助用户完成某项特定的任务,比如预定电影票等。
现有的人机交互对话系统一般包含较为复杂的模块化流程,包含如领域识别、意图识别、槽填充、对话状态追踪模块、策略学习在内等诸多的子模块。虽然每种子模块都有着不俗的表现,但是各个模块之间存在着极强的耦合性,互相依赖,互相影响,导致把各个子模块组合到一起时,整个人机交互对话系统会出现鲁棒性差的问题。
可见,现有的人机交互对话系统还存在着各模块互相依赖、互相影响而导致鲁棒性差的问题。
发明内容
本发明实施例的目的在于提供一种人机对话方法,旨在解决现有的人机交互对话系统还存在的因各模块互相依赖、互相影响而导致鲁棒性差的技术问题。
本发明实施例是这样实现的,一种人机对话方法,所述人机对话方法包括:
获取用户输入的对话信息;
对所述对话信息进行专业领域识别处理,获取所述对话信息的专业领域;
根据所述对话信息的专业领域采用预设的与所述专业领域对应的意图识别模型对所述对话信息进行意图识别处理,获取所述对话信息的意图类型;
对意图类型为询问的对话信息采用预设的询问模型进行处理,获取更新后的对话状态;
对意图类型为通知的对话信息识别所述对话信息中的槽信息,并获取更新后的对话状态;
根据所述更新后的对话状态,采用预先基于强化学习训练生成的对话动作生成模型,生成与所述更新后的对话状态所对应的对话动作;
根据所述对话动作生成自然语言并输出。
本发明实施例的另一目的在于提供一种人机对话装置,所述人机对话装置包括:
对话信息获取单元,用于获取用户输入的对话信息;
专业领域识别单元,用于对所述对话信息进行专业领域识别处理,获取所述对话信息的专业领域;
意图类型识别单元,用于根据所述对话信息的专业领域采用预设的与所述专业领域对应的意图识别模型对所述对话信息进行意图识别处理,获取所述对话信息的意图类型;
询问意图处理单元,用于对意图类型为询问的对话信息采用预设的询问模型进行处理,获取更新后的对话状态;
通知意图处理单元,用于对意图类型为通知的对话信息识别所述对话信息中的槽信息,并获取更新后的对话状态;
对话动作生成单元,用于根据所述更新后的对话状态,采用预先基于强化学习训练生成的对话动作生成模型,生成与所述更新后的对话状态所对应的对话动作;
自然语言生成单元,用于根据所述对话动作生成自然语言并输出。
本发明实施例的另一目的在于提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述所述人机对话方法的步骤。
本发明实施例的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述所述人机对话方法的步骤。
本发明实施例提供的一种人机对话方法,在获取用户输入的对话信息后,分别对所述对话信息进行专业领域识别处理和意图类型识别处理,能够将对话信息定位到具体的专业领域中,并获知对话信息的意图类型,针对于不同的意图类型不同的模型进行处理,获取到更新后的对话状态后,根据对话状态生成相应的对话动作,并转化为自然语言进行输出。本发明实施例提供的一种人机对话方法,能够先对对话信息进行专业领域识别处理,对不同的专业领域的对话信息分别采用对应的专业领域的模型进行识别,提高了对话信息意图的识别准确率,另一方面,进一步采用预先基于强化学习训练生成的对话动作生成模型,通过强化学习,有效地提高了系统的鲁棒性。
附图说明
图1为本发明实施例提供的人机对话方法的步骤流程图;
图2为本发明实施例提供的一种对意图类型为询问的对话信息进行处理的步骤流程图;
图3为本发明实施例提供的一种生成自然语言的方法的步骤流程图;
图4为本发明实施例提供的一种人机对话装置的结构示意图;
图5为本发明实施例提供的一种对话信息获取单元的结构示意图;
图6为本发明实施例提供的一种询问意图处理单元的结构示意图;
图7为本发明实施例提供的一种自然语言生成单元的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。
图1为本发明实施例提供的人机对话方法的步骤流程图,具体包括以下步骤:
步骤S102,获取用户输入的对话信息。
在本发明实施例中,所述获取的用户输入的对话信息可以是用户直接输入的文本格式的对话信息,也可以是利用语音识别模型识别用户输入的语音格式的对话信息,并处理为文本格式的对话信息。相比于现有的人机对话方法,可以直接使用文本格式的对话信息对系统模型进行端到端的训练。
步骤S104,对所述对话信息进行专业领域识别处理,获取所述对话信息的专业领域。
步骤S106,根据所述对话信息的专业领域采用预设的与所述专业领域对应的意图识别模型对所述对话信息进行意图识别处理,获取所述对话信息的意图类型。
在本发明实施例中,通过先对对话信息进行专业领域识别处理,在获取到所述对话信息的专业领域后,能够将对话信息定位到相应的与所述所述专业领域对应的意图识别模型中进行处理,有效地提高了对对话信息意图识别的准确率。
在本发明实施例中,所述意图类型主要包括询问以及通知。
步骤S108,对意图类型为询问的对话信息采用预设的询问模型进行处理,获取更新后的对话状态。
在本发明实施例中,所述对意图类型为询问的对话信息采用预设的询问模型进行处理的步骤具体请参阅图2及其解释说明部分。
步骤S110,对意图类型为通知的对话信息识别所述对话信息中的槽信息,并获取更新后的对话状态。
在本发明实施例中,所述槽信息是指机器在理解并执行用户的要求时,所必需的信息,以用户想要打车为例,则出发地、目的地以及准备出发的时间就属于机器在执行叫车服务的槽信息。
在本发明实施例中,当意图类型为通知时,识别所述对话信息中的槽信息后并进行填充,然后基于填充之后的槽信息更新对话状态。例如,当机器在执行叫车服务时,当前的对话状态为缺失目的地以及准备出发的时间两个槽信息,在获取到用户新输入的对话信息为下午三点时,识别出下午三点为准备出发的时间,并将对话状态更新为缺失目的地槽信息。
步骤S112,根据所述更新后的对话状态,采用预先基于强化学习训练生成的对话动作生成模型,生成与所述更新后的对话状态所对应的对话动作。
在本发明实施例中,根据当前的对话状态,就能够预先基于强化学习训练生成的对话动作生成模型生成与所述更新后的对话状态所对应的对话动作。例如,当当前对话状态为缺失目的地槽信息,生成的对话动作即为获取所述目的地槽信息。
步骤S114,根据所述对话动作生成自然语言并输出。
本发明实施例提供的一种人机对话方法,在获取用户输入的对话信息后,分别对所述对话信息进行专业领域识别处理和意图类型识别处理,能够将对话信息定位到具体的专业领域中,并获知对话信息的意图类型,针对于不同的意图类型不同的模型进行处理,获取到更新后的对话状态后,根据对话状态生成相应的对话动作,并转化为自然语言进行输出。本发明实施例提供的一种人机对话方法,能够先对对话信息进行专业领域识别处理,对不同的专业领域的对话信息分别采用对应的专业领域的模型进行识别,提高了对话信息意图的识别准确率,另一方面,进一步采用预先基于强化学习训练生成的对话动作生成模型,通过强化学习,有效地提高了系统的鲁棒性。
图2为本发明实施例提供的一种对意图类型为询问的对话信息进行处理的步骤流程图,具体包括以下步骤:
步骤S202,判断所述对话信息中是否含有槽信息。当判断所述对话信息中含有槽信息时,执行步骤S204;当判断所述对话信息中不含有槽信息时,执行步骤S206。
步骤S204,获取与所述槽信息相关的信息,并根据所述与所述槽信息相关的信息更新对话状态。
步骤S206,更新对话状态。
图3为本发明实施例提供的一种生成自然语言的方法的步骤流程图,具体包括以下步骤:
步骤S302,基于预先按照指定规则所设定好的第一自然语言生成模型生成自然语言并输出。
步骤S304,当基于预先按照指定规则所设定好的第一自然语言生成模型无法生成自然语言时,基于预先按照神经网络算法训练生成的第二自然语言生成模型生成自然语言并输出。
在本发明实施例中,基于预先按照指定规则所设定好的第一自然语言生成模型能够较快的生成自然语言,但是适用范围较小,而基于预先按照神经网络算法训练生成的第二自然语言生成模型适用范围较广,但是生成自然语言的效率低。当基于预先按照指定规则所设定好的第一自然语言生成模型无法生成自然语言时,基于预先按照神经网络算法训练生成的第二自然语言生成模型生成自然语言,可以在保证高效率生成自然语言的同时,也能提高系统的鲁棒性。
图4为本发明实施例提供的一种人机对话装置的结构示意图,详述如下。
在本发明实施例中,所述人机对话装置具体包括:
对话信息获取单元410,用于获取用户输入的对话信息。
在本发明实施例中,所述获取的用户输入的对话信息可以是用户直接输入的文本格式的对话信息,也可以是利用语音识别模型识别用户输入的语音格式的对话信息,并处理为文本格式的对话信息。相比于现有的人机对话方法,可以直接使用文本格式的对话信息对系统模型进行端到端的训练。
在本发明实施例中,所述对话信息获取单元的结构示意图具体请参阅图5及其解释说明。
专业领域识别单元420,用于对所述对话信息进行专业领域识别处理,获取所述对话信息的专业领域。
意图类型识别单元430,用于根据所述对话信息的专业领域采用预设的与所述专业领域对应的意图识别模型对所述对话信息进行意图识别处理,获取所述对话信息的意图类型。
在本发明实施例中,通过先对对话信息进行专业领域识别处理,在获取到所述对话信息的专业领域后,能够将对话信息定位到相应的与所述所述专业领域对应的意图识别模型中进行处理,有效地提高了对对话信息意图识别的准确率。
询问意图处理单元440,用于对意图类型为询问的对话信息采用预设的询问模型进行处理,获取更新后的对话状态。
在本发明实施例中,所述询问意图处理单元的结构示意图请参阅图6及其解释说明。
通知意图处理单元450,用于对意图类型为通知的对话信息识别所述对话信息中的槽信息,并获取更新后的对话状态。
在本发明实施例中,所述槽信息是指机器在理解并执行用户的要求时,所必需的信息,以用户想要打车为例,则出发地、目的地以及准备出发的时间就属于机器在执行叫车服务的槽信息。
在本发明实施例中,当意图类型为通知时,识别所述对话信息中的槽信息后并进行填充,然后基于填充之后的槽信息更新对话状态。例如,当机器在执行叫车服务时,当前的对话状态为缺失目的地以及准备出发的时间两个槽信息,在获取到用户新输入的对话信息为下午三点时,识别出下午三点为准备出发的时间,并将对话状态更新为缺失目的地槽信息。
对话动作生成单元460,用于根据所述更新后的对话状态,采用预先基于强化学习训练生成的对话动作生成模型,生成与所述更新后的对话状态所对应的对话动作。
在本发明实施例中,根据当前的对话状态,就能够预先基于强化学习训练生成的对话动作生成模型生成与所述更新后的对话状态所对应的对话动作。例如,当当前对话状态为缺失目的地槽信息,生成的对话动作即为获取所述目的地槽信息。
自然语言生成单元470,用于根据所述对话动作生成自然语言并输出。
本发明实施例提供的一种人机对话装置,在获取用户输入的对话信息后,分别对所述对话信息进行专业领域识别处理和意图类型识别处理,能够将对话信息定位到具体的专业领域中,并获知对话信息的意图类型,针对于不同的意图类型不同的模型进行处理,获取到更新后的对话状态后,根据对话状态生成相应的对话动作,并转化为自然语言进行输出。本发明实施例提供的一种人机对话装置,能够先对对话信息进行专业领域识别处理,对不同的专业领域的对话信息分别采用对应的专业领域的模型进行识别,提高了对话信息意图的识别准确率,另一方面,进一步采用预先基于强化学习训练生成的对话动作生成模型,通过强化学习,有效地提高了系统的鲁棒性。
图5为本发明实施例提供的一种对话信息获取单元的结构示意图,详述如下。
在本发明实施例中,所述对话信息获取单元具体包括:
文本格式对话信息获取模块510,用于获取用户输入的文本格式的对话信息。
语音格式对话信息处理模块520,用于利用语音识别模型识别用户输入的语音格式的对话信息并处理为文本格式的对话信息。
在本发明实施例中,相比于现有的人机对话方法,可以直接使用文本格式的对话信息对系统模型进行端到端的训练。
图6为本发明实施例提供的一种询问意图处理单元的结构示意图,详述如下。
在本发明实施例中,所述询问意图处理单元具体包括:
槽信息判断模块610,用于判断所述对话信息中是否含有槽信息。
槽信息处理模块620,用于当判断所述对话信息中含有槽信息时,获取与所述槽信息相关的信息,并根据所述与所述槽信息相关的信息更新对话状态。
非槽信息处理模块630,用于当判断所述对话信息中不含有槽信息时,更新对话状态。
图7为本发明实施例提供的一种自然语言生成单元的结构示意图,详述如下。
在本发明实施例中,所述自然语言生成单元具体包括:
指定规则自然语言生成模块710,用于基于预先按照指定规则所设定好的第一自然语言生成模型生成自然语言并输出。
神经网络自然语言生成模块720,用于当基于预先按照指定规则所设定好的第一自然语言生成模型无法生成自然语言时,基于预先按照神经网络算法训练生成的第二自然语言生成模型生成自然语言并输出。
在本发明实施例中,基于预先按照指定规则所设定好的第一自然语言生成模型能够较快的生成自然语言,但是适用范围较小,而基于预先按照神经网络算法训练生成的第二自然语言生成模型适用范围较广,但是生成自然语言的效率低。当基于预先按照指定规则所设定好的第一自然语言生成模型无法生成自然语言时,基于预先按照神经网络算法训练生成的第二自然语言生成模型生成自然语言,可以在保证高效率生成自然语言的同时,也能提高系统的鲁棒性。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取用户输入的对话信息;
对所述对话信息进行专业领域识别处理,获取所述对话信息的专业领域;
根据所述对话信息的专业领域采用预设的与所述专业领域对应的意图识别模型对所述对话信息进行意图识别处理,获取所述对话信息的意图类型;
对意图类型为询问的对话信息采用预设的询问模型进行处理,获取更新后的对话状态;
对意图类型为通知的对话信息识别所述对话信息中的槽信息,并获取更新后的对话状态;
根据所述更新后的对话状态,采用预先基于强化学习训练生成的对话动作生成模型,生成与所述更新后的对话状态所对应的对话动作;
根据所述对话动作生成自然语言并输出。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
获取用户输入的对话信息;
对所述对话信息进行专业领域识别处理,获取所述对话信息的专业领域;
根据所述对话信息的专业领域采用预设的与所述专业领域对应的意图识别模型对所述对话信息进行意图识别处理,获取所述对话信息的意图类型;
对意图类型为询问的对话信息采用预设的询问模型进行处理,获取更新后的对话状态;
对意图类型为通知的对话信息识别所述对话信息中的槽信息,并获取更新后的对话状态;
根据所述更新后的对话状态,采用预先基于强化学习训练生成的对话动作生成模型,生成与所述更新后的对话状态所对应的对话动作;
根据所述对话动作生成自然语言并输出。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。