作者:Sundar V

编译:ronghuaiyang

导读

构建知识库的必备技能之一。

我相信大多数人都遇到过命名实体识别(NER)。NER是一种基本的自然语言处理(NLP)任务,具有广泛的用例。本文不是关于NER的,而是关于一个与NER密切相关的NLP任务。

**你知道什么叫实体链接吗?它如何帮助信息提取、语义Web和许多其他任务?**如果没有,也不要担心。本文将回答这些问题,并提供一个基本的NEL实现。

在研究NEL之前,我们首先要了解信息提取。根据维基百科,

”信息提取是从非结构化和/或半结构化文档中自动提取结构化信息的任务。在大多数情况下,这个活动是通过NLP来处理人类语言文本。“

在下面的信息抽取示例中,将非结构化文本数据转换为结构化语义图。信息提取的一个通用的目标是从非结构化数据中提取知识,并将获得的知识用于各种其他任务。


什么是命名实体链接?

信息提取由多个子任务组成。在大多数情况下,我们将有以下子任务。它们的执行是为了,从非结构化数据中提取信息。

  1. 命名实体识别(NER)
  2. 命名实体链接(NEL)
  3. 关系抽取

一个命名的实体是一个真实世界的对象,比如人,地点,组织,等等。NER识别并将文本中出现的命名实体分类为预定义的类别。NER被建模为为句子中的每个单词分配标签的任务。下面是一个来自NER系统的示例结果。

NER会告诉我们哪些词是实体以及它们的类型。在上面的例子中,NER会把“Sebastian Thrun”标记为person。但我们仍然不知道确切的“Sebastian Thrun”文本在上面的例子中说的是哪个人。NEL是将回答这个问题的下一个子任务。

NEL将为文中提到的实体分配唯一标识。换句话说,NEL是将文本中提到的实体与知识库中对应的实体链接起来的任务。目标知识库取决于应用,但是我们可以为开放域文本使用来自Wikipedia的知识库。在上面的示例中,通过将实体链接到DBpedia,我们可以找到确切的“Sebastian Thrun”。DBpedia是从Wikipedia中提取的结构化知识库。将实体链接到维基百科的过程也称为维基化。

NEL也被称为实体链接、命名实体消歧(NED)、命名实体识别和消歧(NERD)或命名实体规范化(NEN)。NEL除了信息提取外,还有广泛的应用。NEL应用于信息检索、内容分析、智能标注、问题回答系统、推荐系统等。

NEL在语义Web中也扮演着重要的角色。语义web是由Tim Berners-Lee创造的一个术语,指可以由机器处理的数据网络。语义Web的一个关键问题是用新提取的事实自动填充和丰富现有的知识库。NEL本质上被认为是知识库群体的基本子任务。

使用DBpedia Spotlight实现NEL

有许多库可用于实现NEL,但这里我们将使用DBpedia Spotlight。这里NEL的目标知识库是DBpedia。DBpedia Spotlight是一个使用DBpedia uri自动注释文本文档的系统,开发它是为了将文档Web与数据Web互连。

DBpedia Spotlight被部署为Web服务,我们可以使用提供的Spotlight API来实现NEL。你甚至可以检查DBpedia Spotlight服务器的状态。下面是一个使用Spotlight API执行NEL的python客户端的例子。

import requestsfrom IPython.core.display import display, HTML# An API Error Exceptionclass APIError(Exception):def __init__(self, status):        self.status = statusdef __str__(self):        return "APIError: status={}".format(self.status)      # Base URL for Spotlight APIbase_url = "http://api.dbpedia-spotlight.org/en/annotate"# Parameters # 'text' - text to be annotated # 'confidence' -   confidence score for linkingparams = {"text": "My name is Sundar. I am currently doing Master's in Artificial Intelligence at NUS. I love Natural Language Processing.", "confidence": 0.35}# Response content typeheaders = {'accept': 'text/html'}# GET Requestres = requests.get(base_url, params=params, headers=headers)if res.status_code != 200:    # Something went wrong    raise APIError(res.status_code)# Display the result as HTML in Jupyter Notebookdisplay(HTML(res.text))

Output:

My name is Sundar. I am currently doing Master’s in Artificial Intelligence at NUS. I love Natural Language Processing.

正如你在上面的例子中看到的,DBpedia Spotlight正在将定位的实体链接到DBpedia知识库。因此,我们得到了带标注的文本。Spotlight支持多种语言和多种响应内容类型,包括HTML、JSON、XML、N-Triples等。如果你不熟悉Spotlight API,可以使用DBpedia Spotlight的REST接口编写的公开包装器。


通用的方法

由于名称变化和歧义问题,NEL不是一个简单的任务。命名多样化是指一个实体可以以不同的方式被提及。例如,实体Michael Jeffrey Jordan可以使用许多名字来指代,如Michael Jordan、MJ和 Jordan。然而,歧义问题与这样一个事实有关,即名称可能根据上下文引用不同的实体。这里有一个模棱两可的例子,名字 Bulls 可以在维基百科中应用到多个实体,如NBA球队Chicago Bulls,橄榄球球队Belfast Bulls等。

一般来说,一个典型的实体链接系统由候选实体生成、候选实体排序和不可链接的提及预测三个模块组成。下面给出了每个模块的简要描述。

  1. 候选实体生成 —— 在这个模块中,NEL系统的目标是通过过滤知识库中不相关的实体来检索一组候选实体。检索到的集合包含可能引用实体提到的实体。
  2. 候选实体排名 —— 在这里,利用不同种类的证据对候选实体进行排名,以找到最可能的实体。
  3. 不可链接的提及预测 —— 此模块将验证前一个模块中确定的排名最高的实体是否是给定提及的目标实体。如果不是,那么它会返回NIL。基本上,这个模块处理不可链接的提及。

