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

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

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



背景技术:

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

聊天机器人是一种借助于通讯手段能够时时刻刻在线,并通过自然语言与人自动对话的机器人装置。聊天机器人已经被广泛应用于各种领域,例如:天气查询、地图查询、生活消息查询等,其为人们的生活带来了便利。其中,当用户在自动对话框中输入问题之后,一般聊天机器人会及时根据该问题查询后台数据库,以为用户反馈结果。

但是,本申请发明人在实现本发明的过程中发现,现有技术的聊天机器人至少存在以下缺陷:在用户提出的问题比较模糊时,聊天机器人系统依然会根据该模糊的问题来搜索答案,而导致所得到的结果不能够符合用户的真意,降低了聊天机器人的用户体验和评价。



技术实现要素:

本发明实施例的目的是提供一种机器人聊天方法及系统,用以至少解决现有技术中的聊天机器人系统所回答的结果不能够符合用户的真意,以及用户体验差的技术问题。

为了实现上述目的,本发明实施例提供一种机器人聊天方法,包括:获取用户输入的提问信息,并从所述提问信息中提取第一标签;判断所述第一标签是否足够充分;当所述第一标签不够充分时,发送补充标签请求;基于所述补充标签请求,获取第二标签;根据所述第一标签和所述第二标签查询数据库,以确定相应的聊天结果;向用户反馈所述聊天结果。

可选的,所述补充标签请求包含反问问题,以及该方法还包括:当所述第一标签不充分时,确定与所述第一标签相对应的反问问题;在自动对话框中显示所述反问问题;获取用户针对所述反问问题所反馈的答复信息,并从所述答复信息中提取所述第二标签。

可选的,所述判断所述第一标签是否足够充分包括:基于所述第一标签查询第一数据库,以确定相应的初选答案;对所述初选答案进行评分;基于该评分的结果,确定所述第一标签是否足够充分。

可选的,所述根据所述第一标签和所述第二标签查询数据库以确定相应的聊天结果包括:根据所述第一标签和所述第二标签查询第二数据库,以确定相应的聊天结果。

可选的,所述数据库的类型包含选自以下中的一者或多者:基于搜索服务器的数据库和/或知识数据库。

可选的,在所述获取用户输入的提问信息之后,该方法还包括:解析所述提问信息所对应的问题类型,其中所述数据库的类型取决于所述问题类型。

本发明实施例另一方面提供一种机器人聊天系统,包括:提取单元,用于获取用户输入的提问信息,并从所述提问信息中提取第一标签;判断单元,用于判断所述第一标签是否足够充分;请求单元,用于当所述第一标签不够充分时,发送补充标签请求;获取单元,用于基于所述补充标签请求,获取第二标签;查询单元,用于根据所述第一标签和所述第二标签查询数据库,以确定相应的聊天结果;反馈单元,用于向用户反馈所述聊天结果。

可选的,所述补充标签请求包含反问问题,所述请求单元包括:问题确定模块,用于当所述第一标签不充分时,确定与所述第一标签相对应的反问问题;问题显示模块,用于在自动对话框中显示所述反问问题;所述获取单元用于获取用户针对所述反问问题所反馈的答复信息,并从所述答复信息中提取所述第二标签。

可选的,该系统还包括第一数据库,以及所述判断单元包括:初选模块,基于所述第一标签查询第一数据库,以确定相应的初选答案;评分模块,用于对所述初选答案进行评分;判断模块,用于基于该评分的结果,确定所述第一标签是否足够充分。

可选的,所述查询单元用于根据所述第一标签和所述第二标签查询第二数据库,以确定相应的聊天结果。

通过上述技术方案,在用户输入提问信息时,能够判断该提问信息所对应的第一标签是否充分,并在该标签不充分的情况下,发出补充标签请求以获取另外的第二标签,然后利用该所获取的更多的标签查询数据库,能够保障为用户所反馈的聊天结果的高精确度,使得该聊天结果能更加符合用户的内心真意表达,提高了在利用聊天机器人执行问答过程中的用户体验。

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

附图说明

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

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

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

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

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

图5是适于执行图4中的机器人聊天方法的系统架构示意图;

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

具体实施方式

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

参见图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:判断第一标签是否足够充分;

当步骤202中的判断结果指示第一标签不够充分时,跳转至步骤203-205;以及当步骤202中的判断结果指示第一标签足够充分时,跳转至步骤206。

步骤203:发送补充标签请求;

步骤204:基于补充标签请求,获取第二标签;

