1.本发明涉及问答系统领域,尤其涉及一种基于知识图谱的问答库生成方法、装置、电子设备和存储介质。
背景技术:2.知识图谱是下一代问答系统等智能应用的基础设施,如果把问答系统看成一个大脑,那么知识图谱就是大脑中的知识库,它使得机器能够从实体和关系的角度去分析、思考问题。作为对话问答任务模型训练的基础,大规模高质量问答数据集的构建具有重要的意义。
3.现有问答数据集的构建方式多采用互联网数据的抓取整合或者是由人工根据知识图谱进行构建。但是传统方法存在不足之处:首先,采用互联网抓取数据的方式无法保证数据集的质量,增加了数据清洗的负担,且互联网数据有着数据隐私、数据确权和数据偏置等问题,存在着一定法律风险和通过数据清洗无法解决的数据质量问题;再者,采用基于知识图谱的人工构建方式建设成本高昂、建设周期长,因此数据集在规模上很难达到问答系统的要求。
技术实现要素:4.为了解决现有技术中存在的问题,本发明提供了如下技术方案。本发明第一方面提供了一种基于知识图谱的问答库生成方法,包括:
5.从知识图谱中获取实体关系组合;
6.对所述实体关系组合中的实体进行随机掩码,抽取掩码后的部分实体关系组合,生成微调数据;
7.利用所述微调数据对预先训练得到的预训练模型进行微调,得到问题生成模型;
8.基于掩码后的全量实体关系组合和所述问题生成模型,生成问答数据集。
9.优选地,所述从知识图谱中获取实体关系组合,进一步包括:
10.基于启发式规则来处理知识图谱中的三元组,作为所述实体关系组合;
11.所述启发式规则进一步包括:
12.匹配实体的一度关系的模板;
13.匹配实体的二度关系的模板;和/或
14.将两个实体进行联合且关系为一度的模板。
15.优选地,所述预训练模型是按照下述方式预先训练得到的:
16.获取阅读理解语料库和百科语料库;
17.利用所述阅读理解语料库中的段落和答案生成问题得到第一训练数据集;
18.对所述百科语料库中标记有超链接的实体进行掩码预测,得到第二训练数据集;
19.利用所述第一训练数据集和第二训练数据集对特定模型训练得到所述预训练模
型。
20.优选地,所述生成微调数据,进一步包括:
21.对于所抽取的掩码后的部分实体关系组合,通过人工提问的方式得到问题,然后将每个掩码后的实体关系组合和对其提问的问题作为一条问答数据,生成所述微调数据。
22.优选地,所述利用所述微调数据对所述预训练模型进行微调,得到问题生成模型,进一步包括:
23.基于所生成的微调数据,利用掩码后的实体关系组合作为所述预训练模型的编码器端的输入,利用所述微调数据中的问题作为所述预训练模型的解码器端的输出,对预训练模型进行端对端的微调,得到从掩码后的实体关系组合生成问题的问题生成模型。
24.优选地,所述基于掩码后的全量实体关系组合和所述问题生成模型,生成问答数据集,进一步包括:
25.将所述掩码后的全量实体关系组合输入所述问题生成模型的编码器端,对于每个输入的掩码后的实体关系组合,由所述问题生成模型的解码器端输出对应的问题,以每个实体关系组合中被掩码的实体作为答案,将所述问题和答案进行关联,形成所述问答数据集。
26.本发明另一方面提供了一种基于知识图谱的问答方法,包括:
27.接收用户输入的问题;
28.根据所述问题在问答语料库中进行检索,得到问答对,所述问答语料库是根据前述第一方面所述的方法基于知识图谱生成的;
29.将所述问答对中的答案返回给所述用户。
30.本发明第三方面提供了一种基于知识图谱的问答库生成装置,其特征在于,包括:
31.获取模块,从知识图谱中获取实体关系组合;
32.处理模块,对所述实体关系组合中的实体进行随机掩码,抽取掩码后的部分实体关系组合,生成微调数据;
33.微调模块,利用所述微调数据对预先训练得到的预训练模型进行微调,得到问题生成模型;
34.生成模块,基于掩码后的全量实体关系组合和所述问题生成模型,生成问答数据集。
35.本发明第四方面提供了一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令,所述处理器用于读取所述指令并执行如上述第一方面的方法。
36.本发明第五方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述多条指令可被处理器读取并执行如上述第一方面的方法。
37.本发明的有益效果是:
38.首先,本发明的问答数据库是基于模型自动生成的,相比于传统方案,省略了人工输入问答数据的过程,显著降低了数据集建设成本。
39.其次,本发明的问答数据集中所生成的问题源于已有的知识图谱,确保了数据集的准确性和高质量。
40.第三,基于本发明的方法构建的问答语料库能够仅通过简单的数据库检索匹配来实现基于知识库的问答(kbqa)任务,相较于传统kbqa方法,在提升效率的同时还能够提升
问答正确率。
附图说明
41.图1为本发明所述的基于知识图谱的问答库生成方法的流程图。
42.图2为本发明所述的从知识图谱中获取知识组的三种启发式规则的流程图。
43.图3为本发明所述的利用实体掩码构建问答数据库的流程图。
44.图4为本发明所述的对预训练模型的两项预训练任务的效果示意图。
45.图5为本发明所述的基于知识图谱的问答库生成方法的流程图。
46.图6为本发明所述的基于知识图谱的问答库生成装置的框图。
具体实施方式
47.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
48.本发明提供的方法可以在如下的终端环境中实施,该终端可以包括一个或多个如下部件:处理器、存储器和显示屏。其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。
49.处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。
50.存储器可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read
‑
only memory,rom)。存储器可用于存储指令、程序、代码、代码集或指令。
51.显示屏用于显示各个应用程序的用户界面。
52.除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。
53.实施例一
54.针对传统方法存在的不足,本发明首先在第一方面提供了一种基于知识图谱的问答库生成方法,将从知识图谱中抽取的实体关系组合进行随机掩码,利用预先训练得到的问题生成模型得到问题,与被掩码的实体或关系构成问答对。
55.参见图1,本发明的基于知识图谱的问答库生成方法具体包括:
56.步骤s1,从知识图谱中获取实体关系组合;
57.在接收到知识图谱之后,自动地处理知识图谱中的三元组从而获取知识组,即实体关系组合;
58.在进一步实施例中,本发明依据一系列启发式规则,处理知识图谱中的三元组从而获取知识组,所述启发式规则具体包括以下三种中的一种或多种:
59.1)匹配实体的一度关系的模板,
60.2)匹配实体的二度关系的模板,
61.3)联合两实体且关系为一度的模板。
62.所述启发式规则所代表的模板如图2所示。以实体“徐某”为例,借助规则1),可以
抽取与徐某相关的一度关系知识,如“徐某
‑
国籍
‑
a国”等;借助规则2),可以抽取与徐某相关的二度关系知识,如“徐某
‑
妻子
‑
陶某
‑
职业
‑
演员”等;借助规则3),可以抽取联合两实体且关系为一度的知识,如“徐某
‑
妻子
‑
陶某和徐某
‑
职业
‑
演员、导演”等。
63.步骤s2,对所述实体关系组合中的实体进行随机掩码,抽取掩码后的部分实体关系组合,生成微调数据。
64.首先对上述全量知识组中的实体进行随机掩码,然后随机选取一部分掩码后的知识组,通过人工向用户提问的方式得到问题。最后,利用每个掩码后的知识组和对其提问的问题作为一条数据,以此方式来构成微调数据。
65.例如图3所示,对于知识组“徐某
‑
国籍
‑
a国”,在随机掩码过程中,将实体“a国”进行掩码,得到掩码后的知识组“徐某
‑
国籍
‑
?x”,通过人工向用户提问的方式得到问题“徐某是哪个国家的?”,从而组成一条微调数据,包括“徐某
‑
国籍
‑
?x”和“徐某是哪个国家的?”。
66.步骤s3,利用所述微调数据对预先训练得到的预训练模型进行微调,得到问题生成模型;
67.具体地,所述预训练模型包括编码器和解码器,基于所述生成的微调数据,利用微调数据中的掩码后的知识组作为编码器端的输入,利用微调数据中的问题作为解码器端的输出,对所述预训练模型进行端对端的微调,从而得到问题生成模型。
68.例如图3所示,将掩码后的知识组“徐某
‑
国籍
‑
?x”输入问题生成模型的编码器,并将微调数据中的问题“徐某是哪个国家的?”作为问题生成模型的解码器端的输出,对预训练模型进行端对端微调,训练得到问题生成模型。
69.对于知识图谱中的二度关系知识和联合两实体的一度关系知识,也可以采用类似于上述的方式进行随机掩码,从而得到问题生成模型的其他项。
70.由于本发明的问题生成模型所生成的问题源于已有的知识图谱,因此确保了数据集具有较高的准确性和质量。
71.其中,所述预训练模型是在已有的特定模型的基础上,利用大规模语料进行实体预测训练,增强模型word knowledge(语言知识)能力和问题生成能力。其中,参见图4所示,本发明设计两项预训练任务。
72.第一任务是从段落生成问题,利用阅读理解语料库的段落和问题,训练特定模型根据输入的段落生成对应的问题,以此来提高预训练模型的问题生成能力。所述阅读理解语料库包含大量段落
‑
问题对的数据集,其中每条数据包含一段文字和一个针对该段文字内容提出的可以被回答的问题。
73.第二任务是利用百科语料进行预训练,对百科语料中标记有超链接的实体进行掩码,训练特定模型根据掩码后的段落得到被掩码的部分,以此增强预训练模型的word knowledge(语言知识)的能力。所述百科语料是由百科中大量文本段落组成的数据集,每条数据选自百科中对某个实体的介绍和描述。
74.具体地,所述预训练模型的训练方法如下:
75.获取阅读理解语料库和百科语料库;
76.利用所述阅读理解语料库中的段落和问题生成第一训练数据集;
77.对所述百科语料库中标记有超链接的实体进行掩码,生成第二训练数据集,所述第二训练数据集包括掩码后的百科语料的段落和所掩码的实体;
78.利用所述第一训练数据集和第二训练数据集对特定模型训练得到所述预训练模型。包括将第一训练数据集中的段落作为模型输入,以问题作为模型的期望输出,对模型进行段落到问题生成任务的预训练;将第二训练数据集中的掩码后的段落作为输入,以所掩码的实体作为期望输出,对模型进行掩码实体预测任务的预训练。
79.所述特定模型可选地为预训练语言模型,例如bart、t5、glm等预训练模型。
80.步骤s4,基于掩码后的全量实体关系组合和所述问题生成模型,生成问答数据集。
81.根据步骤s2中得到的掩码后的全部知识组,将其作为输入数据,输入步骤s3中得到的问题生成模型的编码器端,对于每个输入的掩码后知识组,所述问题生成模型的解码器端输出对应的问题,以该知识组中被掩码的实体作为答案,和所输出的问题组成一条问答数据。将所有上述问答数据的集合作为问答数据集。
82.例如图3所示,将掩码后的知识组“徐某
‑
妻子
‑
陶某
‑
职业
‑
?x”输入问题生成模型的编码器,则问题生成模型的解码器端输出“徐某的妻子陶某是做什么的?”,从而得到一条问答数据{“id”,“1024”,“question”,“徐某的妻子陶某是做什么的?”,“answer”,“演员”}。
83.由于问答数据集是基于模型自动生成的,不需要人工输入问答数据,显著降低了数据集建设成本。
84.实施例二
85.在此基础上,本发明的实施例还提出了一种使用上述问答库的kbqa(知识库问答)方法。即针对用户输入的新的问题,仅需要在基于知识图谱生成的问答库中进行检索,利用构建的大规模问答语料库,将基于知识的问答任务转化为语料库检索任务,即可得到问题的答案,而不需要进行实体识别、关系抽取、实体链接等步骤。
86.参见图5,本发明的基于知识图谱的问答方法是基于通过上述实施例生成的问答库来实现的,具体包括:
87.步骤s101,接收用户输入的问题;
88.步骤s102,根据所述问题在问答语料库中进行检索,得到问答对,所述问答语料库是根据前述基于知识图谱的问答库生成方法所生成的;
89.根据用户输入的问题,所述问答系统通过es搜索引擎(elastic search)进行句子相似度的计算,在基于知识图谱生成的问答语料库中进行检索匹配,首先召回相似度最高的k个问答对;k为整数,并可根据用户需求进行任意调整;
90.在可选方式中,当得到k个问答对之后,所述问答系统利用利用预设排序模型,例如强语义表示能力的排序模型(如bert)对k个问答对进行重排序;
91.步骤s103,将所述问答对中的答案返回给所述用户。
92.优选地,问答系统可将排在首位的问题的答案作为用户问题的答案返回至用户端。
93.可见,基于本发明的方法构建的问答语料库能够仅通过简单的数据库检索匹配来实现kbqa任务,在提升效率的同时能够提升问答正确率。
94.实施例三
95.如图6所示,本发明的另一方面还涉及与前述问答库生成方法流程对应一致的功能装置,即本发明实施例还提供了一种基于知识图谱的问答库生成装置,其特征在于,包括:
96.获取模块201,从知识图谱中获取实体关系组合;
97.处理模块202,对所述实体关系组合中的实体进行随机掩码,抽取掩码后的部分实体关系组合,生成微调数据;
98.微调模块203,利用所述微调数据对预先训练得到的预训练模型进行微调,得到问题生成模型;
99.生成模块204,基于掩码后的全量实体关系组合和所述问题生成模型,生成问答数据集。
100.在优选的实施例中,所述获取模块201进一步包括:
101.启发式规则模块,利用于基于启发式规则来处理知识图谱中的三元组,作为所述实体关系组合。
102.在优选的实施例中,所述启发式规则进一步包括:
103.匹配实体的一度关系的模板;
104.匹配实体的二度关系的模板;和/或
105.将两个实体进行联合且关系为一度的模板。
106.在优选的实施例中,所述预训练模型是按照下述方式预先训练得到的:
107.利用对话问答语料库的段落和问题的映射关系来生成对应的问题;
108.利用百科语料进行预训练,对所述百科语料中标记有超链接的实体进行掩码。
109.在优选的实施例中,所述处理模块202进一步包括:
110.问题获取模块,利用于对于所抽取的掩码后的部分实体关系组合,通过人工提问的方式得到问题;
111.微调数据生成模块,将每个掩码后的实体关系组合和对其提问的问题作为一条问答数据,生成所述微调数据。
112.在优选的实施例中,所述微调模块203进一步包括:
113.微调模块,利用于基于所生成的微调数据,利用掩码后的实体关系组合作为所述预训练模型的编码器端的输入,利用所述微调数据中的问题作为所述预训练模型的解码器端的输出,对预训练模型进行端对端的微调,得到从掩码后的实体关系组合生成问题的问题生成模型。
114.在优选的实施例中,所述生成模块204进一步包括:
115.输入和输出模块,利用于将所述掩码后的全量实体关系组合输入所述问题生成模型的编码器端,对于每个输入的掩码后的实体关系组合,由所述问题生成模型的解码器端输出对应的问题;
116.数据集形成模块,以每个实体关系组合中被掩码的实体作为答案,将所述问题和答案进行关联,形成所述问答数据集。
117.本发明还提供了一种存储器,存储有多条指令,所述指令用于实现如实施例一所述的方法。
118.本发明还提供了一种电子设备,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行如实施例一所述的方法。
119.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造
性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。