CN117952206A - 一种知识图谱链路预测方法 - Google Patents
一种知识图谱链路预测方法 Download PDFInfo
- Publication number
- CN117952206A CN117952206A CN202410358013.XA CN202410358013A CN117952206A CN 117952206 A CN117952206 A CN 117952206A CN 202410358013 A CN202410358013 A CN 202410358013A CN 117952206 A CN117952206 A CN 117952206A
- Authority
- CN
- China
- Prior art keywords
- entity
- expression
- sample
- representing
- model
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000014509 gene expression Effects 0.000 claims abstract description 246
- 230000004927 fusion Effects 0.000 claims abstract description 138
- 239000013598 vector Substances 0.000 claims abstract description 107
- 238000012549 training Methods 0.000 claims abstract description 82
- 238000012360 testing method Methods 0.000 claims description 49
- 238000009826 distribution Methods 0.000 claims description 36
- 238000013519 translation Methods 0.000 claims description 27
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000011176 pooling Methods 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 8
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 25
- 230000000694 effects Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000001225 therapeutic effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/16—Automatic learning of transformation rules, e.g. from examples
-
- 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/042—Knowledge-based neural networks; Logical representations of neural 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/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
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及知识图谱补全任务技术领域,具体指一种知识图谱链路预测方法,包括:利用预编码模型得到嵌入层向量,并构建对应掩码三元组;对掩码三元组中各元素加上对应位置编码,得到对应输入序列,并将其输入至训练好的主掩码模型中,输出对应实体分类概率;根据实体分类概率,预测潜在可能实体;还包括:将嵌入层向量对应语义信息与嵌入模型对应结构信息拼接,得到融合后的头实体与关系表达,并构建对应融合掩码三元组;对融合掩码三元组中各元素加上对应位置编码,得到对应融合输入序列;本发明使用预编码方法,有效减轻模型的训练压力,提高模型的推理速度;并在输入主掩码模型前使用融合模块,保证了文本描述信息的完整性,提高了预测精确度。
Description
技术领域
本发明涉及知识图谱补全任务技术领域,尤其是指一种知识图谱链路预测方法。
背景技术
知识图是一种用于表示和组织知识的图形模型,以三元组的形式描述实体之间的关系,其中,实体包含真实世界的实体,如对象、概念、时间等,关系表示他们的连接和交互;三元组的组成范式为(头,关系,尾),其中,头和尾是实体,关系联系了头实体和尾实体。目前,已经有许多人工收集的知识图谱,但是实体之间仍然存在许多缺失的关系;知识图谱旨在利用已知的实体和关系来准确地预测未知的关系来增强知识图谱信息。
现有的知识图谱补全方法主要分为:基于嵌入模型的补全、基于描述模型的补全以及结合图谱结构信息和语义描述信息(联合模型);其中,描述模型使用实体和关系的文本描述,使用预训练语言模型将描述编码作为特征表示,利用特征匹配缺失部分,如KG-BERT、MTL-KGC;这类模型虽然能够利用来自图谱结构之外的信息,但需要将文本直接输入到预训练语言模型中,导致训练需要大量的内存和时间,并且推理速度也显著减慢;在联合模型方面的研究较少,且现有研究并没有充分利用图谱中的结构信息;多数模型直接将描述特征对齐到图谱结构中,但不恰当的对齐方法会破坏文本描述信息。
综上,现有技术对于知识图谱补全算法存在的问题有:(1)基于描述的知识补全算法依赖预训练语言模型,但预训练语言模型的文本编码会严重影响推理速度;(2)融合结合信息和语义描述信息时,直接将描述特征对齐到图谱结构中,其中不恰当的对齐方式会破坏文本描述信息。
发明内容
为此,本发明所要解决的技术问题在于克服现有技术中基于描述的知识补全算法依赖预训练语言模型,但预训练语言模型的文本编码会严重影响推理速度的问题;融合结合信息和语义描述信息时,直接将描述特征对齐到图谱结构中,其中不恰当的对齐方式会破坏文本描述信息的问题。
为解决上述技术问题,本发明提供了一种知识图谱链路预测方法,包括:
获取数据集合;其中,数据集合包括实体描述文本集合、关系描述文本集合;获取各个实体描述文本对应的索引值,构建标签集;
将数据集合输入至初始化后的预编码模型中,分别对各个实体描述文本和各个关系描述文本进行预处理;对预处理后的各个实体描述文本和各个关系描述文本进行池化操作,得到各个实体描述文本的实体语义表达、各个关系描述文本的关系语义表达;对所有实体语义表达、所有关系语义表达进行嵌入操作,得到实体嵌入向量和关系嵌入向量;
根据实体嵌入向量和关系嵌入向量,结合标签集,构建三元组集合,将三元组集合划分为训练集和测试集,将训练集对应的逆关系三元组添加至训练集中,得到目标训练集;将测试集对应的逆关系三元组添加到测试集中,得到目标测试集;
初始化主掩码模型,按照预设的批量大小,从目标训练集中抽取样本,得到样本集合;构建样本集合中各个样本对应的掩码三元组;对各个样本对应的掩码三元组中各个元素分别添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的输入序列;
将各个样本对应的输入序列同时输入至主掩码模型中,经过多层的Transformer块处理,输出各个输入序列对应的最后一层掩码位置上的向量;将各个输入序列对应的最后一层掩码位置上的向量输入至分类层中,经过softmax操作,输出各个输入序列对应的实体分布概率;
基于各个输入序列对应的实体分布概率,构建损失函数,并利用Adam优化器最小化损失函数值,更新主掩码模型的参数,直至抽取完目标训练集中所有样本,得到当前轮次主掩码模型的参数;利用评价函数评估当前轮次主掩码模型,若当前轮次主掩码模型表现优于上一轮次主掩码模型表现,则保存当前轮次主掩码模型的权重,进行下一轮次训练,直到达到预设的训练轮数,结束训练,得到训练好的主掩码模型;
基于目标测试集,构建测试集掩码三元组,从而得到测试集输入序列;将测试集输入序列输入至训练好的主掩码模型中,输出实体分类概率;通过实体分类概率,预测潜在可能实体。
优选地,所述将数据集合输入至初始化后的预编码模型中,分别对各个实体描述文本和各个关系描述文本进行预处理;对预处理后的各个实体描述文本和各个关系描述文本进行池化操作,得到各个实体描述文本的实体语义表达、各个关系描述文本的关系语义表达;对所有实体语义表达、所有关系语义表达进行嵌入操作,得到实体嵌入向量和关系嵌入向量包括:
通过池化操作,将实体描述文本、关系描述文本概括成语义表达,其表达式为:
;
其中,表示实体描述;/>表示关系描述;/>表示第i个实体描述文本;/>表示第j个关系描述文本;/>表示第i个实体语义表达,/>,n表示数据集合中所有实体的数量;/>表示第j个关系语义表达,/>,m表示数据集合中所有关系的数量;
对实体语义表达、关系语义表达进行嵌入操作,得到实体嵌入向量、关系嵌入向量,其表达式为:
;
其中,E表示实体嵌入向量;R表示关系嵌入向量;表示嵌入层向量。
优选地,所述构建样本集合中各个样本对应的掩码三元组;对各个样本对应的掩码三元组中各个元素分别添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的输入序列包括:
从样本集合中任选一个样本A,构建样本A对应的掩码三元组;将样本A对应的掩码三元组中的各个元素添加上对应的位置向量,结合主掩码模型的开始和结束标志向量,得到样本A对应的输入序列,其表达式为:
;
其中,表示样本A对应的输入序列;/>表示序列的开始符号;/>表示序列的结束符号;/>表示样本A对应的头实体特征表示;/>表示样本A对应的关系特征表示;/>表示掩码向量;/>表示序列第s个位置对应的位置编码;
基于上述操作,同时构建各个样本对应的掩码三元组,并得到各个样本对应的输入序列。
优选地,所述将各个样本对应的输入序列同时输入至主掩码模型中,经过多层的Transformer块处理,输出各个输入序列对应的最后一层掩码位置上的向量;将各个输入序列对应的最后一层掩码位置上的向量输入至分类层中,经过softmax操作,输出各个输入序列对应的实体分布概率包括:
对样本集合中样本A对应的输入序列进行如下操作:
将样本A对应的输入序列输入到主掩码模型中,样本A对应的输入序列会经过12层的Transformer块处理;最后一层的位置上的向量可以作为带预测实体的表达,其表达式为:
;
其中,表示第num层的输出;/>表示第num层的输入,/>表示第一层的输入;/>表示最后一层/>位置上的向量;/>表示最后输出/>的值;
分类层为一个前馈神经网络,所述分类层的输入维度为的维度,输出维度为实体数量;将/>输入至分类层中,再经过softmax操作,得到样本A对应的实体分类概率,其表达式为:
;
其中,表示样本A对应的实体分类概率;
基于上述操作,将样本集合中各个样本对应的输入序列同时输入至主掩码模型中,输出各个输入序列对应的实体分布概率。
优选地,所述基于各个输入序列对应的实体分布概率,构建损失函数包括:
所述损失函数为交叉熵损失函数,对于任一输入序列,根据该输入序列对应的实体分布概率,计算该输入序列对应的交叉熵损失,其表达式为:
;
其中,表示数据集合中第i个实体的实际标签,/>取0或1;当/>取1时表示第i个实体是标签;当/>取0时表示第i个实体不是标签;/>表示数据集合中第i个实体在该输入序列对应的实体分布概率中对应的第i个概率;n表示数据集合中所有实体的数量;
基于上述操作,计算得出各个输入序列对应的交叉熵损失,再将各个输入序列对应的交叉熵损失相加并求取平均值,得出当前轮次的损失。
优选地,所述初始化主掩码模型,按照预设的批量大小,从目标训练集中抽取样本,得到样本集合后还包括:
在嵌入模型特征维度的预设范围内,随机初始化嵌入模型的各个实体结构嵌入表达和各个关系结构嵌入表达,将各个实体结构嵌入表达和各个关系结构嵌入表达分别整合为实体嵌入矩阵和关系嵌入矩阵;
将样本集合中各个样本对应的头实体语义表达、关系语义表达,与嵌入模型对应的头实体结构嵌入表达、关系结构嵌入表达进行拼接,得到各个样本对应的拼接特征;将各个样本对应的拼接特征输入至融合模块中,得到各个样本对应的融合后的头实体表达和关系表达;根据各个样本对应的融合后的头实体表达和关系表达,构建各个样本对应的融合掩码三元组;对各个样本对应的融合掩码三元组中的各个元素添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的融合输入序列;
将各个样本对应的融合输入序列同时输入至主掩码模型中。
优选地,所述将样本集合中各个样本对应的头实体语义表达、关系语义表达,与嵌入模型对应的头实体结构嵌入表达、关系结构嵌入表达进行拼接,得到各个样本对应的拼接特征;将各个样本对应的拼接特征输入至融合模块中,得到各个样本对应的融合后的头实体表达和关系表达包括:
在样本集合中任选一个样本B,将样本B对应的头实体语义表达、关系语义表达定义为来自预编码模型富含语义信息的描述表达u;将嵌入模型中对应的头实体结构嵌入表达、关系结构嵌入表达定义为来自嵌入模型带有结构信息的嵌入表达v;
将来自预编码模型富含语义信息的描述表达u和来自嵌入模型带有结构信息的嵌入表达v进行拼接,得到拼接特征c,其拼接特征为两个表达的拼接结果,其表达式为:
;
将样本B对应的拼接特征输入到融合模块中,通过降维的方式,提取融合信息,得到融合后的头实体表达、关系表达,其表达式为:
;
其中,表示样本B对应的融合后的头实体表达;/>表示样本B对应的融合后的关系表达;/>表示描述表达中的头实体描述表达;/>表示嵌入表达中的头实体嵌入表达;/>表示描述表达中的关系描述表达;/>表示嵌入表达中的关系嵌入表达;
基于上述操作,对样本集合中各个样本同时进行拼接,得到各个样本对应的拼接特征,并得到各个样本对应的融合后的头实体表达和关系表达。
优选地,所述根据各个样本对应的融合后的头实体表达和关系表达,构建各个样本对应的融合掩码三元组;对各个样本对应的融合掩码三元组中的各个元素添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的融合输入序列包括:
基于样本B对应的融合后的头实体表达和关系表达,构建样本B对应的融合掩码三元组;将样本B对应的融合掩码三元组中各个元素上分别添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到样本B对应的融合输入序列,其表达式为:
;
其中,表示样本B对应的融合输入序列;/>表示序列的开始符号;表示序列的结束符号;/>表示样本B对应的融合后的头实体表达;/>表示样本B对应的融合后的关系表达;/>表示掩码向量;/>表示序列第s个位置对应的位置编码;
基于上述操作,通过各个样本对应的融合后的头实体表达和关系表达,同时构建各个样本对应的融合掩码三元组,并得到各个样本对应的融合输入序列。
优选地,所述嵌入模型为翻译模型。
优选地,基于各个输入序列对应的实体分布概率,构建损失函数包括:
将加入负采样的翻译模型损失函数作为嵌入损失,对于任一融合输入序列,根据该融合输入序列对应的翻译模型中的头实体结构嵌入表达和关系结构嵌入表达,计算该融合输入序列对应的嵌入损失,其表达式为:
;
其中,K表示负采样的实体集合;表示负采样的实体集合中第k个尾实体;表示评分函数,采用余弦相似度函数作为评分函数,其表达式为:
;
其中,表示该融合输入序列对应的翻译模型中的头实体结构嵌入表达与关系结构嵌入表达之和;/>表示该融合输入序列对应的翻译模型中的头实体结构嵌入表达;/>表示该融合输入序列对应的翻译模型中的关系结构嵌入表达;/>表示该融合输入序列对应的翻译模型中的尾实体结构嵌入表达;/>表示二范数计算;
对于任一融合输入序列,根据该融合输入序列对应的实体分布概率,计算该融合输入序列对应的交叉熵损失,其表达式为:
;
其中,表示数据集合中第i个实体的实际标签,/>取0或1;当/>取1时表示第i个实体是标签;当/>取0时表示第i个实体不是标签;/>表示数据集合中第i个实体在该融合输入序列对应的实体分布概率中对应的第i个概率;n表示数据集合中所有实体的数量;
主掩码模型优化总损失函数为交叉熵损失和嵌入损失的加权和,则任一融合输入序列对应的总损失L,其表达式为:
;
其中,表示融合输入序列对应的交叉熵损失;/>表示嵌入损失的权重;/>表示融合输入序列对应的嵌入损失;
基于上述操作,计算得出各个融合输入序列对应的总损失,再将各个融合输入序列对应的总损失相加并求取平均值,得出当前轮次的总损失。
本发明的上述技术方案相比现有技术具有以下有益效果:
(1)本发明所述的一种知识图谱链路预测方法,采用预编码模型将实体和关系的长文本描述编码概括成语义信息的特征;由于文本描述不会变化,因此预编码操作仅需要在模型训练前进行一次,得到的嵌入层表示了所有实体和关系的语义表达,后续训练与推理都使用该嵌入层,减轻了长文本编码带来的问题;本方法创新地使用了预编码的方法,有效减轻了模型的训练压力,并提高了模型的推理速度;
(2)本发明所述的一种知识图谱链路预测方法,考虑到语义信息应当独立于结构信息,二者是来自不同信息源的表达;并启发于多模态学习中的早期融合(Early fusion),在输入主掩码模型前使用简单的融合模块,将语义表达和嵌入表达先拼接为一个表达,然后再经过可学习的融合模块得到最适合的融合表达;本方法不需要将描述特征对齐到图谱结构中,无需考虑不恰当的对齐方式会破坏文本描述信息,保证了文本描述信息的完整性,提高了预测的精确度。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1是本发明所提供的基于预编码的掩码语言模型的知识图谱算法结构示意图;
图2是基于预编码的掩码语言模型中主掩码模型的输入向量;
图3是本发明所提供的基于预编码的融合结构信息与语义信息的框架的知识图谱算法示意图;
图4是WN18RR数据集上选取的6个缺失三元组的实例分析。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
参照图1所示,图1为本发明所提供的基于预编码的掩码语言模型的知识图谱算法结构示意图;为了解决训练语言模型需要输入长文本而导致推理速度减慢的问题,本发明采用了基于预编码的掩码语言模型进行知识图谱链路的预测;其中,该模型由两个BERT(双向Transformer编码器表示)组成;具体步骤包括:
S101:获取数据集合;其中,数据集合/>包括实体描述文本集合/>、关系描述文本集合/>;获取各个实体描述文本对应的索引值,构建标签集;
S102:将数据集合输入至初始化后的预编码模型中,分别对各个实体描述文本和各个关系描述文本进行预处理;对预处理后的各个实体描述文本和各个关系描述文本进行池化操作,得到各个实体描述文本的实体语义表达、各个关系描述文本的关系语义表达,其表达式为:
;
其中,表示实体描述;/>表示关系描述;/>表示第i个实体描述文本;/>表示第j个关系描述文本;/>表示第i个实体语义表达,/>,n表示数据集合中所有实体的数量;/>表示第j个关系语义表达,/>,m表示数据集合中所有关系的数量;
对所有实体语义表达、所有关系语义表达进行嵌入操作,得到实体嵌入向量和关系嵌入向量,其表达式为:
;
其中,E表示实体嵌入向量;R表示关系嵌入向量;表示嵌入层向量;
S103:根据实体嵌入向量和关系嵌入向量,结合标签集,构建三元组集合,将三元组集合划分为训练集和测试集/>,将训练集/>对应的逆关系三元组/>添加至训练集中,得到目标训练集/>;将测试集/>对应的逆关系三元组/>添加到测试集中,得到目标测试集/>;其中,h表示头实体;r表示关系;t表示尾实体;/>表示逆关系;
S104:初始化主掩码模型,按照预设的批量大小,从目标训练集中抽取个样本,得到样本集合;
S105:构建样本集合中各个样本对应的掩码三元组;对各个样本对应的掩码三元组中各个元素分别添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的输入序列,包括:
从样本集合中任选一个样本A,以样本A为例,构建样本A对应的掩码三元组;将样本A对应的掩码三元组中的各个元素添加上对应的位置向量,结合主掩码模型的开始和结束标志向量,得到样本A对应的输入序列,其表达式为:
;
其中,表示样本A对应的输入序列;/>表示序列的开始符号;/>表示序列的结束符号;/>表示样本A对应的头实体特征表示;/>表示样本A对应的关系特征表示;/>表示掩码向量;/>表示序列第s个位置对应的位置编码;
基于上述操作,同时构建样本集合中各个样本对应的掩码三元组,并得到各个样本对应的输入序列;
其中,主掩码模型的输入序列构成如图2所示;由于BERT模型需要考虑输入序列中各个元素的相对位置,以便更好地捕捉序列中的结构和关系,因此,在使用BERT进行知识图谱补全任务时,为各个位置的输入附加上对应的位置编码可以提供实体与关系的相对位置信息,使得模型能够更好地理解输入序列中不同元素之间的关系;
S106:将各个样本对应的输入序列同时输入至主掩码模型中,经过多层的Transformer块处理,输出各个输入序列对应的最后一层掩码位置上的向量;将各个输入序列对应的最后一层掩码位置上的向量输入至分类层中,经过softmax操作,输出各个输入序列对应的实体分布,包括:
以样本A为例,将样本A对应的输入序列输入到主掩码模型,样本A对应的输入序列会经过12层的Transformer块处理;最后一层的位置上的向量可以作为带预测实体的表达,其表达式为:
;
其中,表示第num层的输出;/>表示第num层的输入,/>表示第一层的输入;/>表示最后一层/>位置上的向量;/>表示最后输出/>的值;
链路预测(头实体→关系→?)可以视为对经过掩码向量的多分类问题,因此,采用分类层得到各个输入序列对应的实体分布概率;分类层为一个前馈神经网络,所述分类层的输入维度为的维度,输出维度为实体数量;再经过softmax操作,得到样本A对应的实体分类概率,其表达式为:
;
其中,表示样本A对应的实体分类概率;
基于上述操作,将S105得到的样本集合中各个样本对应的输入序列同时输入至主掩码模型中,输出各个输入序列对应的实体分布概率;
其中,假设当前数据集合中共有40943个实体,每个实体对应一个索引值;预设批量大小为256,则每次读取256条样本数据,构建256个掩码三元组,得到256个输入序列;基于256个输入序列,构建256行5列的输入序列矩阵;将输入序列矩阵输入至主掩码模型中,得到对应输出,再经由分类层,进行softmax操作,最终分类层输出256行40943列的实体分布概率矩阵;其中,实体分布概率矩阵中每行40943个概率均为分布在0到1之间的概率,且每行40943个概率之和为1;
实体分布概率矩阵中每行代表的实体分布概率与输入序列矩阵中每行代表的输入序列一一对应;对于任一输入序列,其对应的实体分布概率中的40943个概率值依次为数据集合中每个实体按照输入顺序作为当前输入序列对应的掩码三元组中掩码位置上尾实体的概率值;
S107:基于各个输入序列对应的实体分布概率,构建损失函数包括:
所述损失函数为交叉熵损失函数,对于任一输入序列,根据该输入序列对应的实体分布概率,计算该输入序列对应的交叉熵损失,其表达式为:
;
其中,表示数据集合中第i个实体的实际标签,/>取0或1;当/>取1时表示第i个实体是标签;当/>取0时表示第i个实体不是标签;/>表示数据集合中第i个实体在该输入序列对应的实体分布概率中对应的第i个概率;n表示数据集合中所有实体的数量;
基于上述操作,计算得出各个输入序列对应的交叉熵损失,再将各个输入序列对应的交叉熵损失相加并求取平均值,得出当前轮次的损失;
S108:利用Adam优化器最小化当前轮次的损失,更新主掩码模型的参数,直至抽取完目标训练集中所有样本,得到当前轮次主掩码模型的参数;利用评价函数评估当前轮次主掩码模型,若当前轮次主掩码模型表现优于上一轮次主掩码模型表现,则保存当前轮次主掩码模型的权重,进行下一轮次训练,直到达到预设的训练轮数,结束训练,得到训练好的主掩码模型;
S109:基于目标测试集,构建测试集掩码三元组,从而得到测试集输入序列;将测试集输入序列输入至训练好的主掩码模型中,输出实体分类概率;通过实体分类概率,预测潜在可能实体。
根据上述步骤可以得出该模型的算法流程如下:
算法1 基于预编码的掩码语言模型 |
预编码:输入数据集合;1、初始化预编码器BERT,加载预训练权重;2、数据预处理:2.1数据清洗:去除不在训练集中的实体;2.2设置最长文本长度;若输入集合的文本长度大于预设的最长文本长度,则将文本长度截断至预设的最长文本长度;否则将文本长度填充至预设的最长文本长度;3、根据池化操作,计算各实体、关系的描述文本表达;4、根据嵌入操作,构建主模型嵌入层,得到嵌入层向量。训练:输入三元组集合的训练集,特征维度dim,学习率lr,训练轮数espochs,标签数label_num,批量大小batch_size;1、初始化主掩码模型,构建分词器(Tokenizer),构建逆关系三元组加入训练集,得到目标训练集;初始化分类层权重;2、当前轮数小于训练轮数时;2.1从目标训练集中抽取batch_size个样本;2.1.1构建掩码三元组;2.1.2将输入序列输入至主掩码模型,得到最后一层的掩码表示;2.1.3计算实体分类概率;2.1.4计算交叉熵损失函数,使用Adam优化器更新模型参数;2.2若未抽取完所有样本,则返回2.1;2.3评估模型,若模型标线为目前最好,则保存模型权重;2.4当前轮次加一;3、若当前轮次大于训练轮数,则结束训练;否则返回2。 |
推断:输入三元组集合的测试集,特征维度dim,标签数label_num;1、加载训练权重,构建逆关系三元组加入测试集,得到目标测试集,并抽样;2、构建掩码三元组;3、对掩码三元组中的各个向量添加上对应的位置向量,得到输入序列;4、将输入序列输入至主掩码模型,输出实体分类概率;5、以概率预测潜在可能实体。 |
基于上述实施例,在本实施例中为了提高知识图谱链路的预测精度,基于预编码的融合结构信息与语义信息的框架,获取各个样本对应的融合输入序列作为主掩码模型的输入序列;
参照图3所示,图3为本发明所提供的基于预编码的融合结构信息与语义信息的框架的知识图谱算法示意图;基于融合结构信息和语义信息的框架下的知识图谱补全有三个阶段组成,即预编码阶段、融合阶段和编码阶段;具体步骤包括:
S301:获取数据集合;其中,数据集合/>包括实体描述文本集合/>、关系描述文本集合/>;获取各个实体描述文本对应的索引值,构建标签集;
S302:将数据集合输入至初始化后的预编码模型中,分别对各个实体描述文本和各个关系描述文本进行预处理;对预处理后的各个实体描述文本和各个关系描述文本进行池化操作,得到各个实体描述文本的实体语义表达、各个关系描述文本的关系语义表达,其表达式为:
;
其中,表示实体描述;/>表示关系描述;/>表示第i个实体描述文本;/>表示第j个关系描述文本;/>表示第i个实体语义表达,/>,n表示数据集合中所有实体的数量;/>表示第j个关系语义表达,/>,m表示数据集合中所有关系的数量;
对所有实体语义表达、所有关系语义表达进行嵌入操作,得到实体嵌入向量和关系嵌入向量,其表达式为:
;
其中,E表示实体嵌入向量;R表示关系嵌入向量;表示嵌入层向量;
S303:根据实体嵌入向量和关系嵌入向量,结合标签集,构建三元组集合,将三元组集合划分为训练集和测试集/>,将训练集/>对应的逆关系三元组/>添加至训练集中,得到目标训练集/>;将测试集/>对应的逆关系三元组/>添加到测试集中,得到目标测试集/>;
在范围内,随机初始化嵌入模型的各个实体结构嵌入表达和各个关系结构嵌入表达,将各个实体结构嵌入表达和各个关系结构嵌入表达分别整合为实体嵌入矩阵和关系嵌入矩阵;其中,/>表示嵌入模型的特征维度;
S304:初始化主掩码模型,按照预设的批量大小,从目标训练集中抽取个样本,得到样本集合;
S305:将样本集合中各个样本对应的头实体语义表达、关系语义表达,与嵌入模型对应的头实体结构嵌入表达、关系结构嵌入表达进行拼接,得到各个样本对应的拼接特征;将各个样本对应的拼接特征输入至融合模块中,得到各个样本对应的融合后的头实体表达和关系表达,包括:
在样本集合中任选一个样本B,以样本B为例,将样本B对应的头实体语义表达、关系语义表达定义为来自预编码模型富含语义信息的描述表达u;将嵌入模型中对应的头实体结构嵌入表达、关系结构嵌入表达定义为来自嵌入模型带有结构信息的嵌入表达v;
将来自预编码模型富含语义信息的描述表达u和来自嵌入模型带有结构信息的嵌入表达v进行拼接,得到拼接特征c,其拼接特征为两个表达的拼接结果,其表达式为:
;
将样本B对应的拼接特征输入到融合模块中,通过降维的方式,提取融合信息,得到融合后的头实体表达、关系表达,其表达式为:
;/>
其中,表示样本B对应的融合后的头实体表达;/>表示样本B对应的融合后的关系表达;/>表示描述表达中的头实体描述表达;/>表示嵌入表达中的头实体嵌入表达;/>表示描述表达中的关系描述表达;/>表示嵌入表达中的关系嵌入表达;
基于上述操作,对样本集合中各个样本同时进行拼接,得到各个样本对应的拼接特征,并得到各个样本对应的融合后的头实体表达和关系表达;
S306:根据各个样本对应的融合后的头实体表达和关系表达,构建各个样本对应的融合掩码三元组;对各个样本对应的融合掩码三元组中的各个元素添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的融合输入序列,包括:
以样本B为例,基于样本B对应的融合后的头实体表达和关系表达,构建样本B对应的融合掩码三元组;将样本B对应的融合掩码三元组中各个元素上分别添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到样本B对应的融合输入序列,其表达式为:
;
其中,表示样本B对应的融合输入序列;/>表示序列的开始符号;表示序列的结束符号;/>表示样本B对应的融合后的头实体表达;/>表示样本B对应的融合后的关系表达;/>表示掩码向量;/>表示序列第s个位置对应的位置编码;
基于上述操作,通过各个样本对应的融合后的头实体表达和关系表达,同时构建各个样本对应的融合掩码三元组,并得到各个样本对应的融合输入序列;
其中,所述S305和S306属于基于预编码的融合结构信息与语义信息的框架中的融合模块,通过该融合模块,凭借融合结构信息与语义信息可以提高整体融合框架的预测精度,同时保证了文本描述信息的完整性;
S307:将各个样本对应的融合输入序列同时输入至主掩码模型中,经过多层的Transformer块处理,输出各个融合输入序列对应的最后一层掩码位置上的向量;将各个融合输入序列对应的最后一层掩码位置上的向量输入至分类层中,经过softmax操作,输出各个融合输入序列对应的实体分布概率;
S308:基于各个融合输入序列对应的实体分布概率,构建损失函数包括:
在本发明的一个具体实施例中,所采用的嵌入模型为翻译模型;
翻译模型原理是将关系变现为实体间的转化,将头实体和关系向量的之和指向尾实体,期望向量表现如;对于任一融合输入序列,定义该融合输入序列对应的翻译模型中的头实体结构嵌入表达与关系结构嵌入表达之和/>,其表达式为:
;
其中,表示该融合输入序列对应的翻译模型中的头实体结构嵌入表达;/>表示该融合输入序列对应的翻译模型中的关系结构嵌入表达;/>
在传统翻译模型的训练过程中,通常加入负采样操作,这样能够有效提高模型的泛化性能,解决样本之间的不平衡问题,加强模型的鲁棒性;本发明将加入负采样的翻译模型损失函数作为嵌入损失,使得翻译模型学习到正比例得分高于负比例得分的嵌入表示,对于任一融合输入序列,根据该融合输入序列对应的翻译模型中的头实体结构嵌入表达和关系结构嵌入表达,计算该融合输入序列对应的嵌入损失,其表达式为:
;
其中,K表示负采样的实体集合;表示负采样的实体集合中第k个尾实体;表示评分函数,采用余弦相似度函数作为评分函数,其表达式为:
;
其中,表示该融合输入序列对应的翻译模型中的尾实体结构嵌入表达;/>表示二范数计算;评分函数/>的评分在[-1,1]之间,评分越接近1,表明头实体向量与关系向量的映射越能指向尾实体,即模型的性能越好;在预测尾实体问题(头实体、关系、?)上翻译模型的预测输出为最高评分的实体,其表达式为:
;
其中,E表示所有实体集合;表示评分最高的实体;
对于任一融合输入序列,根据该融合输入序列对应的实体分布概率,计算该融合输入序列对应的交叉熵损失,其表达式为:
;
其中,表示数据集合中第i个实体的实际标签,/>取0或1;当/>取1时表示第i个实体是标签;当/>取0时表示第i个实体不是标签;/>表示数据集合中第i个实体在该融合输入序列对应的实体分布概率中对应的第i个概率;n表示数据集合中所有实体的数量;
主掩码模型优化总损失函数为交叉熵损失和嵌入损失的加权和,则任一融合输入序列对应的总损失L,其表达式为:
;
其中,表示融合输入序列对应的交叉熵损失;/>表示嵌入损失的权重;/>表示融合输入序列对应的嵌入损失;
基于上述操作,计算得出各个融合输入序列对应的总损失,再将各个融合输入序列对应的总损失相加并求取平均值,得出当前轮次的总损失;
S309:利用Adam优化器最小化当前轮次的总损失,更新主掩码模型的参数,直至抽取完目标训练集中所有样本,得到当前轮次主掩码模型的参数;利用评价函数评估当前轮次主掩码模型,若当前轮次主掩码模型表现优于上一轮次主掩码模型表现,则保存当前轮次主掩码模型的权重,进行下一轮次训练,直到达到预设的训练轮数,结束训练,得到训练好的主掩码模型;
S310:基于目标测试集,构建测试集融合掩码三元组,从而得到测试集融合输入序列;将测试集融合输入序列输入至训练好的主掩码模型中,输出实体分类概率;通过实体分类概率,预测潜在可能实体。
根据上述步骤得到本模型算法流程如下:
算法2 基于预编码的融合结构信息和语义信息的框架 |
预编码:输入数据集合;1、初始化预编码器BERT,加载预训练权重;2、数据预处理:2.1数据清洗:去除不在训练集中的实体;2.2设置最长文本长度;若输入集合的文本长度大于预设的最长文本长度,则将文本长度截断至预设的最长文本长度;否则将文本长度填充至预设的最长文本长度;3、根据池化操作,计算各实体、关系的描述文本表达;4、根据嵌入操作,构建主模型嵌入层,得到嵌入层向量。训练:输入三元组集合的训练集,特征维度dim,学习率lr,训练轮数espochs,标签数label_num,批量大小batch_size;1、初始化主掩码模型,构建分词器(Tokenizer),构建逆关系三元组加入训练集中,得到目标训练集;在预设范围内随机初始化翻译模型中的实体嵌入与关系嵌入矩阵;初始化分类层权重;初始化融合模块权重;2、当前轮数小于训练轮数时;2.1从目标训练集中抽取batch_ size个样本;2.1.1构建掩码三元组;2.1.2以获取融合表示;2.1.3将融合输入序列输入至主掩码模型,得到最后一层的掩码表示;2.1.4计算实体分类概率;2.1.5计算嵌入损失;2.1.6计算模型的总损失,使用Adam优化器更新模型参数;2.2若未抽取完所有样本,则返回(1);2.3评估模型,若模型表现为目前最好,则保存模型权重;2.4当前轮次加一;3、若当前轮次大于训练轮数,则结束训练;否则返回2。 |
推断:输入三元组集合的测试集,特征维度dim,标签数label_num;1、加载训练权重,构建逆关系三元组加入测试集中,得到目标测试集,并抽样;2、构建掩码三元组;3、获取融合表示;4、将融合表示输入模型,输出实体分类概率;5、以概率预测潜在可能实体。 |
为了验证本发明中的基于预编码的掩码语言模型以及基于预编码的融合结构信息与语义信息的框架的推理性能,对所述基于预编码的掩码语言模型以及基于预编码的融合结构信息与语义信息的框架进行实验:
一、实验数据集
本实验利用两个基准数据集:WN18RR和UMLS(一体化医学语言系统);WN18RR属于WordNet数据子集,描述英语单词之间关联特征的数据集,同时保留WordNet数据集中的对称、非对称和组合关系,用于评估链路预测任务;UMLS(一体化医学语言系统)数据集是针对生物医学和健康领域的小型知识图谱;两个基准数据集的规模如表1所示,即:
表1 数据集规格
数据集 | 实体数量 | 关系数量 | 训练集长度 | 验证集长度 | 测试集长度 |
WN18RR | 40559 | 11 | 86835 | 2824 | 2924 |
UMLS | 135 | 46 | 5216 | 652 | 661 |
需要注意的是,实体已经过滤掉在训练集中未出现的三元组,并且验证集和测试集中的实体和关系也均为训练集中出现过的;验证集和测试集中的数据不参与模型优化,后续实验结论均为两个模型在测试集上的评估结果;数据集内的实体和关系的文本描述使用基于BERT的知识图谱嵌入算法(KG-BERT)所定义的内容。
二、实验评价指标
知识图谱的缺损三元组(头实体,关系,?)可能对应着多个尾实体,依照惯例在进行评估时,需要从候选三元组中去除所有出现过的训练集、验证集、测试集中的所有可能实体(除了标签实体);在过滤后的实体中,以分类层输出的softmax值进行排名;测试集中第i个三元组的真实答案在所有实体中的排名为。
1、平均排名(MR)
MR指测试集中所有的平均值,其表达式为:
;
该指标反映了平均情况下真实答案在候选实体中的排名;其中,MR越低,说明模型的推理性能越好;
2、平均排名倒数(MRR)
MRR指测试集中所有的的倒数的平均值,其表达式为:
;
相较于MR,该指标更关注模型能否在候选实体中找到真实答案的高排名;MRR越高,说明模型推理性能越好;
3、排名前n结点平均数(Hits@n)
Hits@n指测试集中所有的的平均值,其中,n通常取10、3、1,其表达式为:
该指标模型反映模型能否将真实答案排名到前n,只关注模型的高排名表现;Hits@n越大,说明模型推理性能越好。
三、实验环境
实验环境会影响实验结果,本实验环境如表2所示,供研究参考,即:
表2 实验环境
实验环境 | 规格 |
处理器 | Inter(R) Core(TM) i7-6850K CPU @ 3.60GHZ |
显卡 | NVIDIA TITAN Xp 12G |
内存 | 128G DDR4 |
开发语言 | Python 3.9.7 |
开发系统 | Ubuntu 21.10 |
开发框架 | Pytorch 1.11.0 + cuda10.2 |
四、参数设置
参数设置会影响实验结果,本实验详尽参数设置如表3所示,即:
表3 参数设置
参数 | 规格 |
预编码表征维度 | 768维 |
主掩码表征维度 | 768维 |
翻译模型表征维度 | 768维 |
嵌入模型负采样大小 | WN18RR:2048UMLS:134 |
主掩码模型学习率 | WN18RR:3e-5UMLS:1e-5 |
嵌入模型学习率 | WN18RR:1e-3UMLS:1e-4 |
训练轮数 | WN18RR:200轮UMLS:1000轮 |
损失参数 | WN18RR:2.0UMLS:0.5 |
训练批数大小 | 256 |
主掩码模型自注意力头数 | 4 |
主掩码模型注意力层数 | 12 |
预编码模型允许输入的最长文本长度 | 128 |
设备 | GPU |
五、实验结果
为了比较本发明中预编码机制的推理速度优势,在实验中选取KG-BERT与本发明所提供的基于预编码的掩码语言模型以及基于预编码的融合结构信息与语义信息的框架在WN18RR和UMLS测试集上进行对比;KG-BERT的输入为文本,而本发明所提供的模型的输入均为预编码表达;KG-BERT的推理速度与数据集中的实体规模有关,实体越多,推理速度越长;参照表4所示,表4显示出了在预编码机制下避免编码长文本所带来的加速度推理效果;其中,Ours-1表示本发明所提供的基于预编码的掩码语言模型,Ours-2表示本发明所提供的基于预编码的融合结构信息与语义信息的框架;从表4中可以看出,本发明所提供的模型在推理速度上的进步有显著效果,另外,由于Ours-2需要使用嵌入模型,从而导致推理速度不如Ours-1。
表4 推理速度比较
模型 | WN18RR推理速度(秒/每样本) | UMLS推理速度(秒/每样本) |
KG-BERT | 387.252 | 1.31 |
Ours-1 | 0.011 | 0.010 |
Ours-2 | 0.013 | 0.011 |
为了公平合理地比较本发明模型以及融合框架的推理性能,选取的基准模型分为三类:基于嵌入的模型、基于描述的模型和联合模型;其中,基于嵌入的模型包括:用于建模多关系数据的转换嵌入模型(TransE)、基于复数空间关系旋转的知识图谱嵌入模型(RotatE)、双线性对角模型(DistMult)、卷积二维知识图谱嵌入模型(ConvE);基于描述的模型包括:基于BERT的知识图谱嵌入算法(KG-BERT)、多任务知识图谱补全算法(MTL_KGC);联合模型包括:预训练知识图谱嵌入模型(Pretrain-KGE)、结构增强的知识图谱文本表示学习(StAR)、知识图完成的联合语言语义和结构嵌入模型(LASS)。
参照表5所示,表5为本发明所提供的Ours-1和Ours-2分别在WN18RR数据集、UMLS数据集上的具体实验结果;其中,在WN18RR数据集上,以MRR和Hits@1、Hits@3、Hits@10作为评价指标;在UMLS数据集上,以MR和Hits@10作为评价指标;另外,除了本发明所提供的Ours-1和Ours-2,其余实验结果均取自原论文结果;且表5中“-”表示论文中未作说明的数据,加粗体表示该指标下最好的结果,下划线表示该指标下次好的结果。
表5 实验结果
根据实验结果可以得出,在UMLS数据集上,本发明所提供的Ours-1和Ours-2分别取得了最好和次好的效果;在WN18RR数据集上,本发明所提供的Ours-1和Ours-2在平均排名倒数(MRR)、排名前一结点平均数(Hits@1)、排名前三结点平均数(Hits@3)三个指标上取得了最好的效果,但是在Hits@10指标上我们的模型效果位列第三;通过分析可以认为,本发明所提出的模型在预测高排名方面更有优势;从直观结果上可以认为,基于预编码的融合结构信息与语义信息的框架(Ours-2)相比未加入融合的基于预编码的掩码语言模型(Ours-1),在各项指标上均有优化,因此本发明所提供的融合框架是有效的。
为了更加直观地表现知识图谱补全算法的意义,参照图4所示,图4展示了在WN18RR数据集上选取6个缺失三元组的实例分析;其中,黑体表示预测结果和标签一致,结果前的数字为真实答案的排名;在这些不完整三元组上,基于预编码的融合结构信息与语义信息的框架(Ours-2)的结果均好于基于预编码的掩码语言模型(Ours-1)。
知识图谱能够在医疗辅助诊断方面发挥重要作用;医疗知识图谱的构建可以从多种数据源中获取信息,包括临床试验、学术论文、病历信息等,这有助于提供更全面的信息,为医生提供更多维度的数据支持。在构建了结构化的医学知识图谱后,知识图谱补全能够填补知识图谱中的信息缺失,提供更全面、准确的医学知识,从而增强对患者病情的理解和提供更精准的诊断。补全的知识可以为医生提供更多的选择和决策支持;当面临复杂的病例时,医生可以依赖于更全面、细致的知识图谱,做出更明智的诊断和治疗决策。
知识图谱可能存在信息不完整的情况,特别是在涉及新的疾病、治疗方法或最新研究进展时;知识图谱补全可以通过整合最新的医学文献、研究数据以及临床实践,为医生提供最新、全面的医学信息。
除此之外,一个拥有大量医学信息的知识图谱可以用于构建辅助医疗问答系统;结合自然语言处理中的实体识别、关系识别、意图推断、问答匹配、语言生成等技术,问答系统能够针对病人提出的问题给出建议性回答,提供即时的信息,帮助患者更好地理解病情、症状和治疗选项;对于病人提出的非疑难杂症常见问题,系统能够自动回复以减轻医生解答负担,使医生能够更专注于复杂的病例和临床决策;在一些医疗资源不足的地区,医疗问答系统可以通过互联网使医学知识更广泛地传播,弥补医疗资源不足的问题。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种知识图谱链路预测方法,其特征在于,包括:
获取数据集合;其中,数据集合包括实体描述文本集合、关系描述文本集合;获取各个实体描述文本对应的索引值,构建标签集;
将数据集合输入至初始化后的预编码模型中,分别对各个实体描述文本和各个关系描述文本进行预处理;对预处理后的各个实体描述文本和各个关系描述文本进行池化操作,得到各个实体描述文本的实体语义表达、各个关系描述文本的关系语义表达;对所有实体语义表达、所有关系语义表达进行嵌入操作,得到实体嵌入向量和关系嵌入向量;
根据实体嵌入向量和关系嵌入向量,结合标签集,构建三元组集合,将三元组集合划分为训练集和测试集,将训练集对应的逆关系三元组添加至训练集中,得到目标训练集;将测试集对应的逆关系三元组添加到测试集中,得到目标测试集;
初始化主掩码模型,按照预设的批量大小,从目标训练集中抽取样本,得到样本集合;构建样本集合中各个样本对应的掩码三元组;对各个样本对应的掩码三元组中各个元素分别添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的输入序列;
将各个样本对应的输入序列同时输入至主掩码模型中,经过多层的Transformer块处理,输出各个输入序列对应的最后一层掩码位置上的向量;将各个输入序列对应的最后一层掩码位置上的向量输入至分类层中,经过softmax操作,输出各个输入序列对应的实体分布概率;
基于各个输入序列对应的实体分布概率,构建损失函数,并利用Adam优化器最小化损失函数值,更新主掩码模型的参数,直至抽取完目标训练集中所有样本,得到当前轮次主掩码模型的参数;利用评价函数评估当前轮次主掩码模型,若当前轮次主掩码模型表现优于上一轮次主掩码模型表现,则保存当前轮次主掩码模型的权重,进行下一轮次训练,直到达到预设的训练轮数,结束训练,得到训练好的主掩码模型;
基于目标测试集,构建测试集掩码三元组,从而得到测试集输入序列;将测试集输入序列输入至训练好的主掩码模型中,输出实体分类概率;通过实体分类概率,预测潜在可能实体。
2.根据权利要求1所述的一种知识图谱链路预测方法,其特征在于,所述将数据集合输入至初始化后的预编码模型中,分别对各个实体描述文本和各个关系描述文本进行预处理;对预处理后的各个实体描述文本和各个关系描述文本进行池化操作,得到各个实体描述文本的实体语义表达、各个关系描述文本的关系语义表达;对所有实体语义表达、所有关系语义表达进行嵌入操作,得到实体嵌入向量和关系嵌入向量包括:
通过池化操作,将实体描述文本、关系描述文本概括成语义表达,其表达式为:
;
其中,表示实体描述;/>表示关系描述;/>表示第i个实体描述文本;/>表示第j个关系描述文本;/>表示第i个实体语义表达,,n表示数据集合中所有实体的数量;/>表示第j个关系语义表达,/>,m表示数据集合中所有关系的数量;
对实体语义表达、关系语义表达进行嵌入操作,得到实体嵌入向量、关系嵌入向量,其表达式为:
;
其中,E表示实体嵌入向量;R表示关系嵌入向量;表示嵌入层向量。
3.根据权利要求1所述的一种知识图谱链路预测方法,其特征在于,所述构建样本集合中各个样本对应的掩码三元组;对各个样本对应的掩码三元组中各个元素分别添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的输入序列包括:
从样本集合中任选一个样本A,构建样本A对应的掩码三元组;将样本A对应的掩码三元组中的各个元素添加上对应的位置向量,结合主掩码模型的开始和结束标志向量,得到样本A对应的输入序列,其表达式为:
;
其中,表示样本A对应的输入序列;/>表示序列的开始符号;/>表示序列的结束符号;/>表示样本A对应的头实体特征表示;/>表示样本A对应的关系特征表示;表示掩码向量;/>表示序列第s个位置对应的位置编码;
基于上述操作,同时构建各个样本对应的掩码三元组,并得到各个样本对应的输入序列。
4.根据权利要求3所述的一种知识图谱链路预测方法,其特征在于,所述将各个样本对应的输入序列同时输入至主掩码模型中,经过多层的Transformer块处理,输出各个输入序列对应的最后一层掩码位置上的向量;将各个输入序列对应的最后一层掩码位置上的向量输入至分类层中,经过softmax操作,输出各个输入序列对应的实体分布概率包括:
对样本集合中样本A对应的输入序列进行如下操作:
将样本A对应的输入序列输入到主掩码模型中,样本A对应的输入序列会经过12层的Transformer块处理;最后一层的位置上的向量可以作为带预测实体的表达,其表达式为:
;
其中,表示第num层的输出;/>表示第num层的输入,/>表示第一层的输入;表示最后一层/>位置上的向量;/>表示最后输出/>的值;
分类层为一个前馈神经网络,所述分类层的输入维度为的维度,输出维度为实体数量;将/>输入至分类层中,再经过softmax操作,得到样本A对应的实体分类概率,其表达式为:
;
其中,表示样本A对应的实体分类概率;
基于上述操作,将样本集合中各个样本对应的输入序列同时输入至主掩码模型中,输出各个输入序列对应的实体分布概率。
5.根据权利要求1所述的一种知识图谱链路预测方法,其特征在于,所述基于各个输入序列对应的实体分布概率,构建损失函数包括:
所述损失函数为交叉熵损失函数,对于任一输入序列,根据该输入序列对应的实体分布概率,计算该输入序列对应的交叉熵损失,其表达式为:
;
其中,表示数据集合中第i个实体的实际标签,/>取0或1;当/>取1时表示第i个实体是标签;当/>取0时表示第i个实体不是标签;/>表示数据集合中第i个实体在该输入序列对应的实体分布概率中对应的第i个概率;n表示数据集合中所有实体的数量;
基于上述操作,计算得出各个输入序列对应的交叉熵损失,再将各个输入序列对应的交叉熵损失相加并求取平均值,得出当前轮次的损失。
6.根据权利要求1所述的一种知识图谱链路预测方法,其特征在于,所述初始化主掩码模型,按照预设的批量大小,从目标训练集中抽取样本,得到样本集合后还包括:
在嵌入模型特征维度的预设范围内,随机初始化嵌入模型的各个实体结构嵌入表达和各个关系结构嵌入表达,将各个实体结构嵌入表达和各个关系结构嵌入表达分别整合为实体嵌入矩阵和关系嵌入矩阵;
将样本集合中各个样本对应的头实体语义表达、关系语义表达,与嵌入模型对应的头实体结构嵌入表达、关系结构嵌入表达进行拼接,得到各个样本对应的拼接特征;将各个样本对应的拼接特征输入至融合模块中,得到各个样本对应的融合后的头实体表达和关系表达;根据各个样本对应的融合后的头实体表达和关系表达,构建各个样本对应的融合掩码三元组;对各个样本对应的融合掩码三元组中的各个元素添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的融合输入序列;
将各个样本对应的融合输入序列同时输入至主掩码模型中。
7.根据权利要求6所述的一种知识图谱链路预测方法,其特征在于,所述将样本集合中各个样本对应的头实体语义表达、关系语义表达,与嵌入模型对应的头实体结构嵌入表达、关系结构嵌入表达进行拼接,得到各个样本对应的拼接特征;将各个样本对应的拼接特征输入至融合模块中,得到各个样本对应的融合后的头实体表达和关系表达包括:
在样本集合中任选一个样本B,将样本B对应的头实体语义表达、关系语义表达定义为来自预编码模型富含语义信息的描述表达u;将嵌入模型中对应的头实体结构嵌入表达、关系结构嵌入表达定义为来自嵌入模型带有结构信息的嵌入表达v;
将来自预编码模型富含语义信息的描述表达u和来自嵌入模型带有结构信息的嵌入表达v进行拼接,得到拼接特征c,其拼接特征为两个表达的拼接结果,其表达式为:
;
将样本B对应的拼接特征输入到融合模块中,通过降维的方式,提取融合信息,得到融合后的头实体表达、关系表达,其表达式为:
;
其中,表示样本B对应的融合后的头实体表达;/>表示样本B对应的融合后的关系表达;/>表示描述表达中的头实体描述表达;/>表示嵌入表达中的头实体嵌入表达;/>表示描述表达中的关系描述表达;/>表示嵌入表达中的关系嵌入表达;
基于上述操作,对样本集合中各个样本同时进行拼接,得到各个样本对应的拼接特征,并得到各个样本对应的融合后的头实体表达和关系表达。
8.根据权利要求7所述的一种知识图谱链路预测方法,其特征在于,所述根据各个样本对应的融合后的头实体表达和关系表达,构建各个样本对应的融合掩码三元组;对各个样本对应的融合掩码三元组中的各个元素添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到各个样本对应的融合输入序列包括:
基于样本B对应的融合后的头实体表达和关系表达,构建样本B对应的融合掩码三元组;将样本B对应的融合掩码三元组中各个元素上分别添加对应的位置向量,结合主掩码模型的开始和结束标志向量,得到样本B对应的融合输入序列,其表达式为:
;
其中,表示样本B对应的融合输入序列;/>表示序列的开始符号;表示序列的结束符号;/>表示样本B对应的融合后的头实体表达;/>表示样本B对应的融合后的关系表达;/>表示掩码向量;/>表示序列第s个位置对应的位置编码;
基于上述操作,通过各个样本对应的融合后的头实体表达和关系表达,同时构建各个样本对应的融合掩码三元组,并得到各个样本对应的融合输入序列。
9.根据权利要求6所述的一种知识图谱链路预测方法,其特征在于,所述嵌入模型为翻译模型。
10.根据权利要求9所述的一种知识图谱链路预测方法,其特征在于,基于各个输入序列对应的实体分布概率,构建损失函数包括:
将加入负采样的翻译模型损失函数作为嵌入损失,对于任一融合输入序列,根据该融合输入序列对应的翻译模型中的头实体结构嵌入表达和关系结构嵌入表达,计算该融合输入序列对应的嵌入损失,其表达式为:
;
其中,K表示负采样的实体集合;表示负采样的实体集合中第k个尾实体;/>表示评分函数,采用余弦相似度函数作为评分函数,其表达式为:
;
其中,表示该融合输入序列对应的翻译模型中的头实体结构嵌入表达与关系结构嵌入表达之和;/>表示该融合输入序列对应的翻译模型中的头实体结构嵌入表达;表示该融合输入序列对应的翻译模型中的关系结构嵌入表达;/>表示该融合输入序列对应的翻译模型中的尾实体结构嵌入表达;/>表示二范数计算;
对于任一融合输入序列,根据该融合输入序列对应的实体分布概率,计算该融合输入序列对应的交叉熵损失,其表达式为:
;
其中,表示数据集合中第i个实体的实际标签,/>取0或1;当/>取1时表示第i个实体是标签;当/>取0时表示第i个实体不是标签;/>表示数据集合中第i个实体在该融合输入序列对应的实体分布概率中对应的第i个概率;n表示数据集合中所有实体的数量;
主掩码模型优化总损失函数为交叉熵损失和嵌入损失的加权和,则任一融合输入序列对应的总损失L,其表达式为:
;
其中,表示融合输入序列对应的交叉熵损失;/>表示嵌入损失的权重;/>表示融合输入序列对应的嵌入损失;
基于上述操作,计算得出各个融合输入序列对应的总损失,再将各个融合输入序列对应的总损失相加并求取平均值,得出当前轮次的总损失。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410358013.XA CN117952206B (zh) | 2024-03-27 | 2024-03-27 | 一种知识图谱链路预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410358013.XA CN117952206B (zh) | 2024-03-27 | 2024-03-27 | 一种知识图谱链路预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117952206A true CN117952206A (zh) | 2024-04-30 |
CN117952206B CN117952206B (zh) | 2024-05-31 |
Family
ID=90793045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410358013.XA Active CN117952206B (zh) | 2024-03-27 | 2024-03-27 | 一种知识图谱链路预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117952206B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210374358A1 (en) * | 2020-05-31 | 2021-12-02 | Salesforce.Com, Inc. | Systems and methods for composed variational natural language generation |
CN115081445A (zh) * | 2022-06-23 | 2022-09-20 | 江西师范大学 | 一种基于多任务学习的短文本实体消歧方法 |
CN116956940A (zh) * | 2023-08-03 | 2023-10-27 | 杭州电子科技大学 | 一种基于多向式遍历与提示学习的文本事件抽取方法 |
CN117131520A (zh) * | 2023-08-02 | 2023-11-28 | 杭州电子科技大学 | 基于动态掩膜和生成恢复的两阶段图像隐私保护方法与系统 |
-
2024
- 2024-03-27 CN CN202410358013.XA patent/CN117952206B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210374358A1 (en) * | 2020-05-31 | 2021-12-02 | Salesforce.Com, Inc. | Systems and methods for composed variational natural language generation |
CN115081445A (zh) * | 2022-06-23 | 2022-09-20 | 江西师范大学 | 一种基于多任务学习的短文本实体消歧方法 |
CN117131520A (zh) * | 2023-08-02 | 2023-11-28 | 杭州电子科技大学 | 基于动态掩膜和生成恢复的两阶段图像隐私保护方法与系统 |
CN116956940A (zh) * | 2023-08-03 | 2023-10-27 | 杭州电子科技大学 | 一种基于多向式遍历与提示学习的文本事件抽取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117952206B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471895B (zh) | 电子病历表型抽取、表型名称规范化方法及系统 | |
CN111695779B (zh) | 一种知识追踪方法、装置及存储介质 | |
CN113656570A (zh) | 基于深度学习模型的视觉问答方法及装置、介质、设备 | |
CN110738057A (zh) | 一种基于语法约束和语言模型的文本风格迁移方法 | |
CN111680484B (zh) | 一种视觉常识推理问答题的答题模型生成方法和系统 | |
CN113593661B (zh) | 临床术语标准化方法、装置、电子设备及存储介质 | |
CN112100406B (zh) | 数据处理方法、装置、设备以及介质 | |
CN112883714B (zh) | 基于依赖图卷积和迁移学习的absc任务句法约束方法 | |
CN112530584A (zh) | 一种医疗诊断辅助方法及系统 | |
CN115221846A (zh) | 一种数据处理方法及相关设备 | |
CN114065848A (zh) | 一种基于预训练情感嵌入的中文方面级别情感分类方法 | |
CN114756687A (zh) | 基于自学习实体关系联合抽取的钢铁产线设备诊断方法 | |
Puscasiu et al. | Automated image captioning | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN116975350A (zh) | 图文检索方法、装置、设备及存储介质 | |
CN113704392A (zh) | 文本中实体关系的抽取方法、装置、设备及存储介质 | |
CN115374771A (zh) | 文本标签确定方法及装置 | |
CN112216379A (zh) | 一种基于智能联合学习的疾病诊断系统 | |
Huang et al. | FFKD-CGhostNet: A novel lightweight network for fault diagnosis in edge computing scenarios | |
Tannert et al. | FlowchartQA: the first large-scale benchmark for reasoning over flowcharts | |
CN114881038B (zh) | 基于跨度和注意力机制的中文实体与关系抽取方法及装置 | |
CN117952206B (zh) | 一种知识图谱链路预测方法 | |
CN116843995A (zh) | 细胞影像学预训练模型构建方法和装置 | |
CN116680407A (zh) | 一种知识图谱的构建方法及装置 | |
CN115905545A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |