一种知识图谱自动补全和更新的方法

文档序号:31466476发布日期:2022-09-09 21:30阅读:642来源:国知局
一种知识图谱自动补全和更新的方法

1.本发明涉及了人工智能以及自然语言处理领域,通过将知识图谱(knowledgegraph)与基于自然语言处理领域(naturallanguageprocessing)的文本生成技术相结合,提出了一种知识图谱自动补全和更新的方法。


背景技术:

2.随着人工智能技术发展,许多优秀的技术被提出,整个领域取得了迅猛的发展。知识图谱(knowledgegraph)的概念在2012年由谷歌提出,其本质是结构化的语义网络,是一种以节点和边的形式将不同类型的实体、概念有结构地组合构成的图数据结构,其初期目的是为了提高搜索引擎的搜索质量以提升用户体验。而随着大数据技术的发展,互联网中的信息数据规模已经达到了难以估量的程度。因此,知识图谱还能用于很好的组织和管理互联网信息。作为一种新型的数据表示方式,其基本结构由“实体-关系-实体”和“实体-属性-属性值”两种三元组形式组成,由于其特性,知识图谱目前被广泛运用在搜索、问答、个性化推荐等领域,同时也被广泛运用到了金融、保险、医疗以及移动电子商务等各个领域。
3.文本生成技术是一类宏观的深度学习技术,发展出了一系列通用的模型,如seq2seq模型、attention机制、变分自编码器等。许多针对文本生成技术的研究是在具体的任务中进行的,典型的任务包括机器翻译、文本摘要、自动评论、对话系统等。在具体任务中的文本生成模型往往以通用的文本生成模型作为框架或基础,并根据任务的不同进行不同的模型设计。
4.虽然nlg和知识图谱这些技术已经趋于成熟,但是将这两项技术相结合的应用相对较少。在知识图谱的基础上,通过结合一些自然语言生成nlg的技术,使得知识图谱能够根据现有实体和关系,自动生成相关的实体,为决策提供辅助建议;或者根据知识图谱中部分缺失的三元组,自动补全三元组中缺失的信息,从而体现出图谱的智能的特性。为了使知识图谱中生成的实体之间具有更好的语义逻辑相关性,需要提高神经网络模型的性能,使得通过神经网络模型生成的结果语法准确,语义相近,符合知识图谱中实体之间的逻辑关系。在面临数据的稀疏性、自然语言的语义复杂性和知识源的异构性等难点下,如何提高神经网络模型生成的结果的语法准确性和任务相关性仍具有研究意义。因此,开展对知识图谱和语义逻辑模型的研究与构建具有重要的学术价值和应用价值。


技术实现要素:

