问题描述
让我们来熟悉一下构建实体链接系统的任务。
简介
命名实体链接(Named Entity Linking, NEL)是指将给定文本中的实体提及检测出来,并将其链接到目标知识库中对应实体的过程。
实体链接包含两个主要部分:
-
命名实体识别(Named-Entity Recognition, NER)
命名实体识别用于在文本中检测并分类潜在的命名实体,将其归入预定义类别,例如人名、组织机构、地理位置、医学编码、时间表达等(多分类预测任务)。 -
消歧(Disambiguation)
接着,通过将每个检测出的实体与知识库中的对应实体进行匹配,实现消歧处理。
📝 目标知识库的选择取决于具体应用场景,但对于通用系统而言,常用的选择是 Wikidata 或 DBpedia。
下面我们通过一个示例来直观理解实体链接的工作过程。
句子/文本内容为:“Michael Jordan 是加州大学伯克利分校的一位机器学习教授。” 首先,NER 模块检测并将“Michael Jordan”和“UC Berkeley”分别分类为人名和组织机构。
随后进行消歧处理。假设知识库中存在两位名为“Michael Jordan”的人物:一位是加州大学伯克利分校的教授,另一位是运动员。根据上下文,文本中的“Michael Jordan”被正确链接至知识库中“加州大学伯克利分校教授”这一实体。同理,“UC Berkeley”也被链接至知识库中的“加州大学”实体。
应用场景
命名实体链接广泛应用于多种自然语言处理任务中。其典型用途可大致分为信息检索、信息抽取以及知识图谱构建,这些能力进一步支撑了如下系统的实现:
- 语义搜索
- 内容分析
- 问答系统 / 聊天机器人 / 虚拟助手(如 Alexa、Siri 和 Google 助手)
上述所有应用都需要对文本进行高层级表示,从中抽取出与任务相关的概念,剥离无关或非语义性内容。
在介绍了命名实体链接及其应用场景之后,接下来我们来看该问题的具体定义。
问题描述
面试官要求你设计一个实体链接系统,需满足以下功能:
- 识别文本中可能存在的命名实体提及;
- 在目标知识库中查找可能对应的候选实体以完成消歧;
- 返回最匹配的候选实体,若无匹配则返回 nil。
该问题可转化为如下机器学习任务:
面试问题
以下是面试中可能出现的一些典型问题:
- 如何构建一个命名实体识别系统?
- 如何设计一个实体消歧系统?
- 给定一段文本,如何提取其中提到的所有人物、国家和企业?
- 如何评估一个消歧模块 / 实体识别模块 / 实体链接系统的性能?
- 若有多个不同的消歧器 / 识别器 / 链接器,如何判断哪一个效果最好?