对话管理方法、设备、计算机可读存储介质及程序产品技术

技术编号:28673525 阅读:18 留言:0更新日期:2021-06-02 02:49
本申请提供了一种对话管理方法、设备、计算机可读存储介质及程序产品,所述方法包括:获取路由服务端发送的第一路由请求;基于第一路由请求确定的标签信息对所述对话的状态进行恢复,得到所述对话的当前状态;基于所述标签信息确定触发事件;将所述触发事件持久化至事件存储空间,并基于所述触发事件和所述当前状态决策预执行动作;向所述路由服务端发送第一路由响应,以使所述路由服务端向所述终端发送携带有预执行动作的对话响应。如此,能够基于标签信息快速地对对话状态进行恢复,使得多轮对话无需固定请求路由,从而实现灵活地人机对话,并且事件存储空间中只需存储触发事件,无需存储大量中间对话状态,能够减小占用的内存空间。

【技术实现步骤摘要】
对话管理方法、设备、计算机可读存储介质及程序产品
本申请涉及人工智能
,涉及但不限于一种对话管理方法、设备、计算机可读存储介质及程序产品。
技术介绍
对话管理(DM,DialogManagement)控制着人机对话的过程,它会根据对话的历史信息,决定对该用户做出什么样的反应。根据智能化程度的不同,对话管理表现形式可简单分为单轮对话和多轮对话两种。单轮对话类似于升级版的问答系统,可作为一个高效低成本的自动化信息检索或查询工具;多轮对话的核心功能在于在反复地询问和对话过程中,收集客户信息,进而明确客户需求。由于多轮对话管理系统需要在系统内存中保持最新对话状态,根据当前状态决定下一个状态的候选集,并且业务存在多样性以及用户输入存在高度的随意性,导致多轮对话管理系统的状态结构与转换关系十分复杂。因此相关技术中多轮对话管理系统一般在单机系统的内存中维护用户配置的状态结构与状态间的转换关系,依据用户的对话内容(触发的事件),对状态机的当前状态进行跳转。在分布式系统的多机环境下,难以实现多轮对话管理系统的状态结构与转换关系,无法实现在任意机器上恢复指定时间点的对话上下文。
技术实现思路
本申请实施例提供一种对话管理方法、装置、设备、计算机可读存储介质及计算机程序产品,能够在分布式系统的多机环境下实现基于事件溯源和有限状态机的多轮对话管理。本申请实施例的技术方案是这样实现的:本申请实施例提供一种对话管理方法,应用于分布式对话管理系统集群中的对话服务端,所述方法包括:获取路由服务端发送的第一路由请求,所述第一路由请求是基于终端发送的对话请求得到的,所述对话请求携带有对话的标签信息;基于所述标签信息对所述对话的状态进行恢复,得到所述对话的当前状态;基于所述标签信息确定触发事件,所述触发事件用于将所述对话的当前状态转移到下一个状态;将所述触发事件持久化至事件存储空间,并基于所述触发事件和所述当前状态决策预执行动作;向所述路由服务端发送第一路由响应,所述第一路由响应携带有所述预执行动作,以使所述路由服务端向所述终端发送对话响应。本申请实施例提供一种对话管理方法,应用于分布式对话管理系统集群的路由服务端,所述方法包括:获取终端发送的用于执行对话管理任务的对话请求,所述对话请求携带有对话的标签信息;从所述分布式对话管理系统集群中筛选用于执行对话管理任务的对话服务端,所述对话服务端为空闲状态;基于所述对话请求确定第一路由请求,并将所述第一路由请求发送至所述对话服务端,以使所述对话服务端基于所述标签信息对所述对话进行恢复和决策,得到预执行动作;获取所述对话服务端发送的第一路由响应,所述第一路由响应携带有所述预执行动作;向所述终端发送对话响应,以使所述终端执行所述预执行动作。本申请实施例提供一种对话管理装置,应用于分布式对话管理系统集群中的对话服务端,所述装置包括:第一获取模块,用于获取路由服务端发送的第一路由请求,所述第一路由请求是基于终端发送的对话请求得到的,所述对话请求携带有对话的标签信息;第一恢复模块,用于基于所述标签信息对所述对话的状态进行恢复,得到所述对话的当前状态;第一确定模块,用于基于所述标签信息确定触发事件,所述触发事件用于将所述对话的当前状态转移到下一个状态;持久化模块,用于将所述触发事件持久化至事件存储空间;决策模块,用于基于所述触发事件和所述当前状态决策预执行动作;第一发送模块,用于向所述路由服务端发送第一路由响应,所述第一路由响应携带有所述预执行动作,以使所述路由服务端向所述终端发送对话响应。本申请实施例提供一种对话管理装置,应用于分布式对话管理系统集群的路由服务端,所述装置包括:第二获取模块,用于获取终端发送的用于执行对话管理任务的对话请求,所述对话请求携带有对话的标签信息;筛选模块,用于从所述分布式对话管理系统集群中筛选用于执行对话管理任务的对话服务端,所述对话服务端为空闲状态;第二确定模块,用于基于所述对话请求确定第一路由请求;第二发送模块,用于将所述第一路由请求发送至所述对话服务端,以使所述对话服务端基于所述标签信息对所述对话进行恢复和决策,得到预执行动作;第三获取模块,用于获取所述对话服务端发送的第一路由响应,所述第一路由响应携带有所述预执行动作;第三发送模块,用于向所述终端发送对话响应,以使所述终端执行所述预执行动作。本申请实施例提供一种对话管理设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的方法。本申请实施例具有以下有益效果:在本申请实施例提供的对话管理方法中,分布式系统的路由服务端基于终端发送的对话请求确定第一路由请求,分布式系统的对话服务端获取到该第一路由请求后,基于对话请求携带的标签信息对对话进行恢复,将对话恢复至当前状态;然后基于标签信息确定触发事件,并依据有限状态机的原理,根据触发事件和对话的当前状态,决策预执行作动,然后将触发事件持久化至事件存储空间,以便在响应下次的对话请求时进行对话恢复。最后,对话服务端将携带有预执行动作的第一路由响应发送至路由服务端,以使路由服务端向终端发送对话响应,如此在分布式系统中完成一轮人机对话。本申请实施例提供的对话管理方法,应用于分布式系统中的对话管理系统,对话服务端能够基于标签信息快速地对对话状态进行恢复,使得多轮对话无需固定请求路由,每轮对话可以请求路由至分布式系统中任一服务端,从而实现灵活地人机对话,并且事件存储空间中只需存储触发事件,无需存储大量中间对话状态,能够减小占用的内存空间。附图说明图1为本申请实施例提供的对话管理方法的网络架构示意图;图2是本申请实施例提供的对话管理设备的组成结构示意图;图3为本申请实施例提供的对话管理方法的一种实现流程示意图;图4为本申请实施例提供的对话管理方法的另一种实现流程示意图;图5为本申请实施例提供的对话管理方法的又一种实现流程示意图;图6为本申请实施例提供的对话管理方法的再一种实现流程示意图;图7为本申请实施例提供的多轮会话管理方法的一种实现流程示意图。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解本文档来自技高网...

