自回归实体检索
《Autoregressive Entity Retrieval》
论文地址:https://arxiv.org/pdf/2010.00904.pdf
相关论文 【自然语言处理】【检索】GENER:自回归实体检索 【自然语言处理】【向量检索】面向开放域稠密检索的多视角文档表示学习 【自然语言处理】【对比学习】SimCSE:基于对比学习的句向量表示
一、简介
? 通过自然语言来从大型知识库中检索正确实体的能力,是一些应用的基础能力。大多数的商业推荐系统都需要对文本中的实体mention 进行检测和消歧。另一个例子是聊天机器人和问答系统,其通常会配备一些检索组件用来获取维持对话或者回答问题的
KB
\text{KB}
KB条目。
? 虽然先前有大量的实体检索工作,但是这些工作都有一个共同的设计选择:实体会被关联到唯一的标签,并且检索问题被建模为这些标签上的多分类问题。输入文本和标签的匹配是通过一个bi-encoder 计算的,即输入文本的向量与实体元信息之间的点积。这样的形式可以使用现代的最大内积搜索库来达到次线性的搜索效率。
? 但是,这样的方式也有几个缺点。首先,除非使用昂贵的cross-encoder 进行re-ranking ,否则点积的方式会缺少输入和实体元信息间的细粒度交互。第二,为整个
KB
\text{KB}
KB存储向量需要大量的存储空间,并且会随着新实体的增加而线性增加。第三、在所有实体上计算一个精确的softmax 是非常昂贵的,当前的解决方案都是需要对负样本进行下采样的。调优一组适当的难负样本是具有挑战且耗时的。最后,系统会遭受冷启动问题,因为其并不能表示出那些没有收集到充分信息的实体,比如实体的文本描述或者实体的一组关系。
? 本文作者提出了
GENER(Generative?ENtitiy?REtrieval)
\text{GENER(Generative ENtitiy REtrieval)}
GENER(Generative?ENtitiy?REtrieval)。第一个利用sequence-to-sequence 架构并基于上下文自回归方式生成实体名称的实体检索器。具体地,
GENER
\text{GENER}
GENER利用微调
BART
\text{BART}
BART来生成实体名称。这种架构能够保留一定程度上保留事实知识和语言翻译技巧,这有助于实体检索器。当然,生成的输出可能不总是有效的实体名称。为了解决这个问题,
GENER
\text{GENER}
GENER利用一个约束解码器来强制生成的每个名字在预定义的候选集中。
? 自回归的形式可以直接捕获上下文和实体名称的关系,并且能够对上下文和实体名称进行有效的交互。此外,所需的存储空间也比当前的系统小好几个数量集,因为sequence-to-sequence 模型的参数量与词表的大小线性相关,而不是实体数量。针对每个输出的token 的softmax 可以被高效计算,从而不需要进行负样本下采样。最后,
GENER
\text{GENER}
GENER不需要访问实体的任何元信息,因此新实体可以通过向候选集添加无歧义的名称。
? 作者在三种任务的20个数据集上评估了
GENER
\text{GENER}
GENER:(1) 实体消歧;(2) 端到端实体链接;(2) 文档检索。本文的方法几乎在所有数据集上都实现了state-of-the-art 或者非常有竞争力的结果。此外,相比于近期的方法,
GENER
\text{GENER}
GENER需要更少的存储空间(平均小于20倍)。
二、实体检索
? 假设有一个实体集合
E
\mathcal{E}
E,其中每个实体都是一个知识库中的条目(entry)。本文要解决的问题是:给定一个文本输入源
x
x
x,一个模型能够从
E
\mathcal{E}
E中返回与
x
x
x最相关的实体。假设每个
e
∈
E
e\in\mathcal{E}
e∈E会被分配一个唯一的文本表示:一个tokens 序列
y
y
y。
? 该问题的一个实例是实体消歧
(Entity?Disambiguation,ED)
\text{(Entity Disambiguation,ED)}
(Entity?Disambiguation,ED),给定一个被标注了mention 的输入文本
x
x
x,系统需要从
E
\mathcal{E}
E中选择出mention 对应的实体。另一个实例是文档检索文档检索
(Document?Retrieval,DR)
\text{(Document Retrieval,DR)}
(Document?Retrieval,DR),将输入文本
x
x
x作为query ,
E
\mathcal{E}
E是文档集合。
三、方法
? 本文通过sequence-to-sequence 模型来生成实体的文本标识符,从而解决检索问题。具体来说,
GENER
\text{GENER}
GENER通过一个自回归的形式计算一个分数,然后利用分数来排序
e
∈
E
e\in\mathcal{E}
e∈E:
score
(
e
∣
x
)
=
p
θ
(
y
∣
x
)
=
∏
i
=
1
N
p
θ
(
y
i
∣
y
<
i
,
x
)
\text{score}(e|x)=p_\theta(y|x)=\prod_{i=1}^N p_\theta(y_i|y_{<i},x)
score(e∣x)=pθ?(y∣x)=∏i=1N?pθ?(yi?∣y<i?,x),其中
y
y
y是
e
e
e的标识符中
N
N
N个token 的集合,
θ
\theta
θ是模型参数。
GENER
\text{GENER}
GENER利用微调的
BART
\text{BART}
BART预训练语言模型,并使用标准的seq2seq 目标函数,即最大化输出序列的似然函数、带dropout的正则化和标签平滑。具体来说 ,目标函数是典型的机器翻译,最大化
log
?
p
θ
(
y
∣
x
)
\log p_\theta(y|x)
logpθ?(y∣x)。由于采用了因子分解,可以被有效的计算。
1. 基于约束
Beam?Search
\text{Beam Search}
Beam?Search
? 在测试时,可以计算
E
\mathcal{E}
E中每个元素的评分并进行排序。不幸的是,当
E
\mathcal{E}
E太大时其可能计算太昂贵。因此,作者利用
Beam?Search(BS)
\text{Beam Search(BS)}
Beam?Search(BS),一种能够有效检索搜索空间中近似解码策略 。相比于对
E
\mathcal{E}
E中所有实体进行精确的评分,本文使用具有
k
k
k个beams的
BS
\text{BS}
BS来
E
\mathcal{E}
E中搜索出
top-k
\text{top-k}
top-k个实体。注意,使用
BS
\text{BS}
BS意味着检索器的时间代价不依赖于
E
\mathcal{E}
E的大小,而是beams 的尺寸和自回归生成实体表示的平均长度。通常实体表示的平均长度不太长,并且本文使用标准
NMT
\text{NMT}
NMT设定,即
k
k
k很小。
? 因为需要输出
E
\mathcal{E}
E中的实体,所以不能使用传统的
BS
\text{BS}
BS进行解码。确实,在每个解码步骤中允许生成词表中的任意token 可能会导致模型生成的字符串并不是有效的标识符。因此,这里求助于约束
BS
\text{BS}
BS,强制仅解码出有效的标识符。在解码过程中
BS
\text{BS}
BS仅能考虑前一步,因此只能基于上一个token 来约束生成当前的token 。作者使用前缀树
T
\mathcal{T}
T来定义约束,树中的每个节点都是来自于词表。
? 上图是一个前缀树
(trie)
\text{(trie)}
(trie)的例子。当输出的数量可控,则
trie
\text{trie}
trie相对较小,可以提前预计算并存储在内存中。使用约束来遮蔽无效tokens 的对数概率,而不是logits 。
2. 自回归端到端实体链接
? 本文扩展了自回归框架来解决端到端的实体链接
(Entity?Linking,EL)
\text{(Entity Linking,EL)}
(Entity?Linking,EL)。给定一个文档,系统必须检索出实体提及,并将这些实体提及链接至知识库中的实体。在这种设定下,模型需要预测带有标注span 的原始输入 ,并使用特殊的tokens 来标记spans 的边界。
? 带有标注的输出空间是指数级的大。因此,预计算一个trie 用于解码是十分困难的,所以改为动态计算。上图展示了一个例子 。在每个生成步骤中,解码器要么生成一个mention span 、要么生成一个mention 链接、要么继续输出输入源。当生成步骤处于mention 或者entity 之外,解码器仅有两个选择:(1) 继续从输入源拷贝下一个token ;(2) 生成一个mention 的开始符(例如[ ),其会使解码器进入mention 生成阶段。当处于生成mention 时,解码器可以从输入源中继续复制下一个token ,或者是直接生成mention 的结束符(] ),这会使解码器进入实体生成阶段。最后,当处于生成实体阶段,解码器会利用trie 和约束Beam Search 使其能够输出有效的实体标识符。
四、实验
-
实体消歧(Entity Disambiguation, ED) -
端到端实体链接(End-to-End Entity Linking, EL)
- 页级文档检索(Page-level Document Retrieval, DR)
|