一种融合先验信息的命名实体链接方法转让专利

申请号 : CN201810103629.7

文献号 : CN108363688B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤斯亮杨希远陈博林升吴飞庄越挺

申请人 : 浙江大学

摘要 :

本发明公开了一种融合先验信息的命名实体链接方法。该方法包括如下步骤:(1)从Wikipedia data dump,Freebase data dump提取字符串‑候选实体表、人名列表、地名列表;(2)将Wikipedia data dump中的每篇文章表示为词频/逆文档频率tf‑idf特征,并提取每个字符串相对于候选实体的通用性特征;(3)对实体提及进行问询拓展,使用(1)中的字符串‑候选实体表,为实体提及生成候选实体;(4)抽取实体提及所在文章的特征,得到文章的逆文档频率以及重要词碰撞率;(5)使用(2)、(4)所提取的特征,计算实体提及与其各个候选实体之间的关联程度,并将关联程度最高的作为实体链接结果。本发明突破了语料缺乏的限制,为用户提供了可靠的实体链接推荐结果,其中实体通用性特征加入了先验信息。

权利要求 :

1.一种融合先验信息的命名实体链接方法,其特征在于包括如下步骤:S1:从Wikipedia data dump、Freebase data dump中提取字符串-候选实体表、人名列表和地名列表;

S2:将Wikipedia data dump中的每篇文章表示为词频-逆文档频率tf-idf特征,提取其每个字符串相对于候选实体的通用性commoness特征并进行存储;

S3:使用S1中得到的人名列表、地名列表作问询拓展,使用S1中得到的字符串-候选实体表,为实体提及生成候选实体;

S4:计算实体提及相对于候选实体的重要词碰撞率IWHR;

S5:根据S2、S4中提取的tf-idf特征、commoness特征、IWHR特征计算实体提及与其各个候选实体之间的关联程度,并将关联程度最高的作为实体链接结果;

S1具体包含以下步骤:

S11:解析Wikipedia data dump,提取维基百科中包含实体的文章De、文章中的锚文本Ae、文章相应的实体编号Wid、重定向页面Repages、消歧页面dispages,进而生成字符串-候选实体表str2entity;

S12:提取Freebase data dump中的所有人名、地名形成人名列表Pname和地名列表Plocation;

S2具体包含以下步骤:

S21:采用自然语言处理工具StanfoldCoreNLP对Wikipedia每篇文章分词,同时使用停用词词典去除停用词,得到词表;

S22:基于词表,计算每篇文章内的所有单词的逆文档频率idf,其中单词word的idf计算公式如下:其中语料库的文档数为Wikipedia中的文章总数;

S23:基于词表,计算每篇文章内的所有单词的词频tf,其中单词word的tf计算公式如下:S24:根据S22、S23结果,计算Wikipedia每篇文章内的所有单词的词频-逆文档频率tf-idf向量,其中单词word的tf-idf向量表示如下:S25:基于S24所得的tfidfword(word),保留从大到小排列前20个单词的词频-逆文档频率值,作为这篇文章的tf-idf特征,记为tfidf(document);

S26:根据以下公式计算每个字符串相对于候选实体的通用性commoness特征:其中e为一个候选实体,m是字符串, 为表面名称为m且链接实体为e的锚文本集合,Am为表面名称为m的锚文本集合,|·|表示集合中的元素个数;

S27:将计算得到的每篇文章的tf-idf特征以及每个字符串相对于候选实体的commoness特征进行存储;

S3具体包含以下步骤:

S31:根据实体提及对应的字符串s,查询Pname、Plocation,若该字符串s在任一表中,则转入步骤S32,否则转入步骤S33;

S32:检查s的上文中是否有字符串s',其中s是s'的字符子串,若存在,则将s替换为s'后转入S33,若不存在则直接转入S33;

S33:利用字符串s查询str2entity,得到该字符串s的所有候选实体;

S4具体包含以下步骤:

S41:使用StanfoldCoreNLP工具对实体提及所在的文章进行分词,同时去除停用词,得到词表;