【技术保护点】
1.一种对话管理方法,其特征在于,应用于分布式对话管理系统集群中的对话服务端,所述方法包括:/n获取路由服务端发送的第一路由请求,所述第一路由请求是基于终端发送的对话请求得到的,所述对话请求携带有对话的标签信息;/n基于所述标签信息对所述对话的状态进行恢复,得到所述对话的当前状态;/n基于所述标签信息确定触发事件,所述触发事件用于将所述对话的当前状态转移到下一个状态;/n将所述触发事件持久化至事件存储空间,并基于所述触发事件和所述当前状态决策预执行动作;/n向所述路由服务端发送第一路由响应,所述第一路由响应携带有所述预执行动作,以使所述路由服务端向所述终端发送对话响应。/n

【技术特征摘要】
1.一种对话管理方法,其特征在于,应用于分布式对话管理系统集群中的对话服务端,所述方法包括:
获取路由服务端发送的第一路由请求,所述第一路由请求是基于终端发送的对话请求得到的,所述对话请求携带有对话的标签信息;
基于所述标签信息对所述对话的状态进行恢复,得到所述对话的当前状态;
基于所述标签信息确定触发事件,所述触发事件用于将所述对话的当前状态转移到下一个状态;
将所述触发事件持久化至事件存储空间,并基于所述触发事件和所述当前状态决策预执行动作;
向所述路由服务端发送第一路由响应,所述第一路由响应携带有所述预执行动作,以使所述路由服务端向所述终端发送对话响应。


2.根据权利要求1所述的方法,其特征在于,所述基于所述标签信息对所述对话的状态进行恢复,得到所述对话的当前状态,包括:
基于所述标签信息,加载所述对话对应的状态机和历史事件序列;
根据所述状态机和所述历史事件序列对所述对话的状态进行恢复,得到所述对话的当前状态。


3.根据权利要求2所述的方法,其特征在于,所述基于所述标签信息,加载所述对话对应的状态机和历史事件序列,包括:
对所述标签信息进行解析,得到所述对话对应的待加载状态机和对话标识;
获取状态机配置信息,并基于所述状态机配置信息加载所述待加载状态机;
基于所述对话标识,从所述事件存储空间中加载与所述对话标识对应的历史事件序列。


4.根据权利要求2所述的方法,其特征在于,所述根据所述状态机和所述历史事件序列对所述对话的状态进行恢复,得到所述对话的当前状态,包括:
对加载后的状态机进行初始化,得到所述对话的初始状态;
利用所述历史事件序列中包括的各个历史触发事件,触发所述对话的初始状态进行逐步转移,得到所述对话的当前状态。


5.根据权利要求1所述的方法,其特征在于,所述基于所述标签信息确定触发事件,包括:
对所述标签信息进行解析,得到当前输入信息;
基于自然语言理解NLU对所述当前输入信息进行处理,得到目标对话内容;
根据所述当前状态和所述目标对话内容,决策所述对话的下一个状态;
基于所述当前状态、所述下一个状态和所述目标对话内容确定触发事件。


6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取路由服务端发送的第二路由请求,所述第二路由请求是基于终端发送的查询请求得到的,所述查询请求携带有查询条件信息,所述查询条件信息为截止时间、对话时长或对话次数中其中一个;
基于所述查询条件信息将所述对话的状态恢复至查询状态;
基于所述查询状态确定查询结果;
向所述路由服务端发送第二路由响应,所述第二路由响应携带有所述查询结果,以使所述路由服务端向所述终端发送所述查询结果。


7.一种对话管理方法,其特征在于,应用于分布式对话管理系统集群的路由服务端,所述方法包括:
获取终端发送的用于执行对话管理任务的对话请求,所述对话请求携带有对话的标签信息;
...

【专利技术属性】
技术研发人员:李牧之
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1