一种基于特征张量的中文知识图谱表示学习方法技术

技术编号:24171328 阅读:34 留言:0更新日期:2020-05-16 03:03
本发明专利技术提供了一种基于特征张量的中文知识图谱表示学习方法,该方法包括:数据准备、建立数据结构、构建实体特征向量矩阵、定义标记三元组的关系向量和距离公式、得到训练集、对知识图谱表示学习模型进行训练、更新模型参数、迭代训练,并使用该模型对未标记三元组进行关系预测、再一次迭代训练,直至无法学习到新的未标记三元组。本发明专利技术提出使用中文拼音、字信息、词信息、描述信息组成特征张量,并转换为特征向量,用以替代传统知识表示学习中随机初始化实体向量的方法,充分利用了中文特点。另外,采用双层迭代的方式,对训练语料进行补充,使得关系矩阵能够不断修正,提高知识图谱表示学习模型的精度和收敛速度。

A learning method of Chinese knowledge map representation based on feature tensor

【技术实现步骤摘要】
一种基于特征张量的中文知识图谱表示学习方法
本专利技术涉及知识图谱领域,尤其涉及一种基于特征张量的中文知识图谱表示学习方法。
技术介绍
知识图谱以结构化的形式描述客观世界中概念、实体间的复杂关系,提供了一种更好地组织、管理和理解互联网海量信息的能力。知识图谱技术通常包括知识表示、知识图谱构建和知识图谱应用三个方面的研究内容,其中,知识表示是知识图谱构建和应用的基础,反映人类对客观世界的认知,并能够从不同层次和粒度表达客观世界所呈现的语义。首先要了解人类本身是如何表示知识并利用他们解决问题的,然后将其形式化表示成计算机可以推理和计算的表达形式,建立基于知识的系统,提供智能知识服务。同时,知识表示也需要结合计算机对符号表示、处理和计算的能力。知识表示需要解决的关键问题是1)建立什么样的知识表示形式能够准确地反映客观世界的知识;2)建立什么样的知识表示可以具备语义表示能力;3)知识表示如何支持高效知识推理和计算,从而使知识表示具有得到新知识的推理能力。当前的知识表示方法可以分成基于符号逻辑的知识表示、互联网资源的开放知识表示方法和基于知识图谱的表示学习。1)基于符号逻辑的知识表示:主要包括逻辑表示法、产生式表示法和框架表示等,虽然基于符号逻辑的知识表示技术虽然可以很好地描述逻辑推理,但是由于在推理中机器生成规则的能力很弱,推理规则的获取需要大量的人力,并且对数据的质量要求较高,在目前大规模数据时代,基于符号逻辑的知识表示已经不能很好地解决知识表示的问题。2)万维网内容的知识表示:TimBerners-Lee提出了语义网的概念,在语义网中,网络内容都应该有确定的意义,而且可以很容易地被计算机理解、获取和集成。万维网内容知识表示包括半结构基于标记的置标语言XML、基于RDF万维网资源语义元数据描述框架和基于描述逻辑的OWL本体描述语言等;以及当前在工业界得到大规模应用的基于三元组的知识图谱知识表示方法,三元组可以表示为<h,r,t>,表示头实体h和尾实体t之间存在关系r。这些技术使我们可以将机器理解和处理的语义信息发布在万维网上。但是万维网内容以数百万亿计,这对于知识存储和知识表示学习是一个巨大的挑战。3)表示学习:表示学习的目标是通过机器学习或深度学习将研究对象的语义信息表示为稠密低维的向量。对不同粒度知识单元进行隐式的向量化表示,以支持大数据环境下知识的快速计算。表示学习主要包括张量重构和势能函数的方法。张量重构综合整个知识库的信息,但在大数据环境下张量维度很高,重构的计算量较大;势能函数方法认为关系是头实体向尾实体的一种翻译操作,Bordes等人提出的TransE模型是翻译模型的代表,但缺少了显示的语义信息,尤其是中文这种拥有拼音、结构、字词信息的文字,通过机器学习或深度学习到的中文低维向量仅仅是计算机的参数拟合,缺乏解释性。综上,基于符号逻辑的知识表示和互联网资源的开放知识表示方法使知识具有显示的语义定义,但存在数据稀疏问题,难以实现大规模的知识图谱应用;基于深度学习的知识表示可以将知识单元(实体、关系和规则)映射到低维的连续实数空间表示,但缺少了显示的语义定义。此外,国外对于知识图谱表示的学习研究较多,但仅限于英文知识图谱,由于语言差异,英文单词只有简单的字符串信息、短语信息,在对知识表示进行学习时,只需要随机初始化向量即可,而中文则包含了丰富的语义信息,现有的研究方法无法在中文知识图谱上取得良好的效果,目前国内主要还停留在如何构建知识图谱的阶段,缺乏对中文知识图谱表示学习的研究。
技术实现思路
针对上述问题,本专利技术提出一种基于特征张量的中文知识图谱表示学习方法,相比较于随机初始化向量,本专利技术引入中文拼音、字、词、描述信息四个特征作为中文显示语义信息构成特征张量,使得中文知识图谱表示的学习过程变得可解释,并且与深度学习相结合,将学习的知识表示映射到低维连续实数空间,便于对中文知识及其之间的关系进行学习。本专利技术提出的一种基于特征张量的中文知识图谱表示学习方法,包括如下步骤:步骤1)数据准备将来自一个开放的中文链接数据集zhishi.me的数据构成三元组数据,所述三元组数据由大量三元组组成,三元组形如<h,r,t>,h表示头实体,t表示尾实体,r表示头实体h和尾实体t之间的关系;步骤2)建立数据结构将所述三元组数据分为标记三元组和未标记三元组,并构建字典、实体词典、关系词典、实体拼音矩阵、字嵌入矩阵、词嵌入矩阵和描述矩阵的数据结构;步骤3)构建实体特征向量矩阵对于每个标记三元组中的实体,首先由实体拼音向量、字向量、词向量和描述向量构成实体的特征张量;并将标记三元组中的所有实体的特征张量转换为实体的特征向量,并按实体词典的顺序构建实体特征向量矩阵;步骤4)取一个标记三元组Tl=<h,r,t>,通过实体特征向量矩阵得到头实体h和尾实体t的特征向量hft和tft,为了表示实体h与实体t存在关系r,即h+r=t,所以标记三元组Tl=<h,r,t>的关系向量可表示为:r=tft-hft为了计算实体h和实体t之间的距离,通过向量转换来表示实体之间的关系,采用欧式距离定义三元组<h,r,t>的距离公式为:其中下标“2”表示2范数,即欧几里得范数,上标“2”表示求平方;步骤5)将标记三元组作为训练集,并初始化实体向量,即实体特征向量矩阵,初始化关系向量,构建关系向量矩阵,顺序与关系词典一致,关系计算由公式r=tft-hft得到,若有多个实体对存在同一个关系,则关系向量为多个实体对向量差值取平均,对所有的关系向量初始化后要进行归一化,使得精度提高,并且收敛加强;步骤6)在所述训练集中随机选取一个正三元组<h,r,t>,在负三元组中将<h′,r,t>和<h,r,t′>选出,与<h,r,t>组成元组对,构成一个训练批次Tbatch=[(<h,r,t>,<h′,r,t>),(<h,r,t>,<h,r,t′>)],采用Sp={<h,r,t>}表示正三元组,Sf={<h′,r,t>|h′∈E,<h,r,t′>|t′∈E}表示负三元组,将Tbatch作为知识图谱表示学习模型的输入,对Tbatch进行知识图谱表示学习训练,其中,E表示实体集合,结合公式所述知识图谱表示学习模型的损失函数定义为:其中γ是大于0的间隔距离参数,是一个超参数,[x]+表示正值函数,即当x>0时,[x]+=x;当x≤0时,[x]+=0;这种训练方法叫做margin-basedrankingcriterion,目的是将正三元组和负三元组尽可能地分开,找出最大距离的支持向量;步骤7)采用随机梯度下降(SGD)对知识图谱表示学习模型参数进行更新,梯度更新只需计算距离d(h+r,t)和d(h′+r,t′),设一共有|E|个实体和|R|个关系本文档来自技高网
...

