多轮问答方法、终端设备以及存储介质与流程

文档序号:18193957发布日期:2019-07-17 05:43阅读:187来源:国知局
多轮问答方法、终端设备以及存储介质与流程

本发明实施例涉及智能问答技术,尤其涉及一种多轮问答方法、终端设备以及存储介质。



背景技术:

人机交互是研究系统与用户之间的交互关系的科学。系统可以是各种各样的机器,也可以是计算机化的系统和软件。例如,通过人机交互可以实现各种人工智能系统(智能客服系统、语音控制系统等)。人工智能语义识别是人机交互的基础,其能够对人类语言进行识别,以转换成机器能够理解的语言。

智能问答系统是人机交互的一种典型应用,其中当用户提出问题后,智能问答系统给出该问题的答案。多轮问答系统是其中一种非常重要的智能问答系统,其往往需要与用户进行多轮的问答交互。并根据用户在某一轮问答过程中输入的交互内容,确定下一轮问答时提供给用户的反馈信息。相应的,一个多轮问答系统往往对应一个多轮问答流程,从多轮问答流程中的根节点开始,根据在多个交互节点(判断节点)接收到的用户交互信息,不断确定整个多轮问答流程的下一走向,直到最后抵达预期中的最终节点来完成整个多轮问答流程。

随着技术的不断进步,人们对多轮问答系统以及针对多轮系统的问答需求不断提高,现有的多轮问答技术已经无法满足人们日益增长的个性化、便捷化的问答需求。



技术实现要素:

本发明实施例提供了一种多轮问答方法、终端设备以及存储介质,以优化现有的基于多轮问答系统的多轮问答方法,提高多轮问答的问答效率以及准确性。

第一方面,本发明实施例提供了一种多轮问答方法,应用于多轮问答系统中,所述多轮问答系统包括:与多轮问答流程图对应的多轮问答流程模块,所述多轮问答流程图中包括多个图形组件,所述图形组件包括:多个交互节点;

存储于知识库中的,与所述多轮问答流程图中每个所述交互节点具有对应关系的一个或多个知识点,与所述交互节点对应的知识点包括:交互问题和交互答案,所述交互问题用于与接收到的用户交互信息进行匹配,所述交互答案用于确定所述多轮问答流程模块的下一走向;以及

存储于所述知识库中的主题知识点,所述主题知识点包括主题问题和主题答案,所述主题问题用于表示与多轮问答系统匹配的所述多轮问答流程模块的触发条件,所述主题答案用于建立所述主题知识点与所述多轮问答流程模块的触发关系;

所述多轮问答方法包括:获取交互用户输入的初始请求信息,并使用所述初始请求信息与知识库中的知识点进行匹配,所述知识库中存储有多个知识点,每个所述知识点包括问题以及答案;

如果确定所述交互用户输入的所述初始请求信息与目标主题知识点中的主题问题相匹配,则根据所述目标主题知识点中的主题答案,触发与所述目标主题知识点对应的多轮问答流程模块的根节点,所述多轮问答流程模块中包括多层交互节点;

根据所述多轮问答流程模块中当前流转至的第一交互节点,所述知识库中存储的与所述第一交互节点对应的一个或者多个知识点,以及所述交互用户针对所述第一交互节点输入的用户交互信息,与所述交互用户进行问答交互。

第二方面,本发明实施例还提供了一种终端设备,所述终端设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的多轮问答方法。

第三方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的多轮问答方法。

本发明实施例提供了一种应用于多轮问答系统的多轮问答方法,通过获取初始请求信息,并使用初始请求信息与知识库中的知识点进行匹配;如果确定初始请求信息与目标主题知识点中的主题问题相匹配,则触发与目标主题知识点对应的多轮问答流程模块的根节点;根据多轮问答流程模块中当前流转至的第一交互节点,知识库中存储的与第一交互节点对应的一个或者多个知识点,以及交互用户针对第一交互节点输入的用户交互信息,与交互用户进行问答交互的技术手段,提出了一种基于多轮问答系统与用户进行多轮问答交互的具体实现方式,极大的满足了交互用户的多轮问答需求,提高了多轮问答的问答效率以及准确性。

附图说明

图1a是本发明实施例所适用的多轮问答系统的生成方法的流程图;

图1b是本发明实施例所适用的一种图形化的多轮问答流程图的示意图;

图1c是本发明实施例所适用的一种输入交互节点的自定义配置信息的示意图;

图1d是本发明实施例所适用的一种输入播报节点的自定义配置信息的示意图;

图1e是本发明实施例所适用的一种输入连接件的自定义配置信息的示意图;

图2是本发明实施例一中的一种基于多轮问答系统的多轮问答方法的流程图;

图3是本发明实施例二中的一种基于多轮问答系统的多轮问答方法的流程图;

图4是本发明实施例三中的一种基于多轮问答系统的多轮问答方法的流程图;

图5是本发明实施例四中的一种终端设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

为了便于理解本发明实施例的内容,先介绍一下智能问答中的问答知识点以及语义表达式的相关概念进行简单介绍:

1、问答知识点

