CN111753061A - 多轮对话处理方法、装置、电子设备及存储介质 - Google Patents
多轮对话处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111753061A CN111753061A CN201910236199.0A CN201910236199A CN111753061A CN 111753061 A CN111753061 A CN 111753061A CN 201910236199 A CN201910236199 A CN 201910236199A CN 111753061 A CN111753061 A CN 111753061A
- Authority
- CN
- China
- Prior art keywords
- node
- activation
- nodes
- information
- candidate
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 28
- 230000004913 activation Effects 0.000 claims abstract description 316
- 238000003066 decision tree Methods 0.000 claims abstract description 164
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000012019 product validation Methods 0.000 description 3
- 238000004378 air conditioning Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Abstract
本发明公开了一种多轮对话处理方法、装置、电子设备及存储介质,所述方法包括:获取到对话信息后,根据多轮对话状态参数,从数据库包含的决策树中选取候选节点;其中,每个决策树对应一个多轮对话的业务场景,决策树中的任一个节点对应业务场景中的一个对话进程,决策树用于描述一个业务场景中各个节点对应的对话进程间的跳转关系,多轮对话状态参数用于表征上一次获取到的对话信息对应的激活节点;根据对话信息,从候选节点中,选择满足激活条件的候选节点确定为对话信息对应的激活节点;控制智能设备执行激活节点对应的操作。本发明提供的技术方案,通过决策树来配置多轮对话的业务场景,配置方式更加简单、灵活、高效,具备很强的可操作性。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种多轮对话处理方法、装置、电子设备及存储介质。
背景技术
当前自然语言理解技术已经取得了长足的进展,在单轮对话场景也就是针对用户输入的一句对话信息立即作出回应的对话场景,在单轮对话场景下,人工智能能够较准确地对用户的询问做出最优的回应输出。但是,如果用户的单轮输入之间存在某些联系,会形成多轮对话场景,此时,需要结合用户多次单轮输入的信息来理解用户当前输入的信息。
目前,多轮对话处理的解决方案主要有基于FSM(有限状态机)的方法和Groundand Repair方法。基于FSM的方法,需要创建一个事件驱动表,表中包括系统当前状态、触发事件、下一个状态以及状态转移函数,这样就可以根据当前状态与触发事件从事件驱动表中检索出相应的状态转移函数与下一个状态,从而执行状态函数,进行状态转换,从而利用上一轮或者几轮的信息,沿规定好的状态转换路径行走直至获取最终对话的输出。在ground and repair这类方法中,对话双方需要通过确认行为(acknowledge)不断建立共同基础(ground),当语义存疑时会发出修复请求(repair),通过这种模式进行人机对话。
基于FSM的方法,是把对话过程看成是自动机的状态转移过程,主要工作是设计自动机的状态和状态转移条件,所描述的自动机转移条件过于复杂,所以其可配置性不高,缺少灵活性,状态间的跳转比较混乱,而且其依赖领域意图信息来跳转状态,对单轮语义理解的依赖度很高。而ground and repair方法的多轮对话容错性较差,用户很容易由于某一轮错误而导致前功尽弃,另外其对话的可接受状态较为单一,泛化能力不足。
因此,现有的多轮对话处理方法,在自定义多轮对话时具有配置难、生效慢、效果差的缺点,影响用户体验。
发明内容
本发明实施例提供一种多轮对话处理方法、装置、电子设备及存储介质,以解决现有的多轮对话处理方法,在自定义多轮对话时具有配置难、生效慢、效果差的缺点,影响用户体验的问题。
第一方面,本发明一实施例提供了一种多轮对话处理方法,包括:
获取到对话信息后,根据多轮对话状态参数,从数据库包含的决策树中选取候选节点;其中,每个决策树对应一个多轮对话的业务场景,所述决策树中的任一个节点对应所述业务场景中的一个对话进程,所述决策树用于描述一个业务场景中各个节点对应的对话进程间的跳转关系,所述多轮对话状态参数用于表征上一次获取到的对话信息对应的激活节点;
根据所述对话信息,从所述候选节点中,选择满足激活条件的候选节点确定为所述对话信息对应的激活节点;
控制智能设备执行所述激活节点对应的操作。
在一种可能的实现方式中,所述根据多轮对话状态参数,从数据库包含的决策树中选取候选节点,包括:
根据所述多轮对话状态参数的值确定目标节点;
将所述目标节点的子节点以及所述数据库中除所述目标节点所在的决策树以外的其他决策树的根节点确定为候选节点。
在一种可能的实现方式中,所述根据多轮对话状态参数,从数据库包含的决策树中选取候选节点,包括:若所述多轮对话状态参数的值为空,则将数据库包含的所有决策树的根节点确定为候选节点。
在一种可能的实现方式中,所述根据所述对话信息,从所述候选节点中,选择满足激活条件的候选节点确定为所述对话信息对应的激活节点,包括:
若所述对话信息满足所述候选节点中的任一子节点的激活条件,从满足激活条件的子节点中,选择一个子节点,确定为所述对话信息对应的激活节点;或者,
若所述对话信息不满足所述候选节点中的任一子节点的激活条件,且所述对话信息满足所述候选节点中的任一根节点的激活条件,从满足激活条件的根节点中,选择一个根节点,确定为所述对话信息对应的激活节点。
在一种可能的实现方式中,所述从满足激活条件的子节点中,选择一个子节点,确定为所述对话信息对应的激活节点,包括:从满足激活条件的子节点中,选择激活优先级最高的子节点,确定为所述对话信息对应的激活节点,所述子节点的激活优先级是根据所述子节点满足的激活条件中最高的优先级确定的。
在一种可能的实现方式中,所述选择激活优先级最高的子节点,确定为所述对话信息对应的激活节点,包括:若满足激活条件的激活优先级最高的子节点的数量为多个,则从满足激活条件的激活优先级最高的子节点中,选择节点优先级最高的子节点,确定为所述对话信息对应的激活节点。
在一种可能的实现方式中,所述从满足激活条件的根节点中,选择一个根节点,确定为所述对话信息对应的激活节点,包括:从满足激活条件的根节点中,选择激活优先级最高的根节点,确定为所述对话信息对应的激活节点,所述根节点的激活优先级是根据所述根节点满足的激活条件中最高的优先级确定的。
在一种可能的实现方式中,所述选择激活优先级最高的根节点,确定为所述对话信息对应的激活节点,包括:若满足激活条件的激活优先级最高的根节点的数量为多个,则从满足激活条件的激活优先级最高的根节点中,选择节点优先级最高的根节点,确定为所述对话信息对应的激活节点。
在一种可能的实现方式中,所述激活条件包括以下至少一种:
若所述对话信息与任一候选节点对应的第一文本相同,确定所述对话信息满足所述候选节点的第一激活条件;
计算所述对话信息与任一候选节点对应的第二文本的相似度,若所述相似度高于相似度阈值,确定所述对话信息满足所述候选节点的第二激活条件;
若所述对话信息中包含任一候选节点对应的关键词,确定所述对话信息满足所述候选节点的关键词激活条件;
若任一候选节点对应的领域信息中包含所述对话信息对应的领域信息,确定所述对话信息满足所述候选节点的领域激活条件;
若任一候选节点对应的意图信息中包含所述对话信息对应的意图信息,确定所述对话信息满足所述候选节点的意图激活条件。
在一种可能的实现方式中,所述操作的类型包括:输出文本、播放语音、播放多媒体、执行技能中的至少一种。
在一种可能的实现方式中,在确定出所述对话信息对应的激活节点后,还包括:
根据所述激活节点的信息,更新所述多轮对话状态参数的值;
若检测到所述激活节点的激活时长超过所述激活节点对应的超时时长阈值,清空所述多轮对话状态参数的值。
在一种可能的实现方式中,所述根据多轮对话状态参数,从数据库包含的决策树中选取候选节点,包括:
根据所述对话信息对应的标识信息以及数据库包含的决策树的生效范围,选择所述标识信息所满足的生效范围对应的决策树,确定为候选决策树;
根据多轮对话状态参数,从所述候选决策树决中选取候选节点。
在一种可能的实现方式中,所述生效范围包括全局生效范围、企业生效范围或设备生效范围。
第二方面,本发明一实施例提供了一种多轮对话处理装置,包括:
选取模块,用于获取到对话信息后,根据多轮对话状态参数,从数据库包含的决策树中选取候选节点;其中,每个决策树对应一个多轮对话的业务场景,所述决策树中的任一个节点对应所述业务场景中的一个对话进程,所述决策树用于描述一个业务场景中各个节点对应的对话进程间的跳转关系,所述多轮对话状态参数用于表征上一次获取到的对话信息对应的激活节点;
确定模块,用于根据所述对话信息,从所述候选节点中,选择满足激活条件的候选节点确定为所述对话信息对应的激活节点;
控制模块,用于控制智能设备执行所述激活节点对应的操作。
在一种可能的实现方式中,所述选取模块具体用于:
根据所述多轮对话状态参数的值确定目标节点;
将所述目标节点的子节点以及所述数据库中除所述目标节点所在的决策树以外的其他决策树的根节点确定为候选节点。
在一种可能的实现方式中,所述选取模块具体用于:若所述多轮对话状态参数的值为空,则将数据库包含的所有决策树的根节点确定为候选节点。
在一种可能的实现方式中,所述确定模块具体用于:
若所述对话信息满足所述候选节点中的任一子节点的激活条件,从满足激活条件的子节点中,选择一个子节点,确定为所述对话信息对应的激活节点;或者,
若所述对话信息不满足所述候选节点中的任一子节点的激活条件,且所述对话信息满足所述候选节点中的任一根节点的激活条件,从满足激活条件的根节点中,选择一个根节点,确定为所述对话信息对应的激活节点。
在一种可能的实现方式中,所述确定模块具体用于:从满足激活条件的子节点中,选择激活优先级最高的子节点,确定为所述对话信息对应的激活节点,所述子节点的激活优先级是根据所述子节点满足的激活条件中最高的优先级确定的。
在一种可能的实现方式中,所述确定模块具体用于:若满足激活条件的激活优先级最高的子节点的数量为多个,则从满足激活条件的激活优先级最高的子节点中,选择节点优先级最高的子节点,确定为所述对话信息对应的激活节点。
在一种可能的实现方式中,所述确定模块具体用于:从满足激活条件的根节点中,选择激活优先级最高的根节点,确定为所述对话信息对应的激活节点,所述根节点的激活优先级是根据所述根节点满足的激活条件中最高的优先级确定的。
在一种可能的实现方式中,所述确定模块具体用于:若满足激活条件的激活优先级最高的根节点的数量为多个,则从满足激活条件的激活优先级最高的根节点中,选择节点优先级最高的根节点,确定为所述对话信息对应的激活节点。
在一种可能的实现方式中,所述激活条件包括以下至少一种:
若所述对话信息与任一候选节点对应的第一文本相同,确定所述对话信息满足所述候选节点的第一激活条件;
计算所述对话信息与任一候选节点对应的第二文本的相似度,若所述相似度高于相似度阈值,确定所述对话信息满足所述候选节点的第二激活条件;
若所述对话信息中包含任一候选节点对应的关键词,确定所述对话信息满足所述候选节点的关键词激活条件;
若任一候选节点对应的领域信息中包含所述对话信息对应的领域信息,确定所述对话信息满足所述候选节点的领域激活条件;
若任一候选节点对应的意图信息中包含所述对话信息对应的意图信息,确定所述对话信息满足所述候选节点的意图激活条件。
在一种可能的实现方式中,所述操作的类型包括:输出文本、播放语音、播放多媒体、执行技能中的至少一种。
在一种可能的实现方式中,还包括状态修改模块和状态清空模块;
所述状态修改模块用于:在确定出所述对话信息对应的激活节点后,根据所述激活节点的信息,更新所述多轮对话状态参数的值;
所述状态清空模块用于:若检测到所述激活节点的激活时长超过所述激活节点对应的超时时长阈值,清空所述多轮对话状态参数的值。
在一种可能的实现方式中,所述选取模块具体用于:
根据所述对话信息对应的标识信息以及数据库包含的决策树的生效范围,选择所述标识信息所满足的生效范围对应的决策树,确定为候选决策树;
根据多轮对话状态参数,从所述候选决策树决中选取候选节点。
在一种可能的实现方式中,所述生效范围包括全局生效范围、企业生效范围或设备生效范围。
第三方面,本发明一实施例提供了一种电子设备,包括收发机、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,收发机用于在处理器的控制下接收和发送数据,处理器执行计算机程序时实现上述任一种方法的步骤。
第四方面,本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
第五方面,本发明一实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一种方法的步骤。
本发明实施例提供的技术方案,利用决策树的方式实现对多轮对话中的业务场景的配置,并通过多轮对话状态参数记录对轮对话的进程。当需要对用户输入的对话信息进行处理时,获取多轮对话状态参数,然后根据多轮对话状态参数从数据库中确定出所有可能的候选节点,这些候选节点对应了当前获取到的对话信息可能对应的对话进程;接着,将对话信息与每个候选节点对应的激活条件进行匹配,从满足激活条件的候选节点中选择一个候选节点作为激活节点,控制智能设备执行该激活节点对应的操作,至此完成一轮对话交互。本发明实施例的多轮对话处理方法,利用决策树的方式配置多轮对话中的业务场景,使得针对多轮对话的配置方式更加简单、灵活、高效,且配置完成后可即时生效,具备很强的可操作性,并通过多轮对话状态参数记录对轮对话的进程,结合决策树可快速确定本轮对话中,智能设备需要执行的操作。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多轮对话处理方法的应用场景示意图;
图2为本发明一实施例提供的多轮对话处理方法的流程示意图;
图3A为本发明一实施例提供的一个决策树的示意图;
图3B为本发明一实施例提供的另一个决策树的示意图;
图4为本发明一实施例提供的多轮对话处理装置的结构示意图;
图5为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本发明实施例中涉及的名词进行解释:
决策树(Decision Tree)是一种树形数据结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
领域(domain),是包含一系列的相关的意图和词槽组成的语义理解场景。
意图(intent),是通过用户的交互输入识别出的用户所要表达的目的。
redis是一个高性能key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set,有序集合)和hash(哈希类型)。
TTS(Text To Speech),即“从文本到语音”,是人机对话的一部分,让机器能够说话。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
在具体实践过程中,基于FSM(有限状态机)的方法,需要构建一张大图来存储所有的对话节点以及节点之间的连接关系,所以其可配置性不高,缺少灵活性,编写和维护都要细节导向,节点的跳转状态比较混乱,而且其依赖领域意图信息来跳转状态,对单轮语义理解的依赖度很高。而ground and repair方法的多轮对话容错性较差,用户很容易由于某一轮错误而导致前功尽弃,另外其对话的可接受状态较为单一,泛化能力不足。因此,现有的多轮对话处理方法,在自定义多轮对话时具有配置难、生效慢、效果差的缺点,无法较好地管理多个多轮对话场景,导致无法输出用户实际需求或者满意的回应,影响用户体验。
为此,本发明的发明人考虑到,通过决策树的方式配置多轮对话中的业务场景,具体地,将每一个业务场景配置为一棵决策树,将一个业务场景中可能涉及的对话进程配置为决策树中的节点,其中,决策树的根节点为进入一个业务场景的入口,按照各对话进程间的逻辑关系添加根节点下的各层节点,最终形成树形结构,并为各个节点配置激活条件和对应的操作。通过决策树的方式配置多轮对话中的业务场景,使得针对多轮对话的配置方式更加简单、灵活、高效,且配置完成后可即时生效,具备很强的可操作性。利用决策树进行多轮对话处理时,通过多轮对话状态参数记录对轮对话的进程,在对获取到的对话信息进行处理时,根据多轮对话状态参数从数据库中确定出所有可能的候选节点,这些候选节点对应了当前获取到的对话信息可能对应的对话进程;接着,将对话信息与每个候选节点对应的激活条件进行匹配,从满足激活条件的候选节点中选择一个候选节点作为激活节点,控制智能设备执行该激活节点对应的操作,至此完成一轮对话交互。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
首先参考图1,其为本发明实施例提供的多轮对话处理方法的应用场景示意图。用户10与智能设备11进行多轮对话的交互过程中,智能设备11将用户10输入的对话信息发送给服务器12,服务器12结合历史对话信息以及当前获取到的对话信息,明确用户下达的指令,并控制智能设备11执行相应的操作,以向用户作出反馈。
这种应用场景下,智能设备11和服务器12之间通过网络进行通信连接,该网络可以为局域网、广域网等。智能设备11可以为智能音箱、机器人等,也可以为便携设备(例如:手机、平板、笔记本电脑等),还可以为个人电脑(PC,Personal Computer)。
下面结合图1所示的应用场景,对本发明实施例提供的技术方案进行说明。
参考图2,本发明实施例提供一种多轮对话处理方法,包括以下步骤:
S201、获取到对话信息后,根据多轮对话状态参数,从数据库包含的决策树中选取候选节点;其中,每个决策树对应一个多轮对话的业务场景,决策树中的任一个节点对应业务场景中的一个对话进程,决策树用于描述一个业务场景中各个节点对应的对话进程间的跳转关系,多轮对话状态参数用于表征上一次获取到的对话信息对应的激活节点。
本发明实施例中,获取到的对话信息为本轮对话中用户输入的对话信息,用户输入的对话信息可以是语音信息或文字信息。当用户输入的是语音信息时,还需要预先将语音信息转换为文字信息,以方便后续处理。
本发明实施例中,通过决策树的方式配置多轮对话的业务场景,即,为每一个多轮对话的业务场景配置一棵决策树,将一个业务场景中可能涉及的各个对话进程配置为决策树中的节点,对话进程用来描述一个多轮对话的进度,本发明实施例中通过决策树中的节点来表示一个多轮对话的进度,以买车的业务场景为例,多轮对话的进度可以是:用户咨询买新车,或用户已经咨询到买二手的宝马车等。其中,决策树的根节点为进入一个业务场景的入口,按照各个对话进程间的逻辑关系添加根节点下的各层子节点,最终形成树形结构。具体以买车的业务场景为例,例如,针对汽车4S店,可生成如图3A所示的决策树,根节点对应的对话进程为识别到用户需要咨询车辆相关的信息,决策树的第二层可设置与车辆交易相关的子节点,例如,根节点的子节点可以是买新车、买二手车、买配件等,在买新车的节点下还可以设置多个车辆品牌对应的子节点,例如宝马、奥迪等,在买二手车的节点下同样可以设置多个车辆品牌对应的子节点,买车辆配件的节点下可设置多个汽车配件类型对应的子节点,如空调配件、车身配件等。图3A所示的决策树仅为一个示例,具体实施时,业务场景对应的决策树上的各节点可根据实际业务需求自由配置。
本发明实施例中,通过决策树描述一个业务场景中各个节点对应的对话进程间的跳转关系。如图3A、3B所示,决策树中的节点间的跳转关系可通过有向图的方式来描述,有向图中,一个箭头的起始端即对应父节点,该箭头的末端对应子节点,跳转关系即为从父节点跳转到其子节点。
作为一种可能是实施方式,决策树可以是连通且无回路的有向图,参考图3A所示的决策树对应的有向图,此时,子节点为其父节点所在层级的下一层中的至少一个节点,也就是说,第一层节点可以向第二层节点跳转,第二层节点可以向第三层节点跳转,以图3A为例,第一层的根节点“买车”可以跳转到第二层的节点“买新车”、“买二手车”或“买配件”,第二层的节点“买新车”可以跳转到其在三层中的子节点“宝马”或“奥迪”,第二层的节点“买配件”可以跳转到其在第三层中的子节点“空调配件”或“车身配件”。
作为另一种可能是实施方式,决策树还可以是连通且有回路的有向图,参考图3B所示的决策树对应的有向图,此时,一个父节点的子节点可以是该决策树中的其它任一节点,以实现决策树中任意两个节点间的跳转,例如,第三层的节点可以跳转到第二层的节点,任一层的节点可以跳转到根节点,同一层级间的节点可以跳转,等等。以图3B为例,对话进程可以从第三层的节点“宝马”跳转到第二层的节点“买新车”,对话进程可以从第三层的节点“空调配件”跳转到根节点“买车”,对话进程可以从第二层的节点“买新车”跳转到第二层的节点“买二手车”。实际应用中,如果用户先询问了关于买新车的问题,此时多轮对话进行到节点“买新车”,然后,用户又询问了关于买二手车的问题,此时,根据图3B所示的决策树的跳转关系可以确定,“买新车”的子节点包括“宝马”、“奥迪”和“买二手车”,将“买新车”的子节点作为候选节点,通过将对话信息与候选节点进行匹配,可跳转到另一个支路中的节点“买二手车”,实现同一业务场景中不同层级、不同支路中对话进程的自由切换,使得决策树的配置方式更加灵活。
本发明实施例中,数据库中的一个决策树对应一个唯一的决策树标识,同一决策树中的一个节点对应一个唯一的节点标识,通过决策树标识和节点标识,就可以查询到数据库中指定决策树中的指定节点。为此,多轮对话状态参数的值可以是节点对应的决策树标识和节点标识。具体实施时,可通过redis等具备根据key值查询数据能力的数据库存储并管理各业务场景对应的决策树,每个决策树的key值为决策树标识,决策树的每个节点的key值为节点标识,根据多轮对话状态参数记录的决策树标识和节点标识,确定多轮对话状态参数在决策树中对应的节点,进而确定候选节点。
本发明实施例中,决策树的每一个节点(包括根节点和子节点)配置有激活条件(condition)和对应的操作(action)。其中,节点的激活条件用于与获取到的对话信息进行匹配,根据匹配结果,确定多轮对话进行到哪个节点对应的对话进程,进而控制智能设备执行该节点对应的操作。
S202、根据对话信息,从候选节点中,选择满足激活条件的候选节点确定为对话信息对应的激活节点。
具体实施时,一个节点可配置一个或多个激活条件。若获取到的对话信息满足某一节点上的任一激活条件,则确定该节点为候选节点。若仅有一个候选节点,则确定该候选节点为对话信息对应的激活节点;若确定出多个候选节点,则按预设策略从多个候选节点中选择一个候选节点确定为激活节点。本发明实施例中的预设策略可根据实际应用需求自由配置,后续进行详细介绍。
S203、控制智能设备执行激活节点对应的操作。
本发明实施例中,决策树中各节点对应的操作可根据实际应用需求以及被控智能设备可执行的操作进行自由配置。具体地,节点配置的操作的类型包括但不限于以下至少一种:输出文本、播放语音、播放多媒体或执行技能等。具体地,当配置的操作类型为输出文本时,输出的文本可以是根据获取到的对话信息确定的文本信息,可控制智能设备的显示装置显示该文本信息。当配置的操作类型为播放语音时,可控制智能设备根据获取到的对话信息确定的文本信息,进行TTS播报。当配置的操作类型为播放多媒体时,可控制智能设备显示图像、播放视频或音频等多媒体,例如,在买车的业务场景下,识别到用户需要购买X品牌X型号的车,可播放介绍X品牌X型号的车的视频。如果用户使用的智能设备具备执行指定技能的技能模块,可预先为业务场景配置好执行指定技能对应的控制指令,例如,智能设备具备唱歌的技能,则可预先为需要触发唱歌技能的业务场景配置控制唱歌技能模块的控制指令,将控制指令发送给智能设备,以控制智能设备执行唱歌这一技能动作。具体实施时,针对一个业务场景可配置至少一个操作,当一个业务场景配置有多个操作时,可同时执行这多个操作,例如,输出文本的同时,对该文本进行TTS播报;如果一个业务场景对应的多个操作之间有先后关系时,可为各个操作配置执行的优先级,按优先级顺序依次控制智能设备执行各个操作。本发明实施例的方法,可灵活地为各业务场景配置形式丰富的动作指令,为智能设备提供多模态输出方式,极大地丰富了人机交互体验。
本发明实施例的多轮对话处理方法,利用决策树的方式实现对多轮对话中的业务场景的配置,并通过多轮对话状态参数记录对轮对话的进程。当需要对用户输入的对话信息进行处理时,获取多轮对话状态参数,然后根据多轮对话状态参数从数据库中确定出所有可能的候选节点,这些候选节点对应了当前获取到的对话信息可能对应的对话进程;接着,将对话信息与每个候选节点对应的激活条件进行匹配,从满足激活条件的候选节点中选择一个候选节点作为激活节点,控制智能设备执行该激活节点对应的操作,至此完成一轮对话交互。本发明实施例的多轮对话处理方法,利用决策树的方式配置多轮对话中的业务场景,使得针对多轮对话的配置方式更加简单、灵活、高效,且配置完成后可即时生效,具备很强的可操作性,并通过多轮对话状态参数记录对轮对话的进程,结合决策树可快速确定本轮对话中智能设备需要执行的操作。
具体实施时,如果多轮对话状态参数的值不为空,可确定多轮对话已经进入了某一业务场景,多轮对话状态参数指向的目标节点即表示在该业务场景下的对话进度,此时,用户输入的对话信息可能是在上一轮对话的业务场景下继续进行对话,也可能是开始新业务场景下的对话。为此,作为一种可能的实现方式,步骤S201具体包括:根据多轮对话状态参数的值确定目标节点;将目标节点的子节点以及数据库中除目标节点所在的决策树以外的其他决策树的根节点确定为候选节点。
具体地,多轮对话状态参数的值可以是决策树标识和节点标识,根据决策树标识和节点标识即可在数据库中确定出目标节点,再根据目标节点所在的决策树中的跳转关系确定该目标节点的子节点,将该目标节点的子节点以及数据库中除目标节点所在的决策树以外的其他决策树的根节点作为候选节点。其中,目标节点的子节点可以包括:该目标节点所在层级的下一层的节点、该目标节点所在层级的上一层的节点、与该目标节点在同一层的其它节点、或根节点等,具体需根据为该决策树配置的跳转关系确定。以图3A为例,假设数据库中还包括业务场景“买车票”、“查美食”对应的决策树,基于多轮对话状态参数确定的目标节点为节点“买新车”,则候选节点为节点“买新车”的子节点“宝马”、“奥迪”以及“买车票”和“查美食”对应的决策树的根节点。以图3B为例,假设数据库中还包括业务场景“买车票”、“查美食”对应的决策树,多轮对话状态参数对应的目标节点为节点“买新车”,则候选节点为节点“买新车”的子节点“宝马”、“奥迪”和“买二手车”,以及“买车票”和“查美食”对应的决策树的根节点。
具体实施时,如果多轮对话状态参数的值为空,则说明还没有进入任何一个业务场景的多轮对话或者之前的多轮对话已过期,查不到目标节点,此时,将数据库中所有决策树的根节点作为候选节点,即进入新的业务场景。为此,作为另一种可能的实现方式,步骤S201具体包括:若多轮对话状态参数的值为空,则将数据库包含的所有决策树的根节点确定为候选节点。以图3A为例,假设数据库中还包括业务场景“买车票”、“查美食”的决策树,多轮对话状态参数的值为空,则候选节点为“买车”、“买车票”以及“查美食”的根节点。
当人机交互一直在同一业务场景下进行时,对话状态会沿着该业务场景对应的决策树的节点有条不紊地进行下去,以输出用户实际需求或者满意的回应。由于在确定候选节点时,会将其他业务场景对应的根节点也纳入候选节点,因此,当用户输入属于其他业务场景的对话信息时,能够匹配到正确的业务场景,并即时切换到新的业务场景。例如,上一轮对话属于“买车”业务场景,当用户输入的对话信息为“帮我买张火车票”时,由于在确定候选节点时,会将除“买车”业务场景以外的其他业务场景对应的根节点纳入候选节点,因此,在根据对话信息从候选节点中确定出激活节点时,会将“买车票”的业务场景对应的根节点确定为激活节点,从而顺利地将对话场景切换到“买车票”的业务场景。因此,本发明实施例的多轮对话处理方法,能够保证在一个业务场景下,多轮对话的有序进行,以输出用户实际需求或者满意的回应,同时,能够轻松地实现多业务场景的即时切换。
在上述任一实施例的基础上,本发明实施例中的激活条件包括但不限于以下至少一种:第一激活条件、第二激活条件、关键词激活条件、领域激活条件或意图激活条件。
当为节点配置的是第一激活条件时,针对每个节点可设置一个或多个第一文本,例如,针对图3A中的买车节点,第一文本可以是“我要买车”或“我要买汽车配件”等。在获取到对话信息后,针对任一候选节点,将对话信息与该候选节点对应的第一文本进行比对,若对话信息对应的文本信息与该候选节点对应的第一文本相同,确定对话信息满足该候选节点的第一激活条件,否则,表示该对话信息不满足该候选节点的第一激活条件。
当为节点配置的是第二激活条件时,针对每个节点可设置一个或多个第二文本,例如,针对图3A中的买车节点,第二文本可以是“我要买车”或“我要买汽车配件”等。在获取到对话信息后,针对任一候选节点,计算该对话信息对应的文本信息与该候选节点对应的第二文本的相似度,若相似度高于预先配置的相似度阈值,确定该对话信息满足该候选节点的第二激活条件,否则,确定该对话信息不满足该候选节点的第二激活条件。其中,相似度阈值是可配置的,可根据实际情况设置,本发明实施例不作限定,例如,可根据选择的文本相似度算法的准确度,调整预设阈值。
当为节点配置的是关键词激活条件时,针对每个节点可设置一个或多个关键词,例如,针对图3A中的买车节点,配置的关键词可以是车、汽车、配件等。在获取到对话信息后,针对任一候选节点,判断该对话信息对应的文本信息中是否包含该候选节点对应的关键词,若对话信息对应的文本信息中包含该候选节点对应的关键词,确定该对话信息满足该候选节点的关键词激活条件,否则,确定该对话信息不满足该候选节点的关键词激活条件。实际应用中,可配置为:若对话信息对应的文本信息中包含候选节点对应的至少一个关键词,确定该对话信息满足该候选节点的关键词激活条件,否则,确定该对话信息不满足该候选节点的关键词激活条件;或者,若对话信息对应的文本信息中包含候选节点对应的所有关键词,确定该对话信息满足该业务场景的关键词激活条件,否则,确定该对话信息不满足该候选节点的关键词激活条件。
当为节点配置的是领域(domain)激活条件时,针对每个节点可设置一个或多个领域信息,例如,针对图3A中的买车节点,配置的领域信息可以是汽车等。在获取到对话信息后,可通过NLP(自然语言处理)算法识别对话信息对应的文本信息对应的领域信息,针对任一候选节点,若该候选节点对应的领域信息中包含对话信息对应的领域信息,确定该对话信息满足该候选节点的领域激活条件,否则,确定该对话信息不满足该候选节点的领域激活条件。
当为节点配置的是意图(intent)激活条件时,针对每个节点可设置一个或多个意图信息,例如,针对图3A中的买车节点,配置的意图信息可以是买车、买汽车配件等。在获取到对话信息后,可通过NLP算法识别对话信息对应的文本信息对应的意图信息,针对任一候选节点,若该候选节点对应的意图信息中包含该对话信息对应的意图信息,确定该对话信息满足候选节点的意图激活条件,否则,确定该对话信息不满足候选节点的意图激活条件。
具体实施时,可为决策树中的节点配置一种或多种激活条件。本发明实施例中的激活条件具有较强的可配置性,此外,可通过多种激活条件组合触发的方式,提高触发多轮对话的激活条件的泛化能力,极大地提高了多轮对话处理方法的可用性。
在上述任一实施例的基础上,子节点的优先级高于根节点的优先级,即,当满足激活条件的候选节点中同时包括子节点和根节点时,优先将子节点作为激活节点。为此,作为一种可能的实现方式,步骤S202具体包括:
若对话信息满足候选节点中的任一子节点的激活条件,从满足激活条件的子节点中,选择一个子节点,确定为对话信息对应的激活节点;或者,
若对话信息不满足候选节点中的任一子节点的激活条件,且对话信息满足候选节点中的任一根节点的激活条件,从满足激活条件的根节点中,选择一个根节点,确定为对话信息对应的激活节点。
具体实施时,示例的,可优先将侯选节点中的子节点的激活条件与获取到的对话信息进行匹配,若该对话信息满足候选节点中的任一子节点的激活条件,从满足激活条件的子节点中,选择一个子节点,确定为对话信息对应的激活节点;若对话信息不满足候选节点中的任一子节点的激活条件,再将侯选节点中的根节点的激活条件与获取到的对话信息进行匹配,若该对话信息满足候选节点中的任一根节点的激活条件,从满足激活条件的根节点中,选择一个根节点,确定为对话信息对应的激活节点。或者,将所有侯选节点的激活条件与获取到的对话信息进行匹配,优先从满足激活条件的子节点中,选择一个子节点,确定为对话信息对应的激活节点;若没有满足激活条件的子节点,再从满足激活条件的根节点中,选择一个根节点,确定为对话信息对应的激活节点。
进一步地,还可以为不同的激活条件设置不同的优先级,具体的优先级顺序可根据实际需求进行设置,本发明实施例不作限定。例如,优先级顺序可以是:第一激活条件>第二激活条件>关键词激活条件>意图激活条件>领域激活条件。
具体实施时,示例的,可根据预设的各类激活条件的优先级,从被满足激活条件的候选节点中确定出激活节点。为此,作为一种可能的实现方式,步骤S202具体包括:
若对话信息满足候选节点中的任一子节点的激活条件,从满足激活条件的子节点中,选择激活优先级最高的子节点,确定为对话信息对应的激活节点,子节点的激活优先级是根据子节点满足的激活条件中最高的优先级确定的;或者,
若对话信息不满足候选节点中的任一子节点的激活条件,且对话信息满足候选节点中的任一根节点的激活条件,从满足激活条件的根节点中,选择激活优先级最高的根节点,确定为对话信息对应的激活节点,根节点的激活优先级是根据根节点满足的激活条件中最高的优先级确定的。
举例说明,假设第一激活条件的优先级为五级,第二激活条件的优先级为四级,关键词激活条件的优先级为三级,意图激活条件的优先级为二级,领域激活条件的优先级为一级,其中,五级为最高的优先级,一级为最低的优先级。以子节点为例,如果对话信息同时满足子节点A的第一激活条件、第二激活条件以及关键词激活条件,则确定子节点A的激活优先级五级;如果对话信息同时满足子节点B的第一问题激活条件以及意图激活条件,则确定子节点B的激活优先级为四级;由于子节点A的激活优先级最高,最终确定子节点A为对话信息对应的激活节点。
具体实施时,还可以按照激活条件的优先级从高到低的顺序,将对话信息与候选节点的激活条件进行匹配,若对话信息满足该候选节点的某一激活条件,则直接将该激活条件的优先级确定为该候选节点的激活优先级,停止与该候选节点的其它激活条件进行匹配。
在上述任一实施例的基础上,决策树的各节点还预先配置有节点优先级,节点优先级规定了各个节点在其所属层级内的优先级。例如,在同一决策树内,同一父节点的所有子节点属于同一层级,以图3A为例,买新车、买二手车、买配件三个节点为同一层级,买新车的子节点宝马和奥迪属于同一层级,买二手车的子节点宝马和奥迪属于同一层级,买车辆配件的子节点空调配件和车身配件属于同一层级。数据库中各决策树预的根节点也预先配置有节点优先级。
在此基础上,作为一种可能的实现方式,在从满足激活条件的子节点中,选择激活优先级最高的子节点确定为对话信息对应的激活节点时,若满足激活条件的激活优先级最高的子节点的数量为一个,将该满足激活条件的激活优先级最高的子节点,确定为对话信息对应的激活节点;若满足激活条件的激活优先级最高的子节点的数量为多个,则从满足激活条件的激活优先级最高的子节点中,选择节点优先级最高的子节点,确定为对话信息对应的激活节点。
在此基础上,作为一种可能的实现方式,从满足激活条件的根节点中,选择激活优先级最高的根节点,确定为对话信息对应的激活节点时,若满足激活条件的激活优先级最高的根节点的数量为一个,则将该满足激活条件的激活优先级最高的根节点,确定为对话信息对应的激活节点;若满足激活条件的激活优先级最高的根节点的数量为多个,则从满足激活条件的激活优先级最高的根节点中,选择节点优先级最高的根节点,确定为对话信息对应的激活节点。
在上述任一实施例的基础上,决策树中的各个节点上还配置有超时时长阈值。各节点对应的超时时长可根据使用场景自由设置,本发明实施例中不作限定。
为此,在确定出对话信息对应的激活节点后,本发明实施例的多轮对话处理方法还包括以下步骤:根据激活节点的信息,更新多轮对话状态参数的值;若检测到激活节点的激活时长超过激活节点对应的超时时长阈值,清空多轮对话状态参数的值。其中,激活时长可以是当前时刻与确定出对话信息对应的激活节点时的时刻之间的差值,也可以是当前时刻与更新多轮对话状态参数的值时的时刻之间的差值。
举例说明,对话信息对应的激活节点的超时时长阈值为30秒,如果在根据该激活节点的信息更新多轮对话状态参数后的30秒内没有接收到新的对话信息,或者,在确定出对话信息对应的激活节点后的30秒内没有接收到新的对话信息,则清空多轮对话状态参数的值。在清空多轮对话状态参数的值后,若接收到新的对话信息,将数据库中所有决策树的根节点作为候选节点,将新的对话信息与每个候选节点对应的激活条件进行匹配,按预设策略从满足激活条件的候选节点中,选择一个候选节点作为激活节点,根据激活节点更新多轮对话状态参数的值,并控制智能设备执行该激活节点对应的操作。
具体实施时,获取的激活节点的信息可包括激活节点所属决策树的决策树标识和该激活节点在所属决策树中的节点标识,将多轮对话状态参数的值更新为该激活节点对应的决策树标识和节点标识,以此记录下本轮对话结束后,多轮对话的进程,作为处理下一轮对话时的历史信息。
在上述任一实施例的基础上,数据库中的每个决策树还配置有生效范围,生效范围规定了有权使用决策树的对象。在此基础上,作为一种可能的实现方式,步骤S201具体包括:根据对话信息对应的标识信息以及数据库包含的决策树的生效范围,选择标识信息所满足的生效范围对应的决策树,确定为候选决策树;根据多轮对话状态参数,从候选决策树决中选取候选节点。
具体实施时,获取到的对话信息携带有对应的标识信息。标识信息可以是用于表示用户唯一身份的用户标识,例如,用户的注册ID等。标识信息也可以是企业级的企业标识,即一个企业标识对应一个企业。标识信息还可以是设备级的设备标识,设备标识可用于标识一类设备或一个设备,例如,智能音箱为一类设备,聊天机器人为一类设备。标识信息还可以是业务级的产品标识,例如,通过同一种应用产品发送的对话信息携带有该应用产品对应的产品标识。本发明实施例中不对标识信息的具体实现进行限定,可根据实际应用场景或需求进行配置。为此,针对每个用户、每个企业、每类或每个设备以及每种产品,可自由配置其专属的业务场景。
相应地,本发明实施例可配置的生效范围包括全局生效范围、企业生效范围、产品生效范围或设备生效范围。具体地,当为决策树配置的是全局生效范围时,表示所有的对象(包括不同的用户、企业、设备、产品等)均可以使用该决策树,在配置全局生效范围时,决策树对应的生效范围也可以是缺省值,即生效范围未填入任何值时,表示该决策树在全局范围内生效。当决策树配置的是企业生效范围时,如果对话信息携带的企业标识在该决策树的企业生效范围内,则选择该决策树作为候选决策树,例如,可为企业A配置其专用的决策树,则企业A的智能设备可使用这些决策树。当决策树配置的是产品生效范围时,如果对话信息携带的产品标识在该决策树的产品生效范围内,则选择该决策树作为候选决策树,例如,可针对某些应用程序配置专用的决策树,该决策树的产品生效范围记录的可以是应用程序的应用标识,当通过智能设备发送的对话信息中携带的应用标识与决策树生效范围内记录的应用标识相同时,选择该决策树作为候选决策树。通过为各决策树配置生效范围,可实现决策树在不同层级的生效,如全局生效、产品生效、企业生效、设备级别生效等,可满足不同用户对业务场景的个性化定制需求。
如图4所示,基于与上述多轮对话处理方法相同的发明构思,本发明实施例还提供了一种多轮对话处理装置40,包括选取模块401、确定模块402和控制模块403。
选取模块401,用于获取到对话信息后,根据多轮对话状态参数,从数据库包含的决策树中选取候选节点;其中,每个决策树对应一个多轮对话的业务场景,决策树中的任一个节点对应业务场景中的一个对话进程,决策树用于描述一个业务场景中各个节点对应的对话进程间的跳转关系,多轮对话状态参数用于表征上一次获取到的对话信息对应的激活节点。
确定模块402,用于根据对话信息,从候选节点中,选择满足激活条件的候选节点确定为对话信息对应的激活节点。
控制模块403,用于控制智能设备执行激活节点对应的操作。
作为一种可能的实现方式,选取模块401具体用于:根据多轮对话状态参数的值确定目标节点;将目标节点的子节点以及数据库中除目标节点所在的决策树以外的其他决策树的根节点确定为候选节点。
作为另一种可能的实现方式,选取模块401具体用于:若多轮对话状态参数的值为空,则将数据库包含的所有决策树的根节点确定为候选节点。
在上述任一实施例的基础上,确定模块402具体用于:若对话信息满足候选节点中的任一子节点的激活条件,从满足激活条件的子节点中,选择一个子节点,确定为对话信息对应的激活节点;或者,若对话信息不满足候选节点中的任一子节点的激活条件,且对话信息满足候选节点中的任一根节点的激活条件,从满足激活条件的根节点中,选择一个根节点,确定为对话信息对应的激活节点。
进一步地,确定模块402具体用于:从满足激活条件的子节点中,选择激活优先级最高的子节点,确定为对话信息对应的激活节点,子节点的激活优先级是根据子节点满足的激活条件中最高的优先级确定的。
进一步地,确定模块402具体用于:若满足激活条件的激活优先级最高的子节点的数量为多个,则从满足激活条件的激活优先级最高的子节点中,选择节点优先级最高的子节点,确定为对话信息对应的激活节点。
在上述任一实施例的基础上,确定模块402具体用于:从满足激活条件的根节点中,选择激活优先级最高的根节点,确定为对话信息对应的激活节点,根节点的激活优先级是根据根节点满足的激活条件中最高的优先级确定的。
进一步地,确定模块402具体用于:若满足激活条件的激活优先级最高的根节点的数量为多个,则从满足激活条件的激活优先级最高的根节点中,选择节点优先级最高的根节点,确定为对话信息对应的激活节点。
在上述任一实施例的基础上,本发明实施例中的激活条件包括以下至少一种:
若对话信息与任一候选节点对应的第一文本相同,确定对话信息满足候选节点的第一激活条件;
计算对话信息与任一候选节点对应的第二文本的相似度,若相似度高于相似度阈值,确定对话信息满足候选节点的第二激活条件;
若对话信息中包含任一候选节点对应的关键词,确定对话信息满足候选节点的关键词激活条件;
若任一候选节点对应的领域信息中包含对话信息对应的领域信息,确定对话信息满足候选节点的领域激活条件;
若任一候选节点对应的意图信息中包含对话信息对应的意图信息,确定对话信息满足候选节点的意图激活条件。
在上述任一实施例的基础上,本发明实施例中的操作的类型包括:输出文本、播放语音、播放多媒体、执行技能中的至少一种。
在上述任一实施例的基础上,本发明实施例的多轮对话处理装置40还包括状态修改模块和状态清空模块。
状态修改模块用于:在确定出对话信息对应的激活节点后,根据激活节点的信息,更新多轮对话状态参数的值。
状态清空模块用于:若检测到激活节点的激活时长超过激活节点对应的超时时长阈值,清空多轮对话状态参数的值。
在上述任一实施例的基础上,选取模块401具体用于:根据对话信息对应的标识信息以及数据库包含的决策树的生效范围,选择标识信息所满足的生效范围对应的决策树,确定为候选决策树;根据多轮对话状态参数,从候选决策树决中选取候选节点。
进一步地,本发明实施例中的生效范围包括全局生效范围、企业生效范围或设备生效范围。
本发明实施例提的多轮对话处理装置与上述多轮对话处理方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述多轮对话处理方法相同的发明构思,本发明实施例还提供了一种电子设备,该电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图5所示,该电子设备50可以包括处理器501、存储器502和收发机503。收发机503用于在处理器501的控制下接收和发送数据。
存储器502可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储多轮对话处理方法的程序。
处理器501可以是CPU(中央处埋器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)处理器通过调用存储器存储的程序指令,按照获得的程序指令实现上述任一实施例中的多轮对话处理方法。
基于与上述多轮对话处理方法相同的发明构思,本发明实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述多轮对话处理方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
基于与上述多轮对话处理方法相同的发明构思,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一实施例中的多轮对话处理方法。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。
Claims (10)
1.一种多轮对话处理方法,其特征在于,包括:
获取到对话信息后,根据多轮对话状态参数,从数据库包含的决策树中选取候选节点;其中,每个决策树对应一个多轮对话的业务场景,所述决策树中的任一个节点对应所述业务场景中的一个对话进程,所述决策树用于描述一个业务场景中各个节点对应的对话进程间的跳转关系,所述多轮对话状态参数用于表征上一次获取到的对话信息对应的激活节点;
根据所述对话信息,从所述候选节点中,选择满足激活条件的候选节点确定为所述对话信息对应的激活节点;
控制智能设备执行所述激活节点对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述根据多轮对话状态参数,从数据库包含的决策树中选取候选节点,包括:
根据所述多轮对话状态参数的值确定目标节点;
将所述目标节点的子节点以及所述数据库中除所述目标节点所在的决策树以外的其他决策树的根节点确定为候选节点。
3.根据权利要求1所述的方法,其特征在于,所述根据多轮对话状态参数,从数据库包含的决策树中选取候选节点,包括:
若所述多轮对话状态参数的值为空,则将数据库包含的所有决策树的根节点确定为候选节点。
4.根据权利要求1所述的方法,其特征在于,所述根据所述对话信息,从所述候选节点中,选择满足激活条件的候选节点确定为所述对话信息对应的激活节点,包括:
若所述对话信息满足所述候选节点中的任一子节点的激活条件,从满足激活条件的子节点中,选择一个子节点,确定为所述对话信息对应的激活节点;或者,
若所述对话信息不满足所述候选节点中的任一子节点的激活条件,且所述对话信息满足所述候选节点中的任一根节点的激活条件,从满足激活条件的根节点中,选择一个根节点,确定为所述对话信息对应的激活节点。
5.根据权利要求4所述的方法,其特征在于,所述从满足激活条件的子节点中,选择一个子节点,确定为所述对话信息对应的激活节点,包括:
从满足激活条件的子节点中,选择激活优先级最高的子节点,确定为所述对话信息对应的激活节点,所述子节点的激活优先级是根据所述子节点满足的激活条件中最高的优先级确定的。
6.根据权利要求4所述的方法,其特征在于,所述从满足激活条件的根节点中,选择一个根节点,确定为所述对话信息对应的激活节点,包括:
从满足激活条件的根节点中,选择激活优先级最高的根节点,确定为所述对话信息对应的激活节点,所述根节点的激活优先级是根据所述根节点满足的激活条件中最高的优先级确定的。
7.根据权利要求1至6中任一所述的方法,其特征在于,所述激活条件包括以下至少一种:
若所述对话信息与任一候选节点对应的第一文本相同,确定所述对话信息满足所述候选节点的第一激活条件;
计算所述对话信息与任一候选节点对应的第二文本的相似度,若所述相似度高于相似度阈值,确定所述对话信息满足所述候选节点的第二激活条件;
若所述对话信息中包含任一候选节点对应的关键词,确定所述对话信息满足所述候选节点的关键词激活条件;
若任一候选节点对应的领域信息中包含所述对话信息对应的领域信息,确定所述对话信息满足所述候选节点的领域激活条件;
若任一候选节点对应的意图信息中包含所述对话信息对应的意图信息,确定所述对话信息满足所述候选节点的意图激活条件。
8.一种多轮对话处理装置,其特征在于,包括:
选取模块,用于获取到对话信息后,根据多轮对话状态参数,从数据库包含的决策树中选取候选节点;其中,每个决策树对应一个多轮对话的业务场景,所述决策树中的任一个节点对应所述业务场景中的一个对话进程,所述决策树用于描述一个业务场景中各个节点对应的对话进程间的跳转关系,所述多轮对话状态参数用于表征上一次获取到的对话信息对应的激活节点;
确定模块,用于根据所述对话信息,从所述候选节点中,选择满足激活条件的候选节点确定为所述对话信息对应的激活节点;
控制模块,用于控制智能设备执行所述激活节点对应的操作。
9.一种电子设备,包括收发机、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述收发机用于在所述处理器的控制下接收和发送数据,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236199.0A CN111753061B (zh) | 2019-03-27 | 2019-03-27 | 多轮对话处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236199.0A CN111753061B (zh) | 2019-03-27 | 2019-03-27 | 多轮对话处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753061A true CN111753061A (zh) | 2020-10-09 |
CN111753061B CN111753061B (zh) | 2024-03-12 |
Family
ID=72671466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910236199.0A Active CN111753061B (zh) | 2019-03-27 | 2019-03-27 | 多轮对话处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753061B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929499A (zh) * | 2021-02-02 | 2021-06-08 | 深圳追一科技有限公司 | 对话交互方法和装置、计算机设备、计算机可读存储介质 |
CN113421561A (zh) * | 2021-06-03 | 2021-09-21 | 广州小鹏汽车科技有限公司 | 语音控制方法、语音控制装置、服务器和存储介质 |
JP2021170310A (ja) * | 2020-04-13 | 2021-10-28 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | 対話生成方法、装置、電子機器、プログラム及び記憶媒体 |
CN113742457A (zh) * | 2021-09-09 | 2021-12-03 | 京东科技信息技术有限公司 | 应答处理方法、装置、电子设备及存储介质 |
CN114722171A (zh) * | 2022-03-28 | 2022-07-08 | 北京百度网讯科技有限公司 | 多轮对话处理方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599071A (zh) * | 2009-07-10 | 2009-12-09 | 华中科技大学 | 对话文本主题的自动提取方法 |
CN105068661A (zh) * | 2015-09-07 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
CN107004408A (zh) * | 2014-12-09 | 2017-08-01 | 微软技术许可有限责任公司 | 用于基于将语义知识图的至少一部分转换为概率状态图来确定口语对话中的用户意图的方法和系统 |
CN108090177A (zh) * | 2017-12-15 | 2018-05-29 | 上海智臻智能网络科技股份有限公司 | 多轮问答系统的生成方法、设备、介质及多轮问答系统 |
CN108197191A (zh) * | 2017-12-27 | 2018-06-22 | 神思电子技术股份有限公司 | 一种多轮对话的场景意图中断方法 |
CN108228764A (zh) * | 2017-12-27 | 2018-06-29 | 神思电子技术股份有限公司 | 一种单轮对话和多轮对话的融合方法 |
US20180338041A1 (en) * | 2017-05-22 | 2018-11-22 | Genesys Telecommunications Laboratories, Inc. | System and method for dynamic dialog control for contact center systems |
CN108877801A (zh) * | 2018-06-14 | 2018-11-23 | 南京云思创智信息科技有限公司 | 基于多模态情绪识别系统的多轮对话语义理解子系统 |
CN109101624A (zh) * | 2018-08-13 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 对话处理方法、装置、电子设备及存储介质 |
CN109446306A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种基于任务驱动的多轮对话的智能问答方法 |
-
2019
- 2019-03-27 CN CN201910236199.0A patent/CN111753061B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599071A (zh) * | 2009-07-10 | 2009-12-09 | 华中科技大学 | 对话文本主题的自动提取方法 |
CN107004408A (zh) * | 2014-12-09 | 2017-08-01 | 微软技术许可有限责任公司 | 用于基于将语义知识图的至少一部分转换为概率状态图来确定口语对话中的用户意图的方法和系统 |
CN105068661A (zh) * | 2015-09-07 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
US20180338041A1 (en) * | 2017-05-22 | 2018-11-22 | Genesys Telecommunications Laboratories, Inc. | System and method for dynamic dialog control for contact center systems |
CN108090177A (zh) * | 2017-12-15 | 2018-05-29 | 上海智臻智能网络科技股份有限公司 | 多轮问答系统的生成方法、设备、介质及多轮问答系统 |
CN108197191A (zh) * | 2017-12-27 | 2018-06-22 | 神思电子技术股份有限公司 | 一种多轮对话的场景意图中断方法 |
CN108228764A (zh) * | 2017-12-27 | 2018-06-29 | 神思电子技术股份有限公司 | 一种单轮对话和多轮对话的融合方法 |
CN108877801A (zh) * | 2018-06-14 | 2018-11-23 | 南京云思创智信息科技有限公司 | 基于多模态情绪识别系统的多轮对话语义理解子系统 |
CN109101624A (zh) * | 2018-08-13 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 对话处理方法、装置、电子设备及存储介质 |
CN109446306A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种基于任务驱动的多轮对话的智能问答方法 |
Non-Patent Citations (3)
Title |
---|
RYO SATO ET AL.: "Learning Decision Trees to Determine Turn-Taking by Spoken Dialogue Syetems", 《ICSLP-2002》, 30 September 2002 (2002-09-30), pages 861 - 864 * |
周小强 等: "交互式问答的关系结构体系及标注", 《中文信息学报》, no. 05, 15 May 2018 (2018-05-15), pages 19 - 26 * |
神州泰岳: "人工智能中的语义分析技术及其应用", 《软件和集成电路》, no. 04, 5 April 2017 (2017-04-05), pages 42 - 47 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021170310A (ja) * | 2020-04-13 | 2021-10-28 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | 対話生成方法、装置、電子機器、プログラム及び記憶媒体 |
JP7230304B2 (ja) | 2020-04-13 | 2023-03-01 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 対話生成方法、装置、電子機器、プログラム及び記憶媒体 |
CN112929499A (zh) * | 2021-02-02 | 2021-06-08 | 深圳追一科技有限公司 | 对话交互方法和装置、计算机设备、计算机可读存储介质 |
CN113421561A (zh) * | 2021-06-03 | 2021-09-21 | 广州小鹏汽车科技有限公司 | 语音控制方法、语音控制装置、服务器和存储介质 |
CN113421561B (zh) * | 2021-06-03 | 2024-01-09 | 广州小鹏汽车科技有限公司 | 语音控制方法、语音控制装置、服务器和存储介质 |
CN113742457A (zh) * | 2021-09-09 | 2021-12-03 | 京东科技信息技术有限公司 | 应答处理方法、装置、电子设备及存储介质 |
CN113742457B (zh) * | 2021-09-09 | 2023-12-05 | 京东科技信息技术有限公司 | 应答处理方法、装置、电子设备及存储介质 |
CN114722171A (zh) * | 2022-03-28 | 2022-07-08 | 北京百度网讯科技有限公司 | 多轮对话处理方法、装置、电子设备及存储介质 |
EP4254221A1 (en) * | 2022-03-28 | 2023-10-04 | Beijing Baidu Netcom Science Technology Co., Ltd. | Multi-round dialogue processing method and apparatus, electronic device and storage medium |
CN114722171B (zh) * | 2022-03-28 | 2023-10-24 | 北京百度网讯科技有限公司 | 多轮对话处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111753061B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753061A (zh) | 多轮对话处理方法、装置、电子设备及存储介质 | |
CN108984157B (zh) | 用于语音对话平台的技能配置和调用方法及系统 | |
CN110442701B (zh) | 语音对话处理方法及装置 | |
CN108090177B (zh) | 多轮问答系统的生成方法、设备、介质及多轮问答系统 | |
KR102189855B1 (ko) | 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성 | |
WO2018000278A1 (zh) | 一种基于状态机上下文敏感多轮对话管理系统及方法 | |
CN108962233A (zh) | 用于语音对话平台的语音对话处理方法及系统 | |
CN111831795B (zh) | 多轮对话处理方法、装置、电子设备及存储介质 | |
TW202016693A (zh) | 人機交互處理系統及其方法、儲存媒體、電子設備 | |
CN111813900B (zh) | 多轮对话处理方法、装置、电子设备及存储介质 | |
CN111639168A (zh) | 一种多轮对话的处理方法、装置、电子设备及存储介质 | |
EP4137931A1 (en) | Voice skill jumping method for man-machine dialogue, electronic device, and storage medium | |
CN106384591A (zh) | 一种与语音助手应用交互的方法和装置 | |
CN110223692A (zh) | 用于语音对话平台跨技能的多轮对话方法及系统 | |
CN108446321B (zh) | 一种基于深度学习的自动问答方法 | |
CN112131885A (zh) | 语义识别方法、装置、电子设备及存储介质 | |
CN113421561B (zh) | 语音控制方法、语音控制装置、服务器和存储介质 | |
WO2022135492A1 (zh) | 控制方法、客户端、车辆、语音系统和存储介质 | |
JP7481475B2 (ja) | 対話テキストの機能領域確定方法及び装置 | |
CN109710137A (zh) | 用于语音对话平台的技能优先级配置方法及系统 | |
CN110019716A (zh) | 多轮问答方法、终端设备以及存储介质 | |
CN115129878A (zh) | 一种对话业务执行方法、装置、存储介质及电子设备 | |
CN112069830A (zh) | 一种智能会话方法及装置 | |
CN110706701B (zh) | 语音技能推荐方法、装置、设备及存储介质 | |
CN109960489B (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 |