1.本申请涉及智能客服技术领域,特别是涉及一种智能问答方法和装置、服务器、计算机可读存储介质。
背景技术:2.随着问答机器人技术的不断发展,问答机器人广泛地应用在客服、教育、呼叫中心、陪伴、导航、行政助手等各个领域。其中,问答机器人是可以利用已有的问答、交互资料库,针对用户输入的信息自动进行回复的一套软件系统。
3.传统的问答机器人,针对不同的使用者,均需要重新搭建数据库及训练问答机器人。显然,传统的问答机器人在使用过程中,维护成本高、占用资源大。
技术实现要素:4.本申请实施例提供一种智能问答方法、装置、服务器、计算机可读存储介质,可以降低维护成本、提高了资源的利用率。
5.在其中一个实施例中,提供了一种智能问答方法,包括:接收输入的问句,确定所述问句对应的业务类型;将所述问句分发至与所述业务类型对应的问答机器人;通过所述问答机器人根据所述问句查询目标数据库,并获取与所述问句对应的答案;所述目标数据库包括与所述业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库;输出与所述问句对应的答案。
6.在其中一个实施例中,所述方法还包括:确定所述问句对应的问答类型;所述问答类型包括faq问句、技能问句及闲聊问句中的至少一类;所述将所述问句分发至与所述业务类型对应的问答机器人,包括:将所述问句分发至与所述业务类型对应、且与所述问答类型对应的问答机器人。
7.在其中一个实施例中,所述公共数据库中存储了多个不同的业务类型下的公共数据;所述方法还包括:针对不同业务类型,预先通过与所述业务类型对应的所述专用数据库,订阅所述公共数据库中的所述公共数据;将所述公共数据的身份标识存储在所述专用数据库中。
8.在其中一个实施例中,所述公共数据包括多种预设问句及与所述多种预设问句匹配的答案;若所述输入的问句为所述预设问句,则所述通过所述问答机器人根据所述问句查询目标数据库,并获取与所述问句对应的答案,包括:通过所述问答机器人根据所述问句查询所述专用数据库,得到与所述问句匹配的答案的身份标识;
根据所述匹配的答案的身份标识查询所述公共数据库,得到所述匹配的答案。
9.在其中一个实施例中,所述方法还包括:针对不同业务类型,将从所述公共数据库中获取到的与所述预设问句匹配的答案,自定义配置为与所述业务类型对应的答案。
10.在其中一个实施例中,所述专用数据库中存储了与所述业务类型对应的专用数据;若所述输入的问句不属于所述预设问句,则所述通过所述问答机器人根据所述问句查询目标数据库,并获取与所述问句对应的答案,包括:通过所述问答机器人根据所述问句查询所述专用数据库,得到与所述问句对应的专用数据;从所述专用数据中获取与所述问句对应的答案。
11.在其中一个实施例中,所述方法还包括:针对不同业务类型,预先将目标专用数据推送至所述公共数据库;所述目标专用数据为与所述业务类型对应的所述专用数据库中的专用数据;基于所述目标专用数据对所述公共数据库进行更新,生成新的公共数据库。
12.在其中一个实施例中,所述确定所述问句对应的业务类型,包括:对所述问句进行意图识别,得到意图识别结果;对所述问句进行词槽识别,得到词槽识别结果;根据所述意图识别结果及所述词槽识别结果,确定所述问句对应的业务类型。
13.在其中一个实施例中,所述问答类型对应的问答机器人包括faq类机器人、技能类机器人及闲聊类机器人中的至少一类。
14.在其中一个实施例中,所述公共数据库包括faq公共数据库、技能公共数据库及闲聊公共数据库;所述faq公共数据库中存储了与所述faq问句对应的公共数据;所述技能公共数据库存储了与所述技能问句对应的公共数据;所述闲聊公共数据库存储了与所述闲聊问句对应的公共数据。
15.在其中一个实施例中,一种智能问答装置,包括:业务类型确定模块,用于接收输入的问句,确定所述问句对应的业务类型;问句分发模块,用于将所述问句分发至与所述业务类型对应的问答机器人;答案获取模块,用于通过所述问答机器人根据所述问句查询目标数据库,并获取与所述问句对应的答案;所述目标数据库包括与所述业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库;答案输出模块,用于输出与所述问句对应的答案。
16.一种服务器,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上方法的步骤。
18.上述智能问答方法、装置、服务器、计算机可读存储介质,服务器接收输入的问句,确定问句对应的业务类型,将问句分发至与业务类型对应的问答机器人。通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案,并输出与问句对应的答案。目标数据库包括与该业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库。
19.首先,在接收输入的问句之后,确定问句对应的业务类型,并将问句分发至与业务类型对应的问答机器人。实现了从业务类型这个维度对问句进行分类,从而为问句匹配到问句所属业务类型下的问答机器人,实现精细化地进行智能问答。其次,因为预先构建了公共数据库及与不同业务类型对应的专用数据库,且公共数据库是不同业务类型下的问答机器人都可以调用的数据库,所以针对不同业务类型下的问句,问答机器人都可以去访问公共数据库及该业务类型对应的专用数据库。从而,实现了仅维护一个公共数据库及各个业务类型对应的专用数据库,就可以满足各种问答需求。进而,降低了维护成本、提高了资源的利用率。
附图说明
20.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为一个实施例中智能问答方法的应用环境图;图2为一个实施例中智能问答方法的流程图;图3为另一个实施例中智能问答方法的流程图;图4为一个实施例中专用数据库订阅公共数据库方法的流程图;图5为一个实施例中专用数据库订阅公共数据库的示意图;图6为一个实施例中若输入的问句为预设问句,则通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案方法的流程图;图7为另一个实施例中若输入的问句不属于预设问句,则通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案方法的流程图;图8为一个实施例中智能问答系统的架构图;图9为一个实施例中智能问答装置的结构框图;图10为一个实施例中服务器的内部结构示意图。
具体实施方式
22.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
23.可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
24.图1为一个实施例中智能问答方法的应用场景图。如图1所示,该应用环境包括电子设备120及服务器140,采用电子设备120与用户交互。用户在电子设备120上输入问句,并由电子设备120将该问句发送至服务器140。该服务器140接收输入的问句,确定问句对应的业务类型,将问句分发至与业务类型对应的问答机器人。通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案。目标数据库包括与该业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库。输出与问句对应的答案。这里,电子设备120可以
是手机、平板电脑、pda(personal digital assistant,个人数字助理)、穿戴式设备(智能手表等)、智能家居等任意终端设备。
25.图2为一个实施例中智能问答方法的流程图,如图2所示,提供了一种智能问答方法,应用于服务器,包括步骤220至步骤280。
26.步骤220,接收输入的问句,确定问句对应的业务类型。
27.具体的,服务器上可以支持某一个应用领域下的不同业务类型。其中,这里的应用领域包括电商领域、银行领域等。在电商领域下又可划分为不同的业务类型,例如,电器业务、服装业务、美妆业务、外卖业务、出行业务等,本申请中在此并未进行穷举。在银行领域又可划分为不同的业务类型,例如,储蓄卡业务、信用卡业务、理财产品业务等,本申请中在此并未进行穷举。
28.具体的,接收用户在终端输入的问句,终端将问句发送至服务器,由服务器确定问句对应的业务类型。例如,针对“外卖还需要多久到”,确定该问句对应的业务类型为外卖业务。
29.步骤240,将问句分发至与业务类型对应的问答机器人。
30.服务器上不同的问答机器人能够处理不同的业务类型。基于上述业务类型,将问句分发至与业务类型对应的问答机器人。例如,针对“外卖还需要多久到”,确定该问句对应的业务类型为外卖业务,将问句分发至与外卖业务对应的问答机器人。
31.步骤260,通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案;目标数据库包括与该业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库。
32.步骤280,输出与问句对应的答案。
33.其中,这里的目标数据库包括预先构建的公共数据库及与业务类型对应配置的专用数据库。这里,公共数据库是某一个应用领域下的不同业务类型所共用的数据库,其中存储了多个不同的业务类型下的公共数据,该公共数据包括多种问句及该多种问句分别对应的答案。例如,电商领域下的不同业务类型对应同一个公共数据库。当然,这里的公共数据库的数目也可以为多个,本申请对此不做限定。这里,专用数据库分别与不同的业务类型相对应。例如,电器业务、服装业务、美妆业务、外卖业务、出行业务分别对应一个或多个专用数据库。同理,专用数据库中存储了某个业务类型下的专用数据,该专用数据包括多种问句及该多种问句分别对应的答案。
34.具体的,问答机器人在接收了问句之后,根据问句查询目标数据库。可以优先在该问句对应的业务类型下的专用数据库中进行查询,以获取与问句对应的答案。若未查询到,则在公共数据库中进行查询获取与问句对应的答案。
35.最后,将所获取与问句对应的答案进行输出,展示在用户输入问句所在的终端上。
36.本申请实施例中,服务器接收输入的问句,确定问句对应的业务类型,将问句分发至与业务类型对应的问答机器人。通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案。目标数据库包括与该业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库。输出与问句对应的答案。
37.首先,在接收输入的问句之后,确定问句对应的业务类型,并将问句分发至与业务类型对应的问答机器人。实现了从业务类型这个维度对问句进行分类,从而为问句匹配到
问句所属业务类型下的问答机器人,实现精细化地进行智能问答。其次,因为预先构建了公共数据库及与不同业务类型对应的专用数据库,且公共数据库是不同业务类型下的问答机器人都可以调用的数据库,所以针对不同业务类型下的问句,问答机器人都可以去访问公共数据库及该业务类型对应的专用数据库。从而,实现了仅维护一个公共数据库及各个业务类型对应的专用数据库,就可以满足各种问答需求。进而,降低了维护成本、提高了资源的利用率。
38.在一个实施例中,提供了一种智能问答方法,还包括:确定问句对应的问答类型;步骤240,将问句分发至与业务类型对应的问答机器人,包括:将问句分发至与业务类型对应、且与问答类型对应的问答机器人。
39.如图3所示,提供了一种智能问答方法,包括:步骤320,接收输入的问句,确定问句对应的业务类型及问答类型;具体的,服务器上可以支持某一个应用领域下的不同业务类型,以及该业务类型下的不同问答类型。其中,这里的应用领域包括电商领域、银行领域等。在电商领域下又可划分为不同的业务类型,例如,电器业务、服装业务、美妆业务、外卖业务、出行业务等,本申请中在此并未进行穷举。在银行领域又可划分为不同的业务类型,例如,储蓄卡业务、信用卡业务、理财产品业务等,本申请中在此并未进行穷举。
40.每个业务类型下包括多个不同的问答类型,例如,包括faq问句、技能问句及闲聊问句中的至少一类。其中,faq问句指的是常见问答类的问句(简称faq,frequently asked questions),例如,“怎么退换货”、“快递发什么”、“我要下单”、“客服电话多少”等。技能问句指的是每个业务类型下包括特定技能的问句,例如,针对外卖业务,技能问句包括“外卖还需要多久到”、“免辣、去冰”等。闲聊问句指的是一些无目的的闲聊会话,一般并不针对某个特定的业务类型,例如,“你好啊”、“你吃过了么”等。每一种问句中都可以包括相似问。
41.具体的,接收用户在终端输入的问句,终端将问句发送至服务器,由服务器确定问句对应的问答类型及业务类型。例如,针对“外卖还需要多久到”,确定该问句对应的问答类型为技能问句,并确定该问句对应的业务类型为外卖业务。
42.步骤340,将问句分发至与业务类型对应、且与问答类型对应的问答机器人。
43.服务器上不同的问答机器人能够处理不同的业务类型。首先,基于上述业务类型,将问句分发至与业务类型对应的问答机器人。例如,针对“外卖还需要多久到”,确定该问句对应的业务类型为外卖业务,将问句分发至与外卖业务对应的问答机器人。
44.其次,服务器上不同的问答机器人能够处理不同的问答类型。基于上述问答类型包括faq问句、技能问句及闲聊问句中的至少一类,那么,问答类型对应的问答机器人包括faq类机器人、技能类机器人及闲聊类机器人中的至少一类。因此,服务器在确定问句对应的问答类型之后,将问句分发至与问答类型对应的问答机器人。例如,服务器在确定“外卖还需要多久到”这个问句对应的问答类型为技能问句,那么将该问句分发至与技能问句对应的技能类机器人。
45.从而,将问句分发至与业务类型对应、且与问答类型对应的问答机器人。例如,那么将“外卖还需要多久到”这个问句分发至外卖业务下、且与技能问句对应的技能类机器
人。
46.步骤360,通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案;目标数据库包括与业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库;步骤380,输出与问句对应的答案。
47.其中,这里的目标数据库包括预先构建的公共数据库及与业务类型对应配置的专用数据库。这里,公共数据库是某一个应用领域下的不同业务类型所共用的数据库,其中存储了多种问句及该多种问句分别对应的答案。例如,电商领域下的不同业务类型对应同一个公共数据库。当然,这里的公共数据库的数目也可以为多个,本申请对此不做限定。这里,专用数据库分别与不同的业务类型相对应。例如,电器业务、服装业务、美妆业务、外卖业务、出行业务分别对应一个或多个专用数据库。同理,专用数据库中存储了某个业务类型下的专用数据,该专用数据包括多种问句及该多种问句分别对应的答案。
48.具体的,问答机器人在接收了问句之后,根据问句查询目标数据库。可以优先在该问句对应的业务类型下的专用数据库中进行查询,以获取与问句对应的答案。若未查询到,则在公共数据库中进行查询获取与问句对应的答案。
49.最后,将所获取与问句对应的答案进行输出,展示在用户输入问句所在的终端上。
50.本申请实施例中,服务器接收输入的问句,确定问句对应的问答类型及业务类型,将问句分发至与问答类型对应的问答机器人,且问答机器人为业务类型下的机器人。通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案。目标数据库包括与该业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库。输出与问句对应的答案。
51.首先,在接收输入的问句之后,确定问句对应的问答类型及业务类型,并将问句分发至与问答类型对应的问答机器人,且问答机器人为业务类型下的机器人。实现了从问答类型及业务类型两个维度,对问句进行分类,从而为问句匹配到问句所属业务类型下、且问句所属问句类型下的问答机器人,实现精细化地进行智能问答。其次,因为预先构建了公共数据库及与不同业务类型对应的专用数据库,且公共数据库是不同业务类型下的问答机器人都可以调用的数据库,所以针对不同业务类型下的问句,问答机器人都可以去访问公共数据库及该业务类型对应的专用数据库。从而,实现了仅维护一个公共数据库及各个业务类型对应的专用数据库,就可以满足各种问答需求。进而,降低了维护成本、提高了资源的利用率。
52.在其中一个实施例中,公共数据库中存储了多个不同的业务类型下的公共数据;如图4所示,提供了一种智能问答方法,还包括:步骤420,针对不同业务类型,预先通过与业务类型对应的专用数据库,订阅公共数据库中的公共数据。
53.服务器上的数据库包括预先构建的公共数据库及与每个业务类型对应配置的专用数据库。这里,公共数据库是某一个应用领域下的不同业务类型所共用的数据库,其中存储了多个不同的业务类型下的公共数据,该公共数据包括多种预设问句及该多种预设问句分别对应的答案。例如,电商领域下的不同业务类型对应同一个公共数据库。当然,这里的公共数据库的数目也可以为多个,本申请对此不做限定。
54.其中,针对不同业务类型,预先通过与业务类型对应的专用数据库,订阅公共数据
库中的公共数据。通过订阅的方式建立了专用数据库与公共数据库之间的联系。这里,订阅是对公共数据库发布的快照进行同步,将发布的数据源数据同步到专用数据库的过程。
55.如图5所示,为一个实施例中专用数据库订阅公共数据库的示意图。其中,业务类型1对应专用数据库1,业务类型2对应专用数据库2,业务类型3对应专用数据库3。专用数据库1、专用数据库2及专用数据库3,均可以订阅公共数据库。其中,公共数据库包括faq公共数据库、技能公共数据库及闲聊公共数据库。专用数据库1、专用数据库2及专用数据库3中,也分别包括faq专用数据库、技能专用数据库及闲聊专用数据库。
56.步骤440,将公共数据的身份标识存储在专用数据库中。
57.通过专用数据库订阅公共数据库中的公共数据,主要是将公共数据的身份标识存储在专用数据库中。从而,通过公共数据的身份标识,可以获取到公共数据库中最新的公共数据。
58.由于这里的订阅操作不会将公共数据库的公共数据全部复制到专用数据库,而是只复制所订阅的公共数据的身份标识,这样就极大地节约了资源,也使得服务器在有限的机器资源下能够支持成千上万,甚至几十万数量的问答任务。具体的,公共数据库按照问答类型可以划分为faq公共数据库、技能公共数据库及闲聊公共数据库等。faq公共数据库中存储了与faq问句对应的公共数据;技能公共数据库存储了与技能问句对应的公共数据;闲聊公共数据库存储了与闲聊问句对应的公共数据。
59.那么,所订阅的公共数据的身份标识就可以包括faq问句的id、技能问句的id以及闲聊问句的id。
60.本申请实施例中,针对不同业务类型,预先通过与业务类型对应的专用数据库,订阅公共数据库中的公共数据。再将公共数据的身份标识存储在专用数据库中。因为通过公共数据的身份标识,就可以对公共数据库发布的快照进行同步,将发布的数据源数据同步到专用数据库。所以,若某个业务类型下的问答机器人需要访问公共数据库中的公共数据时,就可以直接访问该业务类型对应的专用数据库,进而通过公共数据的身份标识获取到最新的公共数据。
61.通过数据库订阅的方式,在公共数据库中的公共数据发生更新时,只需要更新公共数据库中的公共数据即可,不需要更新专用数据库,因此,降低了数据库维护的难度。
62.在其中一个实施例中,公共数据包括多种预设问句及与多种预设问句匹配的答案;如图6所示,若输入的问句为预设问句,则通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案,包括:步骤620,通过问答机器人根据问句查询专用数据库,得到与问句匹配的答案的身份标识。
63.这里,公共数据库中存储了公共数据,公共数据包括多种预设问句及与多种预设问句匹配的答案。且专用数据库中只存储了公共数据的身份标识,即专用数据库中存储了多种预设问句及与多种预设问句匹配的答案的身份标识。另外,专用数据库可以通过订阅的方式,通过公共数据的身份标识获取所述公共数据库中的所述公共数据。
64.具体的,若输入的问句为预设问句,则该预设问句及与预设问句匹配的答案存储在公共数据库中。所以,在确定问句对应的业务类型,将问句分发至与业务类型对应的问答机器人之后,通过问答机器人根据问句查询目标数据库,实际上是通过问答机器人根据问
句的身份标识查询专用数据库,获得与问句匹配的答案的身份标识。或者,在确定问句对应的业务类型及问答类型,将问句分发至与业务类型对应、且与问答类型对应的问答机器人之后,通过问答机器人根据问句查询目标数据库,实际上是通过问答机器人根据问句的身份标识查询专用数据库,获得与问句匹配的答案的身份标识。
65.步骤640,根据匹配的答案的身份标识查询公共数据库,得到匹配的答案。
66.在从专用数据库中就可以获取到问句匹配的答案的身份标识之后,根据匹配的答案的身份标识查询公共数据库,得到匹配的答案。
67.本申请实施例中,若输入的问句为预设问句,则通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案,包括:通过问答机器人根据问句查询专用数据库,得到与问句匹配的答案的身份标识;根据匹配的答案的身份标识查询公共数据库,得到匹配的答案。所以,若某个问答机器人需要访问公共数据库中的公共数据时,就可以直接访问该业务类型对应的专用数据库,进而通过公共数据的身份标识获取到最新的公共数据。由于公共数据只存储在公共数据库中,所以仅需要维护公共数据库,就可以实现所有的问答机器人都可以获取到公共数据。不仅降低了数据库维护的难度,还提高了资源的利用率。
68.在一个实施例中,提供了一种智能问答方法,还包括:针对不同业务类型,将从公共数据中获取到的与预设问句匹配的答案,自定义配置为与问答类型对应的答案。
69.具体的,是预先配置预设问句及与预设问句匹配的答案,并将预设问句及与预设问句匹配的答案作为公共数据存储在公共数据库中。即公共数据库中所存储的预设问句及预设问句匹配的答案都是一致的。但是,由于针对不同业务类型,每个预设问句匹配的答案可能有所不同。因此,可以在不同业务类型下,在专用数据库中将从公共数据中获取到的与预设问句匹配的答案,自定义配置为与业务类型对应的答案。
70.例如,公共数据库中存储了一个faq问句为:“客服电话是多少”及其答案为“029
‑
xxxxxxxx”。若此时的预设问句为“客服电话是多少”,因此,从公共数据库中获取到的与预设问句匹配的答案为“029
‑
xxxxxxxx”。但是,在不同的业务类型下,对应的客服电话是不同的。因此,针对某个问答类型下的这个问句“客服电话是多少”,可以自定义配置与业务类型对应的答案,如“029
‑
yyyyyyyy”。
71.本申请实施例中,首先,若某个业务类型下的问答机器人需要访问公共数据库中的公共数据时,就可以直接访问该业务类型对应的专用数据库,进而通过公共数据的身份标识获取到最新的公共数据。其次,在不同业务类型下,还可以将从公共数据中获取到的与预设问句匹配的答案,自定义配置为与业务类型对应的答案。从而,满足不同业务类型下的个性化需求。
72.在一个实施例中,如图7所示,专用数据库中存储了与业务类型对应的专用数据;如图7所示,若输入的问句不属于预设问句,则通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案,包括:步骤720,通过问答机器人根据问句查询专用数据库,得到与问句对应的专用数据;步骤740,从专用数据获取与问句对应的答案。
73.其中,目标数据库包括公共数据库及专用数据库。因为公共数据库中存储了公共
数据,公共数据具体包括预设问句及与预设问句匹配的答案。而专用数据库中存储了专用数据,专用数据具体包括专用问句及与专用问句匹配的答案。一般情况下,每个业务类型所对应的专用数据库可以是不同的,因此,不同业务类型对应的问答机器人能够访问的专用数据库也是不同的。例如,业务类型1对应的问答机器人能够访问专用数据库1,业务类型2对应的问答机器人能够访问专用数据库2,业务类型3对应的问答机器人能够访问专用数据库3。当然,一个业务类型也可以对应多个专用数据库,本申请对此不做限定。
74.与公共数据库的划分方式相同,专用数据库按照问答类型可以划分为faq专用数据库、技能专用数据库及闲聊专用数据库等。faq专用数据库中存储了与faq问句对应的专用数据;技能专用数据库存储了与技能问句对应的专用数据;闲聊专用数据库存储了与闲聊问句对应的专用数据。
75.所以,在通过问答机器人根据问句查询目标数据库时,首先,识别输入的问句是否属于预设问句。其次,若输入的问句属于预设问句,则通过问答机器人根据问句查询专用数据库,得到与问句匹配的答案的身份标识。根据匹配的答案的身份标识查询公共数据库,得到匹配的答案。最后,若输入的问句不属于预设问句,则直接通过问答机器人根据问句查询专用数据库,得到与问句对应的专用数据,再从专用数据获取与问句对应的答案。查询专用数据库,可以是查询faq专用数据库、技能专用数据库及闲聊专用数据库等,本申请对此不进行限定。
76.本申请实施例中,专用数据库中存储了与业务类型对应的专用数据。若输入的问句不属于预设问句,即所输入的问句不存储在公共数据库中,因此就可以直接通过问答机器人根据问句查询专用数据库,得到与问句对应的专用数据,从专用数据获取与问句对应的答案。由于专用数据库中存储了与业务类型对应的专用数据,所以就可以解答与业务类型相关的问句。
77.在一个实施例中,提供了一种智能问答方法,还包括:针对不同业务类型,预先将目标专用数据推送至公共数据库;目标专用数据为与业务类型对应的专用数据库中的专用数据;基于目标专用数据对公共数据库进行更新,生成新的公共数据库。
78.具体的,针对同一领域下的不同业务类型,均共用公共数据库,且为不同业务类型的业务分别配置了专用数据库。不同业务类型的业务对应的专用数据库中的专用数据可以是不同的,因此,服务器还可以支持将不同业务类型下的专用数据库中的目标专用数据,推送至公共数据库以供其他专用数据库获取该目标专用数据,以解决各种问答。这里的目标专用数据可以指的是从专用数据库中的专用数据中所筛选出的可信度比较好、适用性较高的专用数据。
79.具体的,将不同业务类型下的专用数据库中的目标专用数据,推送至公共数据库时,主要是将目标专用数据的身份标识推送至公共数据库。并基于目标专用数据的身份标识对公共数据库进行更新,生成新的公共数据库。即新的公共数据库中仅复制了目标专用数据的身份标识,并不需要将目标专用数据全部复制到公共数据库中。这样就极大地节约了资源,也使得服务器在有限的机器资源下能够支持成千上万,甚至几十万数量的问答任务。
80.如此,其他的专用数据库在订阅了公共数据库之后,就可以通过该目标专用数据
的身份标识从该专用数据库中获取到该目标专用数据,实现了不同专用数据库之间的数据共享,同时在进行数据维护时,仍然是分别由各专用数据库维护其上的专用数据。因此,更进一步地降低了数据库维护的难度,还提高了资源的利用率。
81.本申请实施例中,通过数据推送的方式,可以将不同业务类型对应的目标专用数据推送至公共数据库。从而,其他的专用数据库在订阅了公共数据库之后,就可以通过该公共数据库间接访问该专用数据库,并从中获取到该目标专用数据,实现了不同专用数据库之间的数据共享。且在进行推送时,主要是将目标专用数据的身份标识推送至公共数据库。并基于目标专用数据的身份标识对公共数据库进行更新,生成新的公共数据库。即新的公共数据库中仅复制了目标专用数据的身份标识,并不需要将目标专用数据全部复制到公共数据库中。这样就极大地节约了资源,也使得服务器在有限的机器资源下能够支持成千上万,甚至几十万数量的问答任务。
82.在一个实施例中,确定问句对应的业务类型,包括:对问句进行意图识别,得到意图识别结果;对问句进行词槽识别,得到词槽识别结果。
83.根据意图识别结果及词槽识别结果,确定问句对应的业务类型。
84.具体的,在确定问句对应的业务类型时,首先,对问句进行意图识别,得到意图识别结果。意图识别结果即为该问句的目的。其次,对问句进行词槽识别,得到词槽识别结果。词槽识别具体可以是进行分词处理,词槽识别结果即为分词结果。最后,根据意图识别结果及词槽识别结果,确定问句对应的业务类型。即将意图识别结果及词槽识别结果对应的业务类型,作为问句的业务类型。业务类型包括某一个应用领域下的不同业务类型,例如,在电商领域下又可划分为不同的业务类型,包括电器业务、服装业务、美妆业务、外卖业务、出行业务等,本申请中在此并未进行穷举。
85.同理,还可以根据意图识别结果及词槽识别结果,确定问句对应的问答类型。其中,问答类型包括faq问句、技能问句及闲聊问句中的至少一类。
86.例如,针对“外卖还需要多久到”,确定该问句对应的问答类型为技能问句,并确定该问句对应的业务类型为外卖业务。
87.本申请实施例中,对问句进行意图识别及词槽识别,从这两个方面去确定问句对应的问答类型及业务类型。然后,基于问句对应的业务类型可以选择该业务类型对应的问答机器人,再继续从该业务类型对应的机器人中选择对应问答类型的问答机器人。从而,对问句匹配到更合适的问答机器人,实现精细化地解答。
88.在一个具体的实施例中,结合图8所示,提供了一种智能问答系统的架构图。该系统包括管理模块810、基础组件830、识别模块850、机器人模块870及会话模块890。其中,管理模块810包括管理端前端、管理端后端,管理端前端用于与用户交互,例如接收用户的输入的语音或文本等形式的问句。管理端后端用于对用户的输入的各种不同形式的问句进行预处理,例如对数据进行校验和加工,并存于数据库中。
89.其中,基础组件830包括mysql数据库、elasticsearch、redis组件及etcd。其中,elasticsearch是一个基于lucene的搜索服务器,redis组件可以使得智能问答方法对应的系统中各个模块能够支持分布式部署。etcd是一个高可用的键值存储系统,主要用于共享键值仓库和服务发现。
90.其中,识别模块850包括意图识别子模块及词槽识别子模块。意图识别子模块可以对管理端后端发送的问句进行意图识别,得到意图识别结果。词槽识别子模块可以用于对管理端后端发送的问句进行词槽识别,得到词槽识别结果。
91.其中,机器人模块870包括faq类机器人(faq bot)、技能类机器人(技能bot)及闲聊类机器人(闲聊bot)等,本申请对此不做限定。其中,faq bot主要用于对faq类问句进行解答,技能bot主要用户与对技能类问句进行解答,闲聊bot主要用户与对闲聊类问句进行解答。
92.其中,会话模块890包括问答页面及会话管理子模块。问答页面一般是展示在管理端前端上,用于接收用户的输入以及向用户展示答案等。会话管理用于在接收到问句后调用意图识别模块进行意图识别及调用词槽识别模块进行分词处理。
93.具体的,在对智能问答方法对应的系统进行更新时,假如管理者预先从管理端前端编辑新建了一条数据(例如包括一条faq并配置了答案),管理端后端收到该数据后,对该数据进行校验和加工,并存于mysql数据库中,同时通过etcd发起一条消息通知。由于其他模块都订阅了本消息通知,消息通知发出后其他模块都会同步收到该消息通知。在收到消息通知后各其他模块从mysql数据库读取新的数据来对各模块做更新。
94.当用户通过问答页面进行问答时,会话管理模块收到问句后调用意图识别模块判断该问句的意图、调用词槽识别模块对问句做分词处理。基于问句的意图及分词结果,确定问句的问答类型及业务类型。假如,所确定的业务类型为a业务,所确定的问句类型为faq问句,则会话管理模块将只向a业务下的faq bot传送当前问句和最近的一些历史会话数据,faq bot根据拿到的数据去数据库查询数据并生成答案,返回给会话管理模块,会话管理模块再将答案返回给问答页面,以向用户展示。会话管理模块还会将当前问句的会话信息存入会话历史,以便在后续会话中使用。
95.本申请实施例中,首先,在接收输入的问句之后,确定问句对应的问答类型及业务类型,并将问句分发至与问答类型对应的问答机器人,且问答机器人为业务类型下的机器人。实现了从问答类型及业务类型两个维度,对问句进行分类,从而为问句匹配到问句所属业务类型下、且问句所属问句类型下的问答机器人,实现精细化地进行智能问答。其次,因为预先构建了公共数据库及与不同业务类型对应的专用数据库,且公共数据库是不同业务类型下的问答机器人都可以调用的数据库,所以针对不同业务类型下的问句,问答机器人都可以去访问公共数据库及该业务类型对应的专用数据库。从而,实现了仅维护一个公共数据库及各个业务类型对应的专用数据库,就可以满足各种问答需求。进而,降低了维护成本、提高了资源的利用率。
96.在其中一个实施例中,问答机器人的类别包括faq类机器人、技能类机器人及闲聊类机器人中的至少一类。
97.本申请实施例中,由于问句包括faq类问句、技能类问句及闲聊类问句等问句类型,因此,可以将问答机器人按照问答类型进行划分,可以划分为faq类机器人、技能类机器人及闲聊类机器人中的至少一类。从而,基于问句的问答类型,将问句对应地划分到该问答类型的机器人中进行处理,提高处理效率。且每类机器人的数目可以为一个或多个,将每一类机器人在不同的服务器上进行分布式部署,以支持高并发场景,提高处理速度。
98.在其中一个实施例中,公共数据库包括faq公共数据库、技能公共数据库及闲聊公
共数据库;faq公共数据库中存储了与faq问句对应的公共数据;技能公共数据库存储了与技能问句对应的公共数据;闲聊公共数据库存储了与闲聊问句对应的公共数据。
99.本申请实施例中,公共数据库包括与每一种问答类型对应的公共数据库,当问句为faq问句时,则faq类机器人在访问公共数据库的时候,可以访问faq公共数据库。当问句为技能问句时,则技能类机器人在访问公共数据库的时候,可以访问技能公共数据库。当问句为闲聊问句时,则闲聊类机器人在访问公共数据库的时候,可以访问闲聊公共数据库。因为对公共数据库也按照不同的问答类型划分为了不同类型的公共数据库,提高了不同类型的机器人在进行访问公共数据库的速度,进而提高了问答效率。
100.在一个实施例中,如图9所示,提供了一种智能问答装置900,包括:业务类型确定模块920,用于接收输入的问句,确定问句对应的业务类型;问句分发模块940,用于将问句分发至与业务类型对应的问答机器人;答案获取模块960,用于通过问答机器人根据问句查询目标数据库,并获取与问句对应的答案;目标数据库包括与业务类型对应的专用数据库及与多个不同业务类型对应的公共数据库;答案输出模块980,用于输出与问句对应的答案。
101.在一个实施例中,提供了一种智能问答装置,还包括:问答类型确定模块,用于确定问句对应的问答类型;问句分发模块,还用于将问句分发至与业务类型对应、且与问答类型对应的问答机器人。
102.在一个实施例中,公共数据库中存储了多个不同的业务类型下的公共数据;提供了一种智能问答装置,还包括:订阅模块,用于针对不同业务类型,预先通过与业务类型对应的专用数据库,订阅公共数据库中的公共数据;将公共数据的身份标识存储在专用数据库中。
103.在一个实施例中,公共数据包括多种预设问句及与多种预设问句匹配的答案;若输入的问句为预设问句,则答案获取模块960,还用于通过问答机器人根据问句查询专用数据库,得到与问句匹配的答案的身份标识;根据匹配的答案的身份标识查询公共数据库,得到匹配的答案。
104.在一个实施例中,提供了一种智能问答装置,还包括:答案自定义配置模块,用于针对不同业务类型,将从公共数据库中获取到的与预设问句匹配的答案,自定义配置为与业务类型对应的答案。
105.在一个实施例中,专用数据库中存储了与业务类型对应的专用数据;若输入的问句不属于预设问句,则答案获取模块960,还用于通过问答机器人根据问句查询专用数据库,得到与问句对应的专用数据;从专用数据中获取与问句对应的答案。
106.在一个实施例中,提供了一种智能问答装置,还包括:推送模块,用于针对不同业务类型,预先将目标专用数据推送至公共数据库;目标专用数据为与业务类型对应的专用数据库中的专用数据;基于目标专用数据对公共数据库进行更新,生成新的公共数据库。
107.在一个实施例中,业务类型确定模块920,用于:对问句进行意图识别,得到意图识别结果;对问句进行词槽识别,得到词槽识别结果;根据意图识别结果及词槽识别结果,确定问句对应的业务类型。
108.在一个实施例中,问答类型包括faq问句、技能问句及闲聊问句中的至少一类;问答类型对应的问答机器人包括faq类机器人、技能类机器人及闲聊类机器人中的至少一类。
109.在一个实施例中,公共数据库包括faq公共数据库、技能公共数据库及闲聊公共数据库;faq公共数据库中存储了与faq问句对应的公共数据;技能公共数据库存储了与技能问句对应的公共数据;闲聊公共数据库存储了与闲聊问句对应的公共数据。
110.上述问答装置中各个模块的划分仅用于举例说明,在其他实施例中,可将问答装置按照需要划分为不同的模块,以完成上述问答装置的全部或部分功能。
111.图10为一个实施例中服务器的内部结构示意图。如图10所示,该服务器包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个服务器的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种智能问答方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该服务器可以是手机、平板电脑或者个人数字助理或穿戴式设备等。
112.本申请实施例中提供的问答装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
113.本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行智能问答方法的步骤。
114.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行智能问答方法。
115.本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态 ram (sram)、动态 ram (dram)、同步 dram (sdram)、双数据率 sdram (ddr sdram)、增强型 sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。
116.以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。