©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络
大约两年前,笔者在百度的“2020语言与智能技术竞赛”中首次接触到了事件抽取任务,并在文章《bert4keras 在手,baseline 我有:百度 LIC2020》[1] 中分享了一个转化为 BERT+CRF 做 NER 的简单 baseline。不过,当时的 baseline 更像是一个用来凑数的半成品,算不上一个完整的事件抽取模型。而这两年来,关系抽取的模型层见迭出,SOTA 一个接一个,但事件抽取似乎没有多亮眼的设计。
最近笔者重新尝试了事件抽取任务,在之前的关系抽取模型 GPLinker 的基础上,结合完全子图搜索,设计一个比较简单但相对完备的事件联合抽取模型,依然称之为 GPLinker,在此请大家点评一番。
任务简介
事件抽取是一个比较综合的任务。一个标准的事件抽取样本如下:
▲ 标准的事件抽取样本(图片来自百度DuEE的GitHub)
每个事件会有一个事件类型以及相应的触发词,并且配有不同角色的论元。事件类型和论元角色是在约定的有限集合(schema)中选择,而触发词和论元一般情况下都是输入句子的片段,少数情况下也是可枚举的分类对象(百度的 DuEE-fin 出现过)。
原则上来说,事件抽取模型的设计取决于评价指标,在 LIC2020 中,我们之所以可以将事件抽取转化为一个 NER 问题,是因为当时的评测指标只考察(事件类型,论元角色,论元)构成的三元组,因此我们可以将(事件类型, 论元角色)组合成一个大类,然后就跟 NER 对应上了。
当然,这只是针对该指标的一种取巧方式。对于真实的事件抽取场景,我们自然是希望把标准格式的事件抽取出来,也就是设计一个尽量完备的模型。下面将介绍我们用于事件抽取的 GPLinker 模型,它基本达到了简单而完备的要求。