对话生成方法、装置、电子设备及存储介质与流程

文档序号:20776012发布日期:2020-05-19 20:46阅读:95来源:国知局
对话生成方法、装置、电子设备及存储介质与流程

本申请涉及计算机应用技术,特别涉及人工智能领域的对话生成方法、装置、电子设备及存储介质。



背景技术:

目前的对话生成技术主要针对任务类对话或特定领域对话,而针对开放域对话,即不限定领域的闲聊对话,还没有一种较好的对话生成方式。



技术实现要素:

有鉴于此,本申请提供了对话生成方法、装置、电子设备及存储介质。

一种对话生成方法,包括:

在对话过程中,获取待回复的对话语句,对所述对话语句进行关键词提取;

确定出提取出的关键词对应的闲聊图谱中的节点,所述闲聊图谱为预先构建的,其中包含有分别对应于不同关键词的节点,节点之间的边体现不同关键词之间的对话跳转方式;

将所述闲聊图谱中与确定出的节点存在直接边关系的节点对应的关键词作为候选关键词;

从所述候选关键词中选出最佳关键词;

根据所述最佳关键词生成回复语句。

根据本申请一优选实施例,所述从所述候选关键词中选出最佳关键词包括:

分别获取当前对话状态的向量表示以及各候选关键词的向量表示;

根据获取到的向量表示确定出所述最佳关键词。

根据本申请一优选实施例,所述获取当前对话状态的向量表示包括:

获取所述对话过程中的最新n条对话语句对应的向量表示,n为大于一的正整数;

获取所述对话过程中已使用的最佳关键词对应的向量表示;

将两个向量表示进行拼接,得到所述当前对话状态的向量表示。

根据本申请一优选实施例,所述根据获取到的向量表示确定出所述最佳关键词包括:

分别获取各候选关键词的向量表示与所述当前对话状态的向量表示之间的相似度;

将相似度最大的候选关键词作为所述最佳关键词。

根据本申请一优选实施例,所述根据所述最佳关键词生成回复语句包括:结合所述最佳关键词及所述对话语句生成所述回复语句。

根据本申请一优选实施例,所述结合所述最佳关键词及所述对话语句生成所述回复语句包括:

将所述最佳关键词及所述对话语句输入预先训练得到的回复生成模型,得到所述回复语句。

一种对话生成装置,包括:关键词提取单元、候选关键词确定单元、最佳关键词确定单元以及回复语句生成单元;

所述关键词提取单元,用于在对话过程中,获取待回复的对话语句,对所述对话语句进行关键词提取;

所述候选关键词确定单元,用于确定出提取出的关键词对应的闲聊图谱中的节点,所述闲聊图谱为预先构建的,其中包含有分别对应于不同关键词的节点,节点之间的边体现不同关键词之间的对话跳转方式;将所述闲聊图谱中与确定出的节点存在直接边关系的节点对应的关键词作为候选关键词;

所述最佳关键词确定单元,用于从所述候选关键词中选出最佳关键词;

所述回复语句生成单元,用于根据所述最佳关键词生成回复语句。

根据本申请一优选实施例,所述最佳关键词确定单元分别获取当前对话状态的向量表示以及各候选关键词的向量表示,根据获取到的向量表示确定出所述最佳关键词。

根据本申请一优选实施例,所述最佳关键词确定单元获取所述对话过程中的最新n条对话语句对应的向量表示,n为大于一的正整数,并获取所述对话过程中已使用的最佳关键词对应的向量表示,将两个向量表示进行拼接,得到所述当前对话状态的向量表示。

根据本申请一优选实施例,所述最佳关键词确定单元分别获取各候选关键词的向量表示与所述当前对话状态的向量表示之间的相似度,将相似度最大的候选关键词作为所述最佳关键词。

根据本申请一优选实施例,所述回复语句生成单元进一步用于,结合所述最佳关键词及所述对话语句生成所述回复语句。

根据本申请一优选实施例,所述回复语句生成单元将所述最佳关键词及所述对话语句输入预先训练得到的回复生成模型,得到所述回复语句。

一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。

一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如以上所述的方法。