【技术保护点】
1.一种基于特征张量的中文知识图谱表示学习方法,其特征在于,该方法包括如下步骤:/n步骤1)数据准备/n将来自一个开放的中文链接数据集zhishi.me的数据构成三元组数据,所述三元组数据由大量三元组组成,三元组形如<h,r,t>,其中h表示头实体,t表示尾实体,r表示头实体h和尾实体t之间的关系;/n步骤2)建立数据结构/n将所述三元组数据分为标记三元组和未标记三元组,并构建字典、实体词典、关系词典、实体拼音矩阵、字嵌入矩阵、词嵌入矩阵和描述矩阵的数据结构,其中,/n标记三元组:在所述中文链接数据集zhishi.me中随机抽取三元组数据,得到一个三元组数据集合,将所述三元组数据集合中的所有三元组作为正三元组,将每个正三元组的头实体或尾实体去掉,并随机在实体词典中选择一个不同于自身的实体代替,构成负三元组,每次只替换三元组中的一个实体,这样才有对照性,对上述这些三元组进行标记,将正三元组标记为1,负三元组标记为0;/n未标记三元组:所述中文链接数据集zhishi.me中任意未标记的三元组;/n字典:所述中文链接数据集zhishi.me中出现的所有字,包括所有的头实体、尾实体和关系构成的字典,字典形式为“字:序列号”,序列号为数字,从零开始递增;/n实体词典:所述中文链接数据集zhishi.me中的实体集合,采用E表示,其包括所有的头实体和尾实体构成的词典,词典形式为“实体名:序列号”,序列号为数字,从零开始递增;/n关系词典:所述中文链接数据集zhishi.me中的关系集合构成的词典,词典形式为“关系名:序列号”,序列号为数字,从零开始递增;/n实体拼音矩阵:为解决多音字不同含义的问题,调用百度翻译API得到实体拼音,构建实体拼音矩阵,所述实体拼音矩阵的行数与所述实体词典中实体数量一致,所述实体拼音矩阵每行为使用one-hot编码方式得到的实体拼音向量;/n字嵌入矩阵:所述字嵌入矩阵的行数与所述字典中的字数一致,所述字嵌入矩阵每行为使用word2vec得到的字向量;/n词嵌入矩阵:所述词嵌入矩阵的行数与所述实体词典中实体数量一致,所述词嵌入矩阵每行为使用word2vec得到的词向量;/n描述矩阵:所述描述矩阵的行数与所述实体词典中实体数量一致,调用百度百科API获到实体描述信息,将实体描述信息输入双向长短期记忆网络(Bi-directional LongShort-Term Memory,BiLSTM)编码得到实体描述向量,该实体描述向量引入了实体描述信息,可以解决中文同义词的问题;/n步骤3)构建实体特征向量矩阵/n对于每个标记三元组中的实体,首先由实体拼音向量、字向量、词向量和实体描述向量构成实体的特征张量;并将标记三元组中的所有实体的特征张量转换为实体的特征向量,并按所述实体词典的顺序构建实体特征向量矩阵;/n步骤4)取一个标记三元组T...

