实体链接方法及装置
文献发布时间:2023-06-19 11:29:13
技术领域
本发明涉及计算机技术领域,具体涉及一种实体链接方法及装置。
背景技术
伴随着大数据时代互联网的发展,人们被大量来源广泛的新闻信息环绕,比如报纸、网络等,其中新闻最常见的载体是文本,文本是最容易获取有价值信息的方式。由于不同来源产生的新闻信息方式各种各样,新闻文本的格式和蕴含的信息也往往杂乱无章,同时产生新闻信息的数量也极其庞大,完全依赖人工实现中文新闻事件的检测是几乎不可能的。因此,需要借助于计算机进行文本的语义理解和分析,进而提炼出有效信息。
发明内容
针对现有技术中存在的问题,本发明实施例提出一种实体链接方法及装置。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种实体链接方法,包括:
基于词典的方式进行实体发现,得到实体提及;
基于词和实体的联合表示的方式进行实体链接,得到所述实体提及与知识库中的实体的链接关系;
对所述链接关系进行减枝处理。
进一步地,基于词典的方式进行实体发现,得到实体提及,包括:
构建锚文本词典;
基于所述锚文本词典,采用实体提及匹配算法,识别所述文档中的实体提及。
进一步地,构建锚文本词典,包括:
从所述知识库中提取实体,以及提取与所述实体对应的锚文本;
在提取得到的锚文本m中,应用以下过滤规则进行过滤:
去除掉length(m)≤length的锚文本;
去除掉link_prob(m)≤prob的锚文本;
去除掉count(m)≤count的锚文本;
根据过滤之后得到的锚文本,建立实体与锚文本之间的对应关系,构建锚文本词典;
其中,length、prob、count的数值预先设定;length(m)是指锚文本m的长度,link_prob(m)是指锚文本m的先验概率,锚文本m的先验概率是指锚文本m作为实体提及在文档中出现的概率;link_prob(m)=freq(m)/count(m),其中,freq(m)是m作为锚文本出现的次数,count(m)是m在语料库中的所有出现次数。
进一步地,基于所述锚文本词典,采用实体提及匹配算法,识别所述文档中的实体提及,包括:
利用Aho-Corasick算法,将所述文档在锚文本词典里的文本片段识别出来;
对于识别结果,若存在冲突现象:一个实体提及m1嵌套在另一个实体提及m2中,或,一个实体提及m1和另一个实体提及m2相互重叠,则根据下面方式进行冲突解决:
对于长度不同的m1和m2,如果length(m1)>length(m2),则保留m1,反之,保留m2;
对于长度相同的实体提及,如果link_prob(m1)>link_prob(m2),则保留m1,反之,保留m2。
进一步地,基于词和实体的联合表示的方式进行实体链接,得到所述实体提及与知识库中的实体的链接关系,包括:建立词和实体的联合表示模型;
基于所述词和实体的联合表示模型,采用概率实体模型,建立所述实体提及与知识库中的实体的链接关系。
进一步地,所述词和实体的联合表示模型包括skip-gram模型、知识库模型和锚文本上下文模型的组合;相应地,建立词和实体的联合表示模型,包括:
建立skip-gram模型,通过预测词的相邻词学习给定文本语料中词的表示;
建立知识库模型,通过预测目标实体相邻的实体来学习实体的表示;
建立锚文本上下文模型,将锚文本替换为相应的实体,预测该实体周围下文的词,将词和实体映射到同一个语义空间中;
在对所述词和实体的联合表示模型进行训练时,所述词和实体的联合表示模型的总目标为最大化三个模型目标函数的线性组合。
进一步地,基于所述词和实体的联合表示模型,采用概率实体模型,建立所述实体提及与所述知识库中的实体的链接关系,包括:
给定一个实体提及m
根据实体e,生成出实体提及m
生成实体提及m
其中,给定输入文档D和实体提及m
其中,每个实体提及对应的生成过程是相互独立的,其中
给定输入文档D和实体提及mi,最终的知识库中对应的实体是最大化后验概率P(ei|mi,D)的实体,因此,形式化为下面的表示:
P(e)是实体的先验分布,将实体的先验分布定义为在整个数据集上的先验分布;为了控制在不同领域先验不同而带来的影响,引入了影响因子α:
其中,A
其中,
将词向量对应的词汇表提前建立一个Aho-Corasick索引,直接使用Aho-Corasick算法匹配实体提及上下文中的词而不需要进行分词操作;
P(N|e)是给定实体e的上下文实体的概率分布;
其中,计算实体一致性的方法包括:找到当前处理的文档中初始的无歧义的实体,加入初始化的无歧义实体集合N,确定先验概率P^(e|m)>θ的实体为无歧义实体,其中,P^(e|m)=|A
按照从左向右或者从简单到复杂的顺序处理发现实体的提及{m1,m
其中,E
进一步地,所述对所述链接关系进行减枝处理,包括:
在经过实体发现和实体链接的过程之后,对于每个文档D得到一个结果序列R={r1,r2,...,r|M|},ri=(mi,ei*,scorei),其中,scorei是实体链接结果中P(e|m)的值,将该值看作是实体链接的置信度;
采用过滤算法进行最后结果的过滤:将R按照r
第二方面,本发明实施例还提供了一种实体链接方法,包括:
实体发现模块,用于基于词典的方式进行实体发现,得到实体提及;
实体链接模块,用于基于词和实体的联合表示的方式进行实体链接,得到所述实体提及与知识库中的实体的链接关系;
减枝处理模块,用于对所述链接关系进行减枝处理。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的实体链接方法。
由上述技术方案可知,本发明实施例提供的实体链接方法及装置,使用基于词典的方式发现实体,并基于词和实体联合表示的方式实现了实体链接,本发明实施例在实体发现中使用基于词典的方式,在增加召回率的同时有效避免了中文分词对实体发现带来的影响,此外,本发明实施例基于词和实体联合表示的方式实现了实体链接,从而使得实体链接更加准确和丰富。通过本发明实施例的实体链接方法,实现辅助阅读,以及可用协助进行文本预处理。例如,对于辅助阅读来说,可以将新闻、文献或其它有阅读困难的文本(比如其中有不了解的实体或是名词)输入该发明应用的页面文本框中,进行实体识别和链接,会返回被链接到知识库中的实体对应的URL,用户可以点击URL进入实体详情介绍页面。此外,对于辅助研究者们做文本预处理来说,实体识别和链接是自然语言处理中的基础任务,实体链接将文本中的实体链接到知识库中,为文本提供更丰富的背景知识,为文本理解、机器阅读等任务提供更多的语义信息,为其它自然语言理解的研究提供数据基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1是本发明一实施例提供的实体链接方法的流程图;
图2是本发明一实施例提供的维基百科中锚文本的示意图;
图3是本发明一实施例提供的实体链接的处理过程示意图;
图4是本发明一实施例提供的实体链接装置的结构示意图;
图5是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本发明一实施例提供的实体链接方法的流程图,如图1所示,本发明实施例提供的实体链接方法,具体包括如下内容:
步骤101:基于词典的方式进行实体发现,得到实体提及;
步骤102:基于词和实体的联合表示的方式进行实体链接,得到所述实体提及与知识库中的实体的链接关系;
步骤103:对所述链接关系进行减枝处理。
在介绍本实施例的方案之前,先对一些背景词汇进行介绍:
知识库,又称知识图谱,描述实体与实体之间的关系,将知识组织为有向图,表示知识图谱的所有节点,每个节点代表一个实体,实体拥有丰富的信息描述,例如实体类别、信息框、文本描述等。表示两个节点之间的关系集合。知识图谱还可被表示为三元组集合。
实体,表示现实世界中的具体事物,或者是抽象的概念。如人、机构、地点,或是“机器学习”、“人工智能”等。区别于大多数研究中的“命名实体”,本文中指的实体包括命名实体(主要指人物、组织机构、地点)、普通实体(如电影、书籍、歌曲、文化习俗、食物、材料等)和抽象概念(产生于人类抽象思维的无实物形态的概念)。在知识库中,一个实体可能对应多个概念,如,迈克尔·乔丹在维基百科中既属于类别"篮球运动员",又属于类别“总统自由勋章获得者”。
文档,是实体发现任务的输入,是一个词序列。词序列是若干词(英文)或字(中文)的有序序列。
实体提及,表示文本中提及实体的文本片段,其可能是一个词,也可能是几个连续的词。例如,篮球运动员“迈克尔·乔丹”在不同文档中可能出现不同的实体提及,“乔丹”或者“空中飞人”等。
锚文本,是指在百科的页面中,指向另一实体页面的超文本。由百科内容的创作者们协同编辑产生,是天然的实体提及-实体标注数据。如图2所示,在维基页面中显示的带有超链接的文字为锚文本,文本“夏洛特黄蜂”的超链接指向维基百科中的“夏洛特黄蜂”词条页面,文本“芝加哥公牛”的超链接指向维基百科中的“芝加哥公牛”词条页面。
锚文本词典,是通过将知识库中所有锚文本表示的实体提及和实体的对应关系进行聚合而生成的词典,形式为键-值对,其中,键表示实体提及,值表示实体。该词典是一个一对多的词典,一个键可能有多个值对应。比如,“迈克尔·乔丹”是一个键,其对应的值为“迈克尔·乔丹”、“迈克尔·乔丹(学者)”还有“迈克尔·乔丹(足球运动员)”,同时,“空中飞人”也是一个键,其只有一个对应的值——实体“迈克尔·乔丹”。
实体链接,给定文档和知识库,实体链接旨在识别出文本中的所有实体提及,并在知识库中找到每个实体提及对应的实体,如果知识库并未收录实体提及指代的实体,则需将映射到空实体。
在本实施例中,需要说明的是,实体链接任务一般分为三个步骤:实体发现、候选实体生成(对应实体链接)和候选实体消歧(对应减枝处理)。实体发现旨在识别出文档中的所有实体提及,候选实体生成则为每个实体提及找到其可能指代的知识库实体,称为候选实体集。候选实体消歧则是确定实体提及所指代的知识库实体。
如图3所示,本实施例主要包括实体发现、实体链接、减枝三部分。其中实体发现阶段包括锚文本词典的构建和实体提及的匹配两部分;然后实体链接包括词和实体的联合表示学习以及基于词和实体的联合表示的概率消歧模型进行的实体链接,其中词和实体联合表示模型部分包括三部分:常规的skip-gram模型、知识库模型、锚文本上下文模型;最后对实体发现和实体链接的结果进行减枝处理。
下面对实体发现、实体链接和减枝处理分别进行详细解释说明:
在本实施例中,实体发现,主要包括两部分:锚文本词典的构建和实体提及的匹配。关于锚文本词典的构建具体介绍如下:
锚文本可以看做是实体提及-实体的人工标注的匹配对。锚文本可能是实体的标题、别名,或者是同义词。比如说,锚文本“苹果”在不同的语境、页面中可能指向不同的实体“苹果公司”或是“苹果(水果)”。而实体“苹果公司”也可能被多个锚文本(如“苹果公司”“苹果”)指代。锚文本天然的词-实体的多对多关系与实体链接所需要的词-实体多对多关系刚好相吻合,因此,锚文本可以作为实体发现和实体链接的很好的训练语料。采用的数据可以是通用的百科数据库,也可以是特定领域,例如金融、医疗等领域的领域数据库,英文是wikipedia,中文百度百科,头条百科等,不同语言对应有不同的知识库,比如电影领域的IMDB,科学研究领域的DBLP等。但是知识库前提条件为知识库中提供的信息包含:实体名称、实体的文字描述、实体属性和属性值、实体类别以及实体之间的关系等。
可以理解的是,由于数据库难免会有错误噪声。因此,抽取出的锚文本需要进行过滤。本实施例引入m的先验概率,即,m作为实体提及被链接到一个知识库中的实体上的概率。在锚文本的情形下,就是m作为一个锚文本出现的概率。在概率论中,当样本的抽样次数足够大时,事件发生的概率可以用事件被抽样的频率来近似。因此,定义该先验概率为link_prob(m)=freq(m)/count(m),其中,freq(m)是m作为锚文本出现的次数,count(m)是m在语料库中的所有出现次数。观察所有的锚文本数据,发现,在英文的锚文本中,有大量的一个字符指代一些实体的情况,这种情况下歧义太大,会为实体链接部分引入过多的噪声,且考虑到的实体提及发现算法是基于字符串匹配的算法,一个字符的锚文本会造成在匹配时计算资源的浪费。同时,对于出现概率很小的锚文本,即作为锚文本出现的次数远远小于作为普通文字的出现次数,认为这样的锚文本更倾向于是一个普通词汇而不是实体。另外,有的锚文本总的次数出现很小,尽管其相对概率值可能为1,但是,认为这样的锚文本是很不常见的实体提及,也可能是一些错误的噪音。考虑到实体发现和链接的效率,删除掉这些非常罕见的锚文本。
为此,本实施例在所有的锚文本中,应用以下过滤规则进行过滤:
1)去掉length(m)≤length的锚文本;
2)去掉link_prob(m)≤prob的锚文本;
3)去掉count(m)≤count的锚文本。
其中length、prob、count的数值预先设定,例如可以预先根据经验进行设定。
在本实施例中,对于实体提及匹配来说,其基本的实体提及匹配算法思想是:给定输入的文本,将文本中在锚文本词典里的文本片段识别出来。为了加速进行字符串的匹配,本实施例使用了Aho-Corasick算法。该算法主要依靠构造一个有限状态机来实现,即在Trie树中添加失配指针,这些额外的失配指针允许在查找字符串失败时进行回退,然后转向其它分支继续匹配,可以有效地避免重复匹配前缀,提高匹配效率。例如,设Trie树在匹配单词cat时匹配失败,但是在Trie树中存在另一个单词cart,失配指针就会指向前缀ca,继续从"r"分支进行匹配。
然而,因为Aho-Corasick算法是同时搜索出给定文本中所有的实体提及,前文中本发明介绍到,实体提及存在嵌套现象,这时匹配就就可能出现冲突的现象,包括两种:1)一个实体提及嵌套在另一个实体提及中,2)一个实体提及和另一个实体提及相互重叠,比如:“南京市长江大桥”的锚文本词典匹配结果包含“南京市”、“市长”、“长江大桥”、“江大桥”。为此,本实施例提出两个假设:1)假设实体提及的长度越长,其指代的实体越具体化;2)当两个冲突的实体指代长度相同时,link_prob(m)较大的提及更可能指代一个实体。因此,本实施例的冲突解决策略是:对于长度不同的m1和m2,如果length(m1)>length(m2),本实施例保留m1,反之,保留m2;对于长度相同的实体提及,如果link_prob(m1)>link_prob(m2),本实施例保留m1,反之,保留m2。最后,本实施例将匹配得到的实体的指代m输入先前构建好的词典中,可以得到其可能对应的实体集合{e1,e2,...,e|c|},输入实体链接步骤中进行消歧处理。
在本实施例中,实体链接这一部分,对于实体发现的结果{m
下面对词和实体的联合表示进行解释和说明。本实施例使用一种词和实体的联合表示模型。该模型主要基于skip-gram模型。Skip-gram最先被提出来学习词的嵌入式表示,其中心思想是用目标词预测其上下文的词。本发明使用的词和实体的联合表示模型基于skip-gram模型有三个部分:1)常规的skip-gram模型,通过预测词的相邻词学习给定文本语料中词的表示;2)知识库模型,通过预测目标实体相邻的实体来学习实体的表示;3)锚文本上下文模型,将锚文本替换为相应的实体,预测该实体周围下文的词,将词和实体映射到同一个语义空间中。
(1)词表示学习
给定一个包含T个词的词序列w
其中,c是上下文窗口的大小,w
其中,W是包含所有词的集合,V
(2)知识库模型
在电力客服知识库中,每一个实体都有链接到其它实体的链接,本发明称之为“外链”。本发明使用实体之间的外链关系来学习实体之间的相关度。另一个度量实体之间相关度的方法是维基链接度量法(Wikipedia Link-based Measure,WLM),该方法被应用作为实体链接的特征。WLM按照下式计算:
其中,E是知识库KB中的实体,C
类似的,条件概率P(e
(3)锚文本上下文模型
如果只是将词的skip-gram模型和知识库模型拼接起来,词和实体并不在一个向量空间中,因此,可以利用锚文本,将锚文本替换为其表示的实体,基于skip-gram模型,用该实体预测其上下文中的词,该模型的目标函数为下式:
其中,A是锚文本集合,Q是锚文本周围的上下文的词的集合。在训练时,模型的总目标为最大化三个模型目标函数的线性组合,如下式所示:
L=L
下面对于概率实体模型进行详细介绍,可以将实体链接的过程看作是一个生成式的过程。给定一个实体提及m
本实施例假设每个实体提及对应的生成过程是相互独立的,其中
在本实施例中,给定输入文档D和实体提及m
P(e)是实体的先验分布。本实施例将实体的先验分布定义为在整个数据集上的先验分布,例如可以是在电力客服领域的先验分布。在大规模的语料库中,一个实体被提及的次数越多,那么这个实体可能越被人们所熟知。然而,在不同的领域中,实体的先验概率可能是不同的,如在电力客服领域中,词语"系统内部过电压"指代电力客服领域“电力系统内容过电压”的概率就比在开放领域中更大。因此,为了控制在不同领域先验不同而带来的影响,本实施例引入了一个影响因子α,如下式:
其中,A
其中,
P(N|e)是给定实体e的上下文实体的概率分布。在有关联的上下文中,如一篇新闻,实体通常属于相同的话题,而且这些实体通常在语义空间中比较接近。因此,这个分布也可以看做是实体的话题一致性的分布。本实施例设计了一个两步的计算实体一致性的方法。首先,本发明找到当前处理的文档中初始的无歧义的实体,加入初始化的无歧义实体集合N,本实施例定义先验概率P^(e|m)>θ的实体为无歧义实体,其中,P^(e|m)=|A
其中,E
此外,下面对关于结果修剪的部分进行解释和说明。在经过实体发现和实体链接的过程之后,对于每个文档D本发明可以得到一个结果序列R={r1,r2,...,r|M|},ri=(m
在本实施例中,关于实体识别和实体链接数据的举例情况可以参照下表1和表2。
表1实体识别情况
表2实体链接情况
下面分别举个中文和英文的例子,知识库采用在维基百科和百度百科中,锚文本的数量庞大,的统计数据显示,英文维基页面中的锚文本约有近一千万条,百度百科中的锚文本约有三百多万条。丰富的锚文本为实体发现和实体链接提供了充足的数据支撑。通过分别抽取百度百科和英文维基中的锚文本,构建了锚文本词典。词典中的每个键可以看做是一个实体的提及,对应的值可以看做是知识库中对应该提及的实体。
表3部分锚文本词典展示
另外,由于英文维基中还包括消歧页面,即对于一个实体名字,给出了其可能指代的所有实体,将这一部分数据也加入了英文的锚文本词典中。最后,得到的锚文本词典的总量为:英文维基的锚文本词典共有4,843,616条实体提及-实体匹配对,百度百科共有2,895,610条实体提及-实体匹配对。
本发明在所有的锚文本中,应用以下过滤规则进行过滤:其中length取为1,prob取为0.01,count取为2。(取数范围可以放大)
1)去掉length(m)≤1的锚文本;
2)去掉link_prob(m)≤0.01的锚文本;
3)去掉count(m)≤2的锚文本。
下面举例进行说明,例如对于例子m1为“南京市长江大桥”,m2为“长江大桥”此时length(m1)和length(m2)分别为7和4,则存在length(m1)>length(m2),则保留m1。对于例子m1为“电采暖分时电价”,m2为“电采暖阶梯电价”此时length(m1)和length(m2)都是7,则length(m1)=length(m2),但是link_prob(m1) 对于结果修剪部分,将∈取值为0.0008。(可以将范围放大)“将R按照r 表4中文实体发现和实体链接结果展示
在第一个句子中,"李娜"是具有歧义的实体提及,是具有歧义的实体提及,其可能指女歌手李娜或者是网球运动员李娜,句子中出现的"网球运动员"和实体"大满贯"在进行实体链接时帮助实体进行消歧,网球运动员李娜的实体向量和上下文向量的相似度较高,实体"大满贯"和"网球运动员李娜"的实体相似度也比较高,于是可以成功链接到“网球运动员李娜”。第二个句子中,“牛志红”在百度百科中基本无歧义,指代实体“李娜(流行歌手)”,因此可以帮助实体提及“李娜”链接到实体“李娜(流行歌手)”中,同时,上下文中的“歌曲”可以帮助实体提及“李娜”和实体提及“青藏高原”进行链接。结果显示“青藏高原”被链接在歌曲青藏高原实体上,但是百度百科还存在另外两个实体“青藏高原(李娜演唱歌曲)”和“青藏高原(张一千作词、作曲歌曲)”。观察三个实体可以发现,都是在描述“青藏高原”这首歌,只是因为演唱者不同就将其分为三个实体,其实可以合并为一个实体,认为这是百度百科本身的数据问题。而由于上下文中的“歌曲”和实体“李娜(流行歌手)”,实体链接算法成功的将歌曲青藏高原和地理位置青藏高原区分开。在第三个句子中,实体“微软”在知识库中基本无歧义,而实体提及“苹果”是歧义的,由于“微软”的实体向量和实体“苹果公司”的实体向量比其它苹果指代的实体的向量在空间中更为接近,于是可以成功链到实体“苹果公司”上。 根据全文的方案可知,本发明实施例提出了一个基于词和实体联合表示的实体发现和实体链接方法,此外,本发明实施例在实体发现中使用基于词典的方式,在增加召回率的同时有效避免了中文分词对实体发现带来的影响,另外设计了一个简单的选择策略来处理实体发现结果冲突的问题。此外,本发明实施例在实体链接过程中,设计了一个无监督的基于词和实体联合表示的生成式概率模型,来解决实体的歧义性。本发明的目的就是通过词和实体联合表示的实体发现和实体链接方法,实现辅助阅读和研究者们可以用来做文本预处理。1、辅助阅读。可以将新闻、文献或其它有阅读困难的文本(比如其中有不了解的实体或是名词)输入该发明应用的页面文本框中,进行实体识别和链接,会返回被链接到知识库中的实体对应的URL,用户可以点击URL进入实体详情介绍页面。2、辅助研究者们做文本预处理。实体识别和链接是自然语言处理中的基础任务,实体链接将文本中的实体链接到知识库中,为文本提供更丰富的背景知识,为文本理解、机器阅读等任务提供更多的语义信息,为其它自然语言理解的研究提供数据基础。 由上述技术方案可知,本发明实施例提供的实体链接方法,使用基于词典的方式发现实体,并基于词和实体联合表示的方式实现了实体链接,本发明实施例在实体发现中使用基于词典的方式,在增加召回率的同时有效避免了中文分词对实体发现带来的影响,此外,本发明实施例基于词和实体联合表示的方式实现了实体链接,从而使得实体链接更加准确和丰富。通过本发明实施例的实体链接方法,实现辅助阅读,以及可用协助进行文本预处理。例如,对于辅助阅读来说,可以将新闻、文献或其它有阅读困难的文本(比如其中有不了解的实体或是名词)输入该发明应用的页面文本框中,进行实体识别和链接,会返回被链接到知识库中的实体对应的URL,用户可以点击URL进入实体详情介绍页面。此外,对于辅助研究者们做文本预处理来说,实体识别和链接是自然语言处理中的基础任务,实体链接将文本中的实体链接到知识库中,为文本提供更丰富的背景知识,为文本理解、机器阅读等任务提供更多的语义信息,为其它自然语言理解的研究提供数据基础。 基于上述实施例的内容,在本实施例中,基于词典的方式进行实体发现,得到实体提及,包括: 构建锚文本词典; 基于所述锚文本词典,采用实体提及匹配算法,识别所述文档中的实体提及。 基于上述实施例的内容,在本实施例中,构建锚文本词典,包括: 从所述知识库中提取实体,以及提取与所述实体对应的锚文本; 在提取得到的锚文本m中,应用以下过滤规则进行过滤: 去除掉length(m)≤length的锚文本; 去除掉link_prob(m)≤prob的锚文本; 去除掉count(m)≤count的锚文本; 根据过滤之后得到的锚文本,建立实体与锚文本之间的对应关系,构建锚文本词典; 其中,length、prob、count的数值预先设定;length(m)是指锚文本m的长度,link_prob(m)是指锚文本m的先验概率,锚文本m的先验概率是指锚文本m作为实体提及在文档中出现的概率;link_prob(m)=freq(m)/count(m),其中,freq(m)是m作为锚文本出现的次数,count(m)是m在语料库中的所有出现次数。 基于上述实施例的内容,在本实施例中,基于所述锚文本词典,采用实体提及匹配算法,识别所述文档中的实体提及,包括: 利用Aho-Corasick算法,将所述文档在锚文本词典里的文本片段识别出来; 对于识别结果,若存在冲突现象:一个实体提及m1嵌套在另一个实体提及m2中,或,一个实体提及m1和另一个实体提及m2相互重叠,则根据下面方式进行冲突解决: 对于长度不同的m1和m2,如果length(m1)>length(m2),则保留m1,反之,保留m2; 对于长度相同的实体提及,如果link_prob(m1)>link_prob(m2),则保留m1,反之,保留m2。 基于上述实施例的内容,在本实施例中,基于词和实体的联合表示的方式进行实体链接,得到所述实体提及与知识库中的实体的链接关系,包括: 建立词和实体的联合表示模型; 基于所述词和实体的联合表示模型,采用概率实体模型,建立所述实体提及与所述知识库中的实体的链接关系。 基于上述实施例的内容,在本实施例中,所述词和实体的联合表示模型包括skip-gram模型、知识库模型和锚文本上下文模型的组合;相应地,建立词和实体的联合表示模型,包括: 建立skip-gram模型,通过预测词的相邻词学习给定文本语料中词的表示; 建立知识库模型,通过预测目标实体相邻的实体来学习实体的表示; 建立锚文本上下文模型,将锚文本替换为相应的实体,预测该实体周围下文的词,将词和实体映射到同一个语义空间中; 在对所述词和实体的联合表示模型进行训练时,所述词和实体的联合表示模型的总目标为最大化三个模型目标函数的线性组合。 基于上述实施例的内容,在本实施例中,基于所述词和实体的联合表示模型,采用概率实体模型,建立所述实体提及与所述知识库中的实体的链接关系,包括: 给定一个实体提及m 根据实体e,生成出实体提及m 生成实体提及m 其中,给定输入文档D和实体提及m
其中,每个实体提及对应的生成过程是相互独立的,其中 给定输入文档D和实体提及mi,最终的知识库中对应的实体是最大化后验概率P(ei|mi,D)的实体,因此,形式化为下面的表示:
P(e)是实体的先验分布,将实体的先验分布定义为在整个数据集上的先验分布;为了控制在不同领域先验不同而带来的影响,引入了影响因子α:
其中,A
其中, 将词向量对应的词汇表提前建立一个Aho-Corasick索引,直接使用Aho-Corasick算法匹配实体提及上下文中的词而不需要进行分词操作;
P(N|e)是给定实体e的上下文实体的概率分布; 其中,计算实体一致性的方法包括:找到当前处理的文档中初始的无歧义的实体,加入初始化的无歧义实体集合N,确定先验概率P^(e|m)>θ的实体为无歧义实体,其中,P^(e|m)=|A 按照从左向右或者从简单到复杂的顺序处理发现实体的提及{m
其中,E 基于上述实施例的内容,在本实施例中,所述实体链接方法,还包括: 在经过实体发现和实体链接的过程之后,对于每个文档D得到一个结果序列R={r1,r2,...,r|M|},ri=(mi,ei*,scorei),其中,scorei是实体链接结果中P(e|m)的值,将该值看作是实体链接的置信度; 采用过滤算法进行最后结果的过滤:将R按照r 图4示出了本发明实施例提供的实体链接装置的结构示意图。如图4所示,本发明实施例提供的实体链接装置包括:实体发现模块21、实体链接模块22和减枝处理模块23,其中: 实体发现模块21,用于基于词典的方式进行实体发现,得到实体提及; 实体链接模块22,用于基于词和实体的联合表示的方式进行实体链接,得到所述实体提及与知识库中的实体的链接关系; 减枝处理模块23,用于对所述链接关系进行减枝处理。 由于本实施例提供的实体链接装置,可以用于执行上述实施例提供的实体链接方法,其工作原理和有益效果类似,此处不再详述。 基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图5,所述电子设备具体包括如下内容:处理器301、存储器302、通信接口303和通信总线304; 其中,所述处理器301、存储器302、通信接口303通过所述通信总线304完成相互间的通信;所述通信接口303用于实现各设备之间的信息传输; 所述处理器301用于调用所述存储器302中的计算机程序,所述处理器执行所述计算机程序时实现上述实体链接方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:基于词典的方式进行实体发现,得到实体提及;基于词和实体的联合表示的方式进行实体链接,得到所述实体提及与知识库中的实体的链接关系;对所述链接关系进行减枝处理。 基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实体链接方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:基于词典的方式进行实体发现,得到实体提及;基于词和实体的联合表示的方式进行实体链接,得到所述实体提及与知识库中的实体的链接关系;对所述链接关系进行减枝处理。 此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的实体链接方法。 此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。 此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。 此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 实体链接模型的训练方法、实体链接方法及装置
- 公共医疗卫生命名实体识别与实体链接方法、装置、电子设备及存储介质