上述申请中的一个实施例具有如下优点或有益效果:在如开放域对话过程中,针对待回复的对话语句,可通过对其进行关键词提取,并结合闲聊图谱中记载的关键词之间的对话跳转方式等,确定出用于回复的最佳关键词,进而可根据最佳关键词生成回复语句,从而可生成主题、语义等连贯和准确的对话语句,确保了对话过程的顺利进行等;其中,可从多个候选关键词中选出最佳关键词,并可综合对话过程中的最新n条对话语句以及对话过程中已使用的最佳关键词确定出当前对话状态的向量表示,基于该向量表示以及各候选关键词的向量表示确定出最佳关键词,从而提升了最佳关键词选择的准确性,进而提升了生成的回复语句的准确性等;在生成回复语句时,除了可利用选出的最佳关键词之外,还可进一步结合待回复的对话语句,并可利用训练得到的回复生成模型来生成回复语句,从而进一步提升了生成的回复语句的准确性等;上述可选方式所具有的其它效果将在下文中结合具体实施例加以说明。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1为本申请所述对话生成方法第一实施例的流程图;

图2为本申请所述闲聊图谱的部分内容示意图;

图3为本申请所述对话生成方法第二实施例的流程图;

图4为本申请所述对话生成装置400实施例的组成结构示意图;

图5为根据本申请实施例所述方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

图1为本申请所述对话生成方法第一实施例的流程图。如图1所示,包括以下具体实现方式。

在101中,在对话过程中,获取待回复的对话语句,对所述对话语句进行关键词提取。

在102中,确定出提取出的关键词对应的闲聊图谱中的节点,闲聊图谱为预先构建的,其中包含有分别对应于不同关键词的节点,节点之间的边体现不同关键词之间的对话跳转方式。

在103中,将闲聊图谱中与确定出的节点存在直接边关系的节点对应的关键词作为候选关键词。

在104中,从候选关键词中选出最佳关键词。

在105中,根据选出的最佳关键词生成回复语句。

优选地,本实施例所述方法可应用于开放域对话过程中。

闲聊图谱可为预先构建的,为包含节点和边的有向图,其中可包含有多个节点,各节点可分别对应于不同的关键词,即能够代表闲聊对话中的重要语义内容的关键词,用于指导“回复什么”,节点之间的边体现不同关键词之间的对话跳转方式,即体现闲聊对话的逻辑,直观的解释就是存在直接边关系的两个节点,其中一个节点对应的关键词可出现在对话过程中的上一语句中,另一个节点对应的关键词可出现在对话过程中的下一语句中。如何构建闲聊图谱不作限制,如可通过对历史对话数据进行人工统计分析构建,或采用自动方式构建等。

在对话过程中,在获取到待回复的对话语句后,可首先对该对话语句进行关键词提取。关键词提取方式不限,如可采用现有的各种成熟的关键词提取技术。

提取出的关键词可能为一个,也可能为多个。针对提取出的每个关键词,可分别确定出该关键词对应的闲聊图谱中的节点。之后,可将闲聊图谱中与确定出的节点存在直接边关系的节点对应的关键词作为候选关键词。

上述过程可举例说明如下:

假设待回复的对话语句为“你上班了吗”,可对其进行关键词提取,假设提取出了“上班”这个关键词;

可确定出闲聊图谱中“上班”这个关键词对应的节点,假设为节点a;

将闲聊图谱中与节点a存在直接边关系的节点对应的关键词作为候选关键词;图2为本申请所述闲聊图谱的部分内容示意图,如图2所示,与节点a存在直接边关系的节点包括节点b、节点c和节点d;

按照上述方式,共可得到3个候选关键词,即节点b对应的关键词、节点c对应的关键词以及节点d对应的关键词。

之后,可从候选关键词中选出最佳关键词。优选地,可分别获取当前对话状态的向量表示以及各候选关键词的向量表示,根据获取到的向量表示确定出最佳关键词。

其中,获取当前对话状态的向量表示的方式可包括:获取对话过程中的最新n条对话语句对应的向量表示,n为大于一的正整数,获取对话过程中已使用的最佳关键词对应的向量表示,将两个向量表示进行拼接,得到当前对话状态的向量表示。已使用的最佳关键词即指已用于生成回复语句的最佳关键词。

