本发明涉及信息处理技术领域,具体涉及一种基于多种语言的实体关系抽取方法及服务器。
背景技术:
随着社会飞速发展,我们已经进入信息爆炸时代,每天都会有海量新的实体与信息产生。互联网作为当今最为便捷的信息获取平台,用户对有效信息筛选与归纳的需求日益迫切,如何从海量数据中获取有价值的信息成为一个难题。
为了结构化地对现实世界的知识进行存储和处理,人们建立了很多大规模的知识图谱,例如wikidata和dbpedia等。知识图标将世界上所有人物、地名、机构名等专有名词与事物表示为实体,将实体之间的内在联系表示为关系,旨在将数据库中的海量知识表示为实体之间的利用关系,例如,“纽约是美国的一座城市”这一知识,在知识图谱中则利用三元组关系(纽约,是……的一座城市,美国)进行表示,“纽约”和“美国”为实体,“是……的一座城市”为关系。目前,关系抽取作为一种从自然文本中抽取有结构数据的方法,得到了广泛应用。现有关系抽取都需要大量的人工标注数据,非常的耗时耗力。针对这个问题,基于远程监督的关系抽取方法提出可以通过对纯文本和知识库之间进行对其来自动产生训练数据。但是,这种远程监督产生的训练数据存在一个严重的问题,就是产生的训练数据噪音非常严重,因为并不是所有的包含两个实体的句子都会反映他们两者之间的关系。为了降低噪声,传统非神经网络的方法通常通过概率图模型的方法优化句子与两个实体关系之间关系。而上述关系抽取的方法,专注于在单语言数据上进行关系抽取,并没有涉及到对多语言数据进行关系提取。
因此,如何提出一种方法,能够基于多种语言资源,提高两个实体间关系抽取的准确性成为业界亟待解决的重要课题。
技术实现要素:
针对现有技术中的缺陷,本发明提供一种基于多种语言的实体关系抽取方法及服务器。
一方面,本发明提出一种基于多种语言的实体关系抽取方法,包括:
在多种语言中获取待抽取关系的两个实体以及在每种语言中第一预设数量的与所述两个实体相关的句子,并构建每个与所述两个实体相关的句子的向量表示;
根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示;
根据各个所述综合向量表示以及预先建立的关系抽取模型,在所述预设的所述两个实体间的关系中抽取所述两个实体间的关系。
另一方面,本发明提供一种服务器,包括:
第一构建单元,用于在多种语言中获取待抽取关系的两个实体以及在每种语言中第一预设数量的与所述两个实体相关的句子,并构建每个与所述两个实体相关的句子的向量表示;
第一获得单元,用于根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示;
抽取单元,用于根据各个所述综合向量表示以及预先建立的关系抽取模型,在所述预设的所述两个实体间的关系中抽取所述两个实体间的关系。
本发明提供的基于多种语言的实体关系抽取方法及服务器,由于能够在多种语言中获取待抽取关系的两个实体以及与两个实体相关的句子,并构建与两个实体相关的句子的向量表示,再结合预设的两个实体间的关系的向量表示,获得在一种语言中与两个实体相关的句子相对于任意一种语言的综合向量表示,再根据综合向量表示以及预先建立的关系抽取模型,在预设的两个实体间的关系中获取到两个实体间的关系,提高了两个实体间关系抽取的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例基于多种语言的实体关系抽取方法的流程示意图;
图2为本发明另一实施例基于多种语言的实体关系抽取方法的流程示意图;
图3为本发明又一实施例基于多种语言的实体关系抽取方法的流程示意图;
图4为本发明再一实施例基于多种语言的实体关系抽取方法的流程示意图;
图5为本发明一实施例服务器的结构示意图;
图6为本发明另一实施例服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于以下两点原因,不同语言的资源可以提高两个实体间关系的抽取效果。第一、不同语言的资源拥有相互补充性。例如,包括两个实体的句子在一种语言中比在另一种语言中拥有更多的实例,对所述两个实体进行关系抽取时,拥有实例较多的语言可以对拥有实例较少的语言进行补充。第二、不同语言的资源拥有一致性。世界上不同语言地区的人们用不同的语言描述知识,由于拥有相似的经历和认知系统,使用不同语言的人们对世界上的知识拥有相似的认知。例如,对于中文中的“美国”、“纽约”和英文中的“unitedstates”,“newyork”,无论美国人还是中国人都认为“纽约是美国的一座城市”。
图1为本发明一实施例基于多种语言的实体关系抽取方法的流程示意图,如图1所示,本发明提供的基于多种语言的实体关系抽取方法,包括:
s101、在多种语言中获取待抽取关系的两个实体以及在每种语言中第一预设数量的与所述两个实体相关的句子,并构建每个与所述两个实体相关的句子的向量表示;
具体地,服务器在对给定的两个实体进行关系抽取时,在多种语言中获取在每种语言中第一预设数量的与所述两个实体相关的句子,所述给定的两个实体即待抽取关系的两个实体,如果句子中包括所述两个实体,那么所述句子与所述两个实体相关。所述服务器在获取到所述两个实体以及与所述两个实体相关的句子之后,构建每个与所述两个实体相关的句子的向量表示。其中,所述第一预设数量根据实际情况进行设定,本发明实施例不做限定。可理解是是,所述两个实体在所述多种语言中有不同的表示,例如“美国”在中文可以表示为“美国”,在英语中可以表示为“america”。
s102、根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示;
具体地,所述服务器在构建所述多种语言中的每个与所述两个实体相关的句子的向量表示之后,可以从中获得所述多种语言中的某一种语言中每个与所述两个实体相关的句子的向量表示。所述服务器获得预设的两个实体间的关系,例如可以从知识图谱wikidata和dbpedia中获得所述两个实体间的关系,再将所述两个实体间的关系转化为向量表示,即获得了预设的所述两个实体间的关系的向量表示。所述服务器根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示。其中,所述两个实体间的关系在所有语言中都是相同的。
s103、根据各个所述综合向量表示以及预先建立的关系抽取模型,在所述预设的所述两个实体间的关系中抽取所述两个实体间的关系。
具体地,所述服务器根据获得的所述两个实体对应的各个所述综合向量表示以及关系抽取模型,在所述预设的所述两个实体间的关系中抽取两个实体间的关系。其中,所述关系抽取模型预先建立的。
本发明提供的基于多种语言的实体关系抽取方法,由于能够在多种语言中获取待抽取关系的两个实体以及与两个实体相关的句子,并构建与两个实体相关的句子的向量表示,再结合预设的两个实体间的关系的向量表示,获得在一种语言中与两个实体相关的句子相对于任意一种语言的综合向量表示,再根据综合向量表示以及预先建立的关系抽取模型,在预设的两个实体间的关系中获取到两个实体间的关系,提高了两个实体间关系抽取的准确性。
图2为本发明另一实施例基于多种语言的实体关系抽取方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,所述构建每个与所述两个实体相关的句子的向量表示包括:
s1011、分别构建所述句子中每个词的词向量,所述词向量为所述词的内容向量和位置向量的拼接;
具体地,所述服务器采用卷积神经网络分别构建所述句子中每个词的词向量,所述卷积神经网络的输入为所述句子中包括的所有的词。所述服务器首先将所述词转化为连续的向量表示,每一个词转化为所述词向量矩阵中的向量,所述词向量由所述词的内容向量和位置向量拼接而成。所述内容向量用于刻画每个词的语法和语义信息,可以采用word2vec学习得到;所述位置向量用于刻画所述词在所述句子中的位置信息,定义为所述句子中的每个词与所述句子的头实体、尾实体之间的相互位置差的向量表示。
s1012、根据所述句子对应的所有词向量,获得所述句子的向量表示。
具体地,所述服务器将所述句子的一个词向量序列w和卷积矩阵w之间进行操作,即卷积操作。所述卷积操作可以通过一个长度为l的滑动窗口对局部特征进行提取。定义qi为第i个窗口内部的所述词向量的拼接信息:qi=wi-1+1:i,然后得到所述句子的的第i维特征为:
在上述各实施例的基础上,进一步地,所述根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示包括:采用语言选择注意力机制获得所述综合向量表示,其中:
根据公式
根据公式
根据公式
具体地,所述服务器将语言j中的与所述两个实体相关的第i句子的向量表示表示为
图3为本发明又一实施例基于多种语言的实体关系抽取方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,所述根据各个所述综合向量表示以及预设的关系抽取模型,在所述预设的所述两个实体间的关系中抽取所述两个实体间的关系包括:
s1031、根据各个所述综合向量表示以及所述关系抽取模型,计算获得所述两个实体间关系的评分值;
具体地,所述服务器在获得各个所述综合向量表示之后,将所述各个综合向量表示输入到所述关系抽取模型中,可以计算获得所述两个实体间关系的评分值。
例如,基于m种语言资源,服务器可以获得所述两个实体的m×m个所述综合向量表示t={sjk∣j,k∈{1,…,m}。通过模型训练可以获得所述关系抽取模型
s1032、若判断获知所述评分值大于预设值,则获取与所述评分值对应的所述两个实体之间的关系。
具体地,所述服务器将计算获得的所述评分值与预设值比较,如果所述评分值大于所述预设值,那么获取与所述评分值对应的所述两个实体之间的关系。其中,所述预设值根据实际需要进行设定,本发明实施例不做限制。
图4为本发明再一实施例基于多种语言的实体关系抽取方法的流程示意图,如图4所示,在上述各实施例的基础上,进一步地,建立所述关系抽取模型的步骤包括:
s401、在所述多种语言中,获取第二预设数量的实体对,所述第二预设数量的实体对中包括所述两个实体;
具体地,所述服务器在所述多种语言中,获取第二预设数量的实体对,所述两个实体包括在所述第二预设数量的实体对中。其中,所述第二预设数量根据实际情况进行设定,本发明实施例不做限定。
s402、在每种种语言中,获得第三预设数量的与每个实体对相关的句子,并构建每个与所述每个实体对相关的句子的向量表示;
具体地,所述服务器基于多种语言资源,在每种语言中获得第三预设数量的与每个实体对相关的句子,其中,所述第三预设数量可以为10,即在每种语言中对所述每个实体获取10个与其相关的句子。然后,构建每个与所述每个实体对相关的句子的向量表示,例如,对于某对实体,在一种语言中获得了10个与其相关的句子,则需要构建10个与所述某对实体相关的句子的向量表示。对于与所述每个实体对相关的句子的向量表示的构建方法,与步骤s101类似,此处不再赘述。
s403、根据所述某一种语言中每个与所述每个实体对相关的句子的向量表示以及所述预设的每个实体对间的关系的向量表示,获得所述某一种语言中与所述每个实体对相关的句子相对于所述多种语言中任一种语言的综合向量表示;
具体地,所述服务器可以从所述多种语言每个与所述每个实体对相关的句子的向量表示中,获得所述某一种语言中每个与所述每个实体对相关的句子的向量表示。所述服务器获得所述预设的两个实体间的关系,例如可以从知识图谱wikidata和dbpedia中获得所述两个实体间的关系,再将所述两个实体间的关系转化向量表示,即获得了所述预设的两个实体间的关系的向量表示。所述服务器根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示。所述综合向量表示的具体获得方法,与步骤s102类似,此处不再赘述。
s404、根据所述第二预设数量的实体对对应的所述综合向量表示以及设定的评分函数,采用随机梯度下降算法最大化所述评分函数,获得所述关系抽取模型。
具体地,所述服务器在获得所述第二预设数量的实体对对应的所述综合向量表示之后,将每个实体对对应的所述综合向量表示输入到设定评分函数中,再采用随机梯度下降算法最大化所述评分函数,可以通过迭代计算获得所述评分函数中的未知参数,从而获得所述关系抽取模型。
例如,基于m种语言资源和所述第二预设数量的实体对,服务器可以获得每个实体对的m×m个所述综合向量表示t={sjk∣j,k∈{1,…,m}。设定评分函数为
本发明提供的基于多种语言的实体关系抽取方法,由于能够在多种语言中获取待抽取关系的两个实体以及与两个实体相关的句子,并构建与两个实体相关的句子的向量表示,再结合预设的两个实体间的关系的向量表示,获得在一种语言中与两个实体相关的句子相对于任意一种语言的综合向量表示,再根据综合向量表示以及预先建立的关系抽取模型,在预设的两个实体间的关系中获取到两个实体间的关系,提高了两个实体间关系抽取的准确性。而通过对设定的评分函数进行模型训练,获得关系抽取模型,有利于保证两个实体间关系抽取的准确性。
图5为本发明一实施例服务器的结构示意图,如图5所示,本发明提供的服务器包括:第一构建单元501、第一获得单元502和抽取单元503,其中:
第一构建单元501用于在多种语言中获取待抽取关系的两个实体以及在每种语言中第一预设数量的与所述两个实体相关的句子,并构建每个与所述两个实体相关的句子的向量表示;第一获得单元502用于根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示;抽取单元503用于根据各个所述综合向量表示以及预先建立的关系抽取模型,在所述预设的所述两个实体间的关系中抽取所述两个实体间的关系。
具体地,在对给定的两个实体进行关系抽取时,第一构建单元501在多种语言中获取在每种语言中第一预设数量的与所述两个实体相关的句子,所述给定的两个实体即待抽取关系的两个实体,如果句子中包括所述两个实体,那么所述句子与所述两个实体相关。第一构建单元501在获取到所述两个实体以及与所述两个实体相关的句子之后,构建每个与所述两个实体相关的句子的向量表示。其中,所述第一预设数量根据实际情况进行设定,本发明实施例不做限定。可理解是是,所述两个实体在所述多种语言中有不同的表示,例如“美国”在中文可以表示为“美国”,在英语中可以表示为“america”。
在构建所述多种语言中的每个与所述两个实体相关的句子的向量表示之后,第一获得单元502可以从中获得所述多种语言中的某一种语言中每个与所述两个实体相关的句子的向量表示。第一获得单元502获得预设的两个实体间的关系,例如可以从知识图谱wikidata和dbpedia中获得所述两个实体间的关系,再将所述两个实体间的关系转化向量表示,即获得了预设的所述两个实体间的关系的向量表示。第一获得单元502根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示,其中,所述两个实体间的关系在所有语言中都是一样的。
取单元503根据获得的所述两个实体对应的各个所述综合向量表示以及关系抽取模型,在所述预设的所述两个实体间的关系中抽取所述两个实体间的关系。其中,所述关系抽取模型预先建立的。
本发明提供的服务器,由于能够在多种语言中获取待抽取关系的两个实体以及与两个实体相关的句子,并构建与两个实体相关的句子的向量表示,再结合预设的两个实体间的关系的向量表示,获得在一种语言中与两个实体相关的句子相对于任意一种语言的综合向量表示,再根据综合向量表示以及预先建立的关系抽取模型,在预设的两个实体间的关系中获取到两个实体间的关系,提高了两个实体间关系抽取的准确性。
在上述实施例的基础上,进一步地,第一构建单元501包括:
构建子单元用于分别构建所述句子中每个词的词向量,所述词向量为所述词的内容向量和位置向量的拼接;转化子单元用于根据所述句子对应的所有词向量,获得所述句子的向量表示。
具体地,所述构建子单元采用卷积神经网络分别构建所述句子中每个词的词向量,所述卷积神经网络的输入为所述句子中包括的所有的词。所述构建子单元首先将所述词转化为连续的向量表示,每一个词转化为所述词向量矩阵中的向量,所述词向量由所述词的内容向量和位置向量拼接而成。所述内容向量用于刻画每个词的语法和语义信息,可以采用word2vec学习得到;所述位置向量用于刻画所述词在所述句子中的位置信息,定义为所述句子中的每个词与所述句子的头实体、尾实体之间的相互位置差的向量表示。
转化子单元将将所述句子的一个词向量序列w和卷积矩阵w之间进行操作,即卷积操作。所述卷积操作可以通过一个长度为l的滑动窗口对局部特征进行提取。定义qi为第i个窗口内部的所述词向量的拼接信息:qi=wi-1+1:i,然后得到所述句子的的第i维特征为:
在上述各实施例的基础上,进一步地,第一获得单元502具体用于:
根据公式
具体地,第一获得单元502将语言j中的与所述两个实体相关的第i句子的向量表示表示为
在上述各实施例的基础上,进一步地,抽取单元503包括:
评分计算子单元用于根据各个所述综合向量表示以及所述关系抽取模型,计算获得所述两个实体间关系的评分值;获取子单元用于在判断获知所述评分值大于预设值之后,获取与所述评分值对应的所述两个实体之间的关系。
具体地,所述评分计算子单元在获得各个所述综合向量表示之后,将所述各个综合向量表示输入到所述关系抽取模型中,可以计算获得所述两个实体间关系的评分值。
所述获取子单元将计算获得的所述评分值与预设值比较,如果所述评分值大于所述预设值,那么获取与所述评分值对应的所述两个实体之间的关系。其中,所述预设值根据实际需要进行设定,本发明实施例不做限制。
图6为本发明另一实施例服务器的结构示意图,如图6所示,在上述各实施例的基础上,进一步地,本发明提供的服务器还包括:获取单元504、第二构建单元505、第二获得单元506和第三获得单元507,其中:
获取单元504用于在所述多种语言中,获取第二预设数量的实体对,所述第二预设数量的实体对中包括所述两个实体;第二构建单元505用于在每种种语言中,获得第三预设数量的、与每个实体对相关的句子,并构建每个与所述每个实体对相关的句子的向量表示;第二获得单元506用于根据所述某一种语言中每个与所述每个实体对相关的句子的向量表示以及预设的所述每个实体对间的关系的向量表示,获得所述某一种语言中与所述每个实体对相关的句子相对于所述多种语言中任一种语言的综合向量表示;第三获得单元507用于根据所述第二预设数量的实体对相对的所述综合向量表示以及设定的评分函数,采用随机梯度下降算法最大化所述评分函数,获得所述关系抽取模型。
具体地,获取单元504在所述多种语言中,获取第二预设数量的实体对,所述两个实体包括在所述第二预设数量的实体对中。其中,所述第二预设数量根据实际情况进行设定,本发明实施例不做限定。
第二构建单元505基于多种语言资源,在每种语言中获得第三预设数量的、与每个实体对相关的句子,其中,所述第三预设数量可以为10,即在每种语言中对所述每个实体获取10个与其相关的句子。然后,构建每个与所述每个实体对相关的句子的向量表示,例如,对于某对实体,在一种语言中获得了10个与其相关的句子,则需要构建10个与所述某对实体相关的句子的向量表示。对于与所述每个实体对相关的句子的向量表示的构建方法,与步骤s101类似,此处不再赘述。
第二获得单元506可以从所述多种语言每个与所述每个实体对相关的句子的向量表示中,获得所述某一种语言中每个与所述每个实体对相关的句子的向量表示。第二获得单元506获得所述预设的两个实体间的关系,例如可以从知识图谱wikidata和dbpedia中获得所述两个实体间的关系,再将所述两个实体间的关系转化向量表示,即获得了所述预设的两个实体间的关系的向量表示。第二获得单元506根据某一种语言中每个与所述两个实体相关的句子的向量表示以及预设的所述两个实体间的关系的向量表示,获得所述某一种语言中与所述两个实体相关的句子相对于所述多种语言中任意一种语言的综合向量表示。所述综合向量表示的具体获得方法,与步骤s102类似,此处不再赘述。
第三获得单元507在获得所述第二预设数量的实体对相对的所述综合向量表示之后,将每个实体对相对的所述综合向量表示输入到设定评分函数中,再采用随机梯度下降算法最大化所述评分函数,可以通过迭代计算获得所述评分函数中的未知参数,从而获得所述关系抽取模型。
本发明提供的服务器,由于能够在多种语言中获取待抽取关系的两个实体以及与两个实体相关的句子,并构建与两个实体相关的句子的向量表示,再结合预设的两个实体间的关系的向量表示,获得在一种语言中与两个实体相关的句子相对于任意一种语言的综合向量表示,再根据综合向量表示以及预先建立的关系抽取模型,在预设的两个实体间的关系中获取到两个实体间的关系,提高了两个实体间关系抽取的准确性。而通过对设定的评分函数进行模型训练,获得关系抽取模型,有利于保证两个实体间关系抽取的准确性。
本发明提供的服务器的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
以上所描述的服务器实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。