关于该补充标签请求的形式可以是多样化的,其可以是普通文本文字、超链接文本等等;作为一方面的示例,该请求可以是普通文本文字形式的反问问题,关于步骤203和204的具体实施,可以是在自动对话框中显示该反问问题,并在用户反馈了答复信息之后,从该答复信息中提取出第二标签;作为另一方面的示例,该请求还可以是以超链接文本展示的与第一标签相关联的多个候选标签,并在用户从该多个候选标签作出选择之后,就可以直接将该所选择的候选标签作为该第二标签。可以理解的是,以上实施方式的具体描述都仅为示例,并不能用作对本发明实施例的范围的限定。

步骤205:根据第一标签和第二标签查询数据库,以确定相应的聊天结果;

步骤206:根据第一标签确定相应的聊天结果;

步骤207:向用户反馈该聊天结果。

在本发明实施例中,在服务器端得到用户所发送的问题时,并不是针对该问题或该问题所提取的标签直接作查询动作,而是先判断该问题所提取出的标签是否充分,以及在不充分的时候通过发送请求以与用户端再次交互,实现标签的补充,保障了为用户所反馈的聊天结果的可靠性;并在确定标签充分的情况下直接使用该标签,在保障了聊天结果的可靠性的前提下,还可以节约服务器或聊天机器人系统的资源开销。

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

步骤301:获取用户输入的提问信息,并从提问信息中提取第一标签;

步骤302:基于第一标签查询第一数据库,以确定相应的初选答案;

步骤303:对初选答案进行评分,并基于该评分的结果,判断第一标签是否足够充分;

当步骤303中的判断结果指示第一标签不够充分时,跳转至步骤304-306;以及当步骤303中的判断结果指示第一标签足够充分时,跳转至步骤307。

步骤304:确定与所述第一标签相对应的反问问题,并在自动对话框中显示反问问题;

步骤305:获取用户针对所述反问问题所反馈的答复信息,并从所述答复信息中提取所述第二标签;

步骤306:根据所述第一标签和所述第二标签查询第二数据库,以确定相应的聊天结果;

步骤307:根据第一标签确定相应的聊天结果;

步骤308:向用户反馈该聊天结果。

需说明的是,本发明实施例中所描述的用语“自动对话框”,其所指代的可以是用户端与服务器之间进行交互通信所使用的即时通讯工具,而服务器基于聊天机器人功能或配置可以自动答复用户端所提出的问题。

在本发明实施例中,运用了两个数据库,分别是在步骤302中所应用的第一数据库,以及在步骤306中所运用的第二数据库。需说明的是,这两个数据库在此设置的目的是不一样的,关于第一数据库的设置,其是为了在用户发送了提问信息之后,用于评价该提问信息是否模糊,以及用于判断是否需要为用户提出反问问题来收集更多的用户信息;关于第二数据库的设置,其是为了在确定所收集到的标签足够的情况下,利用该标签找到精确的反馈结果。可以这样理解,关于这两个数据库的使用角度是不一样的,在一种应用情况下,第一数据库的使用是为了从用户的问题中找到相似的问题;而第二数据库的使用是为了猜想用户所提出的问题所对应的答案,来对用户的问题进行解答,并生成相应的待反馈至用户的聊天结果。

作为本发明实施例进一步的公开和优化,在第一示例中,第一数据库可以是知识数据库且第二数据库可以是基于搜索服务器的数据库;在第二示例中,第一数据库可以是基于搜索服务器的数据库且第二数据库可以是知识数据库,以及这两种示例形式都应属于本发明实施例的范围。其中,该基于搜索服务器的数据库可以是基于elasticsearch搜索引擎的数据库,更具体的细节将在下文其他实施方式中展开。更优选地,关于第一示例和第二示例的执行或实施,其可以是可供选择的,例如其是可供用户或运维自主分配或选择的,但其也可以是可以自动进行转换的。更具体地,作为示例,其可以是在步骤301和302之间还存在以下子步骤:解析该提问信息所对应的问题类型,其中该问题类型用于指示该提问信息的领域、专业等信息,然后可以基于该问题类型来确定所调用的数据库类型,即对应于来确定是实施第一示例还是实施第二示例。更具体地,关于数据库类型的选择的执行,可以是为各数据库的调用接口设置优先级,然后在获取了问题类型之后,也就可以获取这类问题和所对应数据库的优先级,也就可以确定将要使用的数据库,这样,能够较佳地实现定制化问题与内容源头,能够更加灵活地支配数据库的使用,并保障了为用户反馈结果的高精确度。

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

步骤401:抽取标签:

提前构建起相关的词典(领域相关)和标签(可以从数据中统计哪些标签经常被问到),对原始的数据进行分词,并对分词后单词进行打标签。