5.本发明的目的在于提供一种医药领域的知识图谱自动补全和更新的方法。
6.本发明的目的通过如下技术方案来实现:
7.步骤1:构建知识图谱;
8.获取医药相关领域的历史数据通过爬虫,进行数据清洗、信息抽取、信息整合及构建图数据库,通过以上步骤构建知识图谱;
9.步骤2:根据获取到的数据信息,通过数据预处理建立字典和索引,选择不同的模
型对数据进行训练,得到达到预定指标的模型,同时确定评价指标,评估不同模型下的预测结果;
10.步骤3:根据步骤1构建知识图谱,自动选取残缺的三元组相关联的实体和关系,经过数据处理得到模型的原始输入,放入步骤2训练完成的神经网络模型中,得到输出结果;
11.步骤4:将步骤3中的输出结果通过信息抽取、信息整合的步骤导入图数据库中,达到自动补全和更新知识图谱的效果。
12.进一步地,步骤1具体包括以下步骤:
13.步骤1.1:通过网络爬虫、公开数据集及专家建的方式获取医药领域的原始数据;
14.步骤1.2:对原始数据进行数据清洗,删除无效数据;
15.步骤1.3:利用信息抽取技术从清洗完成的数据中抽取构建知识图谱所需的实体信息、关系信息、属性信息、属性值信息以及实体之间的相互关系;
16.步骤1.4:通过信息整合方法,对步骤1.3中抽取得到的各种信息进行整合;
17.步骤1.5:构建数据库,将信息整合完成的三元组存放到图数据库中,完成知识图谱的构建;如果构建完成的知识图谱中出现三元组信息缺失,对三元组信息进行补全和更新。
18.进一步地,步骤2具体包括以下步骤:
19.步骤2.1:对获取的原始数据进行数据清洗,得到所需的语料;
20.步骤2.2:对语料进行预处理,包括格式化、分词、稀疏词处理、构建词典、建立索引、词向量训练;
21.其中建立索引时,在数据处理阶段采用word2vector模型,将每个词语映射成定长的向量,并通过向量间的距离表征不同词之间的相关程度;
22.步骤2.3:对步骤2.2中建立完成索引的数据进行划分和验证,构建数据集;
23.步骤2.4:定义损失函数,构建神经网络模型;
24.在训练过程中,通过定义损失函数评估预测结果和正确值之间的差距;模型训练时选择词粒度作为单元特征,在对句子进行分词时,采用jieba进行分词;
25.使用负采样确定需要输出的词语作为正样本,最终需要保留,模型在除了正样本外的剩余词语中选取少量词作为负样本;在对负样本进行采样时采用的分布为噪声分布,写作pn(w),在此过程中生成新词wo的损失为公式:
[0026][0027]
其中,wo为正样本,为正样本对应参数,s为解码器的隐藏状态,w
neg
为负样本的集合,生成新句子的整个损失公式为:
[0028][0029]
构建神经网络模型时采用lstm网络,lstm通过增加遗忘机制与保存机制,将长期记忆聚焦于工作记忆,不再始终保存全部长期记忆;
[0030]
步骤2.5:训练模型,对算法训练进行网络层调参直到达到预期的效果,获得有泛化能力的模型;
[0031]
步骤2.6:使用训练完成的模型进行预测,通过在步骤2.3中的测试集中选取相应的数据作为输入得到对应的输出,并通过测试集评价该模型预测的准确率。
[0032]
本发明的有益效果在于:
[0033]
本发明针对智能问答领域知识图谱中可能存在的三元组关系缺失或者知识图谱规模较小等问题,从数据融合,模型构建,算法学习等角度,构建一个神经网络模型,将知识图谱和神经网络模型融合,实现了智能问答领域的知识图谱中的三元组信息的补全和自动更新,可以为应用知识图谱的后续分析提供支撑。
[0034]
本发明通过处理原始数据构建知识图谱和用于文本生成的神经网络模型,将知识图谱中相近的实体和关系或者知识图谱中缺失的三元组作为模型的输入,利用神经网络模型的输出更新存储到图数据库中达到知识图谱自动补全和更新的目的。此外,本技术可以应用到一些实际的场景中如天气预测,智能聊天等。
附图说明
[0035]
图1是本发明进行知识图谱自动补全和更新的流程图;
[0036]
图2是本发明在数据处理阶段所采用的skip-gram模型图示例;
[0037]
图3是本发明在数据处理阶段所采用的cbow模型图示例。
具体实施方式
[0038]
下面结合附图对本发明做进一步描述。
[0039]
本发明通过将知识图谱(knowledgegraph)与基于自然语言处理领域(naturallanguageprocessing)的文本生成技术相结合,提出了一种知识图谱自动补全和更新的方法。
[0040]
如图1所示,本发明需要以下步骤来实现,主要包括知识图谱的构建、神经网络模型的构建以及神经网络模型的结果更新到知识图谱中。
[0041]
步骤1:构建知识图谱。获取医药相关领域的历史数据,进行数据清洗、信息抽取、信息整合、构建图数据库以上步骤来构建知识图谱。包括以下步骤:
[0042]
步骤1.1:通过网络爬虫、公开数据集、专家建议等方式收集获取医药相关领域的原始数据;
[0043]
步骤1.2:对原始数据进行数据清洗,删除无关数据、重复数据等无效数据;
[0044]
步骤1.3:利用信息抽取技术从清洗完成的数据中抽取构建知识图谱所需的实体信息、关系信息、属性信息、属性值信息以及实体之间的关系;
[0045]
步骤1.4:通过信息整合方法,对步骤1-3中抽取得到的各种信息进行整合,以消除矛盾和歧义;
[0046]
步骤1.5:构建图数据库,将信息整合完成的三元组《头实体-关系-尾实体》《实体-属性-属性值》(如《糖尿病,症状,烦渴、多饮》,《糖尿病,成因,胰岛素分泌不足》,《糖尿病,描述,内分泌代谢性疾病》,《糖尿病,治疗方式,控制饮食、配合运动》等)存放到图数据库中,完成医药领域知识图谱的构建。需要注意的是,由于数据的不完备,可能导致构建完成的知识图谱中出现三元组信息缺失的问题,因此需要对三元组信息进行补全和更新;
[0047]
步骤2:根据获取到的医药领域的数据信息,通过数据预处理建立字典和索引,选
择不同的模型对数据进行训练,得到达到预定指标的模型。同时确定评价指标,评估不同模型下的预测结果。包括如下步骤:
[0048]
步骤2.1:对收集得到的原始数据进行数据清洗,得到所需要的语料;
[0049]
步骤2.2:对语料进行预处理,包括格式化、分词、稀疏词处理、构建词典、建立索引、词向量训练;
[0050]
其中在建立索引时,由于独热码(onehotencoding)并不能很好地表示词间的相似度如余弦相似度,且如果词汇表|v|较大,会造成存储空间爆炸等现象。在数据处理阶段,采用word2vector模型,将每个词语映射成定长的向量,并能够通过向量间的距离表征不同词之间的相关程度。其主要包含跳字模型(skip-gram)与连续词袋模型(continuousbagofwords,cbow)。本例中采用跳字模型;
[0051]
假设基于某个中心词生成其在文本序列的上下文。举例说明文本序列假设为“糖尿病是一种内分泌代谢性疾病”,以“一种”为中心词,窗口大小为2。
[0052]
该模型关心在给定中心词一种后,生成与它距离小于等于2的背景词的生成概率,即p(“糖尿病”,”是”,”内分泌代谢性”,”疾病”|”一种”)。假设背景词的生成相互独立,p(“糖尿病”|”一种”)*p(“是”|”一种”)*p(“内分泌代谢性”|”一种”)*p(“疾病”|”一种”)为分解计算步骤。
[0053]
在该模型中,每个词语都被映射为两个d维向量计算条件概率,假设该词在词典中索引位置为d,如为中心词则向量表示为vi∈rd,背景词向量表示为ui∈rd。设中心词wc在词典中索引为c,背景词索引为o,则得条件概率公式为
[0054][0055]
词典索引集合为v={0,1,...,|v|-1},当背景词为m时,skip-gram模型的似然函数为
[0056][0057]
步骤2-2的另一个可选方案为使用连续词袋(cbow)模型。cbow模型与skip-gram模型最大的区别在于其基于上下文生成中心词。在使用同样的文本序列时,其生成概率为p(“一种”|”糖尿病”,”是”,”内分泌代谢性”,”疾病”)。由于背景词存在多个,因而在计算时取平均,其条件概率公式为:
[0058][0059]
给定词汇表|v|的情况下,似然函数为如公式所示:
[0060][0061]
步骤2-3、为模型训练构建数据集
[0062]
对步骤2-2中的得到的数据进行划分处理,根据比例划分训练集和验证集,构建训练所用的数据集
[0063]
步骤2-4、定义损失函数(lossfunction),构建神经网络模型
[0064]
在训练过程中,通过定义损失函数来评估预测结果和正确值之间的差距。在模型
训练时,若使用汉字粒度作为单元特征会导致数据稀疏与长依赖的问题,因此在训练模型时选择词粒度作为单元特征。在对句子进行分词时,一种可选的方案是采用jieba进行分词。
[0065]
使用负采样(negativesampling)将确定需要输出的词语作为正样本,最终需要保留,模型在除了正样本外的剩余词语中选取少量词作为负样本。在对负样本进行采样时采用的分布为噪声分布,写作pn(w),在此过程中生成新词wo的损失如公式(7)所示:
[0066][0067]
其中,wo为正样本,为正样本对应参数,s为解码器的隐藏状态,w
neg
为负样本的集合。生成新句子的整个损失公式如公式(8)所示:
[0068][0069]
在构建神经网络模型时,一个可选的方案是采用lstm网络。lstm通过增加遗忘机制与保存机制,将长期记忆聚焦于工作记忆,不再始终保存全部长期记忆,有效地防止了长依赖的问题。
[0070]
步骤2-5、训练模型,对算法训练进行网络层调参直到达到预期的效果,获得具有一定泛化能力的模型。模型的效果如下:对给定输入的残缺的三元组信息,通过模型输出得到相关联的结果,达到补全三元组的效果。
[0071]
步骤2-6、使用训练完成的模型进行预测,通过在测试集中选取相应的数据作为输入得到对应的输出,并通过测试集来评价该模型预测的准确率。
[0072]
以上步骤完成了模型的训练,通过在步骤2-3中的测试集中选取数据来对模型预测的准确性进行评估。
[0073]
步骤3:根据步骤1中构建的医药领域知识图谱,通过自动选取图谱中残缺的三元组相关联的实体和关系,经过数据处理得到模型的原始输入,放入训练完成的神经网络模型中,通过模型得到输出结果。训练完成的模型会根据原始的输入得到相关的输出。模型的输出结果以json格式的数据进行存放。对知识图谱中的一个三元组进行举例:对于“糖尿病”“疾病”作为模型的输入,经过模型的预测,一个可能的输出结果为“糖尿病是一种内分泌代谢性疾病”。
[0074]
步骤4:将步骤3中的模型的输出结果通过信息抽取、ner得到所需要的三元组中的实体或者关系,对于步骤3中的一个输出结果将“内分泌代谢性”这一实体属性通过信息整合的方式更新到知识图谱中,之后通过信息整合构建完整三元组,将三元组导入图数据库中完成知识图谱的更新,以达到原始知识图谱的自动补全或更新的效果。
[0075]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1