知识库中的问答知识点最原始和最简单的形式就是平时常用的faq,一般的形式是“问-答”对。例如,“彩铃的资费”就是表达清晰的标准问描述。这里的“问”不应被狭义地理解为“询问”,而应广义地来理解一“输入”,该“输入”具有对应的“输出”。例如,对于用于控制系统的语义识别而言,用户的一个指令,例如“打开收音机”也应可以被理解为是一个“问”,此时对应的“答”可以是用于执行相应控制的控制程序的调用。

用户在向机器输入时,最理想的情况是使用标准问,则机器的智能语义识别系统马上能够理解用户的意思。然而,用户往往并非使用的是标准问,而是标准问的一些变形的形式。例如,若对于收音机的电台切换的标准问形式是“换一个电台”,那么用户可能使用的命令是“切换一个电台”,机器也需要能够识别用户表达的是同一个意思。

对于智能语义识别而言,知识库里需要有标准问的扩展问,该扩展问与标准问表达形式有略微差异,但是表达相同的含义。

因此,知识库中包括多个问答知识点,每个问答知识点包括问题和答案,问题包括标准问和多个扩展问,问答知识点中的问题一般是通过语义表达式的形式展现的。

2、语义表达式

语义表达式主要由词、词类以及他们的“或”关系构成,其核心依赖于“词类”,词类简单的理解即为一组有共性的词,这些词在语义上可以相似也可以不相似,这些词也可以被标注为重要或不重要。语义表达式与用户问句关系与传统的模板匹配有了很大的不同,在传统模板匹配中,模板和用户问句只是匹配与未匹配的关系,而语义表达式与用户问句之间关系是通过量化的值(相似度)来表示,同时这个量化的值与相似问句和用户问句之间的相似度是可以互相比较的。由于语义表达式要和相似问句一起参与相似度计算,所以模板语法的定义不宜复杂,但又要有足够的能力表达语义。

此外,在本发明各实施例中,给出了针对设定多轮问答系统的多轮问答方法,其中,所述多轮问答系统具体包括:

与多轮问答流程图对应的多轮问答流程模块,所述多轮问答流程图中包括多个图形组件,所述图形组件包括:多个交互节点;

存储于知识库中的,与所述多轮问答流程图中每个所述交互节点具有对应关系的一个或多个知识点,与所述交互节点对应的知识点包括:交互问题和交互答案,所述交互问题用于与接收到的用户交互信息进行匹配,所述交互答案用于确定所述多轮问答流程模块的下一走向;以及

存储于所述知识库中的主题知识点,所述主题知识点包括主题问题和主题答案,所述主题问题用于表示与多轮问答系统匹配的所述多轮问答流程模块的触发条件,所述主题答案用于建立所述主题知识点与所述多轮问答流程模块的触发关系。

为了便于理解,首先将上述多轮问答系统的生成方法进行简单介绍。

如图1a所示,所述多轮问答系统的生成方法具体包括:

s110、获取图形化的一个或多个多轮问答流程图。

其中,所述多轮问答流程图具体可以是选择并组合设定流程编辑界面中提供的各个图形组件,所得到的图形化的流程图。

其中,图形组件可以包括节点以及用于连接不同节点的连接件(典型的,连接线)。所述节点中包括交互节点,所述交互节点具体是指可以与交互用户进行了问答(可以一问一答,也可以一问多答)交互的节点,在该交互节点下,可以根据用户输入的用户交互信息,确定多轮问答流程图的下一走向。

从多轮问答流程图的整体结构来说,一个多轮问答流程图可以包括有一个根节点代表流程的开始,一个或多个终止节点代表流程的结束。此外,多轮问答流程图中还可以包括多层交互节点,每层交互节点包括一个或多个交互节点。其中,一层交互节点,对应一个问答阶段。

当然,可以理解的是,所述节点除了可以包括交互节点之外,还可以包括播报节点、变量设置节点或者录音节点等,本实施例对此并不进行限定,一般来说,一个多轮问答流程图中的根节点为交互节点,终止节点为播报节点。

为了便于理解,在图1b中示出了一种图形化的多轮问答流程图。如图1b所示,所述多轮问答流程图中菱形的图形组件为交互节点(例如:询问年龄节点101),方形的图形组件为播报节点(例如:年龄不满足贷款条件节点102)。各个节点之间通过节点到节点的连接线相连。其中,图1b中所述多轮问答流程图中包括有四层交互节点。每一层中包括有一个交互节点,也即:第一层中包括:询问年龄节点101(根节点),代表年龄询问阶段、第二层包括询问是否有车有房节点103,代表车房询问阶段、第三层包括询问贷款金额的节点106,代表贷款金额询问阶段,以及第四层包括询问分期数节点107,代表分期数询问阶段。每一个交互节点中根据输入的不同的交互内容会相应确定该多轮问答流程图的不同走向。此外,该多轮问答流程图包括有多个终止节点,也即:年龄不满足贷款条件节点102、提醒超额节点109、提醒超分期数节点108以及播报贷款分期结果节点10a。

