基于多模型输出的对话数据交互处理方法及装置与流程

文档序号:12365861阅读:288来源:国知局
基于多模型输出的对话数据交互处理方法及装置与流程

本发明涉及智能机器人领域,具体地说,涉及一种基于多模型输出的对话数据交互处理方法及装置。



背景技术:

聊天系统是一种模拟人类进行多模态聊天的计算机处理程序,它能满足人们消遣娱乐和情感交流的需求,是能随时与人们进行交互的“聊伴”,为人们提供情感支撑与陪伴服务。当一个问题抛给聊天机器人时,它通过相似度匹配算法,从数据库中找到最相近的问题,然后根据问题与答案的对应关系,给出最贴切的答案,回复给它的聊伴。

然而,由于当前的聊天系统中获取聊天结果的方式,主要单一地采用检索模型进行,但是检索模型无法回复知识库中没有的数据。在当前机器人聊天的场景中,当在机器人知识库中并不能找到与用户请求的问题相匹配的相同或类似问题时,机器人就不能够给用户返回正确的或者说合适的答案。这种情况下,聊天机器人经常会没有任何输出,或者给出的回答不能够令人满意。还有的机器人聊天技术采用单一的对话生成模型的方式进行输出,但是这种聊天技术在训练起初的回答是不能令人满意的,必须在对机器人进行大量训练之后,用户才能得到满意的聊天体验。而这个过程可能会比较长,也耗费精力,使得用户在开始就失去使用的兴趣。

因此,在对话数据交互的技术领域中,需要提供一种能够提高聊天机器人输出回答的速度和准确度的方法,从而提高用户的使用体验。



技术实现要素:

为解决现有技术的上述问题,本发明提供了一种基于多模型输出的对话数据交互处理方法,其特征在于,所述对话数据交互处理方法包括以下步骤:

接收用户输入的对话交互数据;

根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理,以得到各模型对应的回答交互数据;

基于各模型回答交互数据决策选择输出模型以输出对话数据。

根据本发明的一个实施例,在分别根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理的步骤中,对得到的回答交互数据进行评价并标出相应的置信度。

根据本发明的一个实施例,在基于各自对应的回答交互数据的内容决策选择输出模型以输出对话数据的步骤中,选择回答交互数据的置信度标注为最高的模型进行对话数据的输出。

根据本发明的一个实施例,在分别根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理的步骤中:

采用检索模型搜索与用户输入的对话交互数据相匹配的回答交互数据,如果搜索不到相匹配的回答交互数据,则调用语言模型来产生回答交互数据,如果失败,则直接对对话生成模型进行训练。

根据本发明的一个实施例,在对对话生成模型进行训练时,通过自学习置信度最高的聊天数据来训练出对话生成模型以提高自身提供的回答交互数据的置信度。

根据本发明的另一个方面,所述对话数据交互处理装置包括以下单元:

对话交互数据输入单元,其用以接收用户输入的对话交互数据;

对话交互数据处理单元,其用以根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理,以得到各模型回答交互数据;

对话数据输出决策单元,其用以基于各模型回答交互数据决策选择输出模型以进行对话数据的输出。

根据本发明的一个实施例,在用以根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理的对话交互数据处理单元中,还包括用以对得到的回答交互数据进行评价并标出相应的置信度的单元。

根据本发明的一个实施例,在用以基于各模型回答交互数据的内容决策选择输出模型以进行对话数据的输出的对话数据输出决策单元中,还包括用以选择回答交互数据的置信度标注为最高的模型进行对话数据的输出的单元。

根据本发明的一个实施例,在用以分别根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理的对话交互数据处理单元中:

采用检索模型搜索与用户输入的对话交互数据相匹配的回答交互数据,如果搜索不到相匹配的回答交互数据,则调用语言模型来产生回答交互数据,如果失败,则直接对对话生成模型进行训练。

根据本发明的一个实施例,在对对话生成模型进行训练时,通过学习置信度最高的聊天数据来训练对话生成模型以提高自身提供的回答交互数据的置信度。

根据本发明的对话数据交互方法,由于可以在知识库中没有找到匹配的问题语句时,还可以通过训练好的对话生成模型的方式提供答案,使得人与机器交互更为顺利。通过对话生成模型给出的答案还能进一步对知识库进行扩充和更新,从而进一步提高机器的智能水平。反过来,也可以根据搜索模型或者语言模型的输出来自动训练对话生成模型。这样,通过检索模型、语言模型、生成模型共同来获取聊天结果,不但解决了检索模型中无法覆盖的聊天问题,而且在一定程度上也提高了聊天结果的质量。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:

图1为现有技术中聊天机器人的聊天模块处理用户提出的问题的流程图;

图2显示了根据本发明综合三种模型来处理用户问题的聊天流程图;

图3显示了根据本发明的一个实施例综合三种模型来处理用户问题的详细聊天流程图;以及

图4显示了根据本发明的聊天模块结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明实施例作进一步地详细说明。

