Joint Extraction
把人名等实体和它们之间的关系不分开处理,而是一次性一起抽取出来的方法。
简单来说
联合抽取是指,从文档中找出实体(人名、日期、组织之类)和找出这些实体之间的关系,不是分成两个独立的任务分别做,而是一次性放在一起处理。
打个比方:先有一个人在照片里找人,另一个人找物品,然后第三个人再事后把两者对上号,说'这个人拿着这个东西'——这和一个人看照片时直接写下'这个人、这个东西、拿着'相比,结果可能差不多,但过程完全不同。联合抽取更接近后一种情况。因为识别实体和梳理关系是在同一次计算里同时完成的,两边结果互相矛盾的可能性也就变小了。
特别是当你提前定好规则,比如'这种关系只能存在于这两类实体之间'的时候,联合抽取过程中就可以只挑出符合规则的组合,拼出一张完整的图(类似一张整理好谁和什么有什么关系的表)。
在报道中是这样出现的
文章这样解释:"声明好实体类型、关系,以及像 unique_head=True 这样的结构规则之后,还附带了联合抽取功能,束搜索会拼出不违反schema的图。"这里的联合抽取指的是,提取名称和梳理关系不是分成独立的两个步骤,而是在一个模型的一次处理过程中共同完成,并不是单纯把多个结果事后合并起来的意思。
亲手试一试
用聊天机器人试试下面的方法,就能体验到类似联合抽取的效果。
- 准备一篇简短的新闻报道或介绍文章。
- 让聊天机器人执行:"找出下面这篇文章里所有的人名和组织名称,并整理成一张表,同时标出每个人和哪个组织是什么关系(比如:任职、所属、代表)。"
- 你会发现,结果不是分别列出实体清单和关系清单,而是在同一张表里就把两者连在一起呈现出来了。