s120、根据每个所述多轮问答流程图中包括的各图形组件,生成与所述多轮问答流程图匹配的标准化代码框架,其中,所述图形组件包括:多个交互节点。

其中,提出了一种可以自动生成的多轮问答流程模块。相应的,预先提供与不同类型图形组件相匹配的标准实现代码,例如:建立与交互节点以及播报节点分别对应的标准实现代码封装于不同的库文件中,并预先建立标准实现代码与对应图形组件之间的对应关系。典型的,可以在所述流程编辑界面中预先写入与各图形组件匹配的标准化实现代码的存储地址(或者引用地址),相应的,可以针对基于所述流程编辑界面绘制的多轮问答流程图中包括的各图形组件,自动对应生成匹配的标准化代码框架。

需要说明的是,本发明实施例主要关注的是多轮问答系统的生成方法,因此,多轮问答流程图中可以包括有多个交互节点,但是,本发明实施例的技术方案理论上可以实现任何类型的问答系统的生成,只要根据需要绘制对应的流程图,即可得到相应的标准化代码框架,并进而得到对应的流程模块。

s130、根据与所述多轮问答流程图中的各所述图形组件匹配的自定义配置信息,生成与各所述图形组件分别对应的自定义代码添加于所述标准化代码框架中与图形组件关联的位置处,以生成与所述多轮问答流程图对应的多轮问答流程模块。

可以理解的是,与各个图形组件匹配的标准实现代码中,仅包括了对应图形组件能够实现的通用功能。例如:针对一个交互节点,对应的标准实现代码中包括有判断逻辑,或者针对一个播报节点,对应的标准实现代码中包括有播报逻辑等。为了使得一个图形组件能够实现多轮问答流程图中赋予其的功能,需要输入相应的自定义配置参数。

举一个简单的例子,针对图1b中的年龄不满足贷款条件节点102,需要年龄不满足贷款条件节点102在被触发后,能够播报内容“年龄不满足贷款条件”,相应的,上述“年龄不满足贷款条件”就是对年龄不满足贷款条件节点102赋予的功能,为了使得年龄不满足贷款条件节点102能够实现上述功能,需要将上述播报内容作为自定义配置信息加入所述标准化代码框架中。

典型的,可以在与各图形组件匹配的标准实现代码中的设定位置预留有空白代码段,在获取针对多轮问答流程图中的一个图形组件输入的自定义配置参数时(例如,通过流程编辑界面提供的参数配置界面输入),将所述自定义配置参数匹配的自定义代码加入对应的空白代码段中,以实现自定义的图形组件功能。

可选的,可以将自定义配置信息(例如:年龄不满足贷款条件)直接作为所述自定义代码添加于所述标准化代码框架中,还可以根据自定义配置信息(例如,开启拒识优先选项或者开启知识优先选项),匹配预先编写的与不同自定义配置信息匹配的自定义代码添加于所述标准化代码框架中,本实施例对此并不进行限制。

相应的,如果对一个多轮问答流程图中包括的全部图形组件均完成了自定义设置,则可以生成能够实现该多轮问答流程图功能的实现代码,也即:生成了本发明实施例所述的多轮问答流程模块。

s140、建立每个所述交互节点与知识库中一个或多个知识点的对应关系,与所述交互节点对应的知识点包括:交互问题和交互答案,所述交互问题用于与接收到的用户交互信息进行匹配,所述交互答案用于确定所述多轮问答流程模块的下一走向。

其中,交互节点需要根据用户交互信息确定建立的所述多轮问答流程模块的下一走向。也即:交互节点包括有至少两个分支,不同分支对应所述多轮问答流程模块的不同走向。因此,需要在该多轮问答流程模块中为不同分支设定不同的分支条件,例如:如图1b所示,在询问年龄节点101上,如果确定用户交互信息为“已满20岁”,则多轮问答流程模块沿着分支a流转至询问是否有车有房节点103这一走向,如果确定用户交互信息为“未满20岁”,则多轮问答流程模块会沿着分支b流转至年龄不满足贷款条件节点102这一走向。

实际上,交互用户(也即:与多轮问答系统进行问答交互的用户)在一个交互节点下输入的用户交互信息的表达形式可能并不唯一,或者说多个不同的用户交互信息均可以对应同一个分支条件。如前例,例如,可以预先规定用户交互信息为“已满20岁”、“已成年”或者“满足年龄条件”时,多轮问答流程模块均会沿着分支a进行流转,则除了将分支a(连接件)的动态触发条件设置为“已满20岁”之外,还需要在知识库中建立与交互节点匹配的交互知识点:(已满20岁,已满20岁),(已成年,已满20岁)以及(满足年龄条件,已满20岁)。并分别建立上述交互知识点与询问年龄节点101的对应关系。相似地,对于“未满20岁”这一分支,也需要在知识库中建立与交互节点匹配的交互知识点:(未满20岁,未满20岁),(未成年,未满20岁)以及(不满足年龄条件,未满20岁)。因此,询问年龄节点101共需与六个交互知识点建立对应关系。可以理解的是,与交互节点对应的知识点,和现有技术中的问答知识点是有区别的,因此,为了便于区别,后文将与交互节点对应的知识点称为交互知识点。

