机器人聊天方法及系统与流程

文档序号:13908599阅读:543来源:国知局
机器人聊天方法及系统与流程

本发明涉及智能聊天机器人领域,具体地涉及一种机器人聊天方法及系统。



背景技术:

随着计算机和计算机网络的日益普及,互联网已经深入到人们工作、学习和生活的各个领域,其中即时通讯(instantmessage,im)应用程序的出现,大大丰富了人们之间的相互流通与交流的方式。

聊天机器人是一种借助于通讯手段能够时时刻刻在线,并通过自然语言与人沟通的机器人。聊天机器人已经被广泛应用于各种领域,例如:天气查询、地图查询、生活消息查询等,其为人们的生活带来了便利。但是,随着用户要求的不断提高,人们发现用户单次输入的信息太少,不足以得出符合用户期望的结果;所以,一种新型的多交互型聊天机器人应运而生了;例如:当用户在自动对话框中输入“天气”时,多交互型聊天机器人会继续询问“是什么地方的天气”,并在用户反馈“地方”之后,再向用户反馈最终的结果;由此,多交互型机器人通过更多的用户信息的收集来更加精准地为用户提供服务。

但是,本申请发明人在实现本发明的过程中发现,现有技术的多交互型聊天机器人至少存在以下缺陷:在用户自动聊天的过程中,当用户发现自己输入有误的时候,很多情况下只能重新开始,而无法回到之前的输入,极大地影响了自动对话的用户体验;且针对该用户的重新输入,还需要聊天机器人重新实施相应的数据处理过程,也为聊天机器人增添了额外的工作负担。



技术实现要素:

本发明实施例的目的是提供一种机器人聊天方法及系统,用以至少解决现有技术的在用户自动聊天的过程中,当用户发现自己输入有误的时候而无法回到之前的输入,所导致自动对话的用户体验较差和机器人额外负担大的技术问题。

为了实现上述目的,本发明实施例一方面提供一种机器人聊天方法,该方法包括:存储关于自动对话的历史聊天消息;为所述历史聊天消息分配标识码;判断是否检测到修改对话命令;以及当检测到所述修改对话命令时,触发所述标识码调用所述历史聊天消息,以覆盖当前的聊天消息及终端的自动对话框。

可选的,所述为所述历史聊天消息分配标识码包括:针对多次用户输入流程所产生的多个历史聊天消息,相对应地分别分配多个标识码。

可选的,所述当检测到所述修改对话命令时触发所述标识码调用所述历史聊天消息包括:当检测到所述修改对话命令时,解析所述修改对话命令中所包含的目标标识码;基于所述目标标识码遍历历史聊天列表,以确定与所述目标标识码相匹配的历史聊天消息,其中所述历史聊天列表中记录有多组一一相对应的历史聊天消息和标识码。

可选的,所述历史聊天列表为多个,且所述多个历史聊天列表分别对应于多个用户id。

可选的,所述判断是否检测到修改对话命令包括:针对用户输入流程所产生的历史聊天消息,在所述自动对话框中生成相应的修改控件;通过检测所述修改控件是否接收到用户交互操作,判断是否检测到修改对话命令。

可选的,基于快照技术来存储所述关于自动对话的所述历史聊天消息。

本发明实施例另一方面提供一种机器人聊天系统,该系统包括:存储单元,用于存储关于自动对话的历史聊天消息;标识单元,用于为所述历史聊天消息分配标识码;判断单元,用于判断是否检测到修改对话命令;还原单元,用于当检测到所述修改对话命令时,触发所述标识码调用所述历史聊天消息,以覆盖当前的聊天消息及终端的自动对话框。

可选的,所述标识单元用于针对多次用户输入流程所产生的多个历史聊天消息,相对应地分别分配多个标识码。

可选的,所述还原单元包含:解析模块,用于当检测到所述修改对话命令时,解析所述修改对话命令中所包含的目标标识码;遍历模块,用于基于所述目标标识码遍历历史聊天列表,以确定与所述目标标识码相匹配的历史聊天消息,其中所述历史聊天列表中记录有多组一一相对应的历史聊天消息和标识码。