S42:按照S22中所述的idf计算公式得到实体提及所在的文章中每个单词的idf值idf(w);

S43:根据以下公式计算重要词碰撞率IWHR(e,m):其中,e为一个候选实体,m是实体提及,Wd为m所在文章的单词集合,We为e所在文章的单词集合,T为设定的idf阈值;

所述的S5中,计算实体提及与其各个候选实体之间的关联程度,并将关联程度最高的作为实体链接结果的具体步骤如下:S51:提取实体提及m的所在文章dm,及其某一候选实体e的所在文章de;

S52:根据S2存储结果获得文章dm和文章de的tf-idf特征;

S53:对每个候选实体e,计算实体提及与其候选实体之间的tf-idf相似性:其中:||·||表示向量的模;

S54:从S2和S4的计算结果中获取实体提及m相对于候选实体e的commoness特征和IWHR特征;

S55:对每个候选实体e,根据以下公式计算实体提及与候选实体之间的相似度:similarity(e,m)=a×log(commoness(e,m))+b×log(tfidfsimilarity(e,m))+c×log(IWHR(e,m))其中a,b,c为常数;

S56:计算最后的实体链接结果eresult:

eresult=arg maxe(similarity(e,m))。

2.根据权利要求1所述的一种融合先验信息的命名实体链接方法,其特征在于所述的idf阈值设定为

3.根据权利要求1所述的一种融合先验信息的命名实体链接方法,其特征在于所述的a,b,c分别设置为1.0,6.0,1.0。

说明书 :

一种融合先验信息的命名实体链接方法

技术领域

[0001] 本发明涉及自然语言处理,尤其涉及一种融合先验信息的命名实体链接方法。

背景技术

