1. 信息抽取任务是什么?
在NLP任务中,通常当我们拿到一段文本时,我们希望机器去理解这段文本描述的是什么内容,进而完成一些特定的任务。
例如,现在有这么一句话:
- 今日,在玩家们的期待中,王者荣耀终于上架了李白的新皮肤——凤求凰。
这句话中具体描述了什么事件呢?人类一看就知道,哦,王者出了一款李白的新皮肤。
没错,这句话的核心就是「王者」「出了」「李白」「新皮肤」。
至于「…在玩家们的…」这些文字大概率直接被读者自动给过滤掉了,这就是人类天然存在的超强信息提取的能力。
扩展:人类除了在阅读文字上有着超强的信息抽取能力,在听觉上同样如此,大部分人都能在多人同时说话的场景下清楚的听取想听的那个人说话的内容。同样的,学者们也尝试让机器具备同样的能力,Speech Separation的其中一个研究方向便是如此。
为此,我们希望机器也能具备人类一样的信息抽取能力,能够在一段文字中自动抽出一组一组成对的关键信息。
我们再来回顾一下刚才那句话,句子中包含两个主要信息:
- 王者出了一款新皮肤。
- 这款新皮肤是李白的。
这两个主要信息都可以用基本的三元组的结构来表示:
- 王者(主语) - 出了(谓语) - 新皮肤(宾语)
- 新皮肤(主语) - 属于(谓语) - 李白(宾语)
不难看出,不管多么复杂的句子和多么复杂的关系,最后都是可以被细分为若干个三元组,即:
( E n t i t y 1 , R e l a t i o n , E n t i t y 2 ) (Entity_1, Relation, Entity_2) (Entity1,Relation,Entity2)
**实体(Entity)**是NLP领域中的常用语,用于描述某一个「东西」,这个「东西」通常用于描述一种词语类别.
比如「游戏」就可以被定义为一种实体,举例来说,有如下句子:王者荣耀和和平精英都是当下比较流行的游戏。
该句子中就包含了2个「游戏」实体:王者荣耀(GameEntity1)和和平精英(GameEntity2)都是当下比较流行的游戏。
此外,在信息提取(InfoExtraction)领域中,我们需要将关系(Relation)前后的两个实体稍稍区分一下:
关系(Relation)前面的实体(Entity1)我们称之为头实体(Subject);
关系(Relation)后面的实体(Entity2)我们称之为尾实体(Object);
这就是我们常说的SPO表示法。S-头实体,O-尾实体,P-Predicate,即「关系(Relation)」更专业的叫法。
王 者 荣 耀 ( S ) − 出 了 ( P r e d i c a t e ) − 凤 求 凰 ( O ) 凤 求 凰 ( S ) − 属 于 ( P r e d i c a t e ) − 李 白 ( O ) 王者荣耀(S)- 出了(Predicate)- 凤求凰(O)\\ 凤求凰(S)- 属于(Predicate)- 李白(O) 王者荣耀(S)−出了(Predicate)−凤求凰(O)凤求凰(S)</