可选的,所述判断单元包括:控件生成模块,用于针对用户输入流程所产生的历史聊天消息,在所述自动对话框中生成相应的修改控件;操作检测模块,用于通过检测所述修改控件是否接收到用户交互操作,来判断是否检测到修改对话命令。

通过上述技术方案,存储关于用户与机器人自动对话的历史聊天消息,并为该历史聊天消息分配相应的标识码,以及在检测到修改对话命令时,可以借助标识码来调用历史聊天消息,实现对当前的聊天消息及自动对话框的覆盖。由此,能够在用户输入错误的时候,迅速有效地回复到之前的输入状态,也不需要聊天机器人重复执行在那之前的相应的数据处理操作,优化了用户体验;并且,还消除了聊天机器人的额外的工作负担,提高了系统处理效率,也能提升用户体验。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是本发明可以应用于其中的示例性系统架构图;

图2是本发明一实施例的机器人聊天方法的流程示意图;

图3是本发明另一实施例的机器人聊天方法的流程示意图;

图4是应用图3所示的机器人聊天方法的关于终端的用户界面的应用截图示例;

图5是本发明一实施例的机器人聊天系统的结构示意图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

参见图1示出了可以应用本发明实施例的机器人聊天方法的示例性系统架构100。

如图1所示,系统架构100可以包括终端101、102、103,网络104和服务器105。网络104用以在终端101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

终端101、102、103可以是具有显示屏并且支持信息浏览的各种电子设备,包括但不限于电脑、智能手机、平板电脑、电子书阅读器和可穿戴智能设备等等。

用户可以使用终端101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端101、102、103上可以安装有各种客户端应用,例如应用市场类应用、地图类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。更具体地,用户可以使用终端101、102、103通过网络104发送问题等消息,而服务器105可以通过网络104向终端101、102、103反馈针对该问题的聊天结果等消息。

服务器105可以是为用户提供聊天机器人服务的装置,也就是可以执行本发明实施例所描述的机器人聊天方法,其可以就如图1所示的只指代一个服务器、也可以是由多个服务器共同组建的服务器集群,在此不作限定。另外,对于终端所发送的问题的答复,服务器105可以是在本地执行完成的,也还可以是基于网络104的协助所完成的,且都属于本发明的保护范围,具体的将在下文其他实施方式中具体展开。

可以理解的是,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。

参见图2示出的是本发明一实施例的机器人聊天方法的流程示意图,该方法具体包括以下步骤:

步骤201:存储关于自动对话的历史聊天消息;

步骤202:为历史聊天消息分配标识码;

可以理解的是,在本实施例中,对与标识码相匹配的历史聊天消息的数量并不做限定,可以是针对一条或多条历史聊天消息,该历史聊天消息可以包含历史用户输入信息和历史机器人反馈信息,然后为该历史聊天消息分配一个标识码,且都属于本实施例的范围,更具体的实施将以示例的方式在下文中展开。

步骤203:判断是否检测到修改对话命令;

当步骤203中的判断的结果为检测到修改对话命令时,跳转至步骤204,以及当步骤203中的判断结果为否,则跳转至重新执行步骤203,以实现监测修改对话命令。

步骤204:触发标识码调用历史聊天消息,以覆盖当前的的聊天消息及终端的自动对话框。

在本发明实施例中,由于为历史聊天消息分配了具有唯一性的标识码,使得可以基于标识码来完成对历史聊天消息的调用;并且,需强调的是,通过本发明实施例的实施,不仅可以让用户还原到上一次输入时的状态,还可以让用户还原到之前任意一次输入时的状态。在本发明实施例的一种应用场景中,用户在1点钟的时候已经输入了一些信息,相应地,此时的用户与机器人之间自动对话所记录的聊天消息为a,然后聊天机器人将a进行存储,并相应地赋予标识码m;以及用户在1点30分的时候,基于自动聊天框所记录的聊天消息为b,可以理解的是,b可以是大于a的任意数,此时如果用户想要还原到1点钟时的输入状态,用户可以是直接通过向服务器传达标识码m(例如用户直接输入标识码等)来调用a,并用a来覆盖或替换b,并将a发送至终端,以覆盖终端的自动对话框,由此实现将聊天机器人与用户之间的自动对话恢复到之前的状态。