n的具体取值可根据实际需要而定,比如,可取值为2,也就是说,可获取对话过程中的最新2条对话语句对应的向量表示,最新2条对话语句可包括待回复的对话语句以及待回复的对话语句的前一条对话语句。如何生成最新2条对话语句对应的向量表示不作限制,比如,可利用训练得到的模型来生成所述向量表示。另外,还可获取对话过程中已使用的最佳关键词对应的向量表示,如何生成已使用的最佳关键词对应的向量表示同样不作限制。对于得到的两个向量表示,可将其进行拼接,将拼接结果作为当前对话状态的向量表示。

此外,还可分别获取各候选关键词的向量表示,并可分别获取各候选关键词的向量表示与当前对话状态的向量表示之间的相似度,将相似度最大的候选关键词作为所需的最佳关键词。比如,假设得到了关键词b、关键词c和关键词d共3个候选关键词,可分别计算关键词b、关键词c和关键词d的向量表示与当前对话状态的向量表示之间的相似度,如何计算向量之间的相似度为现有技术,从而可得到3个相似度计算结果,进而可选出取值最大的相似度计算结果,将其对应的关键词作为最佳关键词。

之后,可根据最佳关键词生成回复语句。优选地,可结合最佳关键词及待回复的对话语句生成回复语句。具体地,可将最佳关键词及待回复的对话语句输入预先训练得到的回复生成模型,从而得到所需的回复语句。

比如,最佳关键词为“跳舞”,生成的回复语句可为“我想和你一起跳舞”等。

基于上述介绍,图3为本申请所述对话生成方法第二实施例的流程图。如图3所示,包括以下具体实现方式。

在301中,构建闲聊图谱,其中包含有分别对应于不同关键词的节点,节点之间的边体现不同关键词之间的对话跳转方式。

在302中,在对话过程中,获取待回复的对话语句,对所述对话语句进行关键词提取。

在303中,确定出提取出的关键词对应的闲聊图谱中的节点。

在304中,将闲聊图谱中与确定出的节点存在直接边关系的节点对应的关键词作为候选关键词。

在305中,分别获取当前对话状态的向量表示以及各候选关键词的向量表示,根据获取到的向量表示确定出最佳关键词。

其中,可获取对话过程中的最新n条对话语句对应的向量表示,n为大于一的正整数,并可获取对话过程中已使用的最佳关键词对应的向量表示,将两个向量表示进行拼接,得到当前对话状态的向量表示。

此外,还可分别获取各候选关键词的向量表示,并可分别获取各候选关键词的向量表示与当前对话状态的向量表示之间的相似度,将相似度最大的候选关键词作为最佳关键词。

在306中,结合最佳关键词及待回复的对话语句生成回复语句。

比如,可将最佳关键词及待回复的对话语句输入预先训练得到的回复生成模型,从而得到所需的回复语句。

需要说明的是,对于前述的各方法实施例,为了简单描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

总之,采用本申请方法实施例所述方案,在如开放域对话过程中,针对待回复的对话语句,可通过对其进行关键词提取,并结合闲聊图谱中记载的关键词之间的对话跳转方式等,确定出用于回复的最佳关键词,进而可根据最佳关键词生成回复语句,从而可生成主题、语义等连贯和准确的对话语句,确保了对话过程的顺利进行等;其中,可从多个候选关键词中选出最佳关键词,并可综合对话过程中的最新n条对话语句以及对话过程中已使用的最佳关键词确定出当前对话状态的向量表示,基于该向量表示以及各候选关键词的向量表示确定出最佳关键词,从而提升了最佳关键词选择的准确性,进而提升了生成的回复语句的准确性等;在生成回复语句时,除了可利用选出的最佳关键词之外,还可进一步结合待回复的对话语句,并可利用训练得到的回复生成模型来生成回复语句,从而进一步提升了生成的回复语句的准确性等。

以上是关于方法实施例的介绍,以下通过装置实施例,对本申请所述方案进行进一步说明。

图4为本申请所述对话生成装置400实施例的组成结构示意图。如图4所示,包括:关键词提取单元401、候选关键词确定单元402、最佳关键词确定单元403以及回复语句生成单元404。