其中,各个括号中的前半部分代表交互知识点的交互问题,用于与接收到的用户交互信息进行匹配,各个括号中的后半部分代表该交互知识点的交互答案,用于确定所述多轮问答流程模块的下一走向。

通过上述操作,当多轮问答流程模块流转至该询问年龄节点101时,无论交互用户输入“已满20岁”还是“已成年”,均可以在知识库中匹配上“已满20岁”这一交互答案,在获取“已满20岁”这一交互答案后,多轮问答系统可以确定该交互答案与分支a设置的动态触发条件相匹配,则多轮问答流程模块通过分支a继续向下流转。

需要再次强调的是,所述知识库中存储的与交互节点对应的交互知识点不同于所述知识库中存储的问答知识点,如前所述,所谓问答知识点,一般包括有问题以及对应的答案(也可称为“问-答”对),其中,所述问答知识点主要适用于与交互用户进行问答的场景中,问答知识点中的问题用于与交互用户的用户交互信息进行匹配,若匹配成功,则向该交互用户反馈该问答知识点中的答案,或者执行与所述答案内容匹配的控制程序的调用。

也即:问答知识点能够直接确定与用户交互信息对应的交互处理结果(例如,反馈答案内容或者执行设定控制程序的调用),而交互知识点是用来确定多轮问答系统的分支条件的,两者用途不同。为了便于在不同应用场景中对上述两类知识点进行区分,可以将交互知识点以及问答知识点存储于所述知识库中不同的存储位置处,或者在交互知识点中添加与问答知识点相区别的知识点标签等。

实际上,设置交互知识点的主要目的是考虑到针对同一交互节点,接收到的用户交互信息的内容可能是多种多样的,例如,前例所述的“已满20岁”或者“已成年”等,但是,为了保证一个多轮问答系统的简洁性,一般在设置交互节点的一个分支条件时,仅使用单一的条件内容,例如:“已满20岁”,因此,引入了交互知识点的概念。通过在知识库中针对同一交互节点的同一分支条件设置多个交互知识点,也即:将多个指向同一分支的不同交互问题,对应上同一个交互答案,即可实现让多个近似表达内容均可以对应上一个分支条件。

在本发明的其它实施例中,在问答知识点与交互知识点不同时,也可以不对两者进行区分,其都在本发明的保护范围之内。

如前例,一个多轮问答流程模块中可以包括多个连接件来连接不同的节点,因此,可以通过配置一个用来连接上层交互节点以及下层节点的目标连接件的自定义配置信息,实现对所述多轮问答流程模块的下一走向的确定。

相应的,所述自定义配置信息可以包括:与目标连接件匹配的动态条件配置信息;所述目标连接件用于连接关联上层节点以及关联下层节点,所述关联上层节点为交互节点;

其中,所述动态条件配置信息为所述多轮问答流程模块从所述关联上层节点流转至所述关联下层节点的条件,所述动态条件配置信息与所述知识库中的所述关联上层节点对应的一个知识点中的交互答案相匹配。

s150、在知识库中添加与每个所述多轮问答流程模块对应的主题知识点,所述主题知识点包括主题问题和主题答案,所述主题问题用于表示多轮问答流程模块的触发条件,所述主题答案用于建立所述主题知识点与所述多轮问答流程模块的触发关系。

其中,在生成了多轮问答流程模块(实现多轮问答流程图的代码),并在知识库中建立交互节点与一个或者多个知识点的对应关系之后,为了实现对该多轮问答流程模块的正常使用,需要进一步在知识库中添加与每个所述多轮问答流程模块对应的主题知识点。

需要说明的是,在本实施例中,给出了一种首先生成多轮问答流程模块,之后建立主题知识点的实现方式,而本领域技术人员可以理解的是,主题知识点的建立过程可以并不局限于生成多轮问答流程模块之后执行,这里并不进行限定。例如,可以首先建立主题知识点,之后在建立对应的多轮问答流程模块等。

实际上,主题知识点与知识库中的问答知识点的区别在于:当交互用户输入的用户交互信息与问答知识点中的问题匹配时,会直接输出该问答知识点的答案,或者执行与所述答案内容匹配的控制程序的调用,而当交互用户输入的用户交互信息(后文统称为初始请求信息)与一个主题知识点的主题问题匹配时,则会对应触发该多轮问答流程模块(例如,直接触发该多轮问答流程模块的根节点)。

典型的,一个主题知识点中的主题答案可以为该主题知识点对应的多轮问答流程模块的存储地址或者调用地址等能够准确定位该多轮问答流程模块的信息。

上述内容给出了一种通过所见即所得的方式即可实现的多轮问答系统的生成方法,优化了现有的多轮问答系统的实现方式,实现了多轮问答系统的快速构建以及更新,避免了多轮问答系统生成过程中引入开发人员,大大减少了开发人员的工作量,降低了成本,提高了准确率和效率。

具体的,所述自定义配置信息可以进一步包括:与交互节点对应的拒识优先选项。