详细地实施例如图1所示,其中显示了现有技术中采用单一的检索模型来到知识库中寻找答案的流程图。采用检索模型提供交互结果的方式主要是通过人工或者机器学习的方式建立相应的聊天语料库,当用户输入聊天数据时,系统到聊天语料库中检索出相应的聊天结果。

在图1中,首先,机器人的聊天模块接收用户的对话输入语句,步骤S101。在一个实施例中,该对话输入语句其实就是用户主动发起的提问或者说是问题。

接下来,交互系统将按照匹配度计算方法在机器人的知识库中寻找与用户提出的问题相匹配的问题语句,参见步骤S102。在寻找的过程中,可以预先设定一个关于匹配度的阈值。当计算出的匹配度小于该阈值时,表明在数据库中未找到匹配的问题语句。也即是说,数据库的问题语句与用户输入的语句不完全匹配。那么,系统就会进行相似度计算,将输入的语句进行相似变换,然后在数据库中寻找与之对应的相似的几个问题,参见步骤S103。在找到了相似的问题之后,系统就会输出与这几个相似问题语句对应的几个答案,参见步骤S105。

如果进行相似度计算后,经过相似变换的问题在数据库中仍然不存在,则在步骤S106中直接输出“不能输出答案”的结果。

当计算出的匹配度大于或等于该阈值时,表明在数据库中有与用户提出的问题语句完全匹配的问题语句。在这种情况下,系统直接输出数据库中存储的完全匹配的问题语句对应的答案。

例如,如果知识库里存储了类似于“你叫什么名字”的问题和对应的答案,那么当用户提问的问题是“你叫啥”时,机器人按照上述相似度计算方法就有可能在已有的知识库中找不到匹配的合适问题。因此,也就不能给用户返回正确的答案。

在这种情况下,虽然用户提出了两个从字面上看完全不同但意思相同的问题,但按照现有技术的机器人却不能正确理解语义。因此针对这个问题就不能够回答正确,导致聊天的过程会不尽人意。显然,这是不希望的。

现有技术还可以通过人工方式或者机器学习方式,建立起相应的聊天语言模型,当用户输入聊天数据时,该聊天语言模型判断模型是否匹配,如果匹配则可获取相应的聊天结果。

总体来讲,当前聊天系统流程一般是:

系统通过人工或者机器学习的方式建立起相应的聊天语料库;

用户发起聊天;

系统根据聊天数据到聊天语料库中检索出相应的聊天结果;

如果没有检索到相应的结果,则通过随机提示语等方式进行回复;

此方式对于检索模型中无法覆盖的聊天问题,聊天效果可能会非常差。

本发明结合使用了语言模型和生成模型的输出结果来进行决策,选择其中被评价为置信度最高的结果进行输出。

生成模型,即利用深度学习等技术,通过学习标记好的聊天数据,训练出相应的聊天生成模型,当用户输入聊天数据时,该聊天生成模型,则可自动生成相应的聊天结果。在生成模型的方法中,能够进行深度学习是至关重要的。深度学习的动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。而机器学习属于一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

根据本发明的核心思想实现聊天结果输出的整个流程如下,如图2所示:

用户输入相应的聊天数据;

检索模型、语言模型、生成模型同时生成相应的聊天数据,并标出各自结果的置信度;

决策系统根据置信度决策出最终的结果。

由于该系统采用的是多系统的方式,因此会极大提升获取高质量回复的概率。另一方面,由于生成模型采用的是深度学习的方式,随着自学习,它的回复结果也会越来越准确。

在本发明的另一个实例中,还可以将对话生成模型和语言模型的的方法作为知识库匹配即检索模型方法的辅助方式,在检索模型方法不适应的情况下采用语言模型的方式提供答案。如果语言模型与检索模型均不能提供答案的话,最终依赖对话生成模型的方式来提供答案,从而提高用户的交互体验。

根据本发明,当用户提问时,如果知识库中不能找到满意答案,系统会根据用户的问题通过语言模型来提供答案。如果语言模型和检索模型都不能提供满意的答案,则采用训练好的对话生成模型向用户提供答案。

本发明所说的对话生成模型的方式,意指:当用户提问问题时,该模型可以根据用户的问题基于训练好的模型生成答案。而不像原来的问答系统是基于知识库匹配的方法返回答案。并且,在对话模型生成的过程中基于提问的问题逐字或者逐词地生成答案。这种方式主要解决了当知识库中的问题有限而无答案返回的技术问题。

一般而言,对话生成模型的结构为编码-解码框架。在该框架中,模型主要由编码层和解码层两部分组成。其中编码层主要负责对问题达到语义理解的目的,并把问题表示一个向量,该向量就是问题的语义表示。而解码层主要负责基于编码层生成的向量生成答案。

由于本发明的对话模型的训练生成基于的是循环神经网络(Recurrent Neural Networks,RNNs)算法,因此,根据本发明,可以将对话模型的编码层和解码层均构建为循环神经网络的形式。