由此,从现有问题中抽取带有一些属性的标签,用于问答系统的反问交互以及知识的过滤。

步骤402:配置数据库引擎级别;

为每个引擎的接口都提供一个优先级的数字,获取问题类型以后也就可以获取这类问题是用的引擎优先级,这样能够极大的定制化问题与内容的源头。

由此使用了多数据库引擎,而相应地为该多个引擎配置优先级。其中在一种应用场景下,可以是对于不同领域及不同类型的问题,对于所要调用的数据库引擎也会有所不同。

步骤403:通过elasticsearch搜索引擎的数据库来回答用户问题;

更具体的,可以是首先对用户询问进行分词和提取候选标签,基于提取的候选标签对elasticsearch中的数据进行筛选,得出候选答案;然后,使用评分策略对候选答案进行排序,根据实际需求给出候选答案条数。以及,如果用户的问题问的十分模糊(例如候选答案条数过少),可以统计候选的tag对用户进行反问问题,这样既能收集tag给其他引擎使用,还能具体用户的问题,保证答案的质量。

步骤404:基于知识库来回答用户问题;

作为示例,知识库可以是包含若干个三元组,该三元组的一般样式为“xxx疾病-症状-xxxxx”,就是用一个简洁的形式来表达一个知识组。同样的,当用户问题传到后台服务器时,提取问题中所包含的标签,以及从步骤404中的elasticsearch引擎中所收集的标签,查询知识库中是否能找到符合标签的三元组,如果符合三元组中的其中两条的描述,就能把三元组的第三条作为聊天结果返回至用户,例如可以是在自动对话框中显示该聊天结果。

更具体地,关于图4所示的实施例方法,可以在图5所示的系统架构中实施。需说明的是,关于步骤403和步骤404的执行时序,可以是如图4所示的先执行403,之后再执行步骤404,但也可以是根据所设置的引擎优先级来进行调整,例如还可以是先执行步骤404,之后再执行步骤403,且都属于本实施例的范围;以及在步骤403和步骤404执行的过程中,都可以包含反问问题步骤。其中,该反问问题步骤具体可以包括:根据标签来产生反问问题,并通过将该反问问题反馈给用户,以与用户交互而获取更多的标签。更具体地,可以是对那些没有被用户提到的标签进行统计,并基于该标签进行反问;以及,如果有标签被频繁提到,就会针对该标签追问用户是否是想添加关键强调因素,例如可以是以具体问题的方式提出,此时如果用户否定了,就可以反馈反面标签,以及如果用户肯定了,就可以为用户反馈正面标签。

在本发明实施例中,是将多个数据库引擎一起综合使用的,并且于此所述的综合使用,并不是简单的将多种数据库引擎进行连接和叠加,而是采用了如上所描述的多种功能上的配合,提高了聊天机器人系统的灵活性。并且,通过本发明实施例,提高了系统的召回率,在elasticsearch引擎中,通过反问用户若干个问题能够收集更多的标签,这些标签可以给其他数据库引擎重复使用,这样能够提高整体引擎的召回率和准确率,关于该其他数据库引擎的名称和形式在此都不作限定,可以理解的是,在不冲突的情况下,各种名称及类型的数据库引擎都应属于本发明实施例的范围。另外,本发明实施例中所提及的两种数据库引擎设置的目的出于是问答过程中的两个不同的角度,其中一个从用户的问题中找到相似的问题,而另一个则是从问题从猜测用户想要获取的知识,使得多个数据库引擎能够相互配合,使用更多的角度对用户的问题进行分析和解答,提高了反馈结果的准确性。进一步地,使用独立的数据库引擎级别配置,整套系统可以根据个人要求或运营方向而自由设定数据库引擎的优先级(如图5所示)。以及可以理解的是,本发明实施例虽然是多引擎的系统,但是在某些应用场景下,也可以是控制回答的来源仅仅出自某一个数据库引擎,且都属于本发明实施例的范围内。

参见图6示出的是本发明一实施例的机器人聊天系统的结构示意图,该系统600包括提取单元601、判断单元602、请求单元603、获取单元604、查询单元605和显示单元606。其中,提取单元601可以获取用户输入的提问信息,并从提问信息中提取第一标签;判断单元602可以判断第一标签是否足够充分;请求单元603可以在当第一标签不够充分时,通过自动对话框发出补充标签请求;获取单元604可以基于补充标签请求,获取第二标签;查询单元605可以根据第一标签和第二标签查询数据库,以确定相应的聊天结果;反馈单元606可以向用户反馈聊天结果。

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

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

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

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

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

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