掌桥专利:专业的专利平台
掌桥专利
首页

一种对话流程异常中断的恢复方法及系统

文献发布时间:2024-04-18 19:58:21


一种对话流程异常中断的恢复方法及系统

技术领域

本发明涉及人工智能领域,特别是涉及一种对话流程异常中断的恢复方法及系统领域。

背景技术

在技术发展的今天,与人工智能领域相关的技术已经逐渐应用到我们的日常生活环境,也出现了许多基于人工智能研发的聊天机器人,其能够根据用户的输入与用户进行交互,当用户与聊天机器人进行沟通时,聊天机器人内部的流程引擎会执行预设好的对话流程与用户进行沟通,并根据用户的回复进行多轮对话。但在实际应用中,现有聊天机器人的对话流程技术会出现用户与聊天机器人对话的过程中,运行流程引擎程序的服务器突然宕机了,使得程序中断,此时即使服务器恢复,也无法从对话中断处重新开始。在本领域中对话流程指的是一种预设好的程序,能够根据用户传入的文本数据跟用户进行多轮对话,以一个天气查询机器人为例,当用户向聊天机器人说“你好”时,会触发这个对话流程。接下来,聊天机器人会按照以下步骤进行回应:步骤1:向用户回复“你好”。步骤2:查询当天的天气信息。步骤3:告诉用户今天的日期和天气。步骤4:询问用户是否还有其他需要帮助的事情。这样一来通过流程引擎,聊天机器人就能够根据用户的需求,按照预设好的流程进行多轮对话。那么对应的,对话流程丢失指的是人工智能系统获取到用户的文本数据后,根据用户的文本数据进行数据处理,但由于服务器或网络原因,执行到一半的对话流程无法继续,即使服务器或者网络重新恢复,也无法继续对应的流程,导致用户需要重新开始查询,以上述天气查询机器人为例:假如执行到到步骤2:查询当天天气,这时候运行流程引擎程序的服务器突然宕机了,使得程序中断。即使服务器恢复,也无法执行步骤3、步骤4。

发明内容

基于此,本发明目的在于提供一种对话流程异常中断的恢复方法及系统通过创建单独的数据表在对话流程的每一操作步骤开始时,存储进入对应步骤需要的数据;解决由于服务器宕机或网络连接终端等问题导致的数据丢失现象。

本发明是通过如下技术方案实现的:

一方面,本发明提供一种对话流程异常中断的恢复方法,包括:

创建对话流程,并创建一数据表与所述对话流程连接;

在所述对话流程的每个操作步骤开始时,将进入当前操作步骤所需的数据存储至数据表中,并记录所述对话流程的最后更新时间;

检查所述对话流程的最后更新时间,若所述对话流程的最后更新时间与当前时间的时间间隔大于一预设阈值,将所述对话流程判定为异常流程;

加载与所述异常流程连接的数据表,获取数据表中最后存储的进入对应操作步骤所需的数据,重新执行对话流程。

进一步地,在所述对话流程的每个操作步骤开始时,还包括:

获取当前操作步骤的序号并存储至所述数据表中。

进一步地,在将进入当前操作步骤所需的数据存储至数据表中,并记录所述对话流程的最后更新时间前,还包括:

根据所述当前操作步骤的序号,删除对应数据表中与当前操作步骤的序号不一致的数据。

进一步地,所述对话流程包括多个,每个对话流程对应的数据表之间相互独立。

对服务端的多个对话流程分别进行数据存储,对每一个对话流程进行监控,能够采用多进程方式同时对多个异常对话流程进行恢复,提高系统响应效率,并节约数据筛选时间。

另一方面,本申请还提供一种商城标签动态化配置系统,其包括:

流程创建模块:用于创建对话流程,并创建一数据表与所述对话流程连接;

数据存储模块:用于在所述对话流程的每个操作步骤开始时,将进入当前操作步骤所需的数据存储至数据表中,并记录所述对话流程的最后更新时间;

异常流程话检测模块:用于检查所述对话流程的最后更新时间,若所述对话流程的最后更新时间与当前时间的时间间隔大于一预设阈值,将所述对话流程判定为异常流程;