[0002] 自然语言处理(Nature Language Processing,简称NLP)是一门集语言学与计算机科学为一体的交叉学科。命名实体链接(Named Entity Linking,简称NEL)是自然语言处理中的一项基本任务,旨在消除由于别名、指代、一词多意等语言学现象引发的歧义,建立文本中出现的专有名词(实体名)与知识库中其所指代的实体之间的对应关系。问题的定义是:给定一段文本和文本中的提及(mention,也就是待链接的字符串),从一个指定的知识库中找出这些提及所指代的实体。
[0003] 实体链接这种可以在文本与知识库之间建立链接的技术在信息抽取中有着十分重要的作用。其中关系抽取(Relation Extraction)就是信息抽取技术中需要实体链接的一个典型例子。关系抽取问题的目的是从文本中抽取出不同实体间的关联关系,因而找出文本中的实体提及并通过实体链接找到它们对应的实体是做进一步分析的前提。
[0004] 另外,实体链接相当于为原来的文本又增加了额外的信息,因而也可以用在一些自然语言处理和文本挖掘问题中,有利于更深入地理解文本,得到更好的效果。
[0005] 实现实体链接一般分多步来完成,其中最重要的两步为候选生成(Candidate Generation)与候选消歧(Candidate Ranking)。候选生成步骤根据当前提及(所用的名字来找出其可能指的是哪些实体,作为候选;然后,候选消歧步骤根据提及的上下文和候选实体本身的一些特征,选出最佳候选作为最终的链接结果。
[0006] 候选生成这一步的常见做法是事先构造一个字典,存储每个名字可能对应哪些实体,当要执行实体链接时,就可根据当前提及所用的名字从字典中查找出候选实体。一般利用知识库中提供的信息来构建该字典。
[0007] 在候选消歧步骤,通常的做法包括协同与非协同的方法。协同的方法在进行实体链接时,一般同时考虑同一上下文中的多个提及,希望链接结果中它们各自的目标实体间关联程度尽量大。而非协同的方法则单独的考量每个提及。我们所用的方法是非协同的方法。非协同的方法相对来协同方法一般速度较快而性能略差。
[0008] 传统非协同方法,会设计一系列特征包括:名字特征(Surface Features),用来衡量提及的名字字符串与候选实体名字间的相似度,如提及的名字字符串与候选实体名字中的相同词数;上下文特征(Context Features),衡量候选实体与提及上下文在语义上的匹配程度,如提及所在文档与候选实体描述的TF-IDF相似度、候选实体的Wikipedia页面标题中的词是否都在提及所在文档中出现等;其他特征,如共同出现在提及所在文档和候选实体描述中的国家名数、共同出现在候选实体所有别名中和提及所在文档中的国家名数等。
[0009] 由于这样启发式的特征非常需要专家知识,一旦知识库或者语料发生改变,原有的特征工程就无效了,我们希望寻求通过尽量少的特征得到较好的效果。

发明内容

[0010] 本发明的目的是为了将自然文本中的已经识别出的实体链接到目标知识库(Freebase),以为信息抽取等后续任务提供基础,提出一种融合先验信息的命名实体链接方法。
[0011] 因此我们发明了IWHR(Important Word Hit Rate,重要词撞击率)这种特征,并将其与commoness,tf/idf两种特征结合去判断实体与提及的匹配程度,原先的名字特征则通过候选生成的过程来保证,commoness特征为我们的方法加入了先验信息。
[0012] 又因为,通常的命名实体链接模型需要通过训练语料来确定参数,训练语料的获取非常困难,我们发明的方法就将三者以非训练的方式结合到一起,同时给出了建议的参数设置。
[0013] 另外,为了弥补非协同方法不考虑上下文提及的问题,我们在进行实体链接之前加入了问询扩展,针对同一篇文章中的可能指向同一个实体的人名和地名做了特别优化。
[0014] Tf/idf(词频/逆文档频率特征,即Tf-idf)常用与衡量文章之间的相似程度,我们这里引入这个特征用于衡量提及上下文与候选实体上下文的相似程度。
[0015] Commonness,反应了候选实体作为提及的概率,引入该特征相当于加入了先验信息,在上下文不充足的情况下,可以用于判断提及的指向。计算公式如下:
[0016] 设 为显示为名字字符串s且链接到实体e对应页面的锚文本集合,As为显示为字面字符串s的锚文本集合。则有:
[0017]
[0018] IWHR弥补了tf/idf的不足,更加侧重于文章上下文中出现的重要词语的考量,计算公式如下:
[0019] 设e为一个维基百科的候选实体,m是待识别字符串,Wd为m所在文章的单词集合,We为e的页面的单词集合,则IWHR(e,m)可以按照公式(2)计算,在公式(2)中,T为人工设定的阈值,本方法将此设定为
[0020]
[0021] 本发明具体通过如下技术方案实现:
[0022] 融合先验信息的命名实体链接方法,包括如下步骤:
[0023] S1:从Wikipedia data dump、Freebase data dump中提取字符串-候选实体表、人名列表和地名列表;
[0024] S2:将Wikipedia data dump中的每篇文章表示为词频-逆文档频率tf-idf特征,提取其每个字符串相对于候选实体的通用性commoness特征并进行存储;
[0025] S3:使用S1中得到的人名列表、地名列表作问询拓展,使用S1中得到的字符串-候选实体表,为实体提及生成候选实体;
[0026] S4:计算实体提及相对于候选实体的重要词碰撞率IWHR;
[0027] S5:根据S2、S4中提取的tf-idf特征、commoness特征、IWHR特征计算实体提及与其各个候选实体之间的关联程度,并将关联程度最高的作为实体链接结果。
[0028] 上述各步骤可具体采用如下实现方式:
[0029] S1具体包含以下步骤:
[0030] S11:解析Wikipedia data dump,提取维基百科中包含实体的文章De、文章中的锚文本Ae、文章相应的实体编号Wid、重定向页面Repages、消歧页面dispages,进而生成字符串-候选实体表str2entity;
[0031] S12:提取Freebase data dump中的所有人名、地名形成人名列表Pname和地名列表Plocation。
[0032] S2具体包含以下步骤:
[0033] S21:采用自然语言处理工具StanfoldCoreNLP对Wikipedia每篇文章分词,同时使用停用词词典去除停用词,得到词表;
[0034] S22:基于词表,计算每篇文章内的所有单词的逆文档频率idf,其中单词word的idf计算公式如下:
[0035]
[0036] 其中语料库的文档数为Wikipedia中的文章总数;
[0037] S23:基于词表,计算每篇文章内的所有单词的词频tf,其中单词word的tf计算公式如下:
[0038]
[0039] S24:根据S22、S23结果,计算Wikipedia每篇文章内的所有单词的词频-逆文档频率tf-idf向量,其中单词word的tf-idf向量表示如下:
[0040]
[0041] S25:基于S24所得的tfidfword(word),保留从大到小排列前20个单词的词频-逆文档频率值,作为这篇文章的tf-idf特征,记为tfidf(document);
[0042] S26:根据以下公式计算每个字符串相对于候选实体的通用性commoness特征:
[0043]
[0044] 其中e为一个候选实体,m是字符串, 为表面名称为m且链接实体为e的锚文本集合,Am为表面名称为m的锚文本集合,|·|表示集合中的元素个数;
[0045] S27:将计算得到的每篇文章的tf-idf特征以及每个字符串相对于候选实体的commoness特征进行存储。
[0046] S3具体包含以下步骤:
[0047] S31:根据实体提及s,查询Pname、Plocation,若该字符串在任一表中,则转入步骤S32,否则转入步骤S33;
[0048] S32:检查s的上文中是否有字符串s',其中s是s'的字符子串,若存在,则将s替换为s'后转入S33,若不存在则直接转入S33;
[0049] S33:利用字符串s查询str2entity,得到该字符串的所有候选实体。
[0050] S4具体包含以下步骤:
[0051] S41:使用StanfoldCoreNLP工具对实体提及所在的文章进行分词,同时去除停用词,得到词表;
[0052] S42:按照S22中所述的idf计算公式得到实体提及所在的文章中每个单词的idf值idf(w);
[0053] S43:根据以下公式计算重要词碰撞率IWHR(e,m):
[0054]
[0055] 其中,e为一个候选实体,m是实体提及,Wd为m所在文章的单词集合,We为e所在文章的单词集合,T为设定的idf阈值。所述的idf阈值可设定为
[0056] S5中,计算实体提及与其各个候选实体之间的关联程度,并将关联程度最高的作为实体链接结果的具体步骤如下:
[0057] S51:提取实体提及m的所在文章dm,及其某一候选实体e的所在文章de;
[0058] S52:根据S2存储结果获得文章dm和文章de的tf-idf特征;
[0059] S53:对每个候选实体e,计算实体提及与其候选实体之间的tf-idf相似性:
[0060]
[0061] 其中:||·||表示向量的模;
[0062] S54:从S2和S4的计算结果中获取实体提及m相对于候选实体e的commoness特征和IWHR特征;
[0063] S55:对每个候选实体e,根据以下公式计算实体提及与候选实体之间的相似度:
[0064] similarity(e,m)=a×log(commoness(e,m))+b×log(tfidfsimilarity(e,m))+c×log(IWHR(e,m))
[0065] 其中a,b,c为常数;
[0066] S56:计算最后的实体链接结果eresult:
[0067] eresult=argmaxe(similarity(e,m))。
[0068] a,b,c可以通过神经网络学习到,也可以人工调试和设置,建议分别设置为1.0,6.0,1.0。
[0069] 本发明仅使用实体通用性、词频/逆文档频率,重要词碰撞率等三种特征,突破了语料缺乏的限制,为用户提供了可靠的实体链接推荐结果,其中实体通用性特征加入了先验信息。

附图说明

[0070] 图1是利用Wikipedia data dump、Freebase data dump提取资源的工作流程图;
[0071] 图2是融合先验信息的命名实体链接方法的主要步骤工作流程图。

具体实施方式

[0072] 下面结合附图和具体实施方式对本发明做进一步阐述。
[0073] 本发明主要针对命令实体链接任务将commoness,tf/idf,IWHR这三个特征组合,实现了一种融合先验信息的命名实体链接方法,该方法综合考虑了提及上下文、实体流行程度的先验、文本的关键词的重要性,实现了较高的准确率,也兼顾了实体链接的效率。由于使用的特征较少,最终需要拟合的参数较少,在迁移知识库和语料的情况下,也较为方便。
[0074] 如图1和2所示,一种融合先验信息的命名实体链接方法,包括如下步骤:
[0075] S1:从Wikipedia data dump、Freebase data dump中提取字符串-候选实体表、人名列表和地名列表;本步骤具体实现方法如下:
[0076] S11:解析Wikipedia data dump,提取维基百科中包含实体的文章De、文章中的锚文本Ae、文章相应的实体编号Wid、重定向页面Repages、消歧页面dispages,进而生成字符串-候选实体表str2entity;
[0077] S12:提取Freebase data dump中的所有人名、地名形成人名列表Pname和地名列表Plocation。
[0078] S2:将Wikipedia data dump中的每篇文章表示为词频-逆文档频率tf-idf特征,提取其每个字符串相对于候选实体的通用性commoness特征并进行存储;本步骤具体实现方法如下:
[0079] S21:采用自然语言处理工具StanfoldCoreNLP对Wikipedia每篇文章分词,同时使用停用词词典去除停用词,得到词表;
[0080] S22:基于词表,计算每篇文章内的所有单词的逆文档频率idf,其中单词word的idf计算公式如下:
[0081]
[0082] 其中语料库的文档数为Wikipedia中的文章总数;
[0083] S23:基于词表,计算每篇文章内的所有单词的词频tf,其中单词word的tf计算公式如下:
[0084]
[0085] S24:根据S22、S23结果,计算Wikipedia每篇文章内的所有单词的词频-逆文档频率tf-idf向量,其中单词word的tf-idf向量表示如下:
[0086]
[0087] S25:基于S24所得的tfidfword(word),保留从大到小排列前20个单词的词频-逆文档频率值,作为这篇文章的tf-idf特征,记为tfidf(document);
[0088] S26:根据以下公式计算每个字符串相对于候选实体的通用性commoness特征:
[0089]
[0090] 其中e为一个候选实体,m是字符串, 为表面名称为m且链接实体为e的锚文本集合,Am为表面名称为m的锚文本集合,|·|表示集合中的元素个数;
[0091] S27:将计算得到的每篇文章的tf-idf特征以及每个字符串相对于候选实体的commoness特征进行存储。
[0092] S3:使用S1中得到的人名列表、地名列表作问询拓展,使用S1中得到的字符串-候选实体表,为实体提及生成候选实体;本步骤具体实现方法如下:
[0093] S31:根据实体提及s,查询Pname、Plocation,若该字符串在任一表中,则转入步骤S32,否则转入步骤S33;
[0094] S32:检查s的上文中是否有字符串s',其中s是s'的字符子串,若存在,则将s替换为s'后转入S33,若不存在则直接转入S33;
[0095] S33:利用字符串s查询str2entity,得到该字符串的所有候选实体。
[0096] S4:计算实体提及相对于候选实体的重要词碰撞率IWHR;本步骤具体实现方法如下:
[0097] S41:使用StanfoldCoreNLP工具对实体提及所在的文章进行分词,同时去除停用词,得到词表;
[0098] S42:按照S22中所述的idf计算公式得到实体提及所在的文章中每个单词的idf值idf(w);
[0099] S43:根据以下公式计算重要词碰撞率IWHR(e,m):
[0100]
[0101] 其中,e为一个候选实体,m是实体提及,Wd为m所在文章的单词集合,We为e所在文章的单词集合,T为设定的idf阈值。idf阈值可以设定为
[0102] S5:根据S2、S4中提取的tf-idf特征、commoness特征、IWHR特征计算实体提及与其各个候选实体之间的关联程度,并将关联程度最高的作为实体链接结果。本步骤具体实现方法如下:
[0103] S51:提取实体提及m的所在文章dm,及其某一候选实体e的所在文章de;
[0104] S52:根据S2存储结果获得文章dm和文章de的tf-idf特征;
[0105] S53:对每个候选实体e,计算实体提及与其候选实体之间的tf-idf相似性:
[0106]
[0107] 其中:||·||表示向量的模;
[0108] S54:从S2和S4的计算结果中获取实体提及m相对于候选实体e的commoness特征和IWHR特征;
[0109] S55:对每个候选实体e,根据以下公式计算实体提及与候选实体之间的相似度:
[0110] similarity(e,m)=a×log(commoness(e,m))+b×log(tfidfsimilarity(e,m))+c×log(IWHR(e,m))
[0111] 其中a,b,c为常数;
[0112] S56:计算最后的实体链接结果eresult:
[0113] eresult=argmaxe(similarity(e,m))。
[0114] a,b,c可以人工分别设置为1.0,6.0,1.0。
[0115] 下面将该方法应用于下述实施例,以便本领域技术人员更好地理解本发明的具体实现。
[0116] 实施例
[0117] 以2017年文本分析会议(text analysis conference)的实体发现与链接子任务的文档为例,将上述方法应用于文中进行文本命名实体链接,(资源提取过程不再详述,过程较为复杂)各步骤中具体参数和做法如下:
[0118] 1.将原始文档集合利用命名实体识别工具或者人工标注得到待链接的提及,具体为给出提及的字符串所在文章,首字母位置,尾字母位置的三元组;
[0119] 2.编写脚本抽取文档集合中的所有内容(除去xml标签),每篇文章作为一个文件;
[0120] 3.对每篇文章利用自然语言处理工具StanfoldCoreNLP进行分词,同时去除停用词,统计每篇文章的总词数;
[0121] 4.对每篇文章统计每个单词的出现次数,计算每篇文章中每个单词的tf值,计算公式如下:
[0122]
[0123] 5.按照对Wikipedia统计得到的词表以及单词的idf值,和上面计算得到的tf值,计算每篇文章中每个单词的tf-idf值,计算公式如下:
[0124]
[0125] 6.每篇文章中,tf-idf值按照从大到小排列取前20个与相应的单词作为这篇文章的tf-idf特征;
[0126] 7.对1中识别出来的每个提及,根据是否是人名、地名进行问询拓展,是则进行问询拓展,判断方式为:
[0127] 若提及在人名列表、地名列表里面就认为是人名、地名;
[0128] 问询拓展方式为:
[0129] 确定s所在文章中s之前是否有字符串s',s'的缩写为s;或者s为s'的一部分,比如s'为
[0130] Hilary Clinton,s为Clinton;若存在这种情况,则将s替换为s';
[0131] 8.对每个提及查询字符串-候选实体-commoness列表,得到字符串的候选实体以及相应的commoness特征;
[0132] 9.对每个提及,计算提及所在文章和和他们相应的候选实体文章之间的tf-idf相似性,计算公式如下:
[0133]
[0134] 10.对每个提及,计算提及所在文章和和他们相应的候选实体之间的IWHR相似性,计算公式如下:
[0135] 设e为一个维基百科的候选实体,m是待识别字符串,Wd为m所在文章的单词集合,We为e的页面的单词集合,则IWHR(e,m)可以按照下列等式(2)计算,T为人工设定的阈值,本方法将此设定为
[0136]
[0137] 11.对每个提及,和他们的每个候选实体计算提与实体相关度,计算公式如下:
[0138] similarity(e,m)=a×log(commoness(e,m))+b×log(tfidfsimilarity(e,m))+c×log(IWHR(e,m))(5)
[0139] (a,b,c)设置为(1.0,6.0,1.0);
[0140] 12.取令上式最大的e,作为m的链接结果,也即下列等式:
[0141] eresult=argmaxe(similarity(e,m))   (6)
[0142] 下表是所选文档的部分最终链接结果。
[0143]WORD Beg End KBid
Turkey 2279 2284 m.01znc_
Microsoft 2620 2628 m.04sv4
Nam Dinh 3703 3710 m.07m1dj
the Beatles 2078 2088 m.07c0j
Gaisano mall 2642 2653 m.09rxbx2