一种基于知识库特征抽取的命名实体链接方法与流程

文档序号:14967434发布日期:2018-07-20 11:14阅读:224来源:国知局
本发明涉及自然语言处理,尤其涉及一种基于知识库特征抽取的命名实体链接方法。
背景技术
:自然语言处理(naturelanguageprocessing,简称nlp)是一门集语言学与计算机科学为一体的交叉学科。命名实体链接(namedentitylinking,简称nel)是自然语言处理中的一项基本任务,旨在对文本中具有歧义的提及(mention)进行消歧,并链接到知识库中。随着信息抽取和大数据概念的兴起,命名实体链接任务日益受到人们重视,已成为舆情分析、信息检索、自动问答、机器翻译等自然语言处理的重要组成部分。如何从海量的互联网文本信息中自动、准确、快速地链接到目标实体,逐渐成为了学术界和工业界关注的热点问题。传统的非协同方法在衡量候选实体与提及上下文间的匹配程度方面,做法不一,已经有许多种不同的尝试。这些方法一般都是在内容方面比较提及上下文和知识库中对候选实体的文本描述,认为如果候选实体的文本描述与提及上下文在内容方面越吻合,该实体是目标实体的可能性也就越大。这种方法的缺陷在于只考虑了文章间的相似度,而没有考虑其他方面的信息,结果的准确率比较低。还有一些协同的方法,需要根据知识库计算实体间的相关性,将所有实体和提及构建一个无向图,然后利用pagerank的方法得到目标实体。这种方法考虑了全局的信息,但需要进行大量的计算,运行时间比较久。近年来深度学习方法流行,其在自然语言处理领域的应用也取得了不少的成果。面对传统方法的不足,通过手动提取少量重要的特征,然后通过多层的神经网络对实体和提及的匹配程度打分,在大量数据的训练下已经取得了很好的效果。技术实现要素:本发明的目的是为了对自然文本中的提及进行消歧,并将其链接到知识库中,以得到有效的文本信息,提出一种基于知识库特征抽取的命名实体链接方法。基于知识库特征抽取的命名实体链接方法,包括以下步骤:s1:从freebasedatadump中抽取具有目标特征的三元组条目,形成关系数据表,存入知识库;s2:设计搜寻规则,在知识库中搜寻若干个与实体提及关系紧密的freebaseobject作为候选实体;s3:采用基于统计的方法,设计并抽取实体提及与其候选实体的特征,并对抽取到的特征进行embedding化;s4:将抽取特征的embedding作为一个多层的神经网络的输入,获取每个候选实体为目标实体的概率,并返回概率最高的候选实体的freebasemid。上述各步骤可具体采用如下实现方式:s1中所述的从freebasedatadump中抽取具有目标特征的三元组条目,形成关系数据表,存入知识库的步骤如下:s11:根据不同谓词抽取实体类型、实体名称、实体id以及实体重定向信息,分别形成关系表objecttype、objectname、wikiid和wikiredirect并存入mysql数据库中;s12:抽取主体和客体均为mid的三元组,并统计每个mid出现的次数,形成关系表nodehot存入mysql数据库中;s13:利用关系表objecttype,将实体提及类型和freebaseobject类型建立一对多的映射关系,根据实体提及per、org、gpe、loc以及fac的五种类型,形成perneedtype、orgneedtype、gpeneedtype、locneedtype、facneedtype五张关系表并存入mysql数据库中。s2中所述的设计搜寻规则,在知识库中搜寻若干个与实体提及关系紧密的freebaseobject作为候选实体的步骤如下:s21:将实体提及的名称进行查询扩展,使用的扩展包括字符子串扩展、缩略词扩展、中英文扩展、国家民族扩展、指代扩展和中文繁简扩展;s22:读取实体提及的类型,在关系表perneedtype、orgneedtype、gpeneedtype、locneedtype、facneedtype的约束下,在mysql数据库中对实体提及的扩展查询词进行全词匹配式检索,并将查询所得的mid加入到候选实体列表中;s23:在重定向关系表wikiredirect中,对实体提及的扩展查询词进行检索,将查询所得的mid加入到候选实体列表中;s24:对实体提及进行消歧扩展,利用wikipedia消歧目录资源,将消歧所得的mid加入到候选实体列表中;s25:对wikipedia各页面的标题、首段、上下文分别建立lucene索引,利用wikipedia标题和首段的lucene索引,对实体提及进行模糊检索,将相似度前10的mid直接加入候选实体列表,并取相似度前100的mid聚成集合e1;利用wikipedia上下文的lucene索引,对实体提及所在的上下文进行模糊检索,将相似度前100的mid形成集合e2,最后将e1∩e2加入到候选实体列表;s26:将s22~s25获得的提及的候选实体列表记为{e1,e1,...,ek},k为候选实体个数。s3中所述的采用基于统计的方法,设计并抽取实体提及与其候选实体的特征并对上述特征进行embedding化包含以下步骤::s31:实体提及与候选实体的embedding化:以wikipediadatadump作为语料库,整理获得词表v,采用word2vec方法训练并获得均为100维的字向量列表,则实体提及和其候选实体的词向量为所有字向量的平均向量;s32:实体提及类型与候选实体类型的特征提取:基于关系表objecttype,获取候选实体的freebaseobject类型,并根据s13所建立的五张提及类型映射关系表,得到该候选实体所属的提及类型,然后分别用一个5维向量表示实体提及和候选实体的类型特征,每一维根据是否包含该类型用1或者0表示;s33:实体热度的embedding化:基于关系表nodehot,对表内的热度值进行归一化处理,并将数值离散化为10维的向量表示;s34:文档相似度计算:采用基于tf-idf的词袋模型计算实体提及所处的上下文与候选实体所关联的wikipedia页面的相似度,每个字的tf-idf值具体计算如下:其中,n为文档总数,nw表示字w在文章中出现的总次数。在基于tf-idf的词袋模型中,每篇文章表示为向量vdoc=[v1,v2,...,v|v|],其中向量的每一维表示一个字的tf-idf值,|v|表示每篇文章的字总数;两篇文章的相似度计算的公式如下:最后,计算结果经离散化处理,得到一个10维向量。s4中所述的将抽取特征的embedding作为一个多层的神经网络的输入,获取每个候选实体为目标实体的概率,并返回概率最高的候选实体的freebasemid包含以下步骤:s41:将s3中抽取特征的embedding拼接成一体,并作为输入,记为x,x∈r230;s42:将x作为三层全连接神经网络的输入进行计算,每一层的计算公式依次如下所示:h1=relu(w1x)h2=relu(w2h1)s=w3h2+b其中,h1、h2、s分别是第一层、第二层、第三层神经网络的输出;w1∈r256×230,w2∈r128×256,w3∈r1×128分别是第一层、第二层、第三层神经网络的权重参数,b为常数,b∈r;relu为几率函数;s43:将s42中神经网络输出的结果即每个候选实体的评分si,记为s={s1,s2,...,sk};利用softmax函数计算实体提及与候选实体的后验分布概率p(ei|m),计算公式如下所示:最后返回后验分布概率最高的候选实体的freebasemid。本发明与现有技术相比的有点在于:充分利用wikipedia、freebase等资源得到覆盖率较高且相关性较高的候选实体,再通过少量提取特征,如实体类型、实体热度、文档相似度等,充分考虑了实体的信息,然后通过多层的神经网络来打分,计算提及与实体的相关性,获得了比较高的准确率。具体实施方式下面结合具体实施方式对本发明做进一步阐述。本发明主要针对命名实体链接任务,具体分为两个模块,候选生成和候选排序。候选生成时,通过子串扩展、缩略词扩展等得到query,然后根据query得到候选实体列表,候选实体的产生来源于维基百科的重定向、mysql数据库的全词查询以及lucene的模糊索引。最后,需要对候选实体列表进行筛选和过滤,主要根据表1的提及类型和实体类型的映射关系,把一些实体类型不匹配的候选实体从候选表中删除。候选排序时,先手工提取一些特征,如文档相似度、实体热度等,然后通过一个3层的全连接网络为每个实体和提及的匹配程度打分,最后用softmax计算每个实体为目标实体的概率。表1提及类型和实体类型映射关系本发明是基于wikipedia和神经网络的命名实体链接方法,s1:从freebasedatadump中抽取具有目标特征的三元组条目,形成关系数据表,存入知识库;本步骤的具体实现方式为:s11:根据不同谓词抽取实体类型、实体名称、实体id以及实体重定向信息,分别形成关系表objecttype、objectname、wikiid和wikiredirect并存入mysql数据库中;s12:抽取主体和客体均为mid的三元组,并统计每个mid出现的次数,形成关系表nodehot存入mysql数据库中;s13:利用关系表objecttype,将实体提及类型和freebaseobject类型建立一对多的映射关系,根据实体提及per、org、gpe、loc以及fac的五种类型,形成perneedtype、orgneedtype、gpeneedtype、locneedtype、facneedtype五张关系表并存入mysql数据库中。s2:设计搜寻规则,在知识库中搜寻若干个与实体提及关系紧密的freebaseobject作为候选实体;本步骤的具体实现方式为:s21:将实体提及的名称进行查询扩展,使用的扩展包括字符子串扩展、缩略词扩展、中英文扩展、国家民族扩展、指代扩展和中文繁简扩展;s22:读取实体提及的类型,在关系表perneedtype、orgneedtype、gpeneedtype、locneedtype、facneedtype的约束下,在mysql数据库中对实体提及的扩展查询词进行全词匹配式检索,并将查询所得的mid加入到候选实体列表中;s23:在重定向关系表wikiredirect中,对实体提及的扩展查询词进行检索,将查询所得的mid加入到候选实体列表中;s24:对实体提及进行消歧扩展,利用wikipedia消歧目录资源,将消歧所得的mid加入到候选实体列表中;s25:对wikipedia各页面的标题、首段、上下文分别建立lucene索引,利用wikipedia标题和首段的lucene索引,对实体提及进行模糊检索,将相似度前10的mid直接加入候选实体列表,并取相似度前100的mid聚成集合e1;利用wikipedia上下文的lucene索引,对实体提及所在的上下文进行模糊检索,将相似度前100的mid形成集合e2,最后将e1∩e2加入到候选实体列表;s26:将s22~s25获得的提及的候选实体列表记为{e1,e1,...,ek},k为候选实体个数。s3:采用基于统计的方法,设计并抽取实体提及与其候选实体的特征,并对抽取到的特征进行embedding化;本步骤的具体实现方式为:s31:实体提及与候选实体的embedding化:以wikipediadatadump作为语料库,整理获得词表v,采用word2vec方法训练并获得均为100维的字向量列表,则实体提及和其候选实体的词向量为所有字向量的平均向量,用以下公式表示:w=[w1,w2,...wl]/l其中l为实体提及或其候选实体的字符长度,wi表示第i个字符的字向量;s32:实体提及类型与候选实体类型的特征提取:基于关系表objecttype,获取候选实体的freebaseobject类型,并根据s13所建立的五张提及类型映射关系表,得到该候选实体所属的提及类型,然后分别用一个5维向量表示实体提及和候选实体的类型特征,每一维根据是否包含该类型用1或者0表示;s33:实体热度的embedding化:基于关系表nodehot,对表内的热度值进行归一化处理,并将数值离散化为10维的向量表示;s34:文档相似度计算:采用基于tf-idf的词袋模型计算实体提及所处的上下文与候选实体所关联的wikipedia页面的相似度,每个字的tf-idf值具体计算如下:其中,n为文档总数,nw表示字w在文章中出现的总次数。在基于tf-idf的词袋模型中,每篇文章表示为向量vdoc=[v1,v2,...,v|v|],其中向量的每一维表示一个字的tf-idf值,|v|表示每篇文章的字总数;两篇文章的相似度计算的公式如下:最后,计算结果经离散化处理,得到一个10维向量。s4:将抽取特征的embedding作为一个多层的神经网络的输入,获取每个候选实体为目标实体的概率,并返回概率最高的候选实体的freebasemid。本步骤的具体实现方式为:s41:将s3中抽取特征的embedding拼接成一体,并作为输入,记为x,x∈r230;s42:将x作为三层全连接神经网络的输入进行计算,每一层的计算公式依次如下所示:h1=relu(w1x)h2=relu(w2h1)s=w3h2+b其中,h1、h2、s分别是第一层、第二层、第三层神经网络的输出;w1∈r256×230,w2∈r128×256,w3∈r1×128分别是第一层、第二层、第三层神经网络的权重参数,b为常数,b∈r;relu为几率函数;s43:将s42中神经网络输出的结果即每个候选实体的评分si,记为s={s1,s2,...,sk};利用softmax函数计算实体提及与候选实体的后验分布概率p(ei|m),计算公式如下所示:最后返回后验分布概率最高的候选实体的freebasemid。下面将该方法应用于下述实施例,以便本领域技术人员更好地理解本发明的具体实现。实施例以如下这则新闻为例,“奥朗德赶往枪击现场,法新社刚刚援引检方消息,枪击事件已造成10人死亡,法国总统奥朗德正赶往现场,并将召集紧急内阁会议。”进行实体链接,方法和步骤如下:1.根据不同谓词抽取实体类型、实体名称、实体id以及实体重定向信息,形成关系表objecttype、objectname、wikiid和wikiredirect存入mysql数据库中;2.抽取主体和客体均为mid的三元组,并统计每个mid出现的次数,形成关系表nodehot存入mysql数据库中;3.利用关系表objecttype,将实体提及类型和freebaseobject类型建立一对多的映射关系,并形成一系列关系表perneedtype、orgneedtype、gpeneedtype、locneedtype、facneedtype存入mysql数据库中;4.将文章通过实体识别的任务,得到所有的提及以及提及的类型,奥朗德(per)、法国(gpe)、法新社(org)。将提及名称进行查询的扩展,包括子串扩展、缩略词扩展等。如将法新社扩展为法国新闻社、法国扩展为法兰西共和国等;5.读取实体提及的类型,在关系表perneedtype、orgneedtype、gpeneedtype、locneedtype、facneedtype的约束下,在mysql数据库中对实体提及的扩展查询词进行全词匹配式检索,并将查询所得的mid加入到候选实体列表中;6.在重定向关系表wikiredirect中,对实体提及的扩展查询词进行检索,将查询所得的mid加入到候选实体列表中;7.对实体提及进行消歧扩展,利用wikipedia消歧目录资源,将消歧所得的mid加入到候选实体列表中;8.对wikipedia各页面的标题、首段、上下文分别建立lucene索引。利用wikipedia标题和首段的lucene索引,对实体提及进行模糊检索,将相似度前10的mid直接加入候选实体列表,并取相似度前100的mid聚成集合e1。利用wikipedia上下文的lucene索引,对实体提及所在的上下文进行模糊检索,将相似度前100的mid形成集合e2。最后将e1∩e2加入到候选实体列表。记提及m的候选实体列表为{e1,e1,...,ek},k为候选实体个数;9.实体提及与候选实体的embedding化。以wikipediadatadump作为语料库,整理获得词表v,采用word2vec方法训练并获得词(字)向量列表,工具为python的gensim包,将|v|维的one-hot表示形式嵌入到低维的空间,每个词(字)向量均为100维。实体提及和候选实体均视为由若干个字w=[w1,w2,...wl]组成,l为字符长度,wi表示第i个字符的字向量。基于上述安排,实体提及和候选实体的词向量即是其所有字向量的平均向量值。10.实体提及类型与候选实体类型的特征提取。实体提及的类型共有五类:per、loc、gpe、org以及fac。基于关系表objecttype,获取候选实体的freebaseobject类型,并根据前述所建立的映射关系表,得到该候选实体所属的提及类型。然后分别用一个5维向量表示实体提及和候选实体的类型特征,每一维根据是否包含该类型用1或者0表示;11.实体热度的embedding化。基于关系表nodehot,对表内的热度值进行归一化处理,并将数值离散化为10维的向量表示;12.文档相似度计算。文档相似度计算是采用基于tf-idf的词袋模型,计算实体提及所处的上下文与候选实体所关联的wikipedia页面的相似度。其中,tf表示词频,idf表示逆文档频率,具体公式由(1)给出:在基于tf-idf的词袋模型中,每篇文章表示为向量vdoc=[v1,v2,...,v|v|]。其中,每一维表示每个字的tf-idf值,相似度计算的公式由(2)给出。最后,计算结果经离散化处理,得到一个10维向量。13.将3中的embedding连接作为输入,记为x,x∈r230;14.将输入x通过三层全连接神经网络,每一层的计算公式由(3)~(5)给出:h1=relu(w1x)(3)h2=relu(w2h1)(4)s=w3h2+b(5)其中,w1∈r256×230,w2∈r128×256,w3∈r1×128,b∈r15.上述神经网络输出每个候选实体的评分,记为s={s1,s1,...,sk}。基于上述评分,再利用softmax计算实体提及与候选实体的后验分布概率,公式由(6)给出。最后返回概率最高的候选实体的freebasemid。最终得到的文档链接结果如下:typespantitlewikipageid奥朗德per0-2弗朗索瓦·奥朗德1852655法新社org11-13法新社93478法国gpe35-36法国543奥朗德per39-41弗朗索瓦·奥朗德1852655当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1