CN110990527A - 自动问答方法及装置、存储介质及电子设备 - Google Patents
自动问答方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110990527A CN110990527A CN201911170027.4A CN201911170027A CN110990527A CN 110990527 A CN110990527 A CN 110990527A CN 201911170027 A CN201911170027 A CN 201911170027A CN 110990527 A CN110990527 A CN 110990527A
- Authority
- CN
- China
- Prior art keywords
- input
- question
- questions
- database
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013507 mapping Methods 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000002265 prevention Effects 0.000 description 44
- 206010028980 Neoplasm Diseases 0.000 description 36
- 201000011510 cancer Diseases 0.000 description 36
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 230000032683 aging Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000036541 health Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006403 short-term memory Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000001093 anti-cancer Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种自动问答方法及装置、电子设备、存储介质;涉及计算机问答技术领域。所述自动问答方法包括:接收客户端的输入问题,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句;基于所述查询语句在所述数据库中进行查询,并根据查询结果形成所述问题的答案;识别所述输入问题中涉及的数据实体,并依据所述数据实体得到所述输入问题的推荐问题;将所述输入问题的答案及所述推荐问题返回至客户端。本公开可以根据用户输入的问题更准确地推荐相关问题,提高用户的了解意愿,进而实现更加高效的多轮问答功能。
Description
技术领域
本公开涉及计算机问答技术领域,具体而言,涉及一种自动问答方法及装置、电子设备以及计算机可读存储介质。
背景技术
经过几十年的发展,自动问答的技术积累和实际应用已日趋成熟,目前已被成功应用于日常生活中。然而,大多数自动问答***都只能实现与用户的单轮交互,在一些实际应用场景中有可能达不到业务目的。
在返回答案的同时向用户推荐相关问题是解决这一问题的常用方式。但现有的自动问答***由于推荐准确度不高,很多情况下不能返回用户想要了解的问题。
因此需要提供一种可以推荐与用户期望值更加匹配的相关问题的自动问答方法,从而提高自动问答的效率,更好地实现交互功能。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种自动问答方法及装置、电子设备以及计算机可读存储介质,进而可以根据用户输入的问题更准确地推荐相关问题,提高用户的了解意愿,实现更加高效的多轮问答功能。
根据本公开的第一方面,提供一种自动问答方法,包括:
接收客户端的输入问题,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句;
基于所述查询语句在所述数据库中进行查询,并根据查询结果形成所述输入问题的答案;
识别所述输入问题中涉及的数据实体,并依据所述数据实体得到所述输入问题的推荐问题;
将所述输入问题的答案及所述推荐问题返回至客户端。
在本公开的一种示例性实施例中,所述将所述输入问题转换为基于知识图谱的数据库所对应的查询语句,包括:
在所述数据库中进行所述输入问题的匹配;
在匹配成功时,将匹配到的问题转换为基于知识图谱的数据库所对应的查询语句;
在匹配失败时,将所述输入问题发送至人工坐席处理。
在本公开的一种示例性实施例中,所述将匹配到的问题转换为基于知识图谱的数据库所对应的查询语句,包括:
建立一个知识映射表,在所述知识映射表中定义所述匹配到的问题与所述查询语句的对应关系;
依据所述对应关系将所述匹配到的问题转换为所述查询语句。
在本公开的一种示例性实施例中,所述在所述数据库中进行所述输入问题的匹配,包括:
在所述数据库中匹配与所述输入问题完全一致的问题;
在匹配失败时,在所述数据库中对所述输入问题进行语义匹配,并将匹配度最高的问题所对应的匹配度与预设阈值进行比较;
当所述匹配度大于或等于所述预设阈值时,所述输入问题匹配成功,反之,则匹配失败。
在本公开的一种示例性实施例中,所述数据库中数据的存储形式为三元组形式,所述依据所述数据实体得到所述输入问题的推荐问题,包括:
在所述数据库中查询包含所述数据实体的三元组,利用所述知识映射表将查询到的多个所述三元组转化为所述推荐问题。
在本公开的一种示例实施例中,所述利用所述知识映射表将查询到的多个所述三元组转化为所述推荐问题,包括:
通过查询到的多个所述三元组得到对应的多个所述查询语句;
根据所述知识映射表将所述查询语句转化为多个对应的所述推荐问题。
在本公开的一种示例性实施例中,所述将所述输入问题的答案及所述推荐问题返回至客户端,包括:
依据与所述输入问题的匹配度对所述推荐问题进行排序;
将所述输入问题的答案及排序后的所述推荐问题返回至客户端。
根据本公开的第二方面,提供一种自动问答装置,包括:
输入模块,用于接收客户端的输入问题,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句;
答案查询模块,用于基于所述查询语句在所述数据库中进行查询,并根据查询结果形成所述输入问题的答案;
推荐问题查询模块,用于识别所述输入问题中涉及的数据实体,并依据所述数据实体得到所述输入问题的推荐问题;
输出模块,用于将所述输入问题的答案及所述推荐问题返回至客户端。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开示例性实施例所提供的自动问答方法中,在接收到客户端的输入问题后,将该输入问题转换为基于知识图谱的数据库所对应的查询语句,并依据转化得到的查询语句在上述数据库中进行查询,根据查询结果形成所述问题的答案。同时,还要识别所述输入问题中涉及的数据实体,并依据识别到的数据实体得到上述输入问题的推荐问题,最后将上述输入问题的答案及得到的推荐问题返回至客户端。一方面,本示例实施方式由于是在对客户端输入问题中涉及的数据实体进行识别的基础之上,依据识别到的数据实体进行相关问题的推荐,因此得到的推荐问题准确度更高,进而可以减少交互的次数,节约计算机资源。另一方面,采用基于知识图谱的方式并设置了数据库查询语句,可以高效地进行问题的匹配及答案的查询。同时,由于采取了图数据库的存储方式,也使得对于数据实体的识别简单易行,有助于提高推荐问题的查询效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种自动问答方法及装置的示例性***架构的示意图;
图2示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图;
图3示意性示出了根据本公开的一个实施例的自动问答方法的流程图;
图4示意性示出了本公开的一个实施例中转换得到查询语句的流程图;
图5示意性示出了本公开的一个实施例中应用场景的示意图;
图6示意性示出了根据本公开的一个实施例的自动问答装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种自动问答方法及装置的示例性应用环境的***架构的示意图。
如图1所示,***架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的自动问答方法可以由终端设备101、102、103执行,相应地,自动问答装置可以设置于终端设备101、102、103中。本公开实施例所提供的自动问答方法也可以由服务器105执行,相应地,自动问答装置可以设置于服务器105中。本公开实施例所提供的自动问答方法还可以由终端设备101、102、103与服务器105共同执行,相应地,自动问答装置可以设置于终端设备101、102、103与服务器105中,本示例性实施例中对此不做特殊限定。
例如,在本示例实施方式中,可以在终端设备101、102、103上执行输入问题的操作,终端设备在接收到输入问题后,将该输入问题通过网络104发送至服务器105中,服务器105将该输入问题转化为基于知识图谱的数据库所对应的查询语句后,基于该查询语句在数据库中进行查询,并根据查询结果形成输入问题的答案。服务器105还可以识别输入问题中涉及的数据实体,并依据该数据实体得到推荐问题,并将上述得到的答案及推荐问题返回至终端设备,终端设备将接收到的答案及推荐问题展示给用户。当上述的自动问答方法在本地执行时,上述操作由端设备101、102、103或服务器105单独执行。
图2示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
需要说明的是,图2示出的电子设备的计算机***200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,计算机***200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有***操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
以下对本公开实施例的技术方案进行详细阐述:
本示例实施方式提供了一种自动问答方法。参考图3所示,该自动问答方法可以包括以下步骤:
步骤S310:接收客户端的输入问题,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句;
步骤S320:基于所述查询语句在所述数据库中进行查询,并根据查询结果形成所述问题的答案;
步骤S330:识别所述输入问题中涉及的数据实体,并依据所述数据实体得到所述输入问题的推荐问题;
步骤S340:将所述输入问题的答案及所述推荐问题返回至客户端。
在本示例实施方式所提供的自动问答方法中,一方面,本示例实施方式由于是在对客户端输入问题中涉及的数据实体进行识别的基础之上,依据识别到的数据实体进行相关问题的推荐,因此得到的推荐问题准确度更高,进而可以减少交互的次数,节约计算机资源。另一方面,采用基于知识图谱的方式并设置了数据库查询语句,可以高效地进行问题的匹配及答案的查询。同时,由于采取了图数据库的存储方式,也使得对于数据实体的识别简单易行,有助于提高推荐问题的查询效率。
下面,在另一实施例中,对上述步骤进行更加详细的说明。
在步骤S310中,接收客户端的输入问题,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句。
本示例实施方式中,客户端为输入用户问题的应用平台,设置于终端设备。举例而言,该客户端可以为购物应用平台,也可以为社交软件平台,还可以是教育交流平台等其他使用到自动问答功能的应用平台,本示例实施方式对此不做特殊限定。
在本示例实施方式中,上述终端设备可以为智能手机,也可以为平板电脑,还可以为笔记本等其他移动终端。除此之外,其他可以输入用户问题的终端设备也属于本示例实施方式的保护范畴。
本示例实施方式中,输入问题为用户所要查询的问题。举例而言,所述输入问题可以为某项特定业务相关问题,如“养老保险的定价依据”,也可以是教育学习类问题,如“你好用英文怎么说”;除此之外,依据实际应用场景及业务目的,该输入问题还可以是用户想要查询的其他问题,本示例实施方式对此不做特殊限定。
在本示例实施方式中,知识图谱是结构化的语义知识库,提供了一种知识存储和查询的方式。该语义知识库中存储着数据实体概念及其属性和该属性所对应的属性值。以三元组为例,其基本组成单位可以是(数据实体,属性,属性值)这样的存储方式。举例而言,“国家A的首都是城市B”在该语义数据库中可以表示成(国家A,首都,城市B),其中,“国家A”是一个数据实体,“首都”是一个属性,而“城市B”是数据实体属性对应的属性值;当一个知识涵盖的内容较多时,可以将该知识拆分为多个三元组。比如,“健康险的基础保费是200元,而保额达到了100万元”,可以拆分成两个三元组(健康险,基础保费,200元)和(健康险,保额,100万元)。需要说明的是,上述情景只是一种示例性说明,并不对本示例实施方式的保护范畴起任何的限定作用。
本示例实施方式中,基于知识图谱的数据库是将数据以三元组的形式存储的图数据库,该图数据库可以是任何开源图数据库或商业图数据库。举例而言,该数据库可以为Neo4j,也可以为Apache Jena、还可以为Gstore,本示例实施方式对此不做特殊要求。
本示例实施方式中,查询语句是用来在上述图数据库中查询数据的专门语句,比如以RDF(Resource Description Framework)形式存储时有专门的查询语句SPARQL(SPARQL Protocol and RDF Query Language)。以(国家A,首都,城市B)为例,当我们想查询“国家A”这个数据实体的“首都”属性对应的属性值,其查询语句可以是如下形式:Select?result Where{国家A首都?result}。需要说明的是,上述情景只是一种示例性说明,并不对本示例实施方式的保护范畴起任何的限定作用。
本示例实施方式中,在接收到客户端的输入问题后,可以对该输入问题进行预处理。举例而言,该预处理包括但不限于去除首尾标点、去除特殊符号、繁简体转换、规则替换成标准问句。
本示例实施方式中,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句,参考图4,具体可以实现为如下步骤:
步骤S410:在基于知识图谱的数据库中对输入问题进行硬匹配。
本示例实施方式中,硬匹配是指输入问题可以从数据库中匹配到一模一样的问题。举例而言,具体的匹配方式可以是对输入问题在数据库中进行循环遍历直至找到一模一样的问题,也可以对输入问题和数据库中存储的问题进行哈希然后通过hashMap的方式查找,具体实现可以为:计算出输入问题及数据库中存储的问题哈希后的值,将得到的哈希值以hashMap数据结构进行存储,在查找时,可以通过根据哈希值来求得对应数组中的位置,进而完成输入问题与数据库中存储的问题的硬匹配过程。以输入问题为“老年防癌险的保费是怎么卖的”为例,该输入问题通过MD5的方式哈希后对应的值为“285B38A25F013A679AC6818554B6C9D7”,数据库中可以存储有“老年防癌险的保费是怎么卖的”,“老年防癌险属于什么类型的保险”等问题,对数据库中存储的问题也进行哈希,得到对应的值,并在hashMap中依据哈希值“285B38A25F013A679AC6818554B6C9D7”查找数据库中该哈希值所对应的问题对应的数组位置,进而完成硬匹配过程。除此之外,还可以使用其他的短文本查询方式进行匹配,本示例实施方式对此不做特殊要求。若匹配成功,则跳转至步骤S430。若匹配失败,则跳转至步骤S420。
步骤S420:在基于知识图谱的数据库中对输入问题进行语义匹配。
本示例实施方式中,语义匹配是指将输入问题与数据库中存储的问题进行文本匹配计算。具体实现可以如下:利用word2vec将输入问题及数据库中存储的问题表示为一维向量空间中的词向量,得到对应的以矩阵表示的数据结构。将输入问题与数据库中存储的各个问题表示为二维矩阵,利用卷积神经网络对得到的各个二维矩阵进行特征提取和分类,从而得到输入问题与数据库中存储的各问题的文本匹配度计算结果。
在本示例实施方式中,在得到输入问题与数据库中存储的各问题的文本匹配度计算结果后,挑选出与输入问题匹配度值最大的数据库问题,判断该最大的匹配度值是否超过设定阈值。如最大匹配度值超过设定阈值,则认定文本语义匹配可以匹配到问题;否则,认定匹配不到。
步骤S430:根据知识映射表将匹配到的问题转换为对应的查询语句。
本示例实施方式中,知识映射表是将答案对应的问句同人工翻译后的图数据库查询语句进行关联,并存放于结构化数据库中得到的映射表。知识映射表的定义过程可以为:在自动问答全部步骤开始前,将问答***中涉及到的常问问题及对应的答案通过人工加自动化工具协作的方式整理成三元组形式存入知识图谱,同时会将对应的问题存入结构化数据库,并通过人工的方式将问题翻译成知识图谱查询语句,整理成知识映射表。
在本示例实施方式中,以客户端的输入问题为“老年防癌险是怎么卖的”时为例,上述转化过程具体可以实现为:通过上述的语义匹配过程得到数据库中存储的对应问题“老年防癌险的保费是怎么算的?”后,通过知识映射表将匹配到的问题转化成SPARQL语句,完成上述查询语句的转化过程。需要说明的是,上述情景只是一种示例性说明,并不对本示例实施方式的保护范畴起任何的限定作用。
在步骤S320中,基于所述查询语句在所述数据库中进行查询,并根据查询结果形成所述输入问题的答案。
本示例实施方式中,在转化得到上述基于知识图谱的数据库对应的查询语句后,依据查询数据库中的三元组得到输入问题的答案。以上述匹配到的问题“老年防癌险的保费是怎么算的?”为例,具体实现可以如下:在数据库中查询到三元组(entity:老年防癌险,rdf:保费,data:140元/月),查询到结果为“data:140元/月”,通过逻辑规则组织成答句“您好,老年防癌险的保费是140元/月”。需要说明的是,上述情景只是一种示例性说明,并不对本示例实施方式的保护范畴起任何的限定作用。
本示例实施方式中,在对输入问题在数据库进行匹配的过程失败时,将该输入问题发送至人工坐席,由人工坐席对该输入问题进行回答以及其他处理。
在步骤S330中,识别所述输入问题中涉及的数据实体,并依据所述数据实体得到所述输入问题的推荐问题。
本示例实施方式中,推荐问题指与输入问题相关的问题。举例而言,当输入问题为老年防癌险是怎么卖的”,上述推荐问题可以为“老年防癌险的定价依据是什么?”,也可以为“老年防癌险属于什么类型的保险?”,还可以是其他相关的问题,本示例实施方式对此不做特殊限定。
本示例实施方式中,数据实体为上述数据库中三元组中对应的数据实体。识别该数据实体并获取推荐问题,具体实现可以如下:在数据库中查询包含该数据实体的三元组,利用上述知识映射表将查询到的多个三元组转化为推荐问题。以上述输入问题为“老年防癌险的定价依据是什么?”为例,可以如下实现:***识别到用户问题中的数据实体“老年防癌险”,数据库中还存在数据实体“老年防癌险”相关的三元组:(entity:老年防癌险,rdf:定价依据,data:XXX)(entity:老年防癌险,rdf:属于,object:短期健康险)等,查找到数据实体相关的全部三元组后,通过逻辑规则组织成查询语句,并通过查询语句转化为对应的推荐问题:“老年防癌险的定价依据是什么?”,“老年防癌险属于什么类型的保险?”。需要说明的是,上述情景只是一种示例性说明,并不对本示例实施方式的保护范畴起任何的限定作用。
在步骤S340中,将所述输入问题的答案及所述推荐问题返回至客户端。
本示例实施方式中,在将所述输入问题的答案及所述推荐问题返回至客户端之前,可以依据与输入问题的匹配度对得到的多个推荐问题进行排序。举例而言,上述排序可以实现如下:将推荐问题与输入问题进行基于深度学习的文本语义匹配,得到相应的匹配结果,并将该匹配结果从高到低排序。例如,可以利用word2vec将输入问题及数据库中存储的问题表示为一维向量空间中的词向量,得到对应的以矩阵表示的数据结构。将输入问题与数据库中存储的各个问题表示为二维矩阵,利用卷积神经网络对得到的各个二维矩阵进行特征提取和分类,从而得到输入问题与数据库中存储的各问题的文本匹配度计算结果并对该结果进行排序。
本示例实施方式中,基于深度学习的文本语义匹配可以预先收集整理标注好的语义匹配文本数据来训练深度学习模型,并设定一个语义匹配度阈值,以便于文本语义匹配计算。其中,上述学习模型包括但不限于常用的RNN(Recurrent Neural Network,循环神经网络)、CNN(Convolutional Neural Networ,卷积神经网络)、LSTM(Long Short-TermMemory,长短时记忆网络)、Bi-LSTM(Bi-directional Long Short-Term Memory,双向长短时记忆网络)等,都属于本示例实施方式的保护范畴。
本示例实施方式中,在返回答案的同时,将排序后的推荐问题也返回至客户端。其中,选择返回问题数量的方式可以通过依据实际情况预先设置整数,并根据该整数返回的方式来实现,也可以通过预先设置比例的方式来实现,还可以是其他设置方式,这都属于本示例实施方式的保护范畴。
下面结合参考图5所示的具体场景对本示例实施方式中的自动问答方法进行进一步的说明。
参考图5所示,该具体应用场景为保险业务的自动问答***,在该应用场景中,通过如下方式预先定义一个知识映射表:将问答***涉及到的常问问题以及对应的答案通过人工加自动化工具协作的方式整理成三元组形式存入知识图谱,同时将各条知识对应的问题存入结构化数据库,通过人工的方式将问题翻译成知识图谱查询语句,整理成知识映射表。该知识映射表的结构可以参考下表所示;
需要说明的是,上述定义的知识映射表只是该应用场景下,数据库问题与查询语句对应关系的不完全例举,未例举的上述对应关系也属于本场景的范畴。
下面以输入问题为“老年防癌险是怎么卖的”为例,结合图5中的步骤及上述定义好的知识映射表对该应用场景的流程进行详细的说明:
在步骤S510中,接收用户输入的问题,并对该输入问题进行预处理。
在该应用场景中,用户输入的问题为“老年防癌险是怎么卖的?”,对该问题的预处理包括但不仅限于去除首尾标点、去除特殊符号、繁简体转换、规则替换成标准问句。
在步骤S520中,对预处理后的问题与数据库中存储的问题进行硬匹配。
在该应用场景中,硬匹配是指在知识库原问题中匹配一模一样的问题,也即,查找数据库中是否存储有“老年防癌险是怎么卖的”这个问题。具体的匹配方式可以是对用户问题在知识库中进行循环遍历直至找到一模一样的问题,也可以对用户问题和知识库问题进行哈希然后通过hashMap的方式进行查找。
在步骤S521中,判断上述硬匹配过程是否成功,若匹配成功,则跳转至步骤S540;若匹配失败则跳转至步骤S530。
在该应用场景中,该步骤具体体现为:若通过硬匹配在数据库中查找到与输入问题“老年防癌险是怎么卖的”完全一致的问题,则转至步骤S540;若匹配失败则跳转至步骤S530。
在步骤S530中,在基于知识图谱的数据库中对输入问题进行语义匹配。
在该应用场景中,语义匹配是指将输入问题与数据库中存储的问题进行文本匹配计算。具体实现可以如下:首先,将输入问题“老年防癌险是怎么卖的”与数据库中存储的各问题进行文本语义匹配,获得输入问题与数据库中各问题的匹配度结果;其次,挑选出与输入问题匹配度值最大的数据库问题;最后,判断该最大的匹配度值是否超过设定阈值。如最大匹配度值超过设定阈值,则认定文本语义匹配可以匹配到问题;否则,认定匹配不到。为了方便后续步骤的说明,假定在本示例的该步骤中,在数据库中匹配到的问题“老年防癌险的保费是怎么算的”为匹配度最大的问题。
在步骤S531中,判断上述语义匹配过程是否成功,若匹配成功,则跳转至步骤S540;若匹配失败则跳转至步骤S550。
在该应用场景中,该步骤具体可以体现为:若通过语义匹配在数据库中查找到与输入问题“老年防癌险是怎么卖的”匹配度超过设定阈值的问题,则转至步骤S540;若未查找到,则跳转至步骤S530。
在步骤S540中,根据知识映射表将匹配到的问题转化为对应的查询语句。
在该应用场景中,以输入问题“老年防癌险是怎么卖的”为例,在步骤S530中通过语义匹配得到的问题为“老年防癌险的保费是怎么算的”的情景下,该步骤具体实现可以如下:通过上述的语义匹配过程得到数据库中存储的对应问题“老年防癌险的保费是怎么算的?”后,通过知识映射表将匹配到的问题转化成SPARQL语句,完成上述查询语句的转化过程。
在步骤S550中,人工坐席对输入问题进行答复及其他处理。
在该应用场景中,该步骤实现的功能将硬匹配及语义匹配均失败的输入问题交由人工坐席进行答复及其他处理。
在步骤S560中,依据查询语句得到输入问题的答案。
在该应用场景中,依据通过知识映射表转化将上述匹配得到的问题“老年防癌险的保费是怎么算的”转化为查询语句SELECT*WHERE{entity:老年防癌险rdf:保费?},并查询到数据库中存在对应的三元组(entity:老年防癌险,rdf:保费,data:140元/月),该三元组中数据实体属性对应的属性值为“data:140元/月”,将查询结果通过逻辑规则组织成答句“您好,老年防癌险的保费是140元/月”。
在步骤S570中,在数据库中查询同一数据实体的相关问题,构成推荐问题候选集。
在该应用场景中,当用户的输入问题为“老年防癌险是怎么卖的”时,该步骤的具体实现可以如下:
***识别到用户问题中的数据实体“老年防癌险”后,在数据库中查询与该数据实体相关的三元组,假设查询到的结果为如下三元组:
(entity:老年防癌险,rdf:定价依据,data:XXX)
(entity:老年防癌险,rdf:属于,object:短期健康险)
(entity:老年防癌险,rdf:销售渠道,object:微保)
(entity:老年防癌险,rdf:治疗医院要求,data:XXX)
(entity:老年防癌险,rdf:免赔额,data:XXX)
(entity:老年防癌险,rdf:保障责任,data:XXX)
将查询到的与数据实体相关的全部三元组通过逻辑规则组织成SPARQL语句:
SELECT*WHERE{entity:老年防癌险rdf:定价依据?o}
SELECT*WHERE{entity:老年防癌险rdf:属于?o}
SELECT*WHERE{entity:老年防癌险rdf:销售渠道?o}
SELECT*WHERE{entity:老年防癌险rdf:治疗医院要求?o}
SELECT*WHERE{entity:老年防癌险rdf:免赔额?o}
SELECT*WHERE{entity:老年防癌险rdf:保障责任?o}
通过如图6所示的知识映射表将SPARQL语句转化成对应的数据库问句,并将得到的问句作为推荐问题,构成推荐问题候选集如下:
老年防癌险的定价依据是什么?
老年防癌险属于什么类型的保险?
老年防癌险在哪些渠道售卖?
老年防癌险的可以报销哪些医院的治疗费用?
老年防癌险的免赔额是多少?
老年防癌险的保障责任有哪些?
在步骤S580中,对推荐问题进行文本语义排序。
在该应用场景中,该步骤具体实现可以为:将用户的输入问题同推荐候选问句集中的各问题进行基于深度学习的文本语义匹配,获得用户原问题同推荐候选集中各问题的匹配度结果,将匹配度值按从大到小的顺序排序。
在该应用场景中,为保证文本匹配的精度,上述语义匹配采用基于深度学习的匹配方式,可以预先收集整理标注好的语义匹配文本数据来训练深度学习模型,并设定一个语义匹配度阈值,以便于文本语义匹配计算。其中,上述学习模型包括但不限于常用的RNN(Recurrent Neural Network,循环神经网络)、CNN(Convolutional Neural Networ,卷积神经网络)、LSTM(Long Short-Term Memory,长短时记忆网络)、Bi-LSTM(Bi-directionalLong Short-Term Memory,双向长短时记忆网络)等。
在步骤S590中,将得到的答案及排序后的推荐问题返回至客户端。
在该应用场景中,通过预先设置一个整数的方式来确定返回推荐问题的数量,以设置3为例,将步骤S560中查询得到的答案及排序后的推荐问题候选集中排序前3的推荐问题一起返回给用户,返回至客户端的内容如下:
您好,老年防癌险的保费是140元/月。
您可能还想了解:
老年防癌险的免赔额是多少?
老年防癌险的保障责任有哪些?
老年防癌险的定价依据是什么?
在本具体应用场景中,一方面,本示例实施方式由于是在对客户端输入问题中涉及的数据实体进行识别的基础之上,依据识别到的数据实体进行相关问题的推荐,因此得到的推荐问题准确度更高,进而可以减少交互的次数,节约计算机资源。另一方面,采用基于知识图谱的方式并设置了数据库查询语句,可以高效地进行问题的匹配及答案的查询。同时,由于采取了图数据库的存储方式,也使得对于数据实体的识别简单易行,有助于提高推荐问题的查询效率。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。在本公开的其他实施例中,也可以通过其他方式部署各个步骤对应的服务,本示例性实施例中对此不做特殊限定。
进一步的,本示例实施方式中,还提供了一种自动问答装置。参考图6所示,该自动问答装置600可以包括输入模块610、答案查询模块620、推荐问题查询模块630以及输出模块640。其中:
输入模块610可以用于接收客户端的输入问题,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句;
答案查询模块620可以用于基于所述查询语句在所述数据库中进行查询,并根据查询结果形成所述问题的答案;
推荐问题查询模块630可以用于识别所述输入问题中涉及的数据实体,并依据所述数据实体得到所述输入问题的推荐问题;
输出模块640可以用于将所述输入问题的答案及所述推荐问题返回至客户端。
上述自动问答装置各模块或单元的具体细节已经在对应的自动问答方法中进行了详细的描述,因此此处不再赘述。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3~图5所示的各个步骤等。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种自动问答方法,其特征在于,包括:
接收客户端的输入问题,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句;
基于所述查询语句在所述数据库中进行查询,并根据查询结果形成所述输入问题的答案;
识别所述输入问题中涉及的数据实体,并依据所述数据实体得到所述输入问题的推荐问题;
将所述输入问题的答案及所述推荐问题返回至客户端。
2.根据权利要求1所述的自动问答方法,其特征在于,所述将所述输入问题转换为基于知识图谱的数据库所对应的查询语句,包括:
在所述数据库中进行所述输入问题的匹配;
在匹配成功时,将匹配到的问题转换为基于知识图谱的数据库所对应的查询语句;
在匹配失败时,将所述输入问题发送至人工坐席处理。
3.根据权利要求2所述的自动问答方法,其特征在于,所述将匹配到的问题转换为基于知识图谱的数据库所对应的查询语句,包括:
建立一个知识映射表,在所述知识映射表中定义所述匹配到的问题与所述查询语句的对应关系;
依据所述对应关系将所述匹配到的问题转换为所述查询语句。
4.根据权利要求2所述的自动问答方法,其特征在于,所述在所述数据库中进行所述输入问题的匹配,包括:
在所述数据库中匹配与所述输入问题完全一致的问题;
在匹配失败时,在所述数据库中对所述输入问题进行语义匹配,并将匹配度最高的问题所对应的匹配度与预设阈值进行比较;
当所述匹配度大于或等于所述预设阈值时,所述输入问题匹配成功,反之,则匹配失败。
5.根据权利要求1所述的自动问答方法,所述数据库中数据的存储形式为三元组形式,其特征在于,所述依据所述数据实体得到所述输入问题的推荐问题,包括:
在所述数据库中查询包含所述数据实体的三元组,利用所述知识映射表将查询到的多个所述三元组转化为所述推荐问题。
6.根据权利要求5所述的自动问答方法,其特征在于,所述利用所述知识映射表将查询到的多个所述三元组转化为所述推荐问题,包括:
通过查询到的多个所述三元组得到对应的多个所述查询语句;
根据所述知识映射表将所述查询语句转化为多个对应的所述推荐问题。
7.根据权利要求1所述的自动问答方法,其特征在于,所述将所述输入问题的答案及所述推荐问题返回至客户端,包括:
依据与所述输入问题的匹配度对所述推荐问题进行排序;
将所述输入问题的答案及排序后的所述推荐问题返回至客户端。
8.一种自动问答装置,其特征在于,包括:
输入模块,用于接收客户端的输入问题,将所述输入问题转换为基于知识图谱的数据库所对应的查询语句;
答案查询模块,用于基于所述查询语句在所述数据库中进行查询,并根据查询结果形成所述输入问题的答案;
推荐问题查询模块,用于识别所述输入问题中涉及的数据实体,并依据所述数据实体得到所述输入问题的推荐问题;
输出模块,用于将所述输入问题的答案及所述推荐问题返回至客户端。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911170027.4A CN110990527A (zh) | 2019-11-26 | 2019-11-26 | 自动问答方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911170027.4A CN110990527A (zh) | 2019-11-26 | 2019-11-26 | 自动问答方法及装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110990527A true CN110990527A (zh) | 2020-04-10 |
Family
ID=70086823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911170027.4A Pending CN110990527A (zh) | 2019-11-26 | 2019-11-26 | 自动问答方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990527A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949782A (zh) * | 2020-08-07 | 2020-11-17 | 海信视像科技股份有限公司 | 一种信息推荐方法和服务设备 |
CN113157885A (zh) * | 2021-04-13 | 2021-07-23 | 华南理工大学 | 一种面向人工智能领域知识的高效智能问答*** |
CN114510558A (zh) * | 2022-01-26 | 2022-05-17 | 北京博瑞彤芸科技股份有限公司 | 一种基于中医知识图谱的问答方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519998A (zh) * | 2018-03-07 | 2018-09-11 | 北京云知声信息技术有限公司 | 基于知识图谱的问题引导方法及装置 |
CN108804521A (zh) * | 2018-04-27 | 2018-11-13 | 南京柯基数据科技有限公司 | 一种基于知识图谱的问答方法及农业百科问答*** |
CN110019844A (zh) * | 2019-02-20 | 2019-07-16 | 众安信息技术服务有限公司 | 一种保险行业知识图谱问答***构建方法及装置 |
CN110188248A (zh) * | 2019-05-28 | 2019-08-30 | 新华网股份有限公司 | 基于新闻问答交互***的数据处理方法、装置及电子设备 |
-
2019
- 2019-11-26 CN CN201911170027.4A patent/CN110990527A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519998A (zh) * | 2018-03-07 | 2018-09-11 | 北京云知声信息技术有限公司 | 基于知识图谱的问题引导方法及装置 |
CN108804521A (zh) * | 2018-04-27 | 2018-11-13 | 南京柯基数据科技有限公司 | 一种基于知识图谱的问答方法及农业百科问答*** |
CN110019844A (zh) * | 2019-02-20 | 2019-07-16 | 众安信息技术服务有限公司 | 一种保险行业知识图谱问答***构建方法及装置 |
CN110188248A (zh) * | 2019-05-28 | 2019-08-30 | 新华网股份有限公司 | 基于新闻问答交互***的数据处理方法、装置及电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949782A (zh) * | 2020-08-07 | 2020-11-17 | 海信视像科技股份有限公司 | 一种信息推荐方法和服务设备 |
CN113157885A (zh) * | 2021-04-13 | 2021-07-23 | 华南理工大学 | 一种面向人工智能领域知识的高效智能问答*** |
CN114510558A (zh) * | 2022-01-26 | 2022-05-17 | 北京博瑞彤芸科技股份有限公司 | 一种基于中医知识图谱的问答方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210232761A1 (en) | Methods and systems for improving machine learning performance | |
US20240078386A1 (en) | Methods and systems for language-agnostic machine learning in natural language processing using feature extraction | |
US20200250378A1 (en) | Methods and apparatuses for identifying a user intent of a statement | |
CN110990527A (zh) | 自动问答方法及装置、存储介质及电子设备 | |
CN108268450B (zh) | 用于生成信息的方法和装置 | |
CN112559865B (zh) | 信息处理***、计算机可读存储介质及电子设备 | |
US11977567B2 (en) | Method of retrieving query, electronic device and medium | |
US20220121668A1 (en) | Method for recommending document, electronic device and storage medium | |
CN112925898B (zh) | 基于人工智能的问答方法、装置、服务器及存储介质 | |
TW202134931A (zh) | 一種自動生成數據採集模組的方法和系統 | |
CN112966081A (zh) | 处理问答信息的方法、装置、设备和存储介质 | |
CN116303537A (zh) | 数据查询方法及装置、电子设备、存储介质 | |
CN113407677A (zh) | 评估咨询对话质量的方法、装置、设备和存储介质 | |
CN113821602B (zh) | 基于图文聊天记录的自动答疑方法、装置、设备及介质 | |
CN116701604A (zh) | 问答语料库的构建方法和装置、问答方法、设备及介质 | |
CN113139558A (zh) | 确定物品的多级分类标签的方法和装置 | |
CN110232328A (zh) | 一种征信报告解析方法、装置及计算机可读存储介质 | |
JP2023554210A (ja) | インテリジェント推奨用のソートモデルトレーニング方法及び装置、インテリジェント推奨方法及び装置、電子機器、記憶媒体、並びにコンピュータプログラム | |
CN114691850A (zh) | 生成问答对的方法、神经网络模型的训练方法和装置 | |
CN114373068A (zh) | 一种行业场景化的ocr模型实现***、方法及设备 | |
WO2021135103A1 (zh) | 一种语义分析方法、装置、计算机设备及存储介质 | |
CN111274383B (zh) | 一种应用于报价的分类对象方法和装置 | |
CN112328871A (zh) | 一种基于rpa模块的回复生成方法、装置、设备及存储介质 | |
CN116578693B (zh) | 一种文本检索方法及装置 | |
CN113761183A (zh) | 意图识别方法和意图识别装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200410 |