关键词提取单元401,用于在对话过程中,获取待回复的对话语句,对所述对话语句进行关键词提取。

候选关键词确定单元402,用于确定出提取出的关键词对应的闲聊图谱中的节点,闲聊图谱为预先构建的,其中包含有分别对应于不同关键词的节点,节点之间的边体现不同关键词之间的对话跳转方式;将闲聊图谱中与确定出的节点存在直接边关系的节点对应的关键词作为候选关键词。

最佳关键词确定单元403,用于从候选关键词中选出最佳关键词。

回复语句生成单元404,用于根据选出的最佳关键词生成回复语句。

优选地,本实施例所述方法可应用于开放域对话过程中。

闲聊图谱可为预先构建的,为包含节点和边的有向图,其中可包含有多个节点,各节点可分别对应于不同的关键词,即能够代表闲聊对话中的重要语义内容的关键词,用于指导“回复什么”,节点之间的边体现不同关键词之间的对话跳转方式,即体现闲聊对话的逻辑,直观的解释就是存在直接边关系的两个节点,其中一个节点对应的关键词可出现在对话过程中的上一语句,另一个节点对应的关键词可出现在对话过程中的下一语句。

在对话过程中,关键词提取单元401在获取到待回复的对话语句后,可首先对该对话语句进行关键词提取。提取出的关键词可能为一个,也可能为多个。针对提取出的每个关键词,候选关键词确定单元402可分别确定出该关键词对应的闲聊图谱中的节点,之后,可将闲聊图谱中与确定出的节点存在直接边关系的节点对应的关键词作为候选关键词。

最佳关键词确定单元403可从候选关键词中选出最佳关键词。优选地,可分别获取当前对话状态的向量表示以及各候选关键词的向量表示,根据获取到的向量表示确定出最佳关键词。

具体地,最佳关键词确定单元403可获取对话过程中的最新n条对话语句对应的向量表示,n为大于一的正整数,并可获取对话过程中已使用的最佳关键词对应的向量表示,将两个向量表示进行拼接,得到当前对话状态的向量表示。

此外,最佳关键词确定单元403还可分别获取各候选关键词的向量表示,并可分别获取各候选关键词的向量表示与当前对话状态的向量表示之间的相似度,将相似度最大的候选关键词作为所需的最佳关键词。

回复语句生成单元404可根据最佳关键词生成回复语句。优选地,还可结合最佳关键词及待回复的对话语句生成回复语句。具体地,可将最佳关键词及待回复的对话语句输入预先训练得到的回复生成模型,从而得到所需的回复语句。

图4所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。

总之,采用本申请装置实施例所述方案,在如开放域对话过程中,针对待回复的对话语句,可通过对其进行关键词提取,并结合闲聊图谱中记载的关键词之间的对话跳转方式等,确定出用于回复的最佳关键词,进而可根据最佳关键词生成回复语句,从而可生成主题、语义等连贯和准确的对话语句,确保了对话过程的顺利进行等;其中,可从多个候选关键词中选出最佳关键词,并可综合对话过程中的最新n条对话语句以及对话过程中已使用的最佳关键词确定出当前对话状态的向量表示,基于该向量表示以及各候选关键词的向量表示确定出最佳关键词,从而提升了最佳关键词选择的准确性,进而提升了生成的回复语句的准确性等;在生成回复语句时,除了可利用选出的最佳关键词之外,还可进一步结合待回复的对话语句,并可利用训练得到的回复生成模型来生成回复语句,从而进一步提升了生成的回复语句的准确性等。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图5所示,是根据本申请实施例所述方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图5所示,该电子设备包括:一个或多个处理器y01、存储器y02,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器y01为例。

存储器y02即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的方法。

存储器y02作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块。处理器y01通过运行存储在存储器y02中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。

存储器y02可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器y02可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器y02可选包括相对于处理器y01远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

电子设备还可以包括:输入装置y03和输出装置y04。处理器y01、存储器y02、输入装置y03和输出装置y04可以通过总线或者其他方式连接,图5中以通过总线连接为例。

输入装置y03可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置y04可以包括显示设备、辅助照明装置和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器、发光二极管显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管或者液晶显示器监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网、广域网和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1