异常流程恢复模块:用于加载与所述异常流程连接的数据表,获取数据表中最后存储的进入对应操作步骤所需的数据,重新执行对话流程。

进一步地,所述数据存储模块还包括:

序号获取子模块:用于获取当前操作步骤的序号并存储至所述数据表中。

进一步地,所述数据存储模块还包括:

数据表更新子模块:用于根据所述当前操作步骤的序号,删除对应数据表中与当前操作步骤的序号不一致的数据。

另一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述的一种对话流程异常中断的恢复方法的步骤。

本发明提供的一种对话流程异常中断的恢复方法及系统,通过创建单独的数据表在对话流程的每一操作步骤开始时,存储进入对应步骤需要的数据;解决由于服务器宕机或网络连接终端等问题,使得人工智能系统在执行对话流程中出现数据丢失,进程结束等,导致用户与对应的人工智能系统进行交互的过程中断,用户需要重新与人工智能系统进行对话,提高了系统的鲁棒性以及用户的使用体验,此外,在记录对应步骤所需要的数据时还记录了每一步骤所处的节点信息,有助于了解对话流程运行的具体位置,以便在恢复运行时找到正确的起点;再通过每一次向数据库中存储数据时,删除上一步骤存储的数据,进一步节约了存储空间,提高了后续的数据查询效率,提高系统响应速度。

为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

图1为本申请提供的一种对话流程异常中断的恢复方法的流程图;

图2为图1对应的一种对话流程的异常终端的恢复系统的结构框图。

下面将结合本申请实施例的附图,对本发明的技术方案进行清楚完整的描述。

具体实施方法

在现有的对话流程运行过程中,用户与聊天机器人之间的交互数据通过缓存方式进行传输,因此当出现网络连接断开或者服务器宕机的现象时,在缓存中传输的数据会出现丢失、误传等现象,导致了对话流程无法正常恢复,发生异常。基于此,发明人经过多种方式试验,其中一种为利用系统中的日志来存储交互数据,但由于日志是一种记录计算机设备在特定时间内所发生事件的文件,其记录了计算机系统在运行过程中产生的各种事件、警报和错误,例如系统启动、程序启动、用户操作、网络连接、故障信息等。因此利用日志进行存储会导致在流程恢复时面临着从大量无用数据中筛选出需要的数据,这种方式不但实现复杂,并且还会占用大量的系统资源。为了进一步解决这个问题,发明人发现可以为对话流程创建一单独的数据表,数据表与电子表格在结构上相似,数据表中每一行存储一次对话的交互数据,每一列存储的是同类数据,通过设置单独的数据表存储对话数据,能够在对异常对话流程进行恢复时,只需要在异常对话流程相关联的数据表中获取到最后一次对话的交互数据,即可恢复到最后的对话流程。下面具体介绍发明内容。

请参阅图1和图2,图1为本申请提供的一种对话流程异常中断的恢复方法的流程图,图2为图1对应的一种对话流程的异常终端的恢复系统的结构框图;其中,一种对话流程异常中断的恢复方法具体包括:

S10:创建对话流程,并创建一数据表与所述对话流程连接。步骤S10由流程创建模块执行。

创建与对话流程相对应的数据表,该数据表单独存储执行对话流程的相关数据,在本发明中,每一次存储的数据是包含了从用户已经输入了所有数据以及对话流程输出的所有数据。因为对于人工智能系统是一个因果系统,因果系统的输出与当前的输入和过去的输入有关;例如:在天气查询机器人中,第一次输入当前天气,第二次输入晴天天气持续多久,天气查询机器人的回答与第一次直接输入晴天天气持续多久的回答是不一样的,系统之前输入的数据不一致,即使当前输入的数据一致,系统的输出也不相同。若数据表每一次仅仅记录当前步骤的用户数据,是不能够根据输入的数据从预设流程中匹配对应的执行流程的,因此数据表中每一次存储的数据是包含了从用户已经输入了所有数据以及对话流程输出的所有数据。

S20:在所述对话流程的每个操作步骤开始时,将进入当前操作步骤所需的数据存储至数据表中,并记录所述对话流程的最后更新时间。步骤S20由数据存储模块20执行。

在对话流程中,获取需要用于生成对话内容的数据,每一步骤获取的数据包括当前步骤和先前步骤用户输入的所有数据,例如,用于对话流程中第二次生成对话内容的数据可能为,第二次用户输入的对话内容以及第一次对话中的人工智能系统的输出内容,或,第一次用户输入的对话内容。同时记录当前对话流程的最后更新时间,以便后续筛选异常流程。且在本申请中,每个对话流程的数据表之间独立设置,在处理多个异常对话流程时,可以同时获取每个对话流程的对应的数据表中的数据,同步恢复每个异常对话流程,提高系统恢复效率。

进一步地,步骤S20还包括:在所述对话流程的每个操作步骤开始时,将当前操作步骤的序号存储至数据表中。该步骤由数据存储模块中的序号获取子模块执行。

获取当前操作步骤的序号,有助于人工智能系统了解对话流程运行的具体位置,以便在恢复运行时能够快速找到正确的起点。

另一方面,步骤S20还包括:在将进入当前操作步骤所需的数据存储至数据表中,并记录所述对话流程的最后更新时间前,还可以根据所述当前操作步骤的序号,删除对应数据表中与当前操作步骤的序号不一致的数据。该步骤由数据存储模块中的数据表更新子模块执行。

由于每次记录的信息已经包含了进入当前步骤所需要的所有数据信息,因此对数据库中保存的前一步骤的信息进行删除,节约了存储空间,提高了后续的数据查询效率,提高系统响应速度。

S30:检查所述对话流程的最后更新时间,若所述对话流程的最后更新时间与当前时间的时间间隔大于一预设阈值,将所述对话流程判定为异常流程;

当服务器发生故障并重新启动后,检查对话流程的最后更新时间记录,通过比较当前时间和最后更新时间可以确定对话流程是否已经有一段时间没有更新,如果发现某个对话流程未更新时长超过一设定阈值,则认为它是因为异常而中断的。

S40:加载与所述异常流程连接的数据表,获取数据表中最后存储的进入对应操作步骤所需的数据,重新执行对话流程。

从对应的数据表中查找中断对话流程的最后记录的步骤以及相应的数据。有了这些信息,人工智能系统就可以让对话流程从中断的地方继续执行对话流程。

人工智能系统将中断时的数据作为流程执行数据,并从最后记录的步骤开始运行。这样,即使服务器出现故障,人工智能也可以在恢复后尽快让对话流程回到正常运行状态,从而降低故障对服务质量的影响。

本发明提供的一种对话流程异常中断的恢复方法,通过创建单独的数据表在对话流程的每一操作步骤开始时,存储进入对应步骤需要的数据;本发明适用于聊天机器人、智能助手或其他人工智能系统与用户的交互过程,对人工智能系统与用户的对话流程进行监控,解决由于服务器宕机或网络连接中断使得人工智能系统在执行对话流程中出现数据丢失,进程结束,导致用户与对应的人工智能系统进行交互的过程中断的问题,提高了系统的鲁棒性以及用户的使用体验。此外,本发明在记录对应步骤所需要的数据时还记录了每一步骤所处的节点信息,帮助人工智能系统了解对话流程运行的具体位置,以便在恢复运行时能够快速找到正确的起点;再通过每一次向数据库中存储数据时,删除上一步骤存储的数据,进一步节约了存储空间,提高了后续的数据查询效率,提高系统响应速度。

本申请实施例还提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例所述的一种对话流程异常中断的恢复方法。

本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其它数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其它内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其它光学存储、磁盒式磁带,磁带磁磁盘存储或其它磁性存储设备或任何其它非传输介质,可用于存储可以被计算设备访问的信息。

以上所述实施例仅表达了本发明的几种实施方法,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。

相关技术
  • 一种光伏与光热系统协调发电的黑启动系统及其恢复方法
  • 一种基于MVP模式的安卓客服对话系统及方法
  • 一种对话语料意图分析方法、系统及电子设备
  • 一种自然语言对话系统意图深度学习方法
  • 一种新型对话状态存储方法及系统
  • 一种流程驱动的对话系统实现方法及基于工作流引擎对话机器人
  • 一种利用大型语言模型实现对话流程的方法及系统
技术分类

06120116481557