其中,在所述多轮问答流程模块流转至配置开启拒识优先功能的第一交互节点时,如果确定接收到的用户交互信息与知识库中的所述第一交互节点对应的至少一个知识点中的交互问题均不匹配,则提供拒识响应,请求重新输入所述用户交互信息。

也即:如果一个交互节点被配置了拒识优先选项,则在该交互节点中仅能识别基于该交互节点的交互问题。典型的,如果针对多轮问答流程图的一个交互节点被设置了拒识优先选项,则获取预先编写的与拒识优先功能匹配的自定义代码,并将上述自定义代码添加于所述标准化代码框架中与该交互节点关联的位置处。

通过设置拒识优先选项,保证了多轮问答系统能够按照预先设计好的流程顺序执行,不会因为用户输入的一些该多轮问答系统无法识别的问题而进行任意跳转或者反馈,使得整个多轮问答系统的规律性、次序性更好。

与拒识优先选项不同的是,所述自定义配置信息还可以包括:与交互节点对应的知识优先选项;

其中,在所述多轮问答流程模块流转至配置开启知识优先功能的第二交互节点时,如果确定接收的用户交互信息与知识库中的所述第二交互节点对应的至少一个知识点中的交互问题均不匹配,则在所述知识库中对所述用户交互信息进行全局查找,并根据全局查找结果执行对应的交互操作。

也即:如果一个交互节点被配置了知识优先选项,则在该交互节点中首先识别基于该交互节点的交互问题,如果识别失败,则会继续在知识库中识别其他知识点中问题。典型的,如果针对多轮问答流程图的一个交互节点被设置了知识优先选项,则获取预先编写的与知识优先功能匹配的自定义代码,并将上述自定义代码添加于所述标准化代码框架中与该交互节点关联的位置处。

通过设置知识优先选项,保证了多轮问答系统的执行灵活性,可以在确定用户交互信息与当前流转的节点不匹配时,也能很好的与用户进行问答交互,以进一步提高用户满意度。

在一个具体例子中,针对如图1b的流程图对应的多轮交互系统,针对询问年龄节点101这一交互节点对应有6个交互知识点,这6个交互知识点的交互问题分别为“已满20岁”、“已成年”、“满足年龄条件”、“未满20岁”、“未成年”以及“未满足年龄条件”,当输入的用户交互信息与上述6个交互问题均不匹配时,例如:“今天天气怎么样”,如果该询问年龄节点101设置了拒识优先选项,则多轮问答系统不会针对该用户交互信息给出相应的反馈,并停留在询问年龄节点101上继续等待用户重新输入新的交互信息;如果该询问年龄节点101设置了知识优先选项,则该多轮问答系统会在知识库中查找与该询问天气的问题对应的问答知识点,并将该问答知识点的答案进行反馈,例如,“今天天气晴,温度25℃”。

具体的,所述自定义配置信息还可以进一步包括:与交互节点对应的回溯功能选项;

其中,在所述多轮问答流程模块流转至配置开启回溯功能的第三交互节点时,如果确定接收的用户交互信息与知识库中的所述第三交互节点对应的上层节点的交互问题相匹配,则将所述多轮问答流程模块流转至所述第三交互节点对应的上层节点。

通过设置回溯功能,可以使得多轮问答系统的通用性更强,在多轮问答系统与用户进行问答交互过程中,可以随时根据用户输入的内容,重新调整整个多轮问答系统的走向,特别是,可以重新返回至一个已经执行过的交互节点重新执行,并重新确定基于该交互节点的下一走向,以更好的满足用户的实际多轮问答需求。

在一个具体例子中,针对如图1b的流程图对应的多轮交互系统,针对询问年龄节点101,用户输入了“未满20岁”这一用户交互信息,相应的,该多轮问答系统通过分支b流转至年龄不满足贷款条件节点102,并向用户播放相应的播报内容。此时,如果用户重新输入“已满20岁”这一用户交互信息,则多轮问答系统会重新流转(回溯)至询问年龄节点101,并根据用户输入的上述内容,多轮问答系统重新通过分支a流转至询问是否有车有房节点103继续与用户进行问答交互。

具体的,所述图形组件还可以进一步包括:播报节点。相应的,所述自定义配置信息可以包括:与节点对应的播报内容,所述节点包括:交互节点以及播报节点;

其中,如果所述多轮问答流程模块流转至配置有播报内容的第四节点,则对应播报与所述第四节点对应的播报内容。

在一个具体例子中,如图1b所示,当多轮问答系统流转至询问是否有车有房节点103这一交互节点时,该交互节点首先会播报预先设定的播报内容,例如,“请问您是否有车有房”,之后会基于后续接收的用户交互信息确定多轮问答系统的下一走向;当多轮问答系统流转至满足20万贷款条件这一播报节点时,该播报节点会直接播报预先设定的播报内容,例如:“您满足20万贷款条件”。

通过设置播报内容,可以与用户进行有效的问答交互,并可以对用户下一步需要输入的交互内容进行有效提示。

具体的,所述自定义配置信息还可以进一步包括:与节点对应的打断功能选项;