【技术特征摘要】
1.一种基于特征张量的中文知识图谱表示学习方法,其特征在于,该方法包括如下步骤:
步骤1)数据准备
将来自一个开放的中文链接数据集zhishi.me的数据构成三元组数据,所述三元组数据由大量三元组组成,三元组形如<h,r,t>,其中h表示头实体,t表示尾实体,r表示头实体h和尾实体t之间的关系;
步骤2)建立数据结构
将所述三元组数据分为标记三元组和未标记三元组,并构建字典、实体词典、关系词典、实体拼音矩阵、字嵌入矩阵、词嵌入矩阵和描述矩阵的数据结构,其中,
标记三元组:在所述中文链接数据集zhishi.me中随机抽取三元组数据,得到一个三元组数据集合,将所述三元组数据集合中的所有三元组作为正三元组,将每个正三元组的头实体或尾实体去掉,并随机在实体词典中选择一个不同于自身的实体代替,构成负三元组,每次只替换三元组中的一个实体,这样才有对照性,对上述这些三元组进行标记,将正三元组标记为1,负三元组标记为0;
未标记三元组:所述中文链接数据集zhishi.me中任意未标记的三元组;
字典:所述中文链接数据集zhishi.me中出现的所有字,包括所有的头实体、尾实体和关系构成的字典,字典形式为“字:序列号”,序列号为数字,从零开始递增;
实体词典:所述中文链接数据集zhishi.me中的实体集合,采用E表示,其包括所有的头实体和尾实体构成的词典,词典形式为“实体名:序列号”,序列号为数字,从零开始递增;
关系词典:所述中文链接数据集zhishi.me中的关系集合构成的词典,词典形式为“关系名:序列号”,序列号为数字,从零开始递增;
实体拼音矩阵:为解决多音字不同含义的问题,调用百度翻译API得到实体拼音,构建实体拼音矩阵,所述实体拼音矩阵的行数与所述实体词典中实体数量一致,所述实体拼音矩阵每行为使用one-hot编码方式得到的实体拼音向量;
字嵌入矩阵:所述字嵌入矩阵的行数与所述字典中的字数一致,所述字嵌入矩阵每行为使用word2vec得到的字向量;
词嵌入矩阵:所述词嵌入矩阵的行数与所述实体词典中实体数量一致,所述词嵌入矩阵每行为使用word2vec得到的词向量;
描述矩阵:所述描述矩阵的行数与所述实体词典中实体数量一致,调用百度百科API获到实体描述信息,将实体描述信息输入双向长短期记忆网络(Bi-directionalLongShort-TermMemory,BiLSTM)编码得到实体描述向量,该实体描述向量引入了实体描述信息,可以解决中文同义词的问题;
步骤3)构建实体特征向量矩阵
对于每个标记三元组中的实体,首先由实体拼音向量、字向量、词向量和实体描述向量构成实体的特征张量;并将标记三元组中的所有实体的特征张量转换为实体的特征向量,并按所述实体词典的顺序构建实体特征向量矩阵;
步骤4)取一个标记三元组Tl=<h,r,t>,通过所述实体特征向量矩阵得到头实体h和尾实体t的特征向量hft和tft,为了表示实体h与实体t存在关系r,即h+r=t,所以标记三元组Tl=<h,r,t>的关系向量可表示为:
r=tft-hft
为了计算实体h和实体t之间的距离,通过向量转换来表示实体之间的关系,采用欧式距离定义三元组<h,r,t>的距离公式为:



其中下标“2”表示2范数,即欧几里得范数,上标“2”表示求平方;
步骤5)将所有标记三元组作为训练集,并初始化实体向量,即实体特征向量矩阵,初始化关系向量,构建关系向量矩阵,所述关系向量矩阵的顺序与所述关系词典一致,关系计算由公式r=tft-hft得到,若有多个实体对存在同一个关系,则关系向量为多个实体对向量差值取平均,对所有的关系向量初始化后要进行归一化,使得精度提高,并且收敛加强;
步骤6)在所述训练集中随机选取一个正三元组<h,r,t>,在负三元组中将<h′,r,t>和<...

【专利技术属性】
技术研发人员:李巧勤郑子强刘勇国杨尚明
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1