需说明的是,本发明实施例中所描述的用语“自动对话框”,其所指代的可以是用户端与服务器之间进行交互通信所使用的即时通讯工具,而服务器基于聊天机器人功能或配置可以自动答复用户端所提出的问题。以及,本发明实施例中所描述的“被覆盖的当前的自动对话框”,可以是仅指代用户与机器人系统交互过程中,其所输入的所有的历史聊天消息,也可以是指代用户所输入的部分历史聊天消息,例如其可以为某一时刻终端的用户界面所显示的聊天消息,且都属于本发明实施例的范围。

作为示例,关于步骤201的执行,其可以是通过快照的方式来存储位于服务器本地的历史聊天消息。相应地,在步骤204执行的过程中,可以是通过该历史聊天消息的快照的通信交互,来覆盖当前终端的历史对话框以及服务器端的聊天消息,由此使得本发明实施例能够简单有效地得到实施。

参见图3示出的是本发明另一实施例的机器人聊天方法的流程示意图,该方法包括以下步骤:

步骤301:存储关于自动对话的历史聊天消息;

步骤302:针对多次用户输入流程所产生的多个历史聊天消息,相对应地分别分配多个标识码。

步骤303:针对用户的每一次输入流程,在自动对话框中生成相应的修改控件;

步骤304:通过检测修改控件是否接收到用户交互操作,来判断是否检测到修改对话命令;

由此,可以针对用户的每一次输入来备份相应的历史聊天消息,并为其分配标识码,使得用户可以随意地回复到之前的任意一个输入步骤的自动聊天状态,优化了用户体验。

另外,关于该修改控件的位置设置,例如可以参照图4,其示出了一种智能问诊机器人与用户进行自动聊天的过程,“修改”控件可以是直接设置在自动对话框中的每一个输入流程消息的附近,以方便用户点击,当用户点击了该“修改”控件之后,用户就能够直接回到之前的输入的状态,提高了用户体验。在该按钮的尺寸涉及上,由于手指点击的尺寸也是考虑的范围,根据mittouchlab的研究结果表明手指接触面积平均为10-14mm之间,指尖平均8-10mm,所以该修改控件的最佳的热区尺寸设定为10mm×10mm,让用户操作更加流畅。可以理解的是,关于该控件的上述具体实施方式的描述仅出于清楚描述的目的,而并不应视为对本发明的保护范围的限制。

当步骤304中的判断结果为是时,则跳转至步骤305;以及当步骤304中的判断结果为否时,则重新执行步骤304。

步骤305:解析修改对话命令中所包含的目标标识码;

步骤306:基于目标标识码遍历历史聊天列表,以确定与目标标识码相匹配的历史聊天消息,其中历史聊天列表中记录有多组一一相对应的历史聊天消息和标识码;

更优选地,该历史聊天列表为多个,且多个历史聊天列表分别对应于多个用户id,由此实现了本发明实施方案针对众多用户的管理。

步骤307:基于所确定的历史聊天消息,覆盖当前的聊天消息及终端的自动对话框。

为了达到可以修改自动对话流程中任何位置用户输入的目的,更具体地,针对每个用户的对话过程分配了一个sid,并在对话过程中,在服务器端维持一个记录当前用户信息的数据结构user_info。针对用户每次提交的输入设置一个id,并记录一个当前数据结构user_info的快照或者快照的索引。使得当用户修改之前某一步的输入的时候,找到对应的id及存储的user_info快照,而直接还原回来,从而可以实现修改任何一步用户输入的目的。

本发明实施例还具有实施简单,方便、可靠的优点,其可以大大减少用户输入的成本,并在用户不小心输入错误的时候,也可以随时进行修改。

参见图5示出的是本发明一实施例的机器人聊天系统500的结构示意图,该系统500包括存储单元501、标识单元502、判断单元503和还原单元504。其中,存储单元501可以存储关于自动对话的历史聊天消息;标识单元502可以为历史聊天消息分配标识码;判断单元503可以判断是否检测到修改对话命令;还原单元504可以在当检测到修改对话命令时,触发标识码调用历史聊天消息,以覆盖当前的自动对话框。

关于本发明实施例所提供的机器人聊天系统的更具体的细节和技术效果可以参照上文关于机器人聊天方法的描述,相同内容在此不加以赘述。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

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