CN117149974A - 一种子图检索优化的知识图谱问答方法 - Google Patents
一种子图检索优化的知识图谱问答方法 Download PDFInfo
- Publication number
- CN117149974A CN117149974A CN202311114498.XA CN202311114498A CN117149974A CN 117149974 A CN117149974 A CN 117149974A CN 202311114498 A CN202311114498 A CN 202311114498A CN 117149974 A CN117149974 A CN 117149974A
- Authority
- CN
- China
- Prior art keywords
- entity
- question
- candidate
- model
- path
- 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 75
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 238000012549 training Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000012163 sequencing technique Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 59
- 238000002372 labelling Methods 0.000 claims description 30
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000005520 cutting process Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
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/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
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Animal Behavior & Ethology (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于子图检索优化的知识图谱问答方法,该方法首先基于问答数据集构建实体识别和实体链接模型训练所需的数据集;其次利用微调的预训练语言模型搭建实体识别模型;之后根据识别得到的问句实体提及从映射词典和知识图谱中召回候选实体列表,通过实体消歧实现融合多特征的实体链接模型;接着采用多策略优化集束搜索过程,提出基于关系合并和实体排序的子图检索算法;最后基于预训练语言模型和孪生网络架构搭建问答匹配模型,对问题相关子图中的候选答案路径进行排序得到最终答案,实现知识图谱智能问答功能。
Description
技术领域
本发明涉及一种知识图谱问答方法,特别是涉及基于子图检索的知识图谱问答方法。
背景技术
在基于知识图谱的问答系统中,问句可以根据其难度和复杂程度分为两类:简单问句和复杂问句。简单问句是指那些只涉及一个实体或属性的问句,例如“中国的面积是多少?”,这种问句通常可以通过查询知识库中的实体和属性信息得到答案。复杂问句则是指那些需要进行推理或组合多个实体或属性才能回答的问题,这种问句要求系统具备语义理解能力,需要对知识图谱中的实体和关系进行推理或组合才能得到答案。基于知识图谱的问答发展至今,已经取得诸多研究成果,但是在面临真实的问答场景时,现有的知识问答方法还远不能满足实际需求,主要的难点在于:语言表达的多样性,同一个问题存在多种不同的表述方式,增加了系统识别问题的难度;语言表达的歧义性,同一个词语可能有多种含义和解释,增加了系统理解问题的难度,也容易导致错误的回答;问题的复杂性,在大规模知识图谱中,随着问题难度的增加,所涉及的搜索空间将随之增大,候选答案的数量将呈指数级增长,使得正确答案的挑选难度大大增加。
目前主流的知识图谱问答方法包括基于语义解析的方法和基于信息检索的方法。基于语义解析的方法对自然语言问句进行解析,将问句转换为逻辑表达式,再将逻辑表达式转换为知识库支持的结构化查询语句,如SPARQL、Cypher、SQL、Prolog等,最后从知识库中查询得到答案。根据标注数据的丰富程度,语义解析方法可以分为有监督的语义解析和弱监督的语义解析。其中,有监督的语义解析方法利用包含问答对和结构化查询语句的训练数据来学习从问句到逻辑形式的语义解析器,该方法可以获得高质量的逻辑形式,可解释性强,但是需要人工标注大量包含逻辑形式的训练语料供模型学习语义解析器,逻辑形式的标注需要标注人员熟练掌握逻辑形式的语法规则,标注过程需要耗费大量时间和精力,且复杂问题的逻辑形式标注难度较大,因此,在逻辑形式数据匮乏的场景中,有监督的语义解析方法存在一定的局限性;弱监督的语义解析方法则仅使用问答对来根据特定的规则和过程生成候选语义查询图,通过语义匹配模型对候选查询图排序得到最佳查询图,不依赖于逻辑形式的标注数据,但由于复杂问题的搜索空间巨大,需要一定的约束条件和训练策略,模型的训练比较困难,且容易生成有噪声的候选查询图,导致候选查询图排序阶段产生误判,降低模型的准确率。
基于信息检索的方法根据问句所包含的信息从知识图谱中检索问句相关子图,然后从子图中寻找答案,这一过程通常由实体识别、实体链接、子图检索和答案选择等多个模块构成,其中,实体识别模块旨在从问句中识别出实体;实体链接模块是将问句实体与知识图谱中对应的实体进行关联的过程,为了区分问句实体和知识图谱实体,可以将问句实体称为实体提及,将知识图谱中实体提及对应的实体称为主题实体;子图检索模块是根据问句的主题实体,从知识图谱中检索与问句相关的三元组构成问句相关子图,以缩小答案的搜索空间;答案选择模块则是从问句相关子图中选择与问句最匹配的一个或多个三元组作为答案依据。已有研究工作分别针对不同的模块进行改进,以提升问答模型的性能。在实体识别与链接模块训练中,先识别实体提及后链接的方法通常需要训练两个模型,容易导致错误累积,依赖更多的标注数据,而问句直接匹配的方法容易受到问句中噪声的影响,准确率较低,总体上前者的性能优于后者。在子图检索模块训练中,大多数的研究工作在从知识库中检索子图时,采用直接检索或者基于启发式规则的方法,这些方法简单方便,但子图中包含了大量无关实体,答案选择的搜索空间较大,而基于动态扩展和集束搜索剪枝的方法在每一次迭代中选择与问句最相关的关系来扩展子图,可以在有效缩小子图规模的同时保证子图的高召回率。在答案选择模块训练中,基于关系分类的方法比较简单,适用于关系类别较少的知识库,关系类别过多会导致模型分类困难,并且无法处理关系集合中未出现过的关系,而基于语义匹配的方法可以综合利用问句和候选答案实体的多种信息,模型实现思路多样,适用范围较广,能够处理未登录的实体和关系。
综合上述研究背景,本发明基于信息检索的方法对知识图谱问答任务进行建模,在已有研究工作的基础上,对实体链接和子图检索部分进行改进,以提升知识图谱问答模型的性能。
发明内容
本发明的目的在于针对知识图谱问答中存在的实体歧义性问题和复杂问句子图规模庞大的问题,提出了一种基于子图检索优化的知识图谱问答方法,利用关系合并和实体排序的策略对集束搜索过程进行优化,缓解重复关系对子图检索的影响,从而提升知识图谱问答模型的性能。
上述的目的通过以下技术方案实现:
一种基于子图检索优化的知识图谱问答方法,该方法包括以下步骤:
(1)数据预处理
将清洗后的知识图谱数据存入数据库中并建立查询索引,基于问答数据集分别构建实体识别和实体链接模型训练所需的数据集;
(2)实体识别
使用步骤(1)中构建的实体识别数据集对预训练语言模型进行微调,首先利用BERT模型对自然问句进行字符级向量表示,然后通过BiLSTM模型进一步编码问句字符的上下文信息,增强字符的向量表示,最后利用CRF模型预测每个字符的实体标签,以此来识别问句中的实体提及;
(3)实体链接
根据步骤(1)构建的实体链接数据集,采用映射词典匹配、知识图谱实体精确匹配和知识图谱实体模糊匹配三种策略从知识图谱中召回实体提及对应的候选实体集合,而后采用预训练语言模型对文字信息进行建模,对于每一组实体提及和候选实体对,将问句的语义信息作为实体提及的上下文特征,将候选实体的实体名称、实体描述以及实体关系等特征作为候选实体的上下文特征,最后利用实体提及与候选实体上下文特征之间的相关性对候选实体进行消歧从而得到问句的主题实体;
(4)子图检索
根据步骤(3)得到的主题实体集合,提出基于关系合并和实体排序的子图检索算法,并采用集束搜索的思路动态扩展主题实体的问题相关子图,首先基于关系合并策略合并检索实体的重复关系,然后根据问句与实体关系之间的语义相似度、问句与邻居实体之间的语义相似度分别对实体关系和邻居实体进行排序,最后根据实体关系和邻居实体的排名选择固定数量的实体关系和邻居实体对子图进行扩展;
(5)问答匹配
利用步骤(4)的问句主题实体和问题相关子图信息,生成主题实体到候选答案的关系路径,基于经过微调的预训练语言模型和孪生网络架构搭建问答匹配模型,利用问句和候选答案路径之间的相关性,对问题相关子图中的所有候选答案路径进行评分,将评分最高的候选答案路径对应的实体集合作为问题的最佳答案;
进一步地,步骤(1)包括如下具体步骤:
(1-1)对知识图谱数据进行清洗,清洗工作包括实体关系三元组中的繁体中文转换为简体、截断长度过长的实体名称、去除关系中的特殊字符、英文字符大小写统一等;
(1-2)根据原问答数据集中的问句、SPARQL查询语句构建实体识别序列标注数据,通过对SPARQL进行正则表达式匹配得到其中的实体和关系,以此来反向标注问句中的实体提及,对于无法标注的问句则通过人工进行标注,最后根据问句的标注信息采用BIO标注法标注每个字符之间的依存关系,其中,B(Begin)表示实体的开始位置、I(Inside)表示实体的内部位置、O(outside)表示非实体位置;
(1-3)在得到问句的实体提及后,基于字符串匹配的方法检索问答数据集中的Mention2entity文件和知识图谱得到候选实体列表,以此构建实体链接数据集,其中,Mention2entity文件中包含实体提及、实体提及对应的知识图谱实体以及知识图谱实体的流行度,实体链接数据集由正负样本组成,这里将SPARQL查询语句中的候选实体作为正样本,将候选实体列表中的其它候选实体作为负样本。
进一步地,步骤(2)包括如下具体步骤:
(2-1)将实体识别被建模为序列标注任务,即将文本看作一个序列,通过神经网络模型对文本序列中的每一个字符进行标签类型预测,从而得到文本的标签序列,其中,输入问句文本序列X={x1,x2,…,xn},xi表示问句中的第i个字符,预测文本的标签序列Y={y1,y2,…,yn},yi表示问句中的第i个字符对应的BIO标签;
(2-2)使用BERT模型对问句进行字符级向量表示,给定问句Q={q1,q2,…,qn},n表示问句的长度,BERT模型的输入是[CLS]、问句文本序列、[SEP]的拼接,即S={[CLS],q1,q2,…,qn,[SEP]},[CLS]和[SEP]为特殊标识符,对于输入的每一个字符和特殊标识符,分别经过Token嵌入层、Segment嵌入层和Position嵌入层得到三种嵌入向量表示,将它们的和作为Transformer编码器层的输入,模型的输出是最后一层Transformer编码器编码的隐层向量T,实体识别为序列标注任务,因此T中仅保留问句字符对应的隐层向量作为下一层模型的输入,上述过程的形式化公式如下:
T=[t1,t2,…,tn]=BERT(S) (1)
(2-3)使用BiLSTM作为模型的编码器,通过前向传播和后向传播利用当前时刻之前和之后的信息,并将两种信息结合起来作为当前时刻的模型输出,从而获得更加全面的语义信息,对于问句的字符级向量表示T,BiLSTM的编码过程可形式化为如下公式:
J=[h1,h2,…,hn] (4)
其中,H表示经过BiLSTM编码层的中间表示向量,表示前向LSTM的隐藏状态,/>表示后向LSTM的隐藏状态,/>在BiLSTM编码层后使用全连接层进行降维,通过非线性变换将其映射到实体标签所在的输出空间,BiLSTM编码层最终的输出为P=[p1,p2,…,pn],pi的维度为实体标签数k;
(2-4)使用CRF模型通过学习标签之间的约束关系,得到最优的标签序列,从而提升实体识别的准确率,具体来说,假设存在转移分数矩阵A,矩阵中的元素表示从标签yi转移到标签yj的转移分数,BiLSTM编码层的输出/>表示第i个字符预测为标签yi的分数,对于预测标签序列Y={y1,y2,…,yn},其标签序列得分为:
对标签序列得分进行归一化,得到预测标签序列Y产生的概率:
其中表示真实的标签序列,YX表示所有可能的预测标签序列,对上述公式两边取对数得到预测标签的似然函数:
在训练阶段,模型的目标是最大化预测正确的标签序列的对数似然函数,即最小化损失函数,通过反向传播算法,求解每个权重参数的梯度,并使用梯度下降算法进行参数更新。模型使用交叉熵损失函数(Cross Entropy Loss)来计算损失,损失函数定义如下:
其中,xi表示问句中的第i个字符,yi表示问句中的第i个字符对应的BIO标签,P(yi|xi)表示模型将第i个字符预测为标签yi的概率;
在测试阶段,采用如下Viterbi算法将预测得分最高的标签序列作为最优标签序列。
进一步地,其中步骤(3)包括如下具体步骤:
(3-1)实体链接模块分为两个任务,候选实体生成和实体消歧;
其中,候选实体生成采用基于映射词典和字符串匹配两种方法,首先基于Mention2entity文件构建实体提及到知识图谱实体的映射词典,针对实体别名、缩写的问题,从知识图谱中检索实体的别名、中文名、英文名和缩写等属性来扩充映射词典;然后根据问句中的实体提及生成其候选实体列表,先检索预先构建的映射词典,得到基于映射词典生成的候选实体集合m1表示通过映射词典得到的候选实体数量;对于无法映射的实体提及,采用完全匹配和模糊匹配两种策略分别检索知识图谱得到基于字符串匹配的候选实体集合/>m2表示通过字符串匹配得到的候选实体数量;最后将基于映射词典和字符串匹配的候选实体列表合并得到最终的候选实体集合
(3-2)基于BERT-Softmax来搭建融合多种特征的实体消歧模型,将实体消歧建模为二分类任务,利用问句和候选实体上下文之间的相关性对候选实体进行分类;具体来说,给定自然语言问句Q=[q1,q2,…,qn],n表示问句的长度;候选实体集合C=[c1,c2,…,cm],m表示候选实体数量;候选实体ci的上下文信息集合其中Dci为实体描述,Rci=[r1,r2,…,rp]为实体关系集合,p表示实体关系数量,最大值为k,/>和RCi根据候选实体ci从知识图谱中检索得到,在检索实体关系的过程中,随机选择k种不同的关系作为实体关系集合。实体消歧模型的输入为[CLS]、问句Q、[SEP]、候选实体ci的上下文信息集合I、[SEP]的拼接,将问句Q和候选实体上下文信息集合I视为两个独立的句子,通过BERT模型对进行文本编码,然后取[CLS]标识符的隐层向量作为问句和候选实体上下文之间的相关性特征,将其输入到Softmax层中进行分类,该过程形式化为公式10-12:
H[CLS]=BERT(Input) (11)
P=Softmax(W*H[ClS]+b) (12)
模型的输出为其中,/>表示预测为最佳候选实体的概率,/>表示预测为非最佳候选实体的概率,损失函数为交叉熵损失函数(Cross Entropy Loss),如公式13所示:
其中,N为样本数量,yi表示第i个样本的真实标签,表示第i个样本的预测标签。
进一步地,其中步骤(4)包括如下具体步骤:
(4-1)在扩展子图过程中,首先将主题实体作为初始检索实体,从知识图谱中检索其一跳关系,然后计算问句和每条关系之间的语义相似度,将语义相似度作为候选项得分,选择得分最高的前k条关系对应的三元组添加到问题相关子图,同时将前k条关系对应的尾实体作为下一跳的检索实体,迭代上述过程,直至满足结束退出条件;其中,在计算问句和候选关系之间语义相似度时,需要先通过BERT模型分别对问句和关系进行文本编码,而后对输出的隐层向量表示取平均作为问句和关系的向量表示,最后计算问句向量表示和关系向量表示的余弦相似度,该过程的公式形式化为14-18:
HQ=BERT([[CLS],q1,q2,…,qn,[SEP]]) (14)
Qemb=MeanPooling(HQ) (15)
Hr=BERT([[CLS],e,r,[SEP]]) (16)
remb=MeanPooling(Hr) (17)
(4-2)先采用关系合并策略,将检索实体的相同关系进行合并,将关系合并后的实体集合全部作为下一跳的检索实体,而后采用实体排序策略对关系合并后的实体集进行排序,选择前m个实体对应的三元组添加到问题相关子图,实体排序策略类似于实体消歧的过程,旨在选择与问句语义更相关的实体加入问题相关子图,利用实体及其一跳关系作为实体的上下文信息,通过计算问句与实体上下文的语义相似度来对实体集中的实体进行排序,问句和实体上下文的语义相似度计算过程如公式19-23所示。
HQ=BERT([[CLS],q1,q2,...,qn,[SEP]]) (19)
Qemb=MeanPooling(HQ) (20)
Hcontext=BERT([[CLS],e,r1,r2,...,rm[SEP]]) (21)
contextemb=MeanPooling(Hcontext) (22)
进一步地,其中步骤(5)包括如下具体步骤:
(5-1)将问题相关子图GQ中,以主题实体为起点,经过一跳或多跳到达其它非主题实体的实体关系链作为候选答案路径,考虑到知识图谱中关系的有向性,将从非主题实体出发经过一跳或多跳到达主题实体的路径也视为候选答案路径;
(5-2)根据跳数和实体数对候选答案路径进行分类,首先根据候选答案路径中起点实体到终点实体之间的跳数,可以分为单跳路径和多跳路径,其次根据候选答案路径中主题实体的数量,又可将其分为单实体路径和多实体路径;
(5-3)针对不同类型的问句采取不同的候选答案路径生成策略,给定问句Q、主题实体集合T和问题相关子图GO,对于仅包含一个主题实体的问句,根据问题相关子图生成以该主题实体为起点或者终点的单实体单跳路径Pathsingle_hop和单实体多跳路径Pathmulti_hop,合并两种路径得到候选答案路径集合Path,如公式24所示:
对于包含多个主题实体的问句,除了生成每个实体的单实体单跳路径Pathsingle_hop和单实体多跳路径Pathmulti_hop外,同时生成多实体单跳路径Pathmulti_entity,合并上述路径得到候选答案路径集合Path,如公式25所示。
(5-4)构建训练数据用于微调问答匹配模型,对于每条问句,通过对数据集中的SPARQL查询语句进行处理得到正样本路径,对主题实体的关系进行随机采样生成的单实体单跳路径、单实体多跳路径和多实体单跳路径作为负样本路径,这种采样方式能够增加训练数据中关系的多样性;由此生成的候选答案路径由一个或多个三元组构成,而问句是表达自然流畅的自然语言,因此为了避免问句和候选答案路径之间的不同表述方式对模型训练产生干扰,将候选答案路径转换为自然语言形式;
(5-5)基于预训练语言模型和孪生网络架构搭建问答匹配模型,模型的输入为问句Q=[q1,q2,...,qn]和候选答案路径P=[p1,p2,...,pm],其中P∈Path,首先使用基于BERT模型构建的孪生网络分别对问句Q和候选答案路径P进行编码,然后将BERT层输出的隐层向量输入MeanPooling层,计算每个Token隐层向量的平均值,再通过全连接层将MeanPooling层的输出进行降维,分别得到问句和候选答案路径的向量表示HQ和HP,最后计算问句向量表示和候选路径向量表示的余弦相似度作为模型的输出,上述过程可形式化为公式26-30,其中,WQ、bQ、WP、bP为待学习的参数;
HQ=BERT([[CLS],q1,q2,...,qn,[SEP]]) (26)
HP=BERT([[CLS],p1,p2,...,pm,[SEP]]) (27)
Qemb=(WQ*MeanPooling(HQ)+bQ) (28)
Pemb=(WP*MeanPooling(HP)+bP) (29)
在训练阶段采用均方误差损失(Mean Squared Error Loss)作为模型的损失函数,如公式31所示,模型通过缩小预测值和真实值之间的差距来最小化损失函数,在测试阶段将模型输出的余弦相似度最高的候选答案路径作为最佳路径,通过在问题相关子图中检索最佳路径得到问题的答案集合;
其中,N为样本数量,yi表示第i个样本的真实值,表示第i个样本的预测值。
本发明还提供一种上述基于子图检索优化的知识图谱问答方法所运行的领域知识问答系统,该系统包括用户登录、领域知识问答、领域实体和关系检索、问答历史记录等功能模块,系统总体架构包括离线部分和在线部分,其中,离线部分完成知识图谱的预处理和存储、知识问答模型的训练等任务,在线部分通过知识图谱检索和问答模型调用与用户进行实时交互,保证系统能够及时快速地响应用户的请求;
具体来说,离线部分负责为在线部分提供数据和模型支撑,包括数据获取模块和模型训练模块,其中,数据获取模块对已有的领域知识图谱进行清洗并将其存入Neo4j图数据库,采用基于规则模板的方法构建领域的问答数据集;模型训练模块则将提出的基于知识图谱的问答模型迁移到领域,利用领域问答数据集训练知识问答模型中的各个子模块,保存最佳模型以便在线模块实时调用;
在线部分负责与用户进行交互,响应用户发出的请求并将结果渲染到用户界面,包括web交互模块、问答服务模块、问答记录管理模块、知识检索模块和权限管理模块,其中,web交互模块提供用户与系统交互的界面,负责转发用户在前端页面发出的请求,并将其它模块响应的数据返回给用户;问答服务模块接收用户从前端发出的问答请求,调用知识问答模型对问句进行解析并将答案返回给用户;问答记录管理模块对用户提问记录进行管理,提供问答历史记录更新和查询接口;知识检索模块则根据用户的检索需求,从Neo4j图数据库中检索并返回相关知识;权限管理模块负责对用户身份和访问权限进行认证,保证系统按照管理员设置的安全规则和安全策略正常运行。
有益效果:与现有技术相比,本发明采用如上技术方案,具有如下优点:
(1)针对知识图谱问答中存在的实体歧义性问题,本发明设计融合多种实体特征的实体消歧模型,充分利用候选实体的实体名称、实体描述和实体关系等特征来丰富候选实体的上下文信息,实现候选实体消歧;
(2)针对复杂问句子图规模庞大的问题,本发明提出一种基于关系合并和实体排序的子图检索算法,在集束搜索算法的基础上,采用关系合并策略和实体排序策略对添加到子图中的关系和实体进行筛选,从而有效缩小子图规模。
附图说明
图1是本发明的总体框架图;
图2是实体识别模型示意图;
图3是实体消歧模型示意图;
图4是问答匹配模型图;
图5是本发明的系统架构图。
具体实施方式
以下对本发明的技术方案进行详细说明。
以下只是本发明一种实施例,本发明还有其他多种实施方式,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本发明的一种基于子图检索优化的知识图谱问答方法,该方法包括以下步骤:
1、数据预处理
将清洗后的知识图谱数据存入数据库中并建立查询索引,基于问答数据集分别构建实体识别和实体链接模型训练所需的数据集:
(1-1)对知识图谱数据进行清洗,清洗工作包括实体关系三元组中的繁体中文转换为简体、截断长度过长的实体名称、去除关系中的特殊字符、英文字符大小写统一等;
(1-2)根据原问答数据集中的问句、SPARQL查询语句构建实体识别序列标注数据,通过对SPARQL进行正则表达式匹配得到其中的实体和关系,以此来反向标注问句中的实体提及,对于无法标注的问句则通过人工进行标注,最后根据问句的标注信息采用BIO标注法标注每个字符之间的依存关系,其中,B(Begin)表示实体的开始位置、I(Inside)表示实体的内部位置、O(outside)表示非实体位置;
(1-3)在得到问句的实体提及后,基于字符串匹配的方法检索问答数据集中的Mention2entity文件和知识图谱得到候选实体列表,以此构建实体链接数据集,其中,Mention2entity文件中包含实体提及、实体提及对应的知识图谱实体以及知识图谱实体的流行度,实体链接数据集由正负样本组成,这里将SPARQL查询语句中的候选实体作为正样本,将候选实体列表中的其它候选实体作为负样本。
2、实体识别
使用步骤(1)中构建的实体识别数据集对预训练语言模型进行微调,首先利用BERT模型对自然问句进行字符级向量表示,然后通过BiLSTM模型进一步编码问句字符的上下文信息,增强字符的向量表示,最后利用CRF模型预测每个字符的实体标签,以此来识别问句中的实体提及;具体包括如下步骤:
(2-1)将实体识别被建模为序列标注任务,即将文本看作一个序列,通过神经网络模型对文本序列中的每一个字符进行标签类型预测,从而得到文本的标签序列;对于问句中的每一个字符,通过BIO标注法标注每个字符之间的依存关系,模型的任务转化为对问句中的每个字符进行多分类,即输入问句文本序列X={x1,x2,...,xn},xi表示问句中的第i个字符,预测文本的标签序列Y={y1,y2,...,yn},yi表示问句中的第i个字符对应的BIO标签;
(2-2)使用BERT模型对问句进行字符级向量表示;BERT模型是一种动态向量表征模型,双向训练使得模型能够更深入地学习上下文语境信息,从而根据上下文语义动态生成字符级或词级向量表示,可以有效解决一词多义问题;这里给定问句Q={q1,q2,...,qn},n表示问句的长度,BERT模型的输入是[CLS]、问句文本序列、[SEP]的拼接,即S={[CLS],q1,q2,...,qn,[SEP]},[CLS]和[SEP]为特殊标识符,对于输入的每一个字符和特殊标识符,分别经过Token嵌入层、Segment嵌入层和Position嵌入层得到三种嵌入向量表示,将它们的和作为Transformer编码器层的输入,模型的输出是最后一层Transformer编码器编码的隐层向量T,实体识别为序列标注任务,因此T中仅保留问句字符对应的隐层向量作为下一层模型的输入,上述过程的形式化公式如下:
T=[t1,t2,…,tn]=BERT(S) (1)
(2-3)使用BiLSTM作为模型的编码器,通过前向传播和后向传播利用当前时刻之前和之后的信息,并将两种信息结合起来作为当前时刻的模型输出,从而获得更加全面的语义信息,对于问句的字符级向量表示T,BiLSTM的编码过程可形式化为如下公式:
H=[h1,h2,…,hn] (4)
其中,H表示经过BiLSTM编码层的中间表示向量,表示前向LSTM的隐藏状态,/>表示后向LSTM的隐藏状态,/>在BiLSTM编码层后使用全连接层进行降维,通过非线性变换将其映射到实体标签所在的输出空间,BiLSTM编码层最终的输出为P=[p1,p2,…,pn],pi的维度为实体标签数k;
(2-4)使用CRF模型通过学习标签之间的约束关系,得到最优的标签序列,从而提升实体识别的准确率,具体来说,假设存在转移分数矩阵A,矩阵中的元素表示从标签yi转移到标签yj的转移分数,BiLSTM编码层的输出/>表示第i个字符预测为标签yi的分数,对于预测标签序列Y={y1,y2,…,yh},其标签序列得分为:
对标签序列得分进行归一化,得到预测标签序列Y产生的概率:
其中,表示真实的标签序列,YX表示所有可能的预测标签序列,对上述公式两边取对数得到预测标签的似然函数:
在训练阶段,模型的目标是最大化预测正确的标签序列的对数似然函数,即最小化损失函数,通过反向传播算法,求解每个权重参数的梯度,并使用梯度下降算法进行参数更新。模型使用交叉熵损失函数(Cross Entropy Loss)来计算损失,损失函数定义如下:
其中,xi表示问句中的第i个字符,yi表示问句中的第i个字符对应的BIO标签,P(yi|xi)表示模型将第i个字符预测为标签yi的概率;
在测试阶段,采用如下Viterbi算法将预测得分最高的标签序列作为最优标签序列:
Viterbi算法是一种动态规划算法,通过计算每个位置的局部最优解来找到全局最优解,即从最后一个位置开始,选择具有最大概率值的标签作为最优标签,并向前回溯到第一个位置,重复该过程直到找到整个序列的最优标签路径。
3、实体链接
根据步骤(1)构建的实体链接数据集,采用映射词典匹配、知识图谱实体精确匹配和知识图谱实体模糊匹配三种策略从知识图谱中召回实体提及对应的候选实体集合,而后采用预训练语言模型对文字信息进行建模,对于每一组实体提及和候选实体对,将问句的语义信息作为实体提及的上下文特征,将候选实体的实体名称、实体描述以及实体关系等特征作为候选实体的上下文特征,最后利用实体提及与候选实体上下文特征之间的相关性对候选实体进行消歧从而得到问句的主题实体:
(3-1)采用基于映射词典和字符串匹配两种方法完成候选实体生成任务;首先基于Mention2entity文件构建实体提及到知识图谱实体的映射词典,针对实体别名、缩写等问题,从知识图谱中检索实体的别名、中文名、英文名和缩写等属性来扩充映射词典;然后根据问句中的实体提及生成其候选实体列表,先检索预先构建的映射词典,得到基于映射词典生成的候选实体集合m1表示通过映射词典得到的候选实体数量;对于无法映射的实体提及,采用完全匹配和模糊匹配两种策略分别检索知识图谱得到基于字符串匹配的候选实体集合/>m2表示通过字符串匹配得到的候选实体数量;最后将基于映射词典和字符串匹配的候选实体列表合并得到最终的候选实体集合/>
(3-2)基于BERT-Softmax来搭建融合多种特征的实体消歧模型;实体消歧的本质是计算实体提及和候选实体之间的相关性,选择相关性最高的候选实体作为最佳候选实体;考虑到知识图谱中的三元组通常表示<实体,关系,实体>或者<实体,属性,属性值>,因此可以根据实体的关系和属性来区分不同实体,将问句的语义信息和候选实体的上下文信息分别作为实体提及和候选实体的消歧特征,从而根据问句语义和候选实体上下文的相关性强弱来选择最佳候选实体;具体来说,给定自然语言问句Q=[q1,q2,…,qn],n表示问句的长度;候选实体集合C=[c1,c2,…,cm],m表示候选实体数量;候选实体ci的上下文信息集合其中/>为实体描述,/>为实体关系集合,p表示实体关系数量,最大值为k,/>和/>根据候选实体ci从知识图谱中检索得到,在检索实体关系的过程中,随机选择k种不同的关系作为实体关系集合;实体消歧模型的输入为[CLS]、问句Q、[SEP]、候选实体ci的上下文信息集合I、[SEP]的拼接,将问句Q和候选实体上下文信息集合I视为两个独立的句子,通过BERT模型对进行文本编码,然后取[CLS]标识符的隐层向量作为问句和候选实体上下文之间的相关性特征,将其输入到Softmax层中进行分类,该过程形式化为公式10-12:
H[CLS]=BERT(Input) (11)
P=Softmax(W*H[CLS]+b) (12)
模型的输出为其中,/>表示预测为最佳候选实体的概率,/>表示预测为非最佳候选实体的概率,损失函数为交叉熵损失函数(Cross Entropy Loss),如公式13所示:
其中,N为样本数量,yi表示第i个样本的真实标签,表示第i个样本的预测标签。
4、子图检索
根据步骤(3)得到的主题实体集合,提出基于关系合并和实体排序的子图检索算法,并采用集束搜索的思路动态扩展主题实体的问题相关子图;首先基于关系合并策略合并检索实体的重复关系,然后根据问句与实体关系之间的语义相似度、问句与邻居实体之间的语义相似度分别对实体关系和邻居实体进行排序,最后根据实体关系和邻居实体的排名选择固定数量的实体关系和邻居实体对子图进行扩展;具体包括如下步骤:
(4-1)在扩展子图过程中,首先将主题实体作为初始检索实体,从知识图谱中检索其一跳关系,然后计算问句和每条关系之间的语义相似度,将语义相似度作为候选项得分,选择得分最高的前k条关系对应的三元组添加到问题相关子图,同时将前k条关系对应的尾实体作为下一跳的检索实体,迭代上述过程,直至满足结束退出条件;其中,在计算问句和候选关系之间语义相似度时,需要先通过BERT模型分别对问句和关系进行文本编码,而后对输出的隐层向量表示取平均作为问句和关系的向量表示,最后计算问句向量表示和关系向量表示的余弦相似度,该过程的公式形式化为14-18:
HQ=BERT([[CLS],q1,q2,…,qn,[SEP]]) (14)
Qemb=MeanPooling(HQ) (15)
Hr=BERT([[CLS],e,r,[SEP]]) (16)
remb=MeanPooling(Hr) (17)
(4-2)考虑到在大规模知识图谱中,同一实体可能与多个不同实体存在相同的关系,首先采用关系合并策略,合并检索实体的相同关系,将关系合并后的实体集合全部作为下一跳的检索实体,这样可以在减少问句和候选关系语义相似度计算的同时,增加候选关系的多样性;然而这也导致了子图规模的增大,为了缓解引入的噪声实体和关系,采用实体排序策略对关系合并后的实体集进行排序,选择前m个实体对应的三元组添加到问题相关子图;实体排序策略类似于实体消歧的过程,旨在选择与问句语义更相关的实体加入问题相关子图,利用实体及其一跳关系作为实体的上下文信息,通过计算问句与实体上下文的语义相似度来对实体集中的实体排序,问句和实体上下文的语义相似度计算过程如公式19-23所示:
HQ=BERT([[CLS],q1,q2,...,qn,[SEP]]) (19)
Qemb=MeanPooling(HQ) (20)
Hcontext=BERT([[CLS],e,r1,r2,...,rm[SEP]]) (21)
contextemb=MeanPooling(Hcontext) (22)
基于关系合并和实体排序的子图检索算法流程如下:
/>
/>
5、问答匹配
利用步骤(4)的问句主题实体和问题相关子图信息,生成主题实体到候选答案的关系路径,基于经过微调的预训练语言模型和孪生网络架构搭建问答匹配模型,利用问句和候选答案路径之间的相关性,对问题相关子图中的所有候选答案路径进行评分,将评分最高的候选答案路径对应的实体集合作为问题的最佳答案;具体包括如下步骤:
(5-1)将问题相关子图GQ中,以主题实体为起点,经过一跳或多跳到达其它非主题实体的实体关系链作为候选答案路径,考虑到知识图谱中关系的有向性,将从非主题实体出发经过一跳或多跳到达主题实体的路径也视为候选答案路径;
(5-2)根据跳数和实体数对候选答案路径进行分类,首先根据候选答案路径中起点实体到终点实体之间的跳数,可以分为单跳路径和多跳路径,其次根据候选答案路径中主题实体的数量,又可将其分为单实体路径和多实体路径;
(5-3)针对不同类型的问句采取不同的候选答案路径生成策略,给定问句Q、主题实体集合T和问题相关子图GQ,对于仅包含一个主题实体的问句,根据问题相关子图生成以该主题实体为起点或者终点的单实体单跳路径Pathsingle_hop和单实体多跳路径Pathmulti_hop,合并两种路径得到候选答案路径集合Path,如公式24所示:
对于包含多个主题实体的问句,除了生成每个实体的单实体单跳路径Pathsingle_hop和单实体多跳路径Pathmulti_hop外,同时生成多实体单跳路径Pathmulti_entity,合并上述路径得到候选答案路径集合Path,如公式25所示。
(5-4)构建训练数据用于微调问答匹配模型;对于每条问句,通过对数据集中的SPARQL查询语句进行处理得到正样本路径,对主题实体的关系进行随机采样生成的单实体单跳路径、单实体多跳路径和多实体单跳路径作为负样本路径,这种采样方式能够增加训练数据中关系的多样性;由此生成的候选答案路径由一个或多个三元组构成,而问句是表达自然流畅的自然语言,因此为了避免问句和候选答案路径之间的不同表述方式对模型训练产生干扰,将候选答案路径转换为自然语言形式;
(5-5)基于预训练语言模型和孪生网络架构搭建问答匹配模型;模型的输入为问句Q=[q1,q2,...,qn]和候选答案路径P=[p1,p2,...,pm],其中P∈Path,首先使用基于BERT模型构建的孪生网络分别对问句Q和候选答案路径P进行编码,然后将BERT层输出的隐层向量输入MeanPooling层,计算每个Token隐层向量的平均值,再通过全连接层将MeanPooling层的输出进行降维,分别得到问句和候选答案路径的向量表示HQ和HP,最后计算问句向量表示和候选路径向量表示的余弦相似度作为模型的输出,上述过程可形式化为公式26-30,其中,WQ、bQ、WP、bP为待学习的参数;
HQ=BERT([[CLS],q1,q2,...,qn,[SEP]]) (26)
HP=BERT([[CLS],p1,p2,...,pm,[SEP]]) (27)
Qemb=(WQ*MeanPooling(HQ)+bQ) (28)
Pemb=(WP*MeanPooling(HP)+bP) (29)
在训练阶段采用均方误差损失(Mean Squared Error Loss)作为模型的损失函数,如公式31所示,模型通过缩小预测值和真实值之间的差距来最小化损失函数,在测试阶段将模型输出的余弦相似度最高的候选答案路径作为最佳路径,通过在问题相关子图中检索最佳路径得到问题的答案集合,其中,N为样本数量,yi表示第i个样本的真实值,表示第i个样本的预测值;
在测试阶段,将模型输出的余弦相似度最高的候选答案路径作为最佳路径,通过在问题相关子图中检索最佳路径得到问题的答案集合。
Claims (6)
1.一种基于子图检索优化的知识图谱问答方法,其特征在于,该方法包括以下步骤:
(1)数据预处理
将清洗后的知识图谱数据存入数据库中并建立查询索引,基于问答数据集分别构建实体识别和实体链接模型训练所需的数据集;
(2)实体识别
使用步骤(1)中构建的实体识别数据集对预训练语言模型进行微调,首先利用BERT模型对自然问句进行字符级向量表示,然后通过BiLSTM模型进一步编码问句字符的上下文信息,增强字符的向量表示,最后利用CRF模型预测每个字符的实体标签,以此来识别问句中的实体;
(3)实体链接
使用步骤(2)已识别出问句中的实体,采用映射词典匹配、知识图谱实体精确匹配和知识图谱实体模糊匹配三种策略从知识图谱中召回实体提及对应的候选实体集合,而后采用预训练语言模型对文字信息进行建模,对于每一组实体提及和候选实体对,将问句的语义信息作为实体提及的上下文特征,将候选实体的实体名称、实体描述以及实体关系等特征作为候选实体的上下文特征,最后利用实体提及与候选实体上下文特征之间的相关性对候选实体进行消歧从而得到问句的主题实体;
(4)子图检索
根据步骤(3)得到的主题实体,提出基于关系合并和实体排序的子图检索算法,并采用集束搜索的思路动态扩展主题实体的问题相关子图,首先基于关系合并策略合并检索实体的重复关系,然后根据问句与实体关系之间的语义相似度、问句与邻居实体之间的语义相似度分别对实体关系和邻居实体进行排序,最后根据实体关系和邻居实体的排名选择多个子图;
(5)问答匹配
利用步骤(4)子图检索出的多个子图,生成主题实体到候选答案的关系路径,基于经过微调的预训练语言模型和孪生网络架构搭建问答匹配模型,利用问句和候选答案路径之间的相关性,对多个子图的所有候选答案路径进行评分,将评分最高的候选答案路径对应的实体集合作为问题的最佳答案。
2.根据权利要求1所述的基于子图检索优化的知识图谱问答方法,其特征在于,步骤(1)包括如下具体步骤:
(1-1)对知识图谱数据进行清洗,清洗工作包括实体关系三元组中的繁体中文转换为简体、截断长度过长的实体名称、去除关系中的特殊字符、英文字符大小写统一;
(1-2)根据原问答数据集中的问句、SPARQL查询语句构建实体识别序列标注数据,通过对SPARQL进行正则表达式匹配得到其中的实体和关系,以此来反向标注问句中的实体提及,对于无法标注的问句则通过人工进行标注,最后根据问句的标注信息采用BIO标注法标注每个字符之间的依存关系,其中,B(Begin)表示实体的开始位置、I(Inside)表示实体的内部位置、O(outside)表示非实体位置;
(1-3)在得到问句的实体提及后,基于字符串匹配的方法检索问答数据集中的Mention2entity文件和知识图谱得到候选实体列表,以此构建实体链接数据集,其中,Mention2entity文件中包含实体提及、实体提及对应的知识图谱实体以及知识图谱实体的流行度,实体链接数据集由正负样本组成,这里将SPARQL查询语句中的候选实体作为正样本,将候选实体列表中的其它候选实体作为负样本。
3.根据权利要求1所述的基于子图检索优化的知识图谱问答方法,其特征在于,步骤(2)包括如下具体步骤:
(2-1)将实体识别被建模为序列标注任务,即将文本看作一个序列,通过神经网络模型对文本序列中的每一个字符进行标签类型预测,从而得到文本的标签序列,其中,输入问句文本序列X={x1,x2,…,xn},xi表示问句中的第i个字符,预测文本的标签序列Y={y1,y2,…,yn},yi表示问句中的第i个字符对应的BIO标签;
(2-2)使用BERT模型对问句进行字符级向量表示,给定问句Q={q1,q2,…,qn},n表示问句的长度,BERT模型的输入是[CLS]、问句文本序列、[SEP]的拼接,即S={[CLS],q1,q2,…,qn,[SEP]},[CLS]和[SEP]为特殊标识符,对于输入的每一个字符和特殊标识符,分别经过Token嵌入层、Segment嵌入层和Position嵌入层得到三种嵌入向量表示,将它们的和作为Transformer编码器层的输入,模型的输出是最后一层Transformer编码器编码的隐层向量T,实体识别为序列标注任务,因此T中仅保留问句字符对应的隐层向量作为下一层模型的输入,上述过程的形式化公式如下:
T=[t1,t2,…,tn]=BERT(S) (1)
(2-3)使用BiLSTM作为模型的编码器,通过前向传播和后向传播利用当前时刻之前和之后的信息,并将两种信息结合起来作为当前时刻的模型输出,从而获得更加全面的语义信息,对于问句的字符级向量表示T,BiLSTM的编码过程可形式化为如下公式:
H=[h1,h2,…,hn] (4)
其中,H表示经过BiLSTM编码层的中间表示向量,表示前向LSTM的隐藏状态,/>表示后向LSTM的隐藏状态,/>在BiLSTM编码层后使用全连接层进行降维,通过非线性变换将其映射到实体标签所在的输出空间,BiLSTM编码层最终的输出为P=[p1,p2,…,pn],pi的维度为实体标签数k;
(2-4)使用CRF模型通过学习标签之间的约束关系,得到最优的标签序列,从而提升实体识别的准确率,具体来说,假设存在转移分数矩阵A,矩阵中的元素表示从标签yi转移到标签yj的转移分数,BiLSTM编码层的输出/>表示第i个字符预测为标签yi的分数,对于预测标签序列Y={y1,y2,…,yn},其标签序列得分为:
对标签序列得分进行归一化,得到预测标签序列Y产生的概率:
其中表示真实的标签序列,YX表示所有可能的预测标签序列,对上述公式两边取对数得到预测标签的似然函数:
在训练阶段,模型的目标是最大化预测正确的标签序列的对数似然函数,即最小化损失函数,通过反向传播算法,求解每个权重参数的梯度,并使用梯度下降算法进行参数更新。模型使用交叉熵损失函数(Cross Entropy Loss)来计算损失,损失函数定义如下:
其中,xi表示问句中的第i个字符,yi表示问句中的第i个字符对应的BIO标签,P(yi|xi)表示模型将第i个字符预测为标签yi的概率;
在测试阶段,采用如下Viterbi算法将预测得分最高的标签序列作为最优标签序列。
4.根据权利要求1所述的基于子图检索优化的知识图谱问答方法,其特征在于,步骤(3)包括如下具体步骤:
(3-1)实体链接模块分为两个任务,候选实体生成和实体消歧;
其中,候选实体生成采用基于映射词典和字符串匹配两种方法,首先基于Mention2entity文件构建实体提及到知识图谱实体的映射词典,针对实体别名、缩写的问题,从知识图谱中检索实体的别名、中文名、英文名和缩写等属性来扩充映射词典;然后根据问句中的实体提及生成其候选实体列表,先检索预先构建的映射词典,得到基于映射词典生成的候选实体集合m1表示通过映射词典得到的候选实体数量;对于无法映射的实体提及,采用完全匹配和模糊匹配两种策略分别检索知识图谱得到基于字符串匹配的候选实体集合/>m2表示通过字符串匹配得到的候选实体数量;最后将基于映射词典和字符串匹配的候选实体列表合并得到最终的候选实体集合
(3-2)基于BERT-Softmax来搭建融合多种特征的实体消歧模型,将实体消歧建模为二分类任务,利用问句和候选实体上下文之间的相关性对候选实体进行分类;具体来说,给定自然语言问句Q=[q1,q2,…,qn],n表示问句的长度;候选实体集合C=[c1,c2,…,cm],m表示候选实体数量;候选实体ci的上下文信息集合其中/>为实体描述,为实体关系集合,p表示实体关系数量,最大值为k,/>和/>根据候选实体ci从知识图谱中检索得到,在检索实体关系的过程中,随机选择k种不同的关系作为实体关系集合。实体消歧模型的输入为[CLS]、问句Q、[SEP]、候选实体ci的上下文信息集合I、[SEP]的拼接,将问句Q和候选实体上下文信息集合I视为两个独立的句子,通过BERT模型对进行文本编码,然后取[CLS]标识符的隐层向量作为问句和候选实体上下文之间的相关性特征,将其输入到Softmax层中进行分类,该过程形式化为公式10-12:
H[CLS]=BERT(Input) (11)
P=Softmax(W*H[CLS]+b) (12)
模型的输出为其中,/>表示预测为最佳候选实体的概率,/>表示预测为非最佳候选实体的概率,损失函数为交叉熵损失函数(Cross Entropy Loss),如公式13所示:
其中,N为样本数量,yi表示第i个样本的真实标签,表示第i个样本的预测标签。
5.根据权利要求1所述的基于子图检索优化的知识图谱问答方法,其特征在于,步骤(4)包括如下具体步骤:
(4-1)在扩展子图过程中,首先将主题实体作为初始检索实体,从知识图谱中检索其一跳关系,然后计算问句和每条关系之间的语义相似度,将语义相似度作为候选项得分,选择得分最高的前k条关系对应的三元组添加到问题相关子图,同时将前k条关系对应的尾实体作为下一跳的检索实体,迭代上述过程,直至满足结束退出条件;其中,在计算问句和候选关系之间语义相似度时,需要先通过BERT模型分别对问句和关系进行文本编码,而后对输出的隐层向量表示取平均作为问句和关系的向量表示,最后计算问句向量表示和关系向量表示的余弦相似度,该过程的公式形式化为14-18:
HQ=BERT([[CLS],q1,q2,…,qn,[SEP]]) (14)
Qemb=MeanPooling(HQ) (15)
Hr=BERT([[CLS],e,r,[SEP]]) (16)
remb=MeanPooling(Hr) (17)
(4-2)先采用关系合并策略,将检索实体的相同关系进行合并,将关系合并后的实体集合全部作为下一跳的检索实体,而后采用实体排序策略对关系合并后的实体集进行排序,选择前m个实体对应的三元组添加到问题相关子图,实体排序策略类似于实体消歧的过程,问句和实体上下文的语义相似度计算过程如公式19-23所示;
HQ=BERT([[CLS],q1,q2,…,qn,[SEP]]) (19)
Qemb=MeanPooling(HQ) (20)
Hcontext=BERT([[CLS],e,r1,r2,…,rm[SEP]]) (21)
contextemb=MeanPooling(Hcontext) (22)
6.根据权利要求1所述的基于子图检索优化的知识图谱问答方法,其特征在于,步骤(5)包括如下具体步骤:
(5-1)将问题相关子图GQ中,以主题实体为起点,经过一跳或多跳到达其它非主题实体的实体关系链作为候选答案路径,考虑到知识图谱中关系的有向性,将从非主题实体出发经过一跳或多跳到达主题实体的路径也视为候选答案路径;
(5-2)根据跳数和实体数对候选答案路径进行分类,首先根据候选答案路径中起点实体到终点实体之间的跳数,可以分为单跳路径和多跳路径,其次根据候选答案路径中主题实体的数量,又可将其分为单实体路径和多实体路径;
(5-3)针对不同类型的问句采取不同的候选答案路径生成策略,给定问句Q、主题实体集合T和问题相关子图GQ,对于仅包含一个主题实体的问句,根据问题相关子图生成以该主题实体为起点或者终点的单实体单跳路径Pathsingle_hop和单实体多跳路径Pathmulti_hop,合并两种路径得到候选答案路径集合Path,如公式24所示:
对于包含多个主题实体的问句,除了生成每个实体的单实体单跳路径Pathsingle_hop和单实体多跳路径Pathmulti_hop外,同时生成多实体单跳路径Pathmulti_entity,合并上述路径得到候选答案路径集合Path,如公式25所示;
(5-4)构建训练数据用于微调问答匹配模型,对于每条问句,通过对数据集中的SPARQL查询语句进行处理得到正样本路径,对主题实体的关系进行随机采样生成的单实体单跳路径、单实体多跳路径和多实体单跳路径作为负样本路径;由此生成的候选答案路径由一个或多个三元组构成,将候选答案路径转换为自然语言形式;
(5-5)基于预训练语言模型和孪生网络架构搭建问答匹配模型,模型的输入为问句Q=[q1,q2,…,qn]和候选答案路径P=[p1,p2,…,pm],其中P∈Path,首先使用基于BERT模型构建的孪生网络分别对问句Q和候选答案路径P进行编码,然后将BERT层输出的隐层向量输入MeanPooling层,计算每个Token隐层向量的平均值,再通过全连接层将MeanPooling层的输出进行降维,分别得到问句和候选答案路径的向量表示HQ和HP,最后计算问句向量表示和候选路径向量表示的余弦相似度作为模型的输出,上述过程可形式化为公式26-30,其中,WQ、bQ、WP、bP为待学习的参数;
HQ=BERT([[CLS],q1,q2,…,qn,[SEP]]) (26)
HP=BERT([[CLS],p1,p2,…,pm,[SEP]]) (27)
Qemb=(WQ*MeanPooling(HQ)+bQ) (28)
Pemb=(WP*MeanPooling(HP)+bP) (29)
在训练阶段采用均方误差损失(Mean Squared Error Loss)作为模型的损失函数,如公式31所示,模型通过缩小预测值和真实值之间的差距来最小化损失函数,在测试阶段将模型输出的余弦相似度最高的候选答案路径作为最佳路径,通过在问题相关子图中检索最佳路径得到问题的答案集合;
其中,N为样本数量,yi表示第i个样本的真实值,表示第i个样本的预测值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311114498.XA CN117149974A (zh) | 2023-08-31 | 2023-08-31 | 一种子图检索优化的知识图谱问答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311114498.XA CN117149974A (zh) | 2023-08-31 | 2023-08-31 | 一种子图检索优化的知识图谱问答方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149974A true CN117149974A (zh) | 2023-12-01 |
Family
ID=88883806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311114498.XA Pending CN117149974A (zh) | 2023-08-31 | 2023-08-31 | 一种子图检索优化的知识图谱问答方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149974A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117688189A (zh) * | 2023-12-27 | 2024-03-12 | 珠江水利委员会珠江水利科学研究院 | 一种融合知识图谱、知识库和大型语言模型的问答系统构建方法 |
CN118013376A (zh) * | 2024-04-09 | 2024-05-10 | 安徽思高智能科技有限公司 | 基于知识图谱的rpa多任务多标签分类方法、设备及介质 |
-
2023
- 2023-08-31 CN CN202311114498.XA patent/CN117149974A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117688189A (zh) * | 2023-12-27 | 2024-03-12 | 珠江水利委员会珠江水利科学研究院 | 一种融合知识图谱、知识库和大型语言模型的问答系统构建方法 |
CN118013376A (zh) * | 2024-04-09 | 2024-05-10 | 安徽思高智能科技有限公司 | 基于知识图谱的rpa多任务多标签分类方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633409B (zh) | 一种融合规则与深度学习的汽车新闻事件抽取方法 | |
CN109902145B (zh) | 一种基于注意力机制的实体关系联合抽取方法和系统 | |
CN117149974A (zh) | 一种子图检索优化的知识图谱问答方法 | |
CN110245238B (zh) | 基于规则推理和句法模式的图嵌入方法及系统 | |
CN110633365A (zh) | 一种基于词向量的层次多标签文本分类方法及系统 | |
CN110264372B (zh) | 一种基于节点表示的主题社团发现方法 | |
CN112766507B (zh) | 基于嵌入式和候选子图剪枝的复杂问题知识库问答方法 | |
Liu et al. | Behavior2vector: Embedding users’ personalized travel behavior to Vector | |
CN115982338B (zh) | 一种基于查询路径排序的领域知识图谱问答方法及系统 | |
CN113779264A (zh) | 基于专利供需知识图谱的交易推荐方法 | |
CN116127084A (zh) | 基于知识图谱的微电网调度策略智能检索系统及方法 | |
CN113515632A (zh) | 基于图路径知识萃取的文本分类方法 | |
CN115438709A (zh) | 基于代码属性图的代码相似性检测方法 | |
CN116127090A (zh) | 基于融合和半监督信息抽取的航空系统知识图谱构建方法 | |
CN116108191A (zh) | 一种基于知识图谱的深度学习模型推荐方法 | |
Zhao | RETRACTED ARTICLE: Application of deep learning algorithm in college English teaching process evaluation | |
CN114897085A (zh) | 一种基于封闭子图链路预测的聚类方法及计算机设备 | |
CN110765781A (zh) | 一种领域术语语义知识库人机协同构建方法 | |
CN116450938A (zh) | 一种基于图谱的工单推荐实现方法及系统 | |
Chen et al. | AutoKG: Efficient Automated Knowledge Graph Generation for Language Models | |
CN113869034B (zh) | 基于强化依赖图的方面情感分类方法 | |
CN114398905A (zh) | 一种面向群智的问题及解决方案自动提取方法及相应存储介质与电子装置 | |
Cai et al. | Semantic and Correlation Disentangled Graph Convolutions for Multilabel Image Recognition | |
Chen | English translation template retrieval based on semantic distance ontology knowledge recognition algorithm | |
Yu et al. | Workflow recommendation based on graph embedding |
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 |