一句话定义:实体链接(Entity Linking,简称 EL)是指把文本里出现的名字——「苹果」「乔丹」「小米」——对应到知识库中某一个具体条目的过程,等于给每个模糊的名字配上唯一的身份证号。
为什么需要它
文字天生是含糊的。同一个字符串可能指向完全不同的东西:苹果可以是水果,也可以是那家手机公司;乔丹可以是篮球运动员,也可以是那个服装品牌;「小米」还能是一种粮食。人靠上下文一秒就分清了,机器得靠一套流程。
三步走
1. 指称识别(mention detection):先判断句子里哪一段是实体名字。不是所有「苹果」都是实体,比如「苹果味的香精」里的「苹果」只是修饰成分。
2. 候选生成(candidate generation):拿这个名字去知识库里捞出一批可能的条目。
3. 实体消歧(entity disambiguation):结合上下文打分,挑出最可能的那个。这一步是核心难点。
打个比方:公司前台收到一封信,写着「找王伟」。前台先要意识到「王伟」是个人名;然后在通讯录里搜出所有叫王伟的同事;最后根据信封上写的部门、寄信人和信里提到的项目,判断是市场部的王伟还是技术部的王伟。第三步最难,靠的就是「上下文证据够不够」。
如果整篇文章里反复出现「iPhone」「发布会」「库克」,「苹果」大概率是那家公司;如果出现的是「果园」「采摘」「糖分」,那就是水果。机器做的就是把这类线索变成可计算的分数。
还有一种情况:知识库里压根没这个人。这时候正确的做法是标记为 NIL(无对应条目),而不是硬塞一个最像的。乱塞比不塞更糟。
和相邻概念的区别
| 任务 | 输入 | 输出 | 回答的问题 |
|---|---|---|---|
| 命名实体识别 NER | 句子 | 「苹果」是组织名 | 这是什么类型? |
| 实体链接 EL | 句子 + 知识库 | 「苹果」→ 知识库中某个唯一条目 | 具体是哪一个? |
| 指代消解 | 段落 | 「它」「该公司」指向同一实体 | 这些说法指同一个吗? |
一句话概括:NER 负责圈出来,实体链接负责落地,指代消解负责把散落各处的说法串成一条线。三者常串在同一个流水线里用。
对实际工作的意义
- 搜索:用户搜「李白」,想找诗人还是游戏角色?链接准了,结果才对得上。
- 知识图谱:从新闻里抽取「某公司收购某公司」,如果实体不对齐到唯一条目,图谱最后会变成一堆同名节点缠成的毛线团。
- 问答与客服:用户问「这个型号支持吗」,系统得先确认「这个」是哪款产品。
- 风控合规:同名的两个人绝不能混为一谈,否则就是误伤。
工程上的坑:中文没有空格、简称和别名满天飞(「字节」「字节跳动」「ByteDance」)、新实体每天都在冒出来。所以实际系统通常是别名表 + 上下文模型 + 兜底规则组合使用,而不是单靠一个模型。具体选型和接口细节,以各家知识库与服务方官方页面为准。
实体链接是从「文本世界」通往「结构化世界」的那道窄门。过不去,后面所有的图谱、问答、推荐都是空中楼阁。