其中,在所述多轮问答流程模块流转至开启打断功能的第五节点时,如果在与所述第五节点对应的播报内容播报结束之前,接收到用户交互信息,则停止对所述播报内容的继续播报。

设置打断功能选项的好处是:如果一个用户比较熟悉整个多轮问答系统的交互过程,其无需等待多轮问答系统中的一个节点结束播报,即可快速输入所需交互的信息,进一步提高人机交互的效率。

在一个具体例子中,如图1b所示,当多轮问答系统流转至询问是否有车有房节点103这一交互节点时,在该交互节点播报“请问您是否有车有房”的过程中,如果接收到用户输入的“有车无房”,则不会再继续播报上述播报内容,而是迅速流转至满足20万贷款条件节点104与用户进行交互,节约了整个问答交互时间。

其中,针对多轮问答系统可能会使用到的各种功能需要,对应编写并封装了相应的实现代码,可以使得流程设计人员根据实际的设计需求,方便的选择或者输入所需的自定义配置需求即可,进一步提高了本发明实施例的多轮问答系统的生成方法的通用性以及使用满意度。

其中,为了便于理解,在图1c中示出了一种输入交互节点的自定义配置信息的示意图。如图1c所示,给出了针对图1b中的询问年龄节点101的自定义配置信息的示意图。其中,在与“知识”对应的输入框中,可以输入与该询问年龄节点101对应的全部交互问题。

在图1d中示出了一种输入播报节点的自定义配置信息的示意图。如图1d所示,给出了针对图1b中的提醒超额节点109的自定义配置信息的示意图。其中,在答案框中,可以输入与该提醒超额节点109对应的播报内容。

在图1e中示出了一种输入连接件的自定义配置信息的示意图。如图1d所示,给出了针对图1b中的与分支a对应的连接件的自定义配置信息的示意图,其中,在与“条件”对应的输入框中,可以输入分支被选择执行的条件。

典型的,可以在用户双击或者单击多轮问答流程图中的一个图形组件时,对应弹出上述自定义配置信息的输入模板,流程设计人员通过简单的选择以及输入操作,即可实现对不同的图形组件输入不同的自定义配置信息。

实施例一

图2中示出了本发明实施例一中的一种基于多轮问答系统的多轮问答方法的流程图,本实施例所述的多轮问答方法的基础是通过上述多轮问答系统的生成方法所生成的多轮问答系统,本实施例可适用于与交互用户进行多轮问答交互的情况,该方法可以由基于多轮问答系统的多轮问答装置来执行,该装置可以由软件和/或硬件来实现,一般可集成在具有交互功能的专用交互设备中(例如,智能机器人)或者集成于安装有交互类软件(例如,语音助手)的通用终端设备中,(例如,手机或者平板电脑等),该方法具体包括:

s210、根据交互用户输入的初始请求信息在知识库中进行查找,所述知识库中存储有多个知识点,每个所述知识点包括问题以及答案。

在本实施例中,所述知识库中存储的知识点包括:问答知识点、主题知识点以及与交互节点对应的知识点(也即:交互知识点)。其中,上述知识点的相关概念已经在上文进行详细介绍,此处不再赘述。

s220、如果确定所述交互用户输入的问题与目标主题知识点中的主题问题相匹配,则根据所述目标主题知识点中的主题答案,触发与所述目标主题知识点对应的多轮问答流程模块的根节点,所述多轮问答流程模块中包括多层交互节点。

在本实施例中,所述主题知识点中的主题答案中存储有可以准确定位相应多轮问答流程模块的信息,在确定交互用户输入的初始请求信息与一个主题知识点的主题问题相匹配后,可以准确定位匹配的多轮问答流程模块,并相应触发该多轮问答流程模块的根节点,也即:激活了该多轮问答流程模块与交互用户进行问答交互。

s230、根据所述多轮问答流程模块中当前流转至的第一交互节点,所述知识库中存储的与所述第一交互节点对应的一个或者多个知识点,以及所述交互用户针对所述第一交互节点输入的用户交互信息,与所述交互用户进行问答交互。

如前所述,一个多轮问答流程模块包括多层交互节点,每层交互节点包括一个或多个交互节点,根节点是第一层节点。在多轮问答流程模块流转至一个交互节点时,将交互用户基于该交互节点输入的用户交互信息与知识库中与该节点对应的一个或者多个知识点进行匹配,并根据相应的匹配结果,确定该多轮问答流程模块的下一走向。

本发明实施例提供了一种应用于多轮问答系统的多轮问答方法,通过获取初始请求信息,并使用初始请求信息与知识库中的知识点进行匹配;如果确定初始请求信息与目标主题知识点中的主题问题相匹配,则触发与目标主题知识点对应的多轮问答流程模块的根节点;根据多轮问答流程模块中当前流转至的第一交互节点,知识库中存储的与第一交互节点对应的一个或者多个知识点,以及交互用户针对第一交互节点输入的用户交互信息,与交互用户进行问答交互的技术手段,提出了一种基于多轮问答系统与用户进行多轮问答交互的具体实现方式,极大的满足了交互用户的多轮问答需求,提高了多轮问答的问答效率以及准确性。

实施例二

图3为本发明实施例二提供的一种基于多轮问答系统的多轮问答方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,对根据所述多轮问答流程模块中当前流转至的交互节点,与所述交互用户进行问答交互的过程进行进一步的具体化,相应的,本发明实施例的方法包括:

s310、根据交互用户输入的初始请求信息在知识库中进行查找,所述知识库中存储有多个知识点,每个所述知识点包括问题以及答案。

s320、如果确定所述交互用户输入的问题与目标主题知识点中的主题问题相匹配,则根据所述目标主题知识点中的主题答案,触发与所述目标主题知识点对应的多轮问答流程模块的根节点,所述多轮问答流程模块中包括多层交互节点。

s330、获取用户针对所述第一交互节点输入的用户交互信息。

s340、将所述用户交互信息与所述第一交互节点对应的一个或者多个知识点中的交互问题进行匹配。

s350、判断是否匹配成功,若是,执行s360;否则,执行s390。

s360、将匹配成功的知识点对应的交互答案返回至所述多轮问答流程模块,以使所述多轮问答流程模块确定下一走向。

在本实施例中,如果交互用户输入的用户交互信息与当前流转的交互节点对应的一个知识点相匹配,则多轮问答流程模块在获取知识库返回的交互答案后,可以根据配置的动态触发条件与该交互答案相匹配的连接件,确定整个多轮问答流程模块的下一走向。

s370、判断是否退出所述多轮问答流程模块或结束交互,若是,结束流程,否则,执行s380。

在本实施例中,为了方便表述,将判断是否退出所述多轮问答流程模块或结束交互的过程放在了s360之后。实际上,交互用户可以在多轮问答流程模块流转至任意节点时退出所述多轮问答流程模块,因此,上述判断过程可以与本发明实施例的各个步骤独立并行执行,本实施例对上述判断过程的实施时机并不进行限制。

s380、根据与下一走向对应的节点继续与所述交互用户进行问答交互。

在本实施例中,如果与下一走向对应的节点为交互节点,则会将与下一走向对应的交互节点确定为新的第一交互节点后,重复执行s340-s360的操作;如果与下一走向对应的节点为播报节点且该播报节点不为终止节点,则会相应播报对应的播报内容并根据与该播报节点唯一确定的下一走向,流转至由该播报节点确定的下一节点与所述交互用户进行问答交互(例如:图1b中,满足20万贷款条件节点104以及满足30万贷款条件节点105均唯一指向询问贷款金额节点106);如果与下一走向对应的节点为播报节点且该播报节点为终止节点,则会相应播报对应的播报内容后与该交互用户结束交互。

s390、确定所述第一交互节点配置的优先识别类型:如果确定所述第一交互节点配置开启拒识优先功能,则执行s3100;如果确定所述第一交互节点配置开启知识优先功能,则执行s3110。

在本实施例中,在确定用户交互信息与第一交互节点对应的一个或者多个知识点均不匹配时,可以根据配置的与该第一交互节点对应的不同类型的自定义配置参数,采取不同的流程处理方式进行处理。

s3100、向所述交互用户提供拒识响应,请求所述交互用户重新输入针对所述第一交互节点的用户交互信息,并在获取新的用户交互信息时,返回执行s340。

在本实施例中,如果该第一交互节点配置开启拒识优先功能,则只会基于预先配置的与该第一交互节点对应的知识点中的交互问题与用户交互信息进行匹配,如果匹配失败,则拒绝识别,请求交互用户重新输入上述用户交互信息并重新匹配。

s3110、在所述知识库中对接收的所述用户交互信息进行全局查找。

在本实施例中,如果该第一交互节点配置开启知识优先功能,则在该第一交互节点对应的知识点中的交互问题与用户交互信息匹配失败时,会采用知识库中包括的其他知识点与该用户交互信息进行匹配,并反馈相应的匹配结果。

s3120、判断所述知识库中是否包括问题与所述用户交互信息匹配的知识点:若是,执行s3130;否则执行s3140。

s3130、将与查找到的知识点对应的答案提供给所述交互用户。

其中,所述查找到的知识点可以为一般的问答知识点,在将该问答知识点对应的答案提供给所述交互用户后,可以继续保持所述多轮问答系统当前交互节点(第一交互节点)的触发状态,并继续获取交互用户针对该第一交互节点输入的用户交互信息进行匹配。

进一步的,所述查找到的知识点还可以为其他的主题知识点,相应的,将与查找到的知识点对应的答案提供给所述交互用户具体可以包括:

如果确定查找到的知识点为另一主题知识点,则结束当前多轮问答流程模块的触发状态;根据所述另一主题知识点中的主题答案,触发与所述另一主题知识点对应的多轮问答流程模块。

s3140、向所述交互用户提供匹配失败响应,请求所述交互用户重新输入针对所述第一交互节点的用户交互信息,并在获取新的用户交互信息时,返回执行s340。

本发明实施例的技术方案给出了一种针对配置有拒识优先或者知识优先的交互节点的多轮问答方法,进一步丰富了多轮问答方法能够适用的场景,极大的满足了交互用户的使用体验。

