你搜“苹果最新发布的产品”,搜索引擎不会给你跳附近水果店的地址——这背后就是实体链接与消歧在默默发挥作用。
到底在解决什么日常问题
你读一句没头没尾的话:“小李在苹果公司楼下买了个苹果”,一眼就能分清两个“苹果”的区别,但机器不行。
文本中苹果双重指代消歧示意图
现在企业做内部知识库、智能问答系统,经常碰到的指代混淆问题,本质上都需要这个技术兜底。
比如员工在系统里搜“张三的报销单”,系统得先识别这个“张三”是公司销售部的员工张三,不是隔壁合作方的张三,更不是同名的公众人物。
说实话,很多人刚接触这个模块的时候,都以为是简单的关键词匹配。
真不是。
实操里容易踩的几个坑
第一个常见误区,就是
只靠字面匹配,不结合上下文语境。
比如文本里提到“乔丹”,如果前后文是NBA赛事战报,那对应的是篮球运动员乔丹,如果前后文是国内体育品牌财报,那对应的是福建的乔丹体育。
据一些用户反馈,很多中小团队刚搭建这个模块的时候,图省事只挂载通用百科知识库,碰到企业内部的小众指代,识别准确率能掉一半以上。
另一个容易忽略的点,是
实体的动态属性变化。比如企业更名、员工岗位变动、品牌迭代,如果知识库的实体条目不跟着更新,链接的对应关系就会出错。
企业内部知识库实体条目动态更新流程图
和常见技术概念的边界在哪
很多人会把实体链接和
命名实体识别(NER)搞混。
其实两者的分工差得挺远。
NER只是把文本里的人名、地名、机构名等元素标出来,相当于在文本上画圈,告诉你“这里有个实体”。而实体链接与消歧,是要把这些圈出来的元素,精准对应到知识库里面已经存在的、有唯一ID的实体条目上——消歧就是这个对应过程里的核心动作。
有意思的是,很多团队做效果评估的时候,只盯着NER的识别准确率,其实NER标得再准,对应错了实体,后面的检索、问答全是错的。
我们通常可以在匹配时,给每个实体留前后各两句话的参考窗口,结合上下文判断指代的具体对象,而不是只盯着实体本身的字符串做匹配。
您在实际搭建信息检索、智能问答系统的过程中,还遇到过哪些指代混淆的棘手情况?欢迎结合具体场景继续探讨。