CN109933314B - 多轮问答***的生成装置 - Google Patents
多轮问答***的生成装置 Download PDFInfo
- Publication number
- CN109933314B CN109933314B CN201711346376.8A CN201711346376A CN109933314B CN 109933314 B CN109933314 B CN 109933314B CN 201711346376 A CN201711346376 A CN 201711346376A CN 109933314 B CN109933314 B CN 109933314B
- Authority
- CN
- China
- Prior art keywords
- question
- node
- interactive
- answering
- answer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种多轮问答***的生成装置。所述装置包括:多轮问答流程图获取模块,获取多轮问答流程图;标准化代码框架生成模块,根据多轮问答流程图中包括的各图形组件,生成与多轮问答流程图匹配的标准化代码框架;自定义代码添加模块,根据与各图形组件匹配的自定义配置信息,生成对应的多轮问答流程模块;对应关系建立模块,建立每个交互节点与知识库中一个或多个知识点的对应关系;及主题知识点添加模块,在知识库中添加与每个多轮问答流程模块对应的主题知识点。本发明实施例的方案优化了现有的多轮问答***的实现方式,实现了多轮问答***的快速构建以及更新,提高多轮问答***的生成效率,大大减少了开发人员的工作量。
Description
技术领域
本发明实施例涉及智能问答技术,尤其涉及一种多轮问答***的生成装置。
背景技术
人机交互是研究***与用户之间的交互关系的科学。***可以是各种各样的机器,也可以是计算机化的***和软件。例如,通过人机交互可以实现各种人工智能***(智能客服***、语音控制***等)。人工智能语义识别是人机交互的基础,其能够对人类语言进行识别,以转换成机器能够理解的语言。
智能问答***是人机交互的一种典型应用,其中当用户提出问题后,智能问答***给出该问题的答案。多轮问答***是其中一种非常重要的智能问答***,其往往需要与用户进行多轮的问答交互。并根据用户在某一轮问答过程中输入的交互内容,确定下一轮问答时提供给用户的反馈信息。相应的,一个多轮问答***往往对应一个多轮问答流程,从多轮问答流程中的根节点开始,根据在多个交互节点(判断节点)接收到的用户交互信息,不断确定整个多轮问答流程的下一走向,直到最后抵达预期中的最终节点来完成整个多轮问答流程。
现在技术在实现多轮问答***时,往往需通过开发人员将流程设计人员绘制的多轮问答流程图以代码的形式进行实现。代码中包括语义的理解,流程的走向,业务数据***的对接,对用户播报的话术等。也即,智能问答***的流程设计人员提出需求后,由开发人员实现对应代码的编写。也就是说,实现流程的代码对于智能问答***的流程设计人员来说完全是个黑盒,如果需要对多轮问答***做任何的变更,就算是只修改答案话术,都要引入开发人员来修改流程代码,重新生成对应流程服务后更新到服务器,此外如果流程服务在交互过程中没有按照既定流程走,也需要通过开发人员的介入来设置断点查找代码中的问题。
发明内容
本发明实施例提供了一种多轮问答***的生成装置,以优化现有的多轮问答***的实现方式,提高多轮问答***的生成效率。
本发明实施例提供了一种多轮问答***的生成装置,包括:
多轮问答流程图获取模块,用于获取图形化的一个或多个多轮问答流程图;
标准化代码框架生成模块,用于根据每个所述多轮问答流程图中包括的各图形组件,生成与所述多轮问答流程图匹配的标准化代码框架,其中,所述图形组件包括:多个交互节点;
自定义代码添加模块,用于根据与所述多轮问答流程图中的各所述图形组件匹配的自定义配置信息,生成与各所述图形组件分别对应的自定义代码添加于所述标准化代码框架中与图形组件关联的位置处,以生成与所述多轮问答流程图对应的多轮问答流程模块;
对应关系建立模块,用于建立每个所述交互节点与知识库中一个或多个知识点的对应关系,与所述交互节点对应的知识点包括:交互问题和交互答案,所述交互问题用于与接收到的用户交互信息进行匹配,所述交互答案用于确定所述多轮问答流程模块的下一走向;
主题知识点添加模块,用于在知识库中添加与每个所述多轮问答流程模块对应的主题知识点,所述主题知识点包括主题问题和主题答案,所述主题问题用于表示多轮问答流程模块的触发条件,所述主题答案用于建立所述主题知识点与所述多轮问答流程模块的触发关系。
本发明实施例提供了一种多轮问答***的生成装置,通过图形化的多轮问答流程图以及针对所述多轮问答流程图中的各所述图形组件设置的自定义配置信息,可以自动生成用于实现所述多轮问答流程图功能的多轮问答流程模块,之后通过在知识库中建立多轮问答流程图中多个交互节点与一个或多个知识点的对应关系,以及在知识库中添加与每个所述多轮问答流程模块对应的主题知识点的方式,可以灵活的实现对基于该多轮问答流程模块生成的多轮问答***的使用。本发明实施例的技术方案给出了一种通过所见即所得的方式即可实现的多轮问答***的生成装置,优化了现有的多轮问答***的实现方式,实现了多轮问答***的快速构建以及更新,避免了在多轮问答***生成过程中引入开发人员,大大减少了开发人员的工作量,降低了成本,提高了准确率和效率。
附图说明
图1a是本发明实施例一中的一种多轮问答***的生成装置的结构图;
图1b是本发明实施例一中的一种图形化的多轮问答流程图的示意图;
图1c是本发明实施例一中的一种输入交互节点的自定义配置信息的示意图;
图1d是本发明实施例一中的一种输入播报节点的自定义配置信息的示意图;
图1e是本发明实施例一种的一种输入连接件的自定义配置信息的示意图;
图2是本发明实施例二中的一种多轮问答***的生成装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
为了便于理解本发明实施例的内容,先介绍一下智能问答中的问答知识点以及语义表达式的相关概念进行简单介绍:
1、问答知识点
知识库中的问答知识点最原始和最简单的形式就是平时常用的FAQ,一般的形式是“问-答”对。例如,“彩铃的资费”就是表达清晰的标准问描述。这里的“问”不应被狭义地理解为“询问”,而应广义地来理解一“输入”,该“输入”具有对应的“输出”。例如,对于用于控制***的语义识别而言,用户的一个指令,例如“打开收音机”也应可以被理解为是一个“问”,此时对应的“答”可以是用于执行相应控制的控制程序的调用。
用户在向机器输入时,最理想的情况是使用标准问,则机器的智能语义识别***马上能够理解用户的意思。然而,用户往往并非使用的是标准问,而是标准问的一些变形的形式。例如,若对于收音机的电台切换的标准问形式是“换一个电台”,那么用户可能使用的命令是“切换一个电台”,机器也需要能够识别用户表达的是同一个意思。
对于智能语义识别而言,知识库里需要有标准问的扩展问,该扩展问与标准问表达形式有略微差异,但是表达相同的含义。
因此,知识库中包括多个问答知识点,每个问答知识点包括问题和答案,问题包括标准问和多个扩展问,问答知识点中的问题一般是通过语义表达式的形式展现的。
2、语义表达式
语义表达式主要由词、词类以及他们的“或”关系构成,其核心依赖于“词类”,词类简单的理解即为一组有共性的词,这些词在语义上可以相似也可以不相似,这些词也可以被标注为重要或不重要。语义表达式与用户问句关系与传统的模板匹配有了很大的不同,在传统模板匹配中,模板和用户问句只是匹配与未匹配的关系,而语义表达式与用户问句之间关系是通过量化的值(相似度)来表示,同时这个量化的值与相似问句和用户问句之间的相似度是可以互相比较的。由于语义表达式要和相似问句一起参与相似度计算,所以模板语法的定义不宜复杂,但又要有足够的能力表达语义。
实施例一
图1a为本发明实施例一提供的一种多轮问答***的生成装置的结构图,本实施例可适用于根据多轮问答流程图生成多轮问答***的情况,所述多轮问答***具体是指可以与交互用户进行多轮问答交互的***,该***可采用软件和/或硬件的方式实现,并一般可以集成在用于生成多轮问答***的终端设备或者服务器中,且该终端设备或者服务器与知识库直接或者间接相连。
如图1a所示,本实施例的生成装置具体包括:多轮问答流程图获取模块110、标准化代码框架生成模块120、自定义代码添加模块130、对应关系建立模块140、以及主题知识点添加模块150,其中:
多轮问答流程图获取模块110,用于获取图形化的一个或多个多轮问答流程图。
在本实施例中,所述多轮问答流程图具体可以是流程设计人员选择并组合设定流程编辑界面中提供的各个图形组件,所得到的图形化的流程图。
其中,图形组件可以包括节点以及用于连接不同节点的连接件(典型的,连接线)。所述节点中包括交互节点,所述交互节点具体是指可以与交互用户进行了问答(可以一问一答,也可以一问多答)交互的节点,在该交互节点下,可以根据用户输入的用户交互信息,确定多轮问答流程图的下一走向。
从多轮问答流程图的整体结构来说,一个多轮问答流程图可以包括有一个根节点代表流程的开始,一个或多个终止节点代表流程的结束。此外,多轮问答流程图中还可以包括多层交互节点,每层交互节点包括一个或多个交互节点。其中,一层交互节点,对应一个问答阶段。
当然,可以理解的是,所述节点除了可以包括交互节点之外,还可以包括播报节点、变量设置节点或者录音节点等,本实施例对此并不进行限定,一般来说,一个多轮问答流程图中的根节点为交互节点,终止节点为播报节点。
为了便于理解,在图1b中示出了一种图形化的多轮问答流程图。如图1b所示,所述多轮问答流程图中菱形的图形组件为交互节点(例如:询问年龄节点101),方形的图形组件为播报节点(例如:年龄不满足贷款条件节点102)。各个节点之间通过节点到节点的连接线相连。其中,图1b中所述多轮问答流程图中包括有四层交互节点。每一层中包括有一个交互节点,也即:第一层中包括:询问年龄节点101(根节点),代表年龄询问阶段、第二层包括询问是否有车有房节点103,代表车房询问阶段、第三层包括询问贷款金额的节点106,代表贷款金额询问阶段,以及第四层包括询问分期数节点107,代表分期数询问阶段。每一个交互节点中根据输入的不同的交互内容会相应确定该多轮问答流程图的不同走向。此外,该多轮问答流程图包括有多个终止节点,也即:年龄不满足贷款条件节点102、提醒超额节点109、提醒超分期数节点108以及播报贷款分期结果节点10A。
标准化代码框架生成模块120,用于根据每个所述多轮问答流程图中包括的各图形组件,生成与所述多轮问答流程图匹配的标准化代码框架,其中,所述图形组件包括:多个交互节点。
在本实施例中,提出了一种可以自动生成的多轮问答流程模块。相应的,预先提供与不同类型图形组件相匹配的标准实现代码,例如:建立与交互节点以及播报节点分别对应的标准实现代码封装于不同的库文件中,并预先建立标准实现代码与对应图形组件之间的对应关系。典型的,可以在所述流程编辑界面中预先写入与各图形组件匹配的标准化实现代码的存储地址(或者引用地址),相应的,可以针对基于所述流程编辑界面绘制的多轮问答流程图中包括的各图形组件,自动对应生成匹配的标准化代码框架。
需要说明的是,本发明实施例主要关注的是多轮问答***的生成装置,因此,多轮问答流程图中可以包括有多个交互节点,但是,本发明实施例的技术方案理论上可以实现任何类型的问答***的生成,只要根据需要绘制对应的流程图,即可得到相应的标准化代码框架,并进而得到对应的流程模块。
自定义代码添加模块130,用于根据与所述多轮问答流程图中的各所述图形组件匹配的自定义配置信息,生成与各所述图形组件分别对应的自定义代码添加于所述标准化代码框架中与图形组件关联的位置处,以生成与所述多轮问答流程图对应的多轮问答流程模块。
可以理解的是,与各个图形组件匹配的标准实现代码中,仅包括了对应图形组件能够实现的通用功能。例如:针对一个交互节点,对应的标准实现代码中包括有判断逻辑,或者针对一个播报节点,对应的标准实现代码中包括有播报逻辑等。为了使得一个图形组件能够实现多轮问答流程图中赋予其的功能,需要输入相应的自定义配置参数。
举一个简单的例子,针对图1b中的年龄不满足贷款条件节点102,需要年龄不满足贷款条件节点102在被触发后,能够播报内容“年龄不满足贷款条件”,相应的,上述“年龄不满足贷款条件”就是对年龄不满足贷款条件节点102赋予的功能,为了使得年龄不满足贷款条件节点102能够实现上述功能,需要将上述播报内容作为自定义配置信息加入所述标准化代码框架中。
典型的,可以在与各图形组件匹配的标准实现代码中的设定位置预留有空白代码段,在获取针对多轮问答流程图中的一个图形组件输入的自定义配置参数时(例如,通过流程编辑界面提供的参数配置界面输入),将所述自定义配置参数匹配的自定义代码加入对应的空白代码段中,以实现自定义的图形组件功能。
可选的,可以将自定义配置信息(例如:年龄不满足贷款条件)直接作为所述自定义代码添加于所述标准化代码框架中,还可以根据自定义配置信息(例如,开启拒识优先选项或者开启知识优先选项),匹配预先编写的与不同自定义配置信息匹配的自定义代码添加于所述标准化代码框架中,本实施例对此并不进行限制。
相应的,如果对一个多轮问答流程图中包括的全部图形组件均完成了自定义设置,则可以生成能够实现该多轮问答流程图功能的实现代码,也即:生成了本发明实施例所述的多轮问答流程模块。
对应关系建立模块140,用于建立每个所述交互节点与知识库中一个或多个知识点的对应关系,与所述交互节点对应的知识点包括:交互问题和交互答案,所述交互问题用于与接收到的用户交互信息进行匹配,所述交互答案用于确定所述多轮问答流程模块的下一走向。
在本实施例中,交互节点需要根据用户交互信息确定建立的所述多轮问答流程模块的下一走向。也即:交互节点包括有至少两个分支,不同分支对应所述多轮问答流程模块的不同走向。因此,需要在该多轮问答流程模块中为不同分支设定不同的分支条件,例如:如图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岁”,因此,引入了交互知识点的概念。通过在知识库中针对同一交互节点的同一分支条件设置多个交互知识点,也即:将多个指向同一分支的不同交互问题,对应上同一个交互答案,即可实现让多个近似表达内容均可以对应上一个分支条件。
在本发明的其它实施例中,在问答知识点与交互知识点不同时,也可以不对两者进行区分,其都在本发明的保护范围之内。
如前例,一个多轮问答流程模块中可以包括多个连接件来连接不同的节点,因此,可以通过配置一个用来连接上层交互节点以及下层节点的目标连接件的自定义配置信息,实现对所述多轮问答流程模块的下一走向的确定。
相应的,所述自定义配置信息可以包括:与目标连接件匹配的动态条件配置信息;所述目标连接件用于连接关联上层节点以及关联下层节点,所述关联上层节点为交互节点;
其中,所述动态条件配置信息为所述多轮问答流程模块从所述关联上层节点流转至所述关联下层节点的条件,所述动态条件配置信息与所述知识库中的所述关联上层节点对应的一个知识点中的交互答案相匹配。
主题知识点添加模块150,用于在知识库中添加与每个所述多轮问答流程模块对应的主题知识点,所述主题知识点包括主题问题和主题答案,所述主题问题用于表示多轮问答流程模块的触发条件,所述主题答案用于建立所述主题知识点与所述多轮问答流程模块的触发关系。
在本实施例中,在生成了多轮问答流程模块(实现多轮问答流程图的代码),并在知识库中建立交互节点与一个或者多个知识点的对应关系之后,为了实现对该多轮问答流程模块的正常使用,需要进一步在知识库中添加与每个所述多轮问答流程模块对应的主题知识点。
需要说明的是,在本实施例中,给出了一种首先生成多轮问答流程模块,之后建立主题知识点的实现方式,而本领域技术人员可以理解的是,主题知识点的建立过程可以并不局限于生成多轮问答流程模块之后执行,这里并不进行限定。例如,可以首先建立主题知识点,之后在建立对应的多轮问答流程模块等。
实际上,主题知识点与知识库中的问答知识点的区别在于:当交互用户输入的用户交互信息与问答知识点中的问题匹配时,会直接输出该问答知识点的答案,或者执行与所述答案内容匹配的控制程序的调用,而当交互用户输入的用户交互信息(后文统称为初始请求信息)与一个主题知识点的主题问题匹配时,则会对应触发该多轮问答流程模块(例如,直接触发该多轮问答流程模块的根节点)。
典型的,一个主题知识点中的主题答案可以为该主题知识点对应的多轮问答流程模块的存储地址或者调用地址等能够准确定位该多轮问答流程模块的信息。
本发明实施例提供了一种多轮问答***的生成装置,通过图形化的多轮问答流程图以及针对所述多轮问答流程图中的各所述图形组件设置的自定义配置信息,可以自动生成用于实现所述多轮问答流程图功能的多轮问答流程模块,之后通过在知识库中建立多轮问答流程图中多个交互节点与一个或多个知识点的对应关系,以及在知识库中添加与每个所述多轮问答流程模块对应的主题知识点的方式,可以灵活的实现对基于该多轮问答流程模块生成的多轮问答***的使用。本发明实施例的技术方案给出了一种通过所见即所得的方式即可实现的多轮问答***的生成装置,优化了现有的多轮问答***的实现方式,实现了多轮问答***的快速构建以及更新,避免了多轮问答***生成过程中引入开发人员,大大减少了开发人员的工作量,降低了成本,提高了准确率和效率。
在上述各实施例的基础上中,所述自定义配置信息可以进一步包括:与交互节点对应的拒识优先选项。
其中,在所述多轮问答流程模块流转至配置开启拒识优先功能的第一交互节点时,如果确定接收到的用户交互信息与知识库中的所述第一交互节点对应的至少一个知识点中的交互问题均不匹配,则提供拒识响应,请求重新输入所述用户交互信息。
也即:如果一个交互节点被配置了拒识优先选项,则在该交互节点中仅能识别基于该交互节点的交互问题。典型的,如果针对多轮问答流程图的一个交互节点被设置了拒识优先选项,则获取预先编写的与拒识优先功能匹配的自定义代码,并将上述自定义代码添加于所述标准化代码框架中与该交互节点关联的位置处。
通过设置拒识优先选项,保证了多轮问答***能够按照预先设计好的流程顺序执行,不会因为用户输入的一些该多轮问答***无法识别的问题而进行任意跳转或者反馈,使得整个多轮问答***的规律性、次序性更好。
与拒识优先选项不同的是,所述自定义配置信息还可以包括:与交互节点对应的知识优先选项;
其中,在所述多轮问答流程模块流转至配置开启知识优先功能的第二交互节点时,如果确定接收的用户交互信息与知识库中的所述第二交互节点对应的至少一个知识点中的交互问题均不匹配,则在所述知识库中对所述用户交互信息进行全局查找,并根据全局查找结果执行对应的交互操作。
也即:如果一个交互节点被配置了知识优先选项,则在该交互节点中首先识别基于该交互节点的交互问题,如果识别失败,则会继续在知识库中识别其他知识点中问题。典型的,如果针对多轮问答流程图的一个交互节点被设置了知识优先选项,则获取预先编写的与知识优先功能匹配的自定义代码,并将上述自定义代码添加于所述标准化代码框架中与该交互节点关联的位置处。
通过设置知识优先选项,保证了多轮问答***的执行灵活性,可以在确定用户交互信息与当前流转的节点不匹配时,也能很好的与用户进行问答交互,以进一步提高用户满意度。
在一个具体例子中,针对如图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为本发明实施例二提供的一种多轮问答***的生成装置的结构图,本实施例以上述实施例为基础进行优化,在本实施例中,将标准化代码框架生成模块以及对应关系建立模块进行具体化。
相应的,本发明实施例的***包括:多轮问答流程图获取模块210、标准化代码框架生成模块220、自定义代码添加模块230、对应关系建立模块240、以及主题知识点添加模块250,其中:
所述标准化代码框架生成模块220,包括:
基准标准化代码生成单元2201,用于获取所述多轮问答流程图中的根节点,并根据所述根节点的类型生成与所述根节点对应的基准标准化代码,并将所述基准标准化代码加入原始代码框架中;
当前遍历节点获取单元2202,用于从所述根节点的下一层开始,依次获取所述多轮问答流程图中一个节点作为当前遍历节点;
典型的,如果根节点的下一层包括有多个节点,则按照一定的遍历顺序,例如,从左到右或者从右到左等,将该层的节点全部遍历结束后,继续遍历下一层节点。
追加标准化代码获取单元2203,用于根据所述当前遍历节点的类型,获取与所述当前遍历节点对应的追加标准化代码;
追加标准化代码加入单元2204,用于根据与所述当前遍历节点通过连接件连接的上一层节点的标准化代码在所述原始代码框架中的位置,将所述追加标准化代码对应加入所述原始代码框架中;
重复执行单元2205,用于触发所述当前遍历节点获取单元重新执行,直至完成对所述多轮问答流程图中全部节点的处理;
标准化代码框架确定单元2206,用于将处理完成后得到的所述原始代码框架作为与所述多轮问答流程图匹配的标准化代码框架。
需要说明的是,本发明实施例给出了一种根据已经绘制完成的多轮问答流程图生成标准化代码框架的情况,实际上,可以在多轮问答流程图的绘制过程实时更新生成该标准化代码框架,本实施例对该标准化代码框架的生成时机并不做限定。
此外,所述对应关系建立模块240,包括:
知识点获取单元2401,用于获取针对每个多轮问答***中的每个交互节点输入的一个或者多个知识点;
第一对应关系建立单元2402,用于如果确定知识库中不包括输入的所述知识点,则在所述知识库中新建所述知识点,并在所述知识库中建立新建的知识点与对应多轮问答***中的交互节点之间的对应关系;
在本实施例中,考虑这样一种应用场景,多个多轮问答流程模块可能均对应知识库中的一个知识点,例如,图1b中的分期贷款咨询的多轮问答***需要使用询问年龄这一交互节点,而一个***办理咨询的多轮问答***同样需要使用询问年龄这一交互节点。因此,没有必要针对相同的交互节点在知识库中设置多个重复的知识点。
相应的,在获取流程设计人员针对多轮问答流程图的一个交互节点输入的一个或者多个知识点时,根据知识库中对该知识点的存储情况,执行不同的操作:如果知识库中存储该知识点,则直接建立该知识点与交互节点的对应关系;如果知识库中未存储该知识点,则首先在知识库中建立该知识点后,继续建立该知识点与交互节点之间的对应关系。这样设置的好处是:在保证正常的信息查询的基础上,大大精简知识库中存储的信息总量。
第二对应关系建立单元2403,用于如果确定知识库中包括输入的所述知识点,则直接在所述知识库中建立已有知识点与对应多轮问答***中的交互节点之间的对应关系。
本发明实施例的技术方案通过基于绘制完成的多轮问答流程图生成对应的标准化代码框架的方式,避免了在流程图绘制过程中生成标准化代码框架时,针对该多轮问答流程图的修改会对应更新该标准化代码框架的缺陷,提高了多轮问答流程模块的生成效率,此外,本发明实施例不重复存储于交互节点对应的知识点的方式,可以大大精简知识库中的信息总量。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种多轮问答***的生成装置,其特征在于,包括:
多轮问答流程图获取模块,用于获取图形化的一个或多个多轮问答流程图;
标准化代码框架生成模块,用于根据每个所述多轮问答流程图中包括的各图形组件,生成与所述多轮问答流程图匹配的标准化代码框架,其中,所述图形组件包括:多个交互节点;
自定义代码添加模块,用于根据与所述多轮问答流程图中的各所述图形组件匹配的自定义配置信息,生成与各所述图形组件分别对应的自定义代码添加于所述标准化代码框架中与图形组件关联的位置处,以生成与所述多轮问答流程图对应的多轮问答流程模块;
对应关系建立模块,用于建立每个所述交互节点与知识库中一个或多个知识点的对应关系,与所述交互节点对应的知识点包括:交互问题和交互答案,所述交互问题用于与接收到的用户交互信息进行匹配,所述交互答案用于确定所述多轮问答流程模块的下一走向;
主题知识点添加模块,用于在知识库中添加与每个所述多轮问答流程模块对应的主题知识点,所述主题知识点包括主题问题和主题答案,所述主题问题用于表示多轮问答流程模块的触发条件,所述主题答案用于建立所述主题知识点与所述多轮问答流程模块的触发关系;
所述对应关系建立模块,包括:
知识点获取单元,用于获取针对每个多轮问答***中的每个交互节点输入的一个或者多个知识点;
第一对应关系建立单元,用于如果确定知识库中不包括输入的所述知识点,则在所述知识库中新建所述知识点,并在所述知识库中建立新建的知识点与对应多轮问答***中的交互节点之间的对应关系;
第二对应关系建立单元,用于如果确定知识库中包括输入的所述知识点,则直接在所述知识库中建立已有知识点与对应多轮问答***中的交互节点之间的对应关系。
2.根据权利要求1所述的生成装置,其特征在于,所述自定义配置信息包括:与交互节点对应的拒识优先选项;
其中,在所述多轮问答流程模块流转至配置开启拒识优先功能的第一交互节点时,如果确定接收到的用户交互信息与知识库中的所述第一交互节点对应的至少一个知识点中的交互问题均不匹配,则提供拒识响应,请求重新输入所述用户交互信息。
3.根据权利要求1或2所述的生成装置,其特征在于,所述自定义配置信息包括:与交互节点对应的知识优先选项;
其中,在所述多轮问答流程模块流转至配置开启知识优先功能的第二交互节点时,如果确定接收的用户交互信息与知识库中的所述第二交互节点对应的至少一个知识点中的交互问题均不匹配,则在所述知识库中对所述用户交互信息进行全局查找,并根据全局查找结果执行对应的交互操作。
4.根据权利要求1所述的生成装置,其特征在于,所述自定义配置信息包括:与交互节点对应的回溯功能选项;
其中,在所述多轮问答流程模块流转至配置开启回溯功能的第三交互节点时,如果确定接收的用户交互信息与知识库中的所述第三交互节点对应的上层节点的交互问题相匹配,则将所述多轮问答流程模块流转至所述第三交互节点对应的上层节点。
5.根据权利要求1所述的生成装置,其特征在于,所述图形组件还包括:播报节点。
6.根据权利要求5所述的生成装置,其特征在于,所述自定义配置信息包括:与节点对应的播报内容,所述节点包括:交互节点以及播报节点;
其中,如果所述多轮问答流程模块流转至配置有播报内容的第四节点,则对应播报与所述第四节点对应的播报内容。
7.根据权利要求6所述的生成装置,其特征在于,所述自定义配置信息包括:与节点对应的打断功能选项;
其中,在所述多轮问答流程模块流转至开启打断功能的第五节点时,如果在与所述第五节点对应的播报内容播报结束之前,接收到用户交互信息,则停止对所述播报内容的继续播报。
8.根据权利要求5所述的生成装置,其特征在于,所述图形组件还包括:用于连接不同节点的连接件,所述节点包括:交互节点以及播报节点。
9.根据权利要求8所述的生成装置,其特征在于,所述自定义配置信息包括:与目标连接件匹配的动态条件配置信息;
所述目标连接件用于连接关联上层节点以及关联下层节点,所述关联上层节点为交互节点;
其中,所述动态条件配置信息为所述多轮问答流程模块从所述关联上层节点流转至所述关联下层节点的条件,所述动态条件配置信息与所述知识库中的所述关联上层节点对应的一个知识点中的交互答案相匹配。
10.根据权利要求8所述的生成装置,其特征在于,所述标准化代码框架生成模块,包括:
基准标准化代码生成单元,用于获取所述多轮问答流程图中的根节点,并根据所述根节点的类型生成与所述根节点对应的基准标准化代码,并将所述基准标准化代码加入原始代码框架中;
当前遍历节点获取单元,用于从所述根节点的下一层开始,依次获取所述多轮问答流程图中一个节点作为当前遍历节点;
追加标准化代码获取单元,用于根据所述当前遍历节点的类型,获取与所述当前遍历节点对应的追加标准化代码;
追加标准化代码加入单元,用于根据与所述当前遍历节点通过连接件连接的上一层节点的标准化代码在所述原始代码框架中的位置,将所述追加标准化代码对应加入所述原始代码框架中;
重复执行单元,用于触发所述当前遍历节点获取单元重新执行,直至完成对所述多轮问答流程图中全部节点的处理;
标准化代码框架确定单元,用于将处理完成后得到的所述原始代码框架作为与所述多轮问答流程图匹配的标准化代码框架。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711346376.8A CN109933314B (zh) | 2017-12-15 | 2017-12-15 | 多轮问答***的生成装置 |
US16/106,680 US11341422B2 (en) | 2017-12-15 | 2018-08-21 | Multi-round questioning and answering methods, methods for generating a multi-round questioning and answering system, and methods for modifying the system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711346376.8A CN109933314B (zh) | 2017-12-15 | 2017-12-15 | 多轮问答***的生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933314A CN109933314A (zh) | 2019-06-25 |
CN109933314B true CN109933314B (zh) | 2022-10-28 |
Family
ID=66979506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711346376.8A Active CN109933314B (zh) | 2017-12-15 | 2017-12-15 | 多轮问答***的生成装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933314B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131637A (zh) * | 2019-12-13 | 2020-05-08 | 集奥聚合(北京)人工智能科技有限公司 | 智能语音话术业务***及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354180A (zh) * | 2015-08-26 | 2016-02-24 | 欧阳江 | 一种实现开放式语义交互服务的方法及*** |
CN105630887A (zh) * | 2015-12-18 | 2016-06-01 | 北京中科汇联科技股份有限公司 | 中文问答***知识标记语言的表示方法及中文问答*** |
CN106457037A (zh) * | 2014-02-03 | 2017-02-22 | 时间游戏公司 | 用于在算法上选择的知识问答游戏内容的方法和*** |
CN107133052A (zh) * | 2017-05-27 | 2017-09-05 | 杭州迪脉信息科技有限公司 | 流程创建的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081411B2 (en) * | 2013-05-10 | 2015-07-14 | Sri International | Rapid development of virtual personal assistant applications |
-
2017
- 2017-12-15 CN CN201711346376.8A patent/CN109933314B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106457037A (zh) * | 2014-02-03 | 2017-02-22 | 时间游戏公司 | 用于在算法上选择的知识问答游戏内容的方法和*** |
CN105354180A (zh) * | 2015-08-26 | 2016-02-24 | 欧阳江 | 一种实现开放式语义交互服务的方法及*** |
CN105630887A (zh) * | 2015-12-18 | 2016-06-01 | 北京中科汇联科技股份有限公司 | 中文问答***知识标记语言的表示方法及中文问答*** |
CN107133052A (zh) * | 2017-05-27 | 2017-09-05 | 杭州迪脉信息科技有限公司 | 流程创建的方法及装置 |
Non-Patent Citations (1)
Title |
---|
AnswerSeeker:基于互联网挖掘的智能问答***;阴红志 等;《计算机***应用》;20100131;第19卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109933314A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090177B (zh) | 多轮问答***的生成方法、设备、介质及多轮问答*** | |
CN107977236B (zh) | 问答***的生成方法、终端设备、存储介质及问答*** | |
CN110019716B (zh) | 多轮问答方法、终端设备以及存储介质 | |
CN110442701B (zh) | 语音对话处理方法及装置 | |
US11341422B2 (en) | Multi-round questioning and answering methods, methods for generating a multi-round questioning and answering system, and methods for modifying the system | |
CN109101545A (zh) | 基于人机交互的自然语言处理方法、装置、设备和介质 | |
CN112084315B (zh) | 问答互动方法、装置、存储介质及设备 | |
CN110096516B (zh) | 自定义的数据库交互的对话生成方法及*** | |
CN111144132B (zh) | 一种语义识别方法及装置 | |
CN115129878A (zh) | 一种对话业务执行方法、装置、存储介质及电子设备 | |
US8433053B2 (en) | Voice user interfaces based on sample call descriptions | |
CN109960489B (zh) | 生成智能问答***的方法、装置、设备、介质及问答*** | |
CN109933314B (zh) | 多轮问答***的生成装置 | |
CN109857910B (zh) | Xml文件的生成方法、装置、计算机设备及存储介质 | |
CN112784024B (zh) | 一种人机对话的方法、装置、设备以及存储介质 | |
CN110020014B (zh) | 多轮问答装置 | |
CN115658875B (zh) | 基于聊天服务的数据处理方法及相关产品 | |
CN110019717B (zh) | 修改多轮问答***的装置 | |
CN110019718B (zh) | 修改多轮问答***的方法、终端设备以及存储介质 | |
CN112487170B (zh) | 面向场景配置的人机交互对话机器人*** | |
CN110019727A (zh) | 智能交互方法、装置、终端设备以及存储介质 | |
CN110019724B (zh) | 修改问答***的装置 | |
CN109947421B (zh) | 问答***的生成装置 | |
US11488600B2 (en) | Efficient dialogue configuration | |
CN111309306B (zh) | 人机交互的对话管理*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |