一种推理规则配置方法及装置与流程

文档序号:17066289发布日期:2019-03-08 22:56阅读:215来源:国知局
一种推理规则配置方法及装置与流程

本发明涉及自动问答技术领域,尤其涉及一种推理规则配置方法及装置。



背景技术:

对话管理(dialogmanagement,dm)控制着人机对话的过程,dm根据对话历史信息,决定此刻对用户的反应。最常见的应用是任务驱动的多轮会话,用户带着明确的目的如订餐、订票等,用户需求比较复杂,有很多限制条件,可能需要分多轮进行陈述。一方面,用户在对话过程中可以不断修改或完善自己的需求;另一方面,当用户陈述的需求不够具体或明确的时候,机器也可以通过询问、澄清或确认来帮助用户找到满意的结果。为了最终能解决用户的问题,我们需要设定一个决策模型,并为这个决策模型配置对应的推理规则。同时设置一个个多轮交互的场景,在交互过程中引导用户提供必要的信息,启用决策模型根据这些必要的信息确认用户的需求,结合配置的推理规则给出一个与需求匹配的答案。我们把用户在交互过程中需提供的必要信息设置为变量,通过设置变量、变量值,存储推理运算结果并整合引用输出最终答案,完成推理规则的设置,根据设置的推理规则,结合决策模型,实现多轮会话。本质上,多轮交互实际上就是一个决策过程。然而,当前为了实现多轮会话,需要配置复杂的决策表或决策树及其规则,对人员的操作要求高,维护成本高。



技术实现要素:

本发明提供了一种推理规则配置方法及装置,旨在解决目前推理规则配置复杂,对人员的操作要求高,维护成本高的问题,提供一种能够提高配置场景推理规则的效率,进而提升交互的体验的推理规则配置方法及装置。

为实现上述目的,本发明提供了一种推理规则配置方法,包括如下步骤:

s1,确定交互场景最终的回复目标,列举最终回复答案的可能信息;

s2,分析影响每项可能信息的变量,列举变量的相关信息,确定变量之间的关系;s3,根据步骤s2获得的变量的相关信息以及变量之间的关系,判断是否需要引用已有的全局变量或通用变量,如果需要则在结果节点中引用全局变量或通用变量并进入下一步骤s4,如果不需要则直接进入下一步骤s4;

s4,根据s1确定的回复目标和步骤s2获得的变量的相关信息以及变量之间的关系,在追问节点或结果节点中定义对应信息变量的变量类型及变量名,在条件节点中定义信息变量的变量值类型及变量值;

s5,判断最终回复答案中是否需要引用结果变量的值,如果需要则设置结果变量并进入步骤s6,如果不需要则直接进入步骤s6;

s6,编辑交互的每一个答案,最终回复答案由常量和推理运算结果组成。

与现有技术相比,本发明公开的一种推理规则配置方法,通过交互场景确定回复目标,根据回复目标列举最终回复答案的可能信息,根据可能信息确定推理规则中需要使用的变量以及变量之间的关系,对需要使用的变量进行定义,根据回复目标确定变量的相关信息和运算规则,最终得到由常量和推理运算结果组成的回复答案,实现对推理规则的配置。具体而言,所述可能信息包括,最终的答案或影响答案的因素,分析可能影响每个答案或因素的变量,列举变量的相关信息,进而确定变量之间的关系,分析得到的变量即为推理规则中需要使用的变量即场景变量,所述场景变量包括信息变量和结果变量,判断前述的场景变量是否存在已经定义的信息变量,即全局变量或通用变量,如果存在则直接引用,如果不存在则对变量进行对应的定义,根据确定的回复目标和获得的变量的相关信息以及变量之间的关系,在追问节点或结果节点中定义对应信息变量的变量类型及变量名,在条件节点中定义信息变量的变量值类型及变量值,判断需要定义的变量是否存在需要进行推理运算才能得到的变量,通过推理运算得到的变量即为结果变量,结果变量通常以表达式的形式显示,表达式包括判断表达式、直接返回表达式和格式化表达式,结果变量的变量值是变量经过推理运算的结果,根据得到的推理运算结果和常量可以得到最终回复答案,如此即初步完成了推理规则的配置。我们把用户在交互过程中需提供的必要信息设置为变量,通过设置变量、变量值,存储推理运算结果并整合引用输出最终答案,完成推理规则的设置,根据设置的推理规则,结合决策模型,实现多轮会话。该种推理规则配置方法,解决了目前推理规则配置复杂,对人员的操作要求高,维护成本高的问题,提供一种能够提高配置场景推理规则的效率,进而提升交互的体验的推理规则配置方法。

进一步,本发明提供了一种推理规则配置方法,还包括步骤s7,验证步骤s6编辑的实际最终回复答案是否满足步骤s1确定的回复目标,如果满足则完成推理规则的配置,如果不满足则返回步骤s4进行迭代优化。

与现有技术相比,本发明公开的一种推理规则配置方法,还包括验证步骤,即步骤s7,该步骤验证实际得到的最终答案是否满足回复目标,满足目标则完成配置,不满足目标则返回变量定义步骤即步骤s4进行迭代优化直至满足回复目标,这一步骤可以保证本方法配置得到的推理规则可以实际满足用户需求,得到符合用户需求的最终答案,提高效率。

为实现上述目的,一种使用推理规则配置方法的推理规则配置装置,其特征在于包括,入口编辑单元、系统应答编辑单元、条件编辑单元、结果编辑单元、跳转编辑单元;

所述入口编辑单元,即入口节点,用于确定交互场景,进而可以根据交互场景确定回复目标,根据回复目标列举最终回复答案的可能信息,根据可能信息确定推理规则中需要使用的变量以及变量之间的关系;

所述系统应答编辑单元,即追问节点,用于根据回复目标、变量以及变量之间的关系定义对应信息变量的变量类型及变量名;

所述条件编辑单元,即条件节点,用于定义变量值类型及变量值;

所述结果编辑单元,即结果节点,用于根据回复目标、变量以及变量之间的关系定义对应信息变量的变量类型及变量名,设置结果变量,编辑最终回复答案;所述跳转编辑单元,用于跳转至追问节点或其他场景以完成交互的完整或场景的跨越。

与现有技术相比,本发明公开的一种推理规则配置装置,通过入口编辑单元确定当前场景,根据交互场景确定回复目标,根据回复目标列举最终回复答案的可能信息,根据可能信息确定推理规则中需要使用的变量以及变量之间的关系,通过系统应答编辑单元、条件编辑单元和结果编辑单元对需要使用的变量进行定义,根据回复目标确定变量的相关信息和运算规则,最终得到由常量和推理运算结果组成的回复答案,实现对推理规则的配置。具体而言,所述可能信息包括,最终的答案或影响答案的因素,分析可能影响每个答案或因素的变量,列举变量的相关信息,进而确定变量之间的关系,分析得到的变量即为推理规则中需要使用的变量即场景变量,所述场景变量包括信息变量和结果变量,判断前述的场景变量是否存在已经定义的信息变量,即全局变量或通用变量,如果存在则直接在结果编辑单元引用,如果不存在则对信息变量进行定义,根据确定的回复目标和获得的变量的相关信息以及变量之间的关系,在追问节点或结果节点中定义对应信息变量的变量类型及变量名,在条件节点中定义信息变量的变量值类型及变量值,判断需要定义的变量是否存在需要进行推理运算才能得到的变量,通过推理运算得到的变量即为结果变量,结果变量在结果编辑单元进行设置,通常以表达式的形式显示,表达式包括判断表达式、直接返回表达式和格式化表达式,结果变量的变量值是变量经过推理运算的结果,根据得到的推理运算结果和常量可以得到最终回复答案,如此即初步完成了推理规则的配置。我们把用户在交互过程中需提供的必要信息设置为变量,通过设置变量、变量值,存储推理运算结果并整合引用输出最终答案,完成推理规则的设置,根据设置的推理规则,结合决策模型,实现多轮会话。该种推理规则配置装置,解决了目前推理规则配置复杂,对人员的操作要求高,维护成本高的问题,提供一种能够提高配置场景推理规则的效率,进而提升交互的体验的推理规则配置装置。

附图说明

图1是本发明一种推理规则配置方法的流程图1;

图2是本发明一种推理规则配置方法的流程图2;

图3是本发明一种推理规则配置装置的系统框图;

图4是本发明一个实施例中的步骤2的分析结果图。

具体实施方式

如图1所示,本发明所述一种推理规则配置方法,包括如下步骤:s1,确定交互场景最终的回复目标,列举最终回复答案的可能信息;s2,分析影响每项可能信息的变量,列举变量的相关信息,确定变量之间的关系;s3,根据步骤s2获得的变量的相关信息以及变量之间的关系,判断是否需要引用已有的全局变量或通用变量,如果需要则在结果节点中引用全局变量或通用变量并进入下一步骤s4,如果不需要则直接进入下一步骤s4;s4,根据s1确定的回复目标和步骤s2获得的变量的相关信息以及变量之间的关系,在追问节点或结果节点中定义对应信息变量的变量类型及变量名,在条件节点中定义信息变量的变量值类型及变量值;s5,判断最终回复答案中是否需要引用结果变量的值,如果需要则设置结果变量并进入步骤s6,如果不需要则直接进入步骤s6;s6,编辑交互的每一个答案,最终回复答案由常量和推理运算结果组成。

与现有技术相比,本发明公开的一种推理规则配置方法,通过交互场景确定回复目标,根据回复目标列举最终回复答案的可能信息,根据可能信息确定推理规则中需要使用的变量以及变量之间的关系对需要使用的变量进行定义,根据回复目标确定变量的相关信息和运算规则,最终得到由常量和推理运算结果组成的回复答案,实现对推理规则的配置。具体而言,所述可能信息包括,最终的答案或影响答案的因素,分析可能影响每个答案或因素的变量,列举变量的相关信息,进而确定变量之间的关系,分析得到的变量即为推理规则中需要使用的变量即场景变量,所述场景变量包括信息变量和结果变量,判断前述的场景变量是否存在已经定义的信息变量,即全局变量或通用变量,如果存在则直接引用,如果不存在则对变量进行对应的定义,根据确定的回复目标和获得的变量的相关信息以及变量之间的关系,在追问节点或结果节点中定义对应信息变量的变量类型及变量名,在条件节点中定义信息变量的变量值类型及变量值,判断需要定义的变量是否存在需要进行推理运算才能得到的变量,通过推理运算得到的变量即为结果变量,结果变量通常以表达式的形式显示,表达式包括判断表达式、直接返回表达式和格式化表达式,结果变量的变量值是变量经过推理运算的结果,根据得到的推理运算结果和常量可以得到最终回复答案,如此即初步完成了推理规则的配置。我们把用户在交互过程中需提供的必要信息设置为变量,通过设置变量、变量值,存储推理运算结果并整合引用输出最终答案,完成推理规则的设置,根据设置的推理规则,结合决策模型,实现多轮会话。该种推理规则配置方法,解决了目前推理规则配置复杂,对人员的操作要求高,维护成本高的问题,提供一种能够提高配置场景推理规则的效率,进而提升交互的体验的推理规则配置方法。

如图1所示,所述步骤s1中所述的最终回复答案的可能信息包括,最终的答案或影响答案的因素。分析可能影响每个答案或因素的变量,列举变量的相关信息,分析得到的变量即为推理规则中需要使用的变量即场景变量。

如图1所示,所述步骤s2中所述的变量的相关信息包括,变量类型、变量用途、变量值类型、变量值。列举变量的相关信息可以准确的定义一个影响答案或因素的变量。变量之间的关系可通过变量值确定。变量值由回复目标确定。不同的回复目标需要获取的必要信息不同,变量值也不同。不同变量值确定了变量在交互场景中的前后关联,从而确定整个交互场景。

如图1所示,所述变量类型包括局部变量、全局变量和通用变量,所述变量用途包括信息变量和结果变量,所述变量值类型包括条件选项、文本、日期、地名和运算结果,所述结果变量的变量值类型为运算结果,所述信息变量的变量值类型包括条件选项、文本、日期和地名。信息变量指交互过程中获取到的信息的变量,包括局部变量、全局变量、通用变量,故而信息变量的变量值类型包括条件选项、文本、日期和地名。结果变量指用于存储变量运算结果,在编辑最终答案时引用的变量,故而结果变量的变量值类型为运算结果。

如图1所示,所述的定义对应的信息变量包括,定义信息变量的变量类型、变量名、变量值类型、变量值。所述信息变量包括局部变量、全局变量、通用变量;所述局部变量,又称本场景变量,是只能在当前场景内使用,其他场景无法引用的变量;所述全局变量,只能在当前场景对应的一级大类下所有场景内引用的变量;所述通用变量,所有场景都可以引用的变量,不受具体场景限制,一般是天气、当前时间、地点。所述全局变量或通用变量可能已经存在,可以在结果节点中引用,不存在的全局变量或通用变量需要定义,而局部变量需要在每个当前场景下定义,定义局部变量、全局变量和通用变量即定义信息变量。定义一个信息变量需要定义该变量的相关信息,在追问节点或结果节点中定义对应的信息变量,包括变量名、变量类型。在条件节点中定义信息变量的变量值类型及变量值,信息变量的值可以是条件选项、文本、日期、地点其中一种。

如图1所示,所述结果变量在结果节点中设置,所述结果变量的形式包含表达式,所述结果变量的变量值是变量经过推理运算的结果。结果变量是在结果节点中设置的,结果变量的值是变量经过推理运算的结果,根据回复的目标配置结果变量的值。其中一种表现形式是表达式。表达式由运算符、变量、变量值、常量,按照设定的语法规则组合而成。其中运算符包含算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、指针运算符、强制类型转换运算符、分量运算符、下标运算符、函数调用运算符。常量即结果中不受变量影响的值,是预先设置好的。表达式的基本语法是预定的。

如图1所示,所述表达式包括判断表达式、直接返回表达式和格式化表达式。判断表达式是由判断返回语句、变量名、变量值、运算符、常量组成,一般是判断变量是否大于、小于、等于某个数值或字符串或包含某个字符串。如:if(guocuo!="不存在过错情形")return"男方存在很多过错"。该表达式表示如果用户没有选择不存在过错情况这个选项,那么回复男方存在很多过错。如if(zhusufei<1000)return"住宿费:"+zhusufei+"元"。该表达式表示如果住宿费小于1000元,则返回住宿费:输入具体数值元。假设输入住宿费800元,则返回“住宿费:800元”。直接返回表达式是由返回语句、变量名、运算符、常量组成,一般是直接返回若干个变量运算的结果。如:return(benjin*loan_day*qineilixi)/(30*100)。该表达式表示直接返回三个变量的乘积除以两个常量的乘积的结果。格式化表达式是由返回语句、格式化语句、变量名、变量值及格式化内容组成,一般是格式化日期或时刻。如:return"${newjava.text.simpledateformat('yyyy年mm月dd日').format((long)chujieriqi)}"。该表达式表示把变量chujieriqi的内容进行格式化为yyyy年mm月dd日形式。

如图2所示,本发明提供了一种推理规则配置方法,还包括步骤s7,验证步骤s6编辑的实际最终回复答案是否满足步骤s1确定的回复目标,如果满足则完成推理规则的配置,如果不满足则返回步骤s4进行迭代优化。

与现有技术相比,本发明公开的一种推理规则配置方法,还包括验证步骤,即步骤s7,该步骤验证实际得到的最终答案是否满足回复目标,满足目标则完成配置,不满足目标则返回变量定义步骤即步骤s4进行迭代优化直至满足回复目标,这一步骤可以保证本方法配置得到的推理规则可以实际满足用户需求,得到符合用户需求的最终答案,提高效率。

如图3所示,一种使用推理规则配置方法的推理规则配置装置,其特征在于包括,入口编辑单元、系统应答编辑单元、条件编辑单元、结果编辑单元、跳转编辑单元;所述入口编辑单元,即入口节点,用于确定交互场景,进而可以根据交互场景确定回复目标,根据回复目标列举最终回复答案的可能信息,根据可能信息确定推理规则中需要使用的变量以及变量之间的关系;所述系统应答编辑单元,即追问节点,用于根据回复目标、变量以及变量之间的关系定义对应信息变量的变量类型及变量名;所述条件编辑单元,即条件节点,用于定义变量值类型及变量值;所述结果编辑单元,即结果节点,用于根据回复目标、变量以及变量之间的关系定义对应信息变量的变量类型及变量名,设置结果变量,编辑最终回复答案;所述跳转编辑单元,用于跳转至追问节点或其他场景以完成交互的完整或场景的跨越。具体而言,所述入口编辑单元,又称入口节点,用于识别、匹配用户问题,根据识别的用户问题确定并触发相应的场景;所述系统应答编辑单元,又称追问节点或追问编辑单元,是系统根据上下文向用户发出追问的节点,系统根据前一个节点,向用户发出问题,以便获取用户回复内容中的场景变量,所述场景变量包括文本、图片、语音等表现形式;所述条件编辑单元,又称用户输入编辑单元或条件节点或选项节点,用于引导用户提供必要的场景变量,抽取用户输入内容中的场景变量并进行存储,所述场景变量用于确定下一个场景变量,且用户提供必要的场景变量可一个或多个;所述结果编辑单元,又称结果节点,编辑所述入口编辑单元中的问题的回答,以构建交互式场景;所述跳转编辑单元,又称跳转节点,用于跳转至追问节点或其他场景以完成交互的完整或场景的跨越。

与现有技术相比,本发明公开的一种推理规则配置装置,通过入口编辑单元确定当前场景,根据交互场景确定回复目标,根据回复目标列举最终回复答案的可能信息,根据可能信息确定推理规则中需要使用的变量以及变量之间的关系,通过系统应答编辑单元、条件编辑单元和结果编辑单元对需要使用的变量进行定义,根据回复目标确定变量的相关信息和运算规则,最终得到由常量和推理运算结果组成的回复答案,实现对推理规则的配置。具体而言,所述可能信息包括,最终的答案或影响答案的因素,分析可能影响每个答案或因素的变量,列举变量的相关信息,进而确定变量之间的关系,分析得到的变量即为推理规则中需要使用的变量即场景变量,所述场景变量包括信息变量和结果变量,判断前述的场景变量是否存在已经定义的信息变量,即全局变量或通用变量,如果存在则直接在结果编辑单元引用,如果不存在则对信息变量进行定义,根据确定的回复目标和获得的变量的相关信息以及变量之间的关系,在追问节点或结果节点中定义对应信息变量的变量类型及变量名,在条件节点中定义信息变量的变量值类型及变量值,判断需要定义的变量是否存在需要进行推理运算才能得到的变量,通过推理运算得到的变量即为结果变量,结果变量在结果编辑单元进行设置,通常以表达式的形式显示,表达式包括判断表达式、直接返回表达式和格式化表达式,结果变量的变量值是变量经过推理运算的结果,根据得到的推理运算结果和常量可以得到最终回复答案,如此即初步完成了推理规则的配置。我们把用户在交互过程中需提供的必要信息设置为变量,通过设置变量、变量值,存储推理运算结果并整合引用输出最终答案,完成推理规则的设置,根据设置的推理规则,结合决策模型,实现多轮会话。该种推理规则配置装置,解决了目前推理规则配置复杂,对人员的操作要求高,维护成本高的问题,提供一种能够提高配置场景推理规则的效率,进而提升交互的体验的推理规则配置装置。

以订购机票为例讲解本发明所述的推理规则配置的方法,本发明的一个具体的配置实例如下。

步骤s1:确定交互场景最终的回复目标,列举最终回复答案的可能性。这里的可能性包括列举出最终的答案或者影响答案的因素。以订机票为例,最终回复答案为乘车人的相关信息及支付价格。可列举出影响答案的因素有出发地、到达地、乘车日期、是否单程、乘车人、乘车人数、舱位、需支付购票金额。

步骤s2:分析影响每个最终答案或因素的变量,列举变量的相关信息,包括变量的类型、用途、变量值类型、变量值。以订机票为例,分析可得到各变量的相关信息,如图4。从变量的相关信息确定变量之间的关系。如变量“是否单程”与变量“出发地”、“到达地”、“乘车日期”、“乘车人”、“乘车人数”、“舱位”、“需支付购票金额”相关。从交互目标来看,其变量值“单程”与“往返程”确定了后面交互过程中需要获得的必要信息,从而确定了与其关联的变量如何设置。如变量值“往返程”,确定了后面的交互过程中不仅需要获得“往程”的必要信息,也要获取“返程”的必要信息,因此在定义相关变量时需要定义往返程。而变量值“单程”只需要获取“往程”的必要信息即可,定义相关变量时不用往返程都定义。

步骤s3:根据步骤s2分析的结果判断是否需要引用当前已有的全局变量或通用变量,若需要,则在结果节点引用全局变量或通用变量。如不需要,则进行步骤s4。

步骤s4:根据步骤s1确定的回复目标和步骤s2的分析结果,在追问节点中分别定义信息变量:往程出发地、返程出发地、往程到达地、返程到达地、往程乘车日期、返程乘车日期、搭乘方式、乘车人、往程经济舱乘车人数、返程经济舱乘车人数、往程公务舱乘车人数、返程公务舱乘车人数、往程头等舱乘车人数、返程头等舱乘车人数、舱位,对应的变量名分别为departure、round_departure、destination、round_destination、day、round_day、one-way、passenger、number1、roung_number1、number2、round_number2、number3、round_number3、class。在条件节点中定义信息变量的变量值类型及变量值。

步骤s5:根据步骤2分析的结果,需要设置三个结果变量,即往程乘车人数、返程乘车人数、需支付购票金额。往程乘车人数设置变量名为number,对应的表达式为return(number1+number2+number3)。

返程乘车人数设置变量名为round-number,对应的表达式为return(round_number1+round_number2+round_number3)。需支付购票金额设置变量名为total-price,对应的表达式为return((number1+round_number1)*经济舱价格+(number2+round_number2)*公务舱价格+(number3+round_number3)*头等舱价格)),其中,舱位价格是根据舱位的不同而预设的。设置结果变量后进入步骤s6。

步骤s6:根据场景交互的回复目标,如搭乘方式是单程,设置的最终回复答案为:尊敬的乘客您好,本次一共预定${number}张机票。乘车日期为${day},出发地为${departure},到达地为${destination}。搭乘方式是${one-way}。其中有${number1}张经济舱机票,有${number2}张公务舱机票,有${number3}张头等舱机票。总共需支付购票金额为${total-price}。如输入出发地为广州、到达地为北京,搭乘日期为2018年7月17日,单程机票,分别有1位乘客是经济舱、2位乘客是公务舱,经济舱价格为1800元,公务舱价格为2200元。则最终输出的结果为:尊敬的乘客您好,本次一共预定3张机票。乘车日期为2018年7月17日,出发地为广州,到达地为北京。搭乘方式是单程。其中有1张经济舱机票,有2张公务舱机票,有0张头等舱机票。总共需支付购票金额为6200元,如搭乘方式是往返程,则在最终回复答案中设置往返程的相关信息。

步骤s7:通过查看最终回复的答案是否满足目标,如已满足,则推理规则配置完成;如不满足,则返回步骤s4进行迭代优化。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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