本发明涉及计算机网络
技术领域:
,特别是指一种知识图谱中实体对齐方法和装置。
背景技术:
实体(概念)对齐也叫同义关系抽取,是指对于异构数据源知识库中的各个实体,找出属于现实世界中的同一实体或概念。随着互联网中开放链接数据和用户生成内容的增长,利用开放链接数据和在线百科可以有效的提升同义关系抽取的准确率和效率。在互联网中,描述同一实体的数据通常会在多个地方出现,例如在不同的百科中存在对同一实体的描述,因此,在构建知识图谱时,尤其当从多类数据源获取实体时,必须把这些描述同一实体的数据进行对齐。在实体对齐相关的研究中,大部分研究都是在多种语言之间进行对齐,例如在英文和中文之间。在现有的知识图谱构建方法中,实体的主要来源是开放链接数据,开放知识库和在线百科,因此,行业知识图谱的实体对齐工作主要就是在这些不同的数据集之间进行。通常同义关系抽取的方法有基于词典的方法、基于词法模式的方法和浅层语义分析。基于词典的方法,词典的编制过程耗时且难以涵盖所有的方面,特别容易产生错误,系统可移植性不好,对于不同行业需要专家重新编制词典,系统建设周期长、移植性差;基于词法模式的方法的依据是自然语言语句中通常有用于描述同义关系的词汇上下文,通常采用基于手工编写模式的方法,也有少数规则学习的方法,该方法也依赖于语言学专家对规则的编写;浅层语义分析是在自然语言处理中一种用于分析文档集合及其包含词汇间关系的技术,通常采用一个“词汇-文档”矩阵描述词汇在文档中的出现情况,其缺点在于无法捕捉一词多义的现象,同时具有词袋模型的缺点,即在一篇文章,或者一个句子中忽略词语的先后顺序。因此,目前在行业知识图谱的实体对齐工作中需要一种准确率高、自动化实现多种数据源实体对齐的方法。技术实现要素:为解决上述技术问题,本发明提供了一种知识图谱中实体对齐方法和装置,能够自动化实现多种数据源实体对齐,同时提高准确率。本发明提供技术方案如下:一方面,本发明提供了一种知识图谱中实体对齐方法,包括:基于同义实体描述方式对不同开放链接数据集中的实体进行对齐;基于百科中的结构化数据和svm分类模型对不同百科中的实体进行对齐;基于语言学模式和开放同义关系抽取模型对非结构化数据中的实体进行对齐;将所述不同开放链接数据集中的实体、不同百科中的实体以及非结构化数据中的实体进行对齐。根据本发明的一实施方式,所述基于同义实体描述方式对不同开放链接数据集中的实体进行对齐的步骤包括:基于同义实体描述方式抽取不同开放链接数据集中同义关系;根据抽取的同义关系对不同开放链接数据集中的实体进行对齐。根据本发明的另一实施方式,所述基于百科中的结构化数据和svm分类模型对不同百科中的实体进行对齐的步骤包括:基于百科中的结构化数据对同一百科中的实体进行对齐,所述百科中的结构化数据包括重定向页面数据和信息模块数据;基于svm分类模型对不同百科中的实体进行对齐;其中,所述实体为百科中的一篇文章,所述实体的名称为文章的标题。根据本发明的另一实施方式,所述基于svm分类模型对不同百科中的实体进行对齐的步骤包括:通过倒排索引方法选取两个或多个相似度高的实体作为候选实体;提取所述候选实体的若干具有分类特性的特征;将所述候选实体的若干具有分类特性的特征输入训练好的svm分类模型得到分类结果,所述分类结果包括同义关系和非同义关系;其中,所述svm分类模型利用基于百科中的结构化信息和启发式规则自动生成的训练语料训练得到。根据本发明的另一实施方式,所述具有分类特性的特征包括文章内容相似度、文章标题的余弦相似度、文章标题的编辑距离、包含文章标题的文章数目、包含文章标题的句子数目、文章的长度相似度、文章所含类别标签中相同的数目、文章的重定义页面或信息模块中包含的同意实体中相同的数目和文章信息模块中共同属性的数目的一种或多种。根据本发明的另一实施方式,所述基于语言学模式和开放同义关系抽取模型对非结构化数据中的实体进行对齐的步骤包括:基于语言学模式抽取非结构化数据中的同义关系,所述非结构化数据为海量的中文语句;基于开放同义关系抽取模型抽取非结构化数据中的同义关系;根据抽取的非结构化数据中的同义关系对非结构化数据中的实体进行对齐。根据本发明的另一实施方式,所述开放同义关系抽取模型的训练步骤包括:选取作为同义关系的候选实体;利用nlp工具对所述候选实体进行分词和词性标注生成训练语料;提取所述候选实体的词级别和词性级别的特征;利用crf模型训练得到开放同义关系抽取模型。另一方面,本发明还提供了一种知识图谱中实体对齐装置,包括:开放链接数据集对齐模块,用于基于同义实体描述方式对不同开放链接数据集中的实体进行对齐;百科实体对齐模块,用于基于百科中的结构化数据和svm分类模型对不同百科中的实体进行对齐;非结构化数据对齐模块,用于基于语言学模式和开放同义关系抽取模型对非结构化数据中的实体进行对齐;综合对齐模块,用于将所述不同开放链接数据集中的实体、不同百科中的实体以及非结构化数据中的实体进行对齐。根据本发明的一实施方式,所述百科实体对齐模块包括:同一百科对齐单元,用于基于百科中的结构化数据对同一百科中的实体进行对齐,所述百科中的结构化数据包括重定向页面数据和信息模块数据;不同百科对齐单元,用于基于svm分类模型对不同百科中的实体进行对齐;其中,所述实体为百科中的一篇文章,所述实体的名称为文章的标题。根据本发明的另一实施方式,所述非结构化数据对齐模块包括:第一同义关系抽取单元,用于基于语言学模式抽取非结构化数据中的同义关系,所述非结构化数据为海量的中文语句;第二同义关系抽取单元,用于基于开放同义关系抽取模型抽取非结构化数据中的同义关系;非结构化数据对齐单元,用于根据抽取的非结构化数据中的同义关系对非结构化数据中的实体进行对齐。本发明具有以下有益效果:本发明本的知识图谱中实体对齐方法和装置分别通过基于同义实体描述方式对不同开放链接数据集中的实体进行对齐,基于百科中的结构化数据和svm分类模型对不同百科中的实体进行对齐,基于语言学模式和开放同义关系抽取模型对非结构化数据中的实体进行对齐,最后在进行不同开放链接数据集中的实体、不同百科中的实体以及非结构化数据中的实体进行综合对齐,自动化实现多种数据源实体对齐,同时提高准确率。附图说明图1为本发明的知识图谱中实体对齐方法的一个实施例的流程图示意图;图2为本发明的知识图谱中实体对齐方法的步骤200的一个实施例的流程图示意图;图3为本发明的知识图谱中实体对齐方法的步骤300的一个实施例的流程图示意图;图4为本发明的开放同义关系抽取模型训练方法的一个实施例的流程示意图;图5为本发明的svm分类模型训练语料的一个示例;图6为本发明的crf标注示例;图7为本发明的crf训练文件示例;图8为本发明的crf模板文件示例;图9为本发明知识图谱中实体对齐装置的一个实施例的结构示意图;图10为本发明知识图谱中实体对齐装置的百科实体对齐模块的的一个实施例的结构示意图;图11为本发明知识图谱中实体对齐装置的非结构化数据对齐模块的的一个实施例的结构示意图。具体实施方式为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。一方面,本发明实施例提供了一种知识图谱中实体对齐方法,如图1所示,包括:步骤100:基于同义实体描述方式对不同开放链接数据集中的实体进行对齐;步骤200:基于百科中的结构化数据和svm分类模型对不同百科中的实体进行对齐;步骤300:基于语言学模式和开放同义关系抽取模型对非结构化数据中的实体进行对齐;步骤400:将所述不同开放链接数据集中的实体、不同百科中的实体以及非结构化数据中的实体进行对齐。本发明实施例的知识图谱中实体对齐方法分别通过基于同义实体描述方式对不同开放链接数据集中的实体进行对齐,基于百科中的结构化数据和svm分类模型对不同百科中的实体进行对齐,基于语言学模式和开放同义关系抽取模型对非结构化数据中的实体进行对齐,最后在进行不同开放链接数据集中的实体、不同百科中的实体以及非结构化数据中的实体进行综合对齐,自动化实现多种数据源实体对齐,同时提高准确率。作为一个举例说明,本发明实施例的步骤100包括:步骤101:基于同义实体描述方式抽取不同开放链接数据集中同义关系;步骤102:根据抽取的同义关系对不同开放链接数据集中的实体进行对齐。开放链接数据集中的实体对齐工作在构建过程中已经完成,不同的开放链接数据集,都会使用一定的方式来描述同义实体或概念。例如:dbpedia使用“owl:sameas”描述同义关系,yago则使用“means”描述。它们包含的同义关系,仅需要对整个数据集进行遍历,找到对应的描述机制后进行解析后进行实体对齐。作为另一个举例说明,如图2所示,本发明实施例的步骤200包括:步骤201:基于百科中的结构化数据对同一百科中的实体进行对齐,所述百科中的结构化数据包括重定向页面数据和信息模块数据;同一百科中的实体对齐主要依赖于当前百科中的两类结构化数据,重定向页面和信息模块。重定向页面是指,在百科中,重定向机制用于当用户使用不同的输入条件访问同一文章时,系统自动定位到表示该文章对应实体的唯一文章上。例如,当用户在互动百科中访问“比尔盖茨”时,系统会自动重定向到“比尔·盖茨”并提供“‘比尔盖茨’是‘比尔·盖茨’的同义词”的提示。其本身的用途即在于对当前百科中表示同一事物的不同文章进行合并,也就是文章对齐;使用重定向页面进行实体对齐时,仅需要遍历所有的页面,如果其中包括重定向标记,则把对应的源文章标题和重定向到的目标文章标题记录下来,标识它们是同一实体。另外,百科的信息模块中也包含了部分同义信息,这部分同义信息虽然是在同一个页面中,但如果其中描述的具备同义关系的实体对应了多篇文章,接下,就需要对这些文章对应的实体进行合并。即模块中包含的字段名为“别称”(百度百科中)、“中文别称”(互动百科中)等字段列举了当前文章对应实体的同义实体,这些同义信息科进行合并。例如,对于标题为“计算机”的文章的信息模块中名为“别称”的属性中有值“电子计算机”和“电脑”。步骤202:基于svm分类模型对不同百科中的实体进行对齐;其中,所述实体为百科中的一篇文章,所述实体的名称为文章的标题。在进行百科的实体合并时,最直观的方法是把标题相同的文章对应的实体进行合并,以及把对应同义集合中有相同实体名的实体进行合并;虽然这种做法的问题在于并非标题相同的文章一定代表同一实体,典型的例子就是具备多种释义(在百科中使用消歧页面表示)的文章。但标题相同的文章代表相同实体的概率在99%以上,因此,对于这些具备相同标题的文章对应的实体,直接认为它们是同义实体。对于具备多个义项的文章,则需要一种理深层次的方法来判别它们是否指代同一实体。在对文章进行标题匹配时,对于部分文章的标题,还需要进行一些预处理,即去掉标题中的标点符号;例如:标题中标点不同但指代同一实体的有“比尔·盖茨”与“比尔盖茨”,“大学”与“《大学》”等。另一方面,并非标题不同的文章代表的就一定是不同的实体,可能仅是同一实体的不同名称,这种现象不仅在不同的百科之间存在,在同一百科中也有少量存在。因此,也同样需要一种更深层次的对齐方法。本发明实施例采用一种方式是对文章之间进行两两比较,以判别它们是否指代同一个实体。然而,这种做法显然是不现实的,因为任意文章间的两两对比意味着需要进行超过50万亿次比较,因此,在进行两两比较前,需要一种方法来减少比较的次数即确定候选实体,之后采用svm分类模型即支持向量机模型(supportvectormachine)进行判别。作为另一个举例说明,本发明实施例的步骤202进一步包括:步骤2021:通过倒排索引方法选取两个或多个相似度高的实体作为候选实体;一般来说,相似度非常低的文章之间肯定不会指代同一实体。因此首先使用索引的方法得到相似度比较高的文章作为需要进行相似度比较的候选文章。候选文章选取的方法如下:首先对每篇文章的标题和内容建立倒排索引,选取候选文章时,把当前文章在倒排索引中进行检索,选择相似度高的一定数量的文章作为候选。存在两个问题需要验证和确定,一是候选实体选择策略假设的正确性,二是选择多少个相似度最高的文章作为候选。为了验证和确定这两个问题,本发明实施例选取了来自不同百科的1000对同义实体作为实验目标,最后得到如表1所示的结果;从表中可以看出,大部分指代同一目标的文章与当前文章的相似度都是位于相似度前3位的。结果表明,候选文章选取策略基于的假设是成立的;同时,选择相似度最高的5个作为候选文章时覆盖率已经可以达到99%以上,本文最后选取的候选阈值是10。表1同义文章在所有文章中相似度的排名排名位置123455~1010以后比例0.8290.1070.0320.0200.0050.0050.002步骤2022:提取所述候选实体的若干具有分类特性的特征;对于每个候选实体,都有一篇百科文章与之对应,其中包含了丰富的特征可用于辅助分类决策。本发明实施例使用的具有分类特性的特征有:(a)文章内容之间的相似度:使用以下公式的余弦相似度计算文章之间的相似度越高,它们越有可能代同一目标。ibi=(w1,i,w2,i,…,wt,i)代表一个信息块,向量中的每一维度代表1个词,如果一个词汇出现在信息块中,则对应的维的值不为零,对应的值由tf-idf计算而得。余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异,而非距离或长度上。(b)文章标题之间的余弦相似度:指代同一目标的不同文章的标题在大部分情形下是相似的。(c)文章标题的编辑距离;它们之间的编辑距离通常也比较小;而造成标题不同的原因可能是百科编辑人员的知识和习惯不同,也可能是某种编辑时的失误造成的。(d)两篇文章的标题在整个百科中共同出现的文章数目:此特征基于harris分布假设,同义实体会比较经常的出现在一起。(e)两篇文章的标题在所有语料中共同出现的句子数目:原理与特征(d)相同。(f)文章的长度相似度:使用余弦相似度;对于描述同一目标的文章,由于用于描述目标的知识丰富程度相同,因此,文章在长度方面通常也比较接近;(g)文章所包含的类别标签中相同的数目:两篇文章包含的共同类别标签越多,它们越有可能指代同一实体;(h)文章的重定义页面或信息模块中包含的同义实体中相同的数目:如果两篇文章对应的同义实体有较多的重叠,它们更倾向于是指代同一实体。(i)文章信息模块中共同属性的数目:有关属性的抽取将在后续章节中详述;如果两篇文章中有信息模块且包含较多的共同的属性。步骤2023:将所述候选实体的若干具有分类特性的特征输入训练好的svm分类模型得到分类结果,所述分类结果包括同义关系和非同义关系;其中,所述svm分类模型利用基于百科中的结构化信息和启发式规则自动生成的训练语料训练得到。特征选取完毕后,需要构建训练模型所需要的语料。通常,在监督机器学习方法中,需要人工标注训练语料,在大规模的互联网规模的应用中,人工标注语料非常困难,所标注的语料在特征覆盖面方面很容易具备片面性,因此,需要一种能够自动生成训练语料的方法。本发明实施例借助于百科中的结构化信息以及一些通用的启发式规则来生成训练语料。首先来看正例的选取,使用了以下启发式规则:(a)文章标题相同,且内容相似度非常高(超过95%)的文章,被认为是指代同一实体的文章;(b)文章所对应的类别标签完全相同,且内容相似度也非常高(超过95%)的文章,被认为指代同一实体;(c)文章标题相同,且文章所对应的类别标签也完全相同,被认为指代同一实体。这三条规则,如果单独使用,都是不合理的,因为它们都限定了使用的特征;但是如果结合使用,就会相互消解。三条规则一共涉及的所使用的特征有3个,文章标题相似度、内容相似度和文章的类别标签,分别可以通过所使用的规则来消除:第1条规则生成的样例中,肯定包含类别标签不一致的文章;第2条规则生成的样例中,肯定包含标题不一致的文章;而第3条规则生成的样例中则包含相似度相对较低的文章。因此,规则结合使用后,相互补充后共同成为与特征无关的启发式规则,即通用的启发式规则。负例的选取使用了非常多的启发式规则,列举几条主要的规则如下:(a)两篇文章在百科中被标记为不同的类型,一个被标记为类别,另一个则被认为是普通的非类别文章;(b)两篇文章在百科中属于不同的领域,例如,一个是属性动物分类,而另一个则是汽车分类;(c)两篇文章的长度都很长,但是它们之间的内容相似度却比较低(低于50%);同样,生成负例的启发式规则之间也相互消解,保证在构建训练样本时的特征无关性。语料构建完毕后,进行模型训练。本发明实施例使用的svm实现是lib-svm,它是一个简单易用的svm软件包,可以解决分类问题、回归问题和分布估计问题等,同时,lib-svm还提供了四种常用的核函数:线性核函数、多项式核函数、径向基核函数和s函数核函数。lib-svm使用的训练数据和测试数据文件格式如下:<label><index1>:<value1><index2>:<value2>…其中<label>是训练数据集的目标值,当模型用于分类时指标识某类的整数,而用于回归时为任意实数;<index>表示特征的序号,取值为从1开始的正整数;<value>表示特征值,取值为实数;当特征值为0时,特征序号与特征值value都可以同时省略,即index可以是不连续的自然数;<label>与第一个特征序号、前一个特征值与后一个特征序号之间用空格隔开。测试数据文件中的label只用于计算准确度或误差,如果它是未知的,只需用任意一个数值填写这一栏,也可以为空。本发明实施例的训练语料的一个样例如图5所示。有一些情况下,需要对特征值进行缩放,缩放的目的在于:(a)避免一些特征值范围过大而另一些特征值范围过小;(b)避免在训练时为了计算核函数而计算内积的时候引起数值计算的困难。本文使用的特征中的标题的编辑距离、共同类别标签数等,都需要进行缩放。lib-svm提供了svmscale命令对数据集进行缩放,命令为:svmscale[-llower][-uupper][-yy_lowery_upper][-ssave_filename][-rrestore_filename]filename;其中-l为数据下限标记,lower为缩放后的数据下限,默认值-1;-u为数据上限标记,upper为缩放后数据的上限,默认分别为1;-y表示是否对目标值同时进行缩放,y_lower为下限值,y_upper为上限值;-ssave_filename表示缩放的规则保存为文件save_filename;-rrestore_file表示将缩放规则文件restore_filename载入后按此缩放;filename为待缩放的数据文件。本发明实施例使用svmtrain实现对训练数据集的训练,获得svm模型。用法如下:svmtrain[options]training_set_file[model_file]其中[options]表示操作参数,常用的可选参数有:-ssvm选择svm类型;-t选择核函数的类型;-ddegree核函数中的degree设置。training_set_file表示训练文件,而model_file表示输出的模型文件。待svm分类模型训练完成后,即可对目标数据修订本进行预测,目标数据集合的格式和训练文件的格式一致。在lib-svm中使用命令svmpredict完成,具体方式如下:svmpredict[options]test_filemodel_fileoutput_file其中options表示可靠参数,可选参数为-b,指定是否进行概率估计预测,可选值为0或者1,默认值为0,即不进行概念估计预测;model_file是指已得到的模型文件;test_file是指要进行预测的数据文件;output_file是指结果输出文件。作为另一个举例说明,如图3所示,本发明实施例的步骤300包括:步骤301:基于语言学模式抽取非结构化数据中的同义关系,所述非结构化数据为海量的中文语句;在中文语言中,有一些固定的语言模式用于描述同义关系,例如:“x又名y”、“x也叫y”、“x别称y”等。基于语言模式的方法非常简单,人工编写好模式后,把这些模式在海量的句子中进行匹配,即可得到大量的同义关系。这类方法的准确度通常比较高,但是召回率却非常低,因为不可能人工把所有的描述同义关系的语言模式都列举出来。步骤302:基于开放同义关系抽取模型抽取非结构化数据中的同义关系;前述使用语言学模式的方法提到,在中文语言中,有一些常用的句法模式是用来表达同义关系的,利用一些常用的规则,已经成功抽取了相当数量的同义实体。然而,手工编写句法模式是难以完全的,因此,需要一种更加开放的学习方法,通过训练开放同义关系抽取模型抽取非结构化数据中的同义关系,实现自动化、快速抽取非结构化数据中的同义关系。步骤303:根据抽取的非结构化数据中的同义关系对非结构化数据中的实体进行对齐。开放式信息抽取(openinformationextraction)为互联网规模的信息抽取提供了思路,而基于语言模式的方法则在一定程度上表明,中文语言中的同义词是可以通过一定的句法模式表达的。那么,开放式同义词抽取在中文同义关系抽取中是否适用,我们使用一个同义词集合来验证,是否对于其中的大部分同义词对,都有相应的表示同义词的句法模式来表达它们之间的同义关系。首先,从之前所得到的同义实体关系中随机选取了100对同义实体;然后,对于每一对同义实体,随机抽取10~100个同时包含它们的句子;最后对这些句子进行分析以寻找句法模式。我们关心两个层面的模式,词层面和词性层面,所抽取的两个层次的模式如表2和表3所示(en表示一个实体)。在词层面,我们发现了将近100个模式,表2中仅列出了出现次数最多的几个;在词性层面,最常用的6个模式基本覆盖了所有的样例。表2在词层次上描述同义词的模式模式比例示例e1又叫e20.132中秋节又叫仲秋节e1又称e20.118荷花又称水芙蓉e1简称e20.103上海简称沪e1又名e20.092荷花又名莲花e1俗称(20.068计算机俗称电脑e1原名e20.061老舍原名舒庆春e1是e2的同义词0.053喜欢是喜爱的同义词e1是e2的近义词0.041美丽是漂亮的近义词e1古称e20.036西安古称长安e1是e2的简称0.031沪是上海的简称表3在词性层次上描述同义词的模式模式比例示例e1verbe20.289e1俗称e2e1adv.+verbe20.203e1又名e2e1verbe2particenoun0.140e1是e2的简称e1conjunctione2verbnoun0.122e1和e2是同义词e1particenounverbe20.114e1的同义词是e2others0.132e1(e2)在样例句子中,基本上每个模式都出现了多次并且描述了多个同义实体对。当位于两个实体之间、之前、之后的一些上下文词汇是用于描述同义关系的词汇时,这个个实体很可能是同义实体。换言之,两个实体是否是同义实体是由它们之间的或周围的词汇决定的而不是由词语本身。结果表明,可以使用开放学习的方法来抽取同义关系,当学习到越多的模式时,就相应地会有更多的同义实体能被抽取到。作为另一个举例说明,如图4所示,本发明实施例的开放同义关系抽取模型的训练步骤包括:步骤3021:选取作为同义关系的候选实体;步骤3022:利用nlp工具对所述候选实体进行分词和词性标注生成训练语料;步骤3023:提取所述候选实体的词级别和词性级别的特征;步骤3024:利用crf模型训练得到开放同义关系抽取模型。本发明实施例的开放同义关系抽取模型的训练过程为选取作为同义关系的候选实体,标注机器学习所需要的语料,确定需要训练模型需要使用的特征,训练同义关系抽取模型,以及把学习的模型用于更丰富的句子中以抽取同义实体。本发明实施例把从文本句子中抽取同义实体建模成序列化标注问题,并使用crf作为机器学习模型。首先候选实体选择已经基本确定,当在这些实体间学习同义关系时,不需要再使用其它方法探索新的实体。然而,开放同义关系学习方法在学习同义关系的同时,也可以自动发现新的实体,当然,前提是需要先选取候选实体。因此,为了学习到更多的实体,本发明实施例还通过以下方法确定额外的候选实体:选取“基本名词短语”作为候选实体。“基本名词短语”中不能嵌套包含名词短语,不包含可能的修饰词如形容词、介词短语等。对于所采集文本语料中的句子,在进行分词和词性标注后,那些被标注为“nr(专有名词)”和“nn(除专有名词和时间名词外的其它名词)”的词将被选取为候选实体。为了得到更多的候选句子,本发明实施例还使用了一条启发式规则来辅助选取过程。这条规则主要利用了中文中顿号的特征作用。在中文中顿号主要用于分隔一些并列的具备一定相似度的词,从顿号分割的词序列中移除一些词不会破坏句子的结构。例如,在句子“荷花又称莲花、芙蓉、菡萏、芙蕖”可以被改写成4个新句子,“荷花又称莲花”,“荷花又称芙蓉”,“荷花又称菡萏”,以及“荷花又称芙蕖”。通过例句中的类似的简单改写方法,可以得到更多的候选句子。对于包含候选实体的句子,首先进行分词和词性标注。本发明实施例初始选取的nlp工具为斯坦福大学的中文nlp工具,用于分词和词性标注。然而,在实验过程中发现,使用这个标准的nlp工具的速度上不能满足要求,因为本发明实施例所处理的语料为互联网规模的,如果使用这种标准的nlp工具将会花费非常多的时间。因此,本发明实施例定制开发了一种轻量级的nlp工具,此工具虽然在准确性方面较标准的nlp工具要差,但是在速度上则有非常明显的优势;而后续实验将证明,准确性方面的缺陷对结果的影响甚微,基本可以忽略。当在性能和速度之间权衡时,轻量级的工具更加适用。本发明实施例使用的轻量级nlp工具的功能仅包括分词和命名实体识别,分词是基于词典的,词典中首先包含知识图谱已经获得的所有实体,在分词时,首先会优先把知识图谱中的实体切分出来;词性标注则是把每个词直接赋予当前词最大可能性的词性。另外,对于处理过的句子,有两类结构应该事先去除,因为实验证明它们的存在对结果是有害的;去除的方法非常简单:首先去除位于候选实体之间的被连续标记为“va(表语形容词)”和“deg(的)”的两个词,例如在分好词的句子“美丽的荷花也叫莲花”中,“美丽”和“的”即被连续标记为“va”和“deg”,它们可以被去除,因为它们只是作为修饰符存在;对于那些连续被标记为“nr”或“nn”的词,只保留位于最末尾的一个,因为前面的都是用于修饰最后一个,例如在句子“古城西安又叫长安”中,“古城”和“西安”都被标记为“nr”,因此“古城”可以被移除。去除掉这两类结构后,句子的结构和含义都基本保持不变。在同义关系抽取中,处理的目标为中文句子,其中可观测的序列是中文词语或词性的序列,隐含状态序列则是本文所定义的用于标记实体、同义关系和其它词或词性的符号。本发明实施例假设隐含状态序列是满足一阶马尔可夫假设的,因此,可以把此问题建模成一个序列标注问题。候选实体已经选择好,对于一个已经分词并进行词性标注的句子,其中是实体的标记为ent;那些相邻且在一定距离范围内的实体将作为同义实体对的候选,它们之间以及附近的词汇则被为是潜在地标记同义关系的证据,这些上下文词汇会被标记为:“s_b”(同义关系的开始词),“s_c”(同义关系的中间词),“s_e”(同义关系的结尾词),以及“o”(其它不用于表述同义关系的词汇)。图6中列举了两个已经标注好的示例;第1个使用了词级别的特征,其中的“简称”指示了两个实体“上海”和“沪”之间的同义关系,因此标记为“s_b”;而位于其它两对相邻实体的记则都标记为“o”,因为这两对实体不是同义实体对;第2个示例中使用了词性级别的特征,其中的词“也”、“叫”共同指示了同义实体对“荷花”和“莲花”之间的同义关系,而位于非同义实体对“莲花”和“中国”之间的词汇则都标记为“o”。本发明实施例使用了词级别和词性级别的特征而并没有使用更深层次的nlp特征,有三方面的原因:首先是因为我们认为这两个浅层次的特征已经可以胜任同义关系的抽取;其次,深层nlp工具本身在准确率方面是值得质疑的,因为大部分工具的准确率仅为70%左右;最后,深层nlp工具的效率更为低下,在互联网规模的同义抽取中基本不能容忍。本发明实施例使用了词级别和词性级别的一元特征和二元特征,例如,所使用的一组词级别的特征包括“w-2”,“w-1”,“w0”,“w1”,“w2”,“w-1w0”and“w0w1”,其中w代表一个词,下标0表示当前词,而n和-n则分别代表当前词左侧和右侧的第n个词。同样,词性级别的一组特征为“pos-2”,“pos-1”,“pos0”,“pos1”,“pos2”,“pos-1pos0”and“pos0pos1”,其中pos代表词性。从直觉上而言,词级别的特征会带来良好的准确率,而词性级别的特征则会提高召回率。为了衡量两种级别的特征的用途,在实验部分我们分别使用两类特征训练了模型,以及使用两类特征共同训练了模型。开放信息抽取系统通常会在准确率和召回率之间做权衡,通过更改特征或其它参数,可以在两者之间选取合适点。本发明实施例所使用的开放模型的最大特征在于可以自动构建训练语料,因此,它们是“自我监督(self-supervised)”的学习。训练语料的自动生成主要依赖两个因素,一部分已经抽取的同义实体和一些通常的启发式规则。前述已经从开放链接数据和百科的结构化数据中抽取了许多同义实体;因为开放式学习的根本目标是学习到更多的同义实体,因此启发式规则必须是模式无关的,即不能依赖于特定的表示同义关系或不是描述同义关系的上下文特征,也就是说,它们必须是“通用的模式无关的”。用于训练模型的候选语句必须至少包含一对实体,且这些实体对包含的实体之间的距离必须是满足距离要求的。正例的获取非常简单,可以使用一条简单的启发式规则确定,即“满足距离条件的相邻实体对是同义实体”。对于负例的选取则复杂很多,仍然需要借助百科中的结构化数据来确定两个实体不是同义实体,总共使用了6条启发式规则来确定负例,其中两条规则为:(a)两个实体分别对应于百科中的不同类型,其中一个是类型,而另一个则是普通文章;(b)两个实体属于不同维基百科中的不同类别,例如其中一个实体是动物,而另一个实体是植物。以图6中的实体对为例:第1个非同义实体对“沪”和“中国”,前者是一个城市,而后者则是一个国家;第2个非同义实体对“中国”和“城市”,“中国”是一个普通的文章面,而“城市”则是一个类别标签;第3个非同义实体对“莲花”和“中国”,前者是一种植物,而后者是一个国家,属于不同的领域。本发明实施例使用的crf模型实现为pocketcrf,因此,自动标注的示例需要满足pocketcrf相应的输入格式。在使用pocketcrf时,需要构建训练文件和模板文件,训练文件中包含标注好的训练语料,模板文件则设置了需要使用的特征。以图6中的句子为例,训练文件的格式如图7所示。在训练文件中,总共有3列:第1例为词本身,第2列为词性,第3例为目标状态,即用于标记实体、同义关系和其它部分的标记(label)。每行为1个词、其对应的词性和其对应的目标状态标记。pocketcrf模板文件中的每一行代表一个模式,其基本格式如下为“%x[i1,j1]%x[i2,j2]...%x[im,jm]%y[k1]%y[k2]...%y[0]”;x的第1个下标(i1,…,im)指代相对于当前符号(token)的位置,第2个下标(j1,…,jm)则代表列的序号,列的序号从0开始。而y的下标则指示了相对于当前符号位置的符号相应的标记。需要注意的是,y的下标序列(k1,…,kn)中的元素必须按照升序排列。图8中列出了所训练模型所使用的模板文件,(1)中使用了词特征,词在训练文件中处于第1列,所以按照要求,x下标的第2个元素都被设置为0;(2)中则使用了词性特征,而词性在训练文件中是第2列,因此x的下标的第2个元全被设置为1;(3)中则同时使用了词特征和词性特征,因此x下标的第2个元素即有0也有1。训练文件和模板文件准备好后,接下来使用pocketcrf相关的命令进行训练,训练命令的格式为:“./crf_learnchunking_templatechunking_trainmodel”,其中“crf_learn”为学习命令,“chunking_template”为模板文件名,“chunking_train”为训练文件名,“model”为所输出的训练模型名。训练命令可以接受许多参数,用于设置学习过程,具体的命令如表5所示,其中常用的参数为“-i”、“-e”和“-p”。表4pocketcrf训练过程的参数模型训练完毕后,接下来就可以把模型应用于目标语料中抽取同义关系了。目标语料的选取原则与训练语料相同,即那些包含两个以上实体且有两个实体间的距离小于阈值;目标语料的预处理过程也和训练语料一致,即进行分词和词性标注。需要注意的是,在预处理时必须选用和训练语料处理时完全相同的nlp工具。接下来,使用模型对所有的句子进行一次遍历,模型将会对句子中的词标上目标标记。如果位于两个相邻实体之间或周围一定范围的词被标识为表示同义关系的标记,那么这两个实体极可能是同义实体。在进行同义实体的选取过程中,同时记录下决定两个实体为同义实体的上下文词汇和词性(即语言模式)。另一方面,如图9所示,本发明实施例还提供了一种知识图谱中实体对齐装置,包括:开放链接数据集对齐模块10,用于基于同义实体描述方式对不同开放链接数据集中的实体进行对齐;百科实体对齐模块20,用于基于百科中的结构化数据和svm分类模型对不同百科中的实体进行对齐;非结构化数据对齐模块30,用于基于语言学模式和开放同义关系抽取模型对非结构化数据中的实体进行对齐;综合对齐模块40,用于将所述不同开放链接数据集中的实体、不同百科中的实体以及非结构化数据中的实体进行对齐。本发明实施例的知识图谱中实体对齐装置包括开放链接数据集对齐模块、百科实体对齐模块、非结构化数据对齐模块以及综合对齐模块,结构简单,能够实现实现多种数据源实体对齐,同时提高准确率。作为一个举例说明,如图10所示,本发明实施例的百科实体对齐模块20包括:同一百科对齐单元21,用于基于百科中的结构化数据对同一百科中的实体进行对齐,所述百科中的结构化数据包括重定向页面数据和信息模块数据;不同百科对齐单元22,用于基于svm分类模型对不同百科中的实体进行对齐;其中,所述实体为百科中的一篇文章,所述实体的名称为文章的标题。作为另一个举例说明,如图11所示,本发明实施例的非结构化数据对齐模块30包括:第一同义关系抽取单元31,用于基于语言学模式抽取非结构化数据中的同义关系,所述非结构化数据为海量的中文语句;第二同义关系抽取单元32,用于基于开放同义关系抽取模型抽取非结构化数据中的同义关系;非结构化数据对齐单元33,用于根据抽取的非结构化数据中的同义关系对非结构化数据中的实体进行对齐。以上所述是本发明的优选实施方式,应当指出,对于本
技术领域:
的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12