回到spotlight。DBPedia spotlight使用Apache OpenNLP标识提到的实体。Spotlight中的消歧使用生成概率模型进行。


NEL是一项重要的NLP任务,应该给予更多的重视。最近,人们开始使用深度学习技术来提高NEL系统在标准数据集上的性能。我相信,今天出现的大量链接开放数据为未来的人工智能提供了一个难以置信的机会。考虑到NEL在信息提取和语义Web中的作用,我们需要在这方面做更多工作。

英文原文:https://medium.com/analytics-vidhya/entity-linking-a-primary-nlp-task-for-information-extraction-22f9d4b90aa8

无法将多信息文本转换为url_实体链接:信息抽取中的NLP的基础任务相关推荐

  1. 实体链接:信息抽取中的NLP的基础任务

    2020-07-10 09:22:59 作者:Sundar V 编译:ronghuaiyang 导读 构建知识库的必备技能之一. 我相信大多数人都遇到过命名实体识别(NER).NER是一种基本的自然语 ...

  2. java改变数据库配置文件信息_JAVA应用修改数据库链接信息一般在哪个配置文件中?...

    [多选题]测试软件按照技术架构分可以分为哪些类别 [单选题]成本加成定价法虽然简便易行,但它也存在一定的缺点.缺点主要是 [判断题]在两性特征中,女性的分配特性更好一点,而男性的左右半球交叉好一点. ...

  3. ddmmyy日期格式是多少_如何在Excel 2013/2016/2019中将mmddyyyy文本转换为普通日期格式...

    本文将讲述如何将非标准日期格式或文本转换为Excel中的标准日期.如果您的日期为mmddyy文本格式,并且您希望使用Excel公式将其更改为mm / dd / yyyy的正常日期格式.如何在Excel ...

  4. Facebook提出生成式实体链接、文档检索,大幅刷新SOTA!

    文 | 花小花Posy 导言 最近ICLR的rebutal 前后分数对比出来了,很多评委都改了分数,有改多的,也有改少的.今天给大家介绍的这篇高分论文竟然在rebuttal前后都保持高分,证明评委们对 ...

  5. 技术动态 | 知识图谱上的实体链接

    本文转载自公众号:知识工场 1.什么是实体链接 实体链接(entity linking)就是将一段文本中的某些字符串映射到知识库中对应的实体上.比如对于文本"郑雯出任复旦大学新闻学院副院长& ...

  6. 百度实体链接比赛后记:行为建模和实体链接(含代码分享)

    作者丨苏剑林 单位丨追一科技 研究方向丨NLP,神经网络 个人主页丨kexue.fm 前几个月曾参加了百度的实体链接比赛 [1],这是 CCKS 2019 的评测任务之一,官方称之为"实体链 ...

  7. 《中国人工智能学会通讯》——11.40 面向知识库的实体链接

    11.40 面向知识库的实体链接 近年来,万维网上的数据量飞速增长,万维网已经成为世界上最大.最丰富的数据仓库之一.万维网上的数据大多是以自然语言的形式而存在,比如新闻网页.个人主页.微博.论坛等.自 ...

  8. 实体-关系联合抽取:End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures

    论文地址:https://arxiv.org/pdf/1601.00770.pdf 代码地址:https://github.com/tticoin/LSTM-ER 文章标题:End-to-End Re ...

  9. 知识图谱专栏简介:数据增强,智能标注,文本信息抽取(实体关系事件抽取)、知识融合算法方案、知识推理、模型优化、模型压缩技术等

    知识图谱专栏简介:数据增强,智能标注,文本信息抽取(实体关系事件抽取).知识融合算法方案.知识推理.模型优化.模型压缩技术等 专栏链接:NLP知识图谱相关技术业务落地方案和码源 NLP知识图谱相关技术 ...

最新文章

  1. NanodetPlus网络结构
  2. 独家 | 全面!手把手教你决策树可视化(附链接代码)
  3. 谷歌推出TFQ,一个可训练量子模型的机器学习框架
  4. HZOJ Drink
  5. Unknown initial character set index '255' received from server.
  6. 【pnglib】解析png格式的图像
  7. PHP ERROR_php中的异常和错误浅析
  8. 一个运维老将的自我修养
  9. 设计模式之-命令模式(Command Pattern)
  10. 递归 - 求数字/字符串的全排列
  11. 集 Python、C、R、Ruby 之所长,动态编程语言 Julia 1.0 正式发布
  12. k8s基本概念-如何使用私有regsitry
  13. 不等式解集怎么取_6.初中数学:一个不等式的解集,都是另一个不等式的解,求a的取值范围?...
  14. Win XP 精简版安装SQL Server
  15. Processing笔记04—鼠标键盘识别
  16. win10服务器怎么备份系统,win10自带备份功能怎么备份系统
  17. 0926 - 微商的动力
  18. python 查tensorflow版本_查看已安装tensorflow版本
  19. 【零基础Eviews实例】02自相关(序列相关)的检验与修正
  20. 征战星辰大海,从这里开始

热门文章

  1. Error in moviepy setup command: 'extras_require' must be a dictionary whose values are strings or li
  2. 随机数-random模块
  3. T1155 金明的预算方案 codevs
  4. 【Java】【编译】javac编译源代码时,若源文件使用了别的java源代码的函数,javac会自动关联。...
  5. 关于sliverlight4 打印功能
  6. 从华为“流程与IT管理部”看IT部门定位
  7. [转载] Python中的string模块的学习
  8. [转载] 两种方法分割python多空格字符串
  9. [转载] python中if嵌套语句_Python的if语句怎么嵌套
  10. Git 笔记——如何处理分支合并冲突