众所周知,RNNs的目的是用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。

因此,基于循环神经网络的对话生成模型的训练很重要。训练的好,它所反映的就是客观的数据。然而,为了不模糊本发明起见,这里将对训练的过程不进行详细说明。

实现本发明方法的详细的流程图请参见图3。如图3所示,在步骤S301中,机器人系统接收用户输入的对话交互数据。该对话交互数据可以是提问的问题,也可以是提出的话题观点。例如,对话交互数据可以是“今天的天气不错啊!”这样简单的话题,也可以是“月球上生活是什么样?”这样复杂的问题。

针对对用户输入的对话交互数据,在步骤S302中,机器人根据检索模型、语言模型和对话生成模型进行处理,以得到各模型对应的回答交互数据。在本发明的聊天模块中,嵌入了三种给出交互数据输出的模型,即检索模型、语言模型和对话生成模型。这三种模型在问题输入的时候,同时对问题进行分析并给出答案。在分别根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理的步骤中,还可以对得到的回答交互数据进行评价并标出相应的置信度。

在一个实施例中,也可以先让检索模型给出答案,如果答案的满意度不高,则让语言模型提供答案,如果还没得到满意的答案,最后可以让对话生成模型给出最后的答案。

该顺序可以随机器人操作系统对这三种模型给出答案的置信度的排名而动态变化。比如,在开始的一段时间里,由于对话生成模型还未经过大量训练,其提供的答案一定不如检索模型和语言模型,因此,这时会先让检索模型给出答案,并根据给出的答案来训练语言模型和对话生成模型。

当对话生成模型和语言模型的语料库丰富了之后,其提供满意答案的概率一定高于搜索模型的,这时可以优先让语言模型或者对话生成模型提供答案,从而节约聊天模块给出反馈的运算时间。

接下来,在步骤S303中,基于各模型回答交互数据决策选择输出模型以输出对话数据。具体说,在基于各自对应的回答交互数据的内容决策选择输出模型以输出对话数据的步骤中,选择回答交互数据的置信度标注为最高的模型进行对话数据的输出。

根据本发明的另一个实施例,在分别根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理的步骤中,采用检索模型搜索与用户输入的对话交互数据相匹配的回答交互数据,如果搜索不到相匹配的回答交互数据,则调用语言模型来产生回答交互数据,如果失败,则直接对对话生成模型进行训练。

在对对话生成模型进行训练时,通过自学习置信度最高的聊天数据来训练出对话生成模型以提高自身提供的回答交互数据的置信度。

最后,在步骤S304中,机器人系统保存所决策的答案并进行输出。

需要特别说明的是,本发明的方法描述的是在计算机系统中实现的。该计算机系统例如可以设置在机器人的控制核心处理器中。例如,本文所述的方法可以实现为能以控制逻辑来执行的软件,其由机器人控制系统中的CPU来执行。本文所述的功能可以实现为存储在非暂时性有形计算机可读介质中的程序指令集合。当以这种方式实现时,该计算机程序包括一组指令,当该组指令由计算机运行时其促使计算机执行能实施上述功能的方法。可编程逻辑可以暂时或永久地安装在非暂时性有形计算机可读介质中,例如只读存储器芯片、计算机存储器、磁盘或其他存储介质。除了以软件来实现之外,本文所述的逻辑可利用分立部件、集成电路、与可编程逻辑设备(诸如,现场可编程门阵列(FPGA)或微处理器)结合使用的可编程逻辑,或者包括它们任意组合的任何其他设备来体现。所有此类实施例旨在落入本发明的范围之内。

因此,根据本发明的另一个方面,还提供了一种基于多模型输出的对话数据交互处理装置400,如图4所示。该对话数据交互处理装置400包括以下单元:

对话交互数据输入单元401,其用以接收用户输入的对话交互数据;

对话交互数据处理单元402,其用以根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理,以得到各模型回答交互数据;

对话数据输出决策单元403,其用以基于各模型回答交互数据决策选择输出模型以进行对话数据的输出。

根据本发明的一个实施例,在用以根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理的对话交互数据处理单元402中,还包括用以对得到的回答交互数据进行评价并标出相应的置信度的单元404。

根据本发明的一个实施例,在用以基于各模型回答交互数据的内容决策选择输出模型以进行对话数据的输出的对话数据输出决策单元中,还包括用以选择回答交互数据的置信度标注为最高的模型进行对话数据的输出的单元405。

根据本发明的一个实施例,在用以分别根据检索模型、语言模型和对话生成模型对用户输入的对话交互数据进行处理的对话交互数据处理单元中:

采用检索模型搜索与用户输入的对话交互数据相匹配的回答交互数据,如果搜索不到相匹配的回答交互数据,则调用语言模型来产生回答交互数据,如果失败,则直接对对话生成模型进行训练。

根据本发明的一个实施例,在对对话生成模型进行训练时,通过学习置信度最高的聊天数据来训练对话生成模型以提高自身提供的回答交互数据的置信度。

应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。

说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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