实施例三

图4为本发明实施例三提供的一种基于多轮问答系统的多轮问答方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,对根据所述多轮问答流程模块中当前流转至的交互节点,与所述交互用户进行问答交互的过程进行进一步的具体化,相应的,本发明实施例的方法包括:

s410、根据交互用户输入的初始请求信息在知识库中进行查找,所述知识库中存储有多个知识点,每个所述知识点包括问题以及答案。

s420、如果确定所述交互用户输入的问题与目标主题知识点中的主题问题相匹配,则根据所述目标主题知识点中的主题答案,触发与所述目标主题知识点对应的多轮问答流程模块的根节点,所述多轮问答流程模块中包括多层交互节点。

s430、获取用户针对所述第一交互节点输入的用户交互信息。

s440、判断所述第一交互节点是否配置为开启回溯功能:若是,执行s450;否则,执行s460。

s450、获取与所述知识库中存储的与所述第一交互节点以及所述第一交互节点的上层节点分别对应的一个或者多个知识点,执行s470。

s460、获取与所述知识库中存储的与所述第一交互节点对应的一个或者多个知识点,执行s480。

s470、如果确定接收的用户交互信息与知识库中的所述第一交互节点对应的上层节点的交互问题相匹配,则将所述多轮问答流程模块流转至匹配的上层节点,将匹配成功的知识点对应的交互答案返回至所述多轮问答流程模块,以使所述多轮问答流程模块确定下一走向。

s480、如果确定接收的用户交互信息与知识库中的所述第一交互节点对应的交互问题相匹配,则将匹配成功的知识点对应的交互答案返回至所述多轮问答流程模块,以使所述多轮问答流程模块确定下一走向。

在本实施例中,如果确定第一交互节点配置开启了回溯功能,则在多轮问答流程模块流转至第一交互节点时,还可以根据交互用户的实际需求,回溯至多轮问答流程模块中位于所述第一交互节点之上的其他交互节点;如果确定第一交互节点未配置开启回溯功能,则在多轮问答流程模块流转至第一交互节点时,无法回溯至多轮问答流程模块中位于所述第一交互节点之上的其他交互节点。

例如:如图1b所示,如果多轮问答流程模块已经流转至询问贷款金额节点106,且该询问贷款金额节点106配置开启了回溯功能,则在交互用户输入“已满20岁”时,该多轮问答流程模块会重新流转至询问年龄节点101于交互用户进行问答交互。

本发明实施例的技术方案给出了一种针对配置有回溯功能的交互节点的多轮问答方法,进一步丰富了多轮问答方法能够适用的场景,极大的满足了交互用户的使用体验。

在上述各实施例的基础上,所述方法还可以包括:在所述多轮问答流程模块流转至第二节点时,根据所述第二节点配置的播报内容,向所述交互用户进行播报;其中,所述第二节点包括:交互节点或者播报节点。

在上述各实施例的基础上,根据所述第二节点配置的播报内容,向所述交互用户进行播报,包括:

如果所述第二节点配置为开启打断功能且在与所述第二节点对应的播报内容播报结束之前,接收到用户交互信息,则停止对所述播报内容的继续播报。

也即:在多轮问答流程模块中的播报节点或者交互节点向交互用户播报相应的播报内容的过程中(播报内容并未播报结束),如果交互用户打断了上述播放内容,则会停止对播报内容的继续播报。

这样设置的好处是:给出了一种针对配置有打断功能的交互节点或者播报节点的多轮问答方法,进一步丰富了多轮问答方法能够适用的场景,极大的满足了交互用户的使用体验。

实施例四

图5为本发明实施例十三提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图5显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图5中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于多轮问答系统的多轮问答方法。

也即:根据交互用户输入的初始请求信息在知识库中进行查找,所述知识库中存储有多个知识点,每个所述知识点包括问题以及答案;

如果确定所述交互用户输入的问题与目标主题知识点中的主题问题相匹配,则根据所述目标主题知识点中的主题答案,触发与所述目标主题知识点对应的多轮问答流程模块的根节点,所述多轮问答流程模块中包括多层交互节点;根据所述多轮问答流程模块中当前流转至的第一交互节点,所述知识库中存储的与所述第一交互节点对应的一个或者多个知识点,以及所述交互用户针对所述第一交互节点输入的用户交互信息,与所述交互用户进行问答交互。

实施例五

本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的基于多轮问答系统的多轮问答方法:

也即:根据交互用户输入的初始请求信息在知识库中进行查找,所述知识库中存储有多个知识点,每个所述知识点包括问题以及答案;

如果确定所述交互用户输入的问题与目标主题知识点中的主题问题相匹配,则根据所述目标主题知识点中的主题答案,触发与所述目标主题知识点对应的多轮问答流程模块的根节点,所述多轮问答流程模块中包括多层交互节点;根据所述多轮问答流程模块中当前流转至的第一交互节点,所述知识库中存储的与所述第一交互节点对应的一个或者多个知识点,以及所述交互用户针对所述第一交互节点输入的用户交互信息,与所述交互用户进行问答交互。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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