LUKE-Deep Contextualized Entity Representations with Entity-aware Self-attention

论文地址:https://www.aclweb.org/anthology/2020.emnlp-main.523/

Abstract

  • 新的基于BERT的单词和实体的预处理上下文化表示,所提出的模型将给定文本中的单词和实体视为独立的标记,并输出它们的上下文化表示。我们还提出了一种实体感知的自我注意机制,它是transformer中自我注意机制的扩展,并在计算注意力分数时考虑了标记(单词或实体)的类型。

1. Introduction

  • 之前的知识库(KB)需要实体链接来表示文本中的实体,并且不能表示知识库中不存在的实体。
  • 基于transformer的语境化单词表征(CWR, contextualized word representations),如BRET和Roberta,提供了利用基于语言建模的无监督预训练模型训练的有效的通用单词表征。但是CWR体系结构不太适合表示实体,因为
    • CWR不输出实体的span级别的表示,它们通常需要学习如何基于通常较小的下游数据集来计算这样的表示。
    • 许多实体相关任务,如关系分类、问答等,都涉及到实体间关系的推理。尽管transformer可以通过使用自我注意机制将单词相互关联来捕捉单词之间的复杂关系,但很难在实体之间执行这样的推理,因为许多实体在模型中被分成多个token
    • CWR的基于单词的预训练任务不适合于学习实体表示,因为预测实体中给出其他单词的掩蔽单词,例如给出"The Lord Of [MASK]"预测"Rings"显然比预测整个实体更容易。
  • LUKE(Language Understanding with Knowledge-based Embedding)【基于知识的嵌入式语言理解】,基于一个transformer,使用从维基百科获得的大量实体注释语料库进行训练。与现有CWR的一个重要区别是,不仅将单词视为一个独立的token,还将实体视为独立的token,并使用transformer计算所有令牌的中间和输出表示,如图1。由于实体可被视为token,因此LUKE可以直接对实体之间的关系建模。66bu2d.png

2.1 静态实体表示(Static Entity Representations)

  • 常规实体表示为KB中的每个实体分配固定嵌入。包括在知识图上训练的知识嵌入,以及使用从知识库检索到的实体的文本上下文或描述来训练的嵌入
  • NTEE(Yamada等人,2017年)和Relic(Ling等人,2020年)使用一种方法,通过预测从知识库获得的实体的文本上下文来训练实体嵌入。当用文本表示实体时,这一行的主要缺点是(1)它们需要将文本中的实体解析为相应的知识库条目来表示实体,以及(2)它们不能表示知识库中不存在的实体。

2.2 语境化的词表示(Contextualized Word Representations)

  • 最近都是基于使用CWR的

3. LUKE

  • 图一显示了LUKE的架构,采用多层bidirectional transformer。将文档中的单词和实体视为输入令牌,并计算每个令牌的表现形式。形式上,给定\(m\)个词\(w_1,w_2,...w_m\)\(n\)个实体\(e_1,e_2,...,e_n\)组成的序列,我们的模型计算\(D\)维子表示\(h_{w_1},h_{w_2},...,h_{w_m}\)和实体表示\(h_{e_1},h_{e_2},...h_{e_n}\)。这些实体可以是维基百科实体(例如Beyonce in Figure 1)或者特殊实体(例如[MASK])

3.1 输入表示(Input Representation)

  • 使用以下三个embeddings计算令牌(单词或实体)的输入表示

3.1.1 Token embedding

  • word token embedding: \(A \in R^{V_w×D}\),\(V_w\)是词汇表中的单词数量
  • entity token embedding: 为提高计算效率,将entity token embedding分解为两个小矩阵\(B\in R^{V_e×H}\)\(U\in R^{H×D}\)\(V_e\)是词汇表中所有实体数量。故entity token embedding可以计算为\(BU\)

3.1.2 Position embedding

  • 表示token在单词序列中的位置。
  • 出现在序列中第\(i\)个位置的单词和实体分别表示为\(C_i\in R^D\)\(D_i\in R^D\)
  • 如果实体名称包含多个单词,则通过平均相应位置的embedding来计算其位置嵌入。

3.1.3 Entity type embedding

  • 表示token是一个entity
  • 是由\(e\in R^D\)表示的单个向量。

3.1.4 Combination

  • 单词的输入表示:Token embedding+Position embedding
  • 实体的输入表示:Token embedding+Position embedding+Entity type embedding
  • 将特殊标记[CLS][SEP]分别作为第一个和最后一个单词插入到单词序列中。

3.2 Entity-aware Self-attention

  • 自注意力机制基于每对标记之间的注意分数将标记彼此关联。给定输入向量序列\(x_1,x_2,...,x_k,x_i\in R^D\)。每个输出向量序列\(y_1,y_2,...,y_k,y_i\in R^L\)都是基于transformer的输入向量的加权和来计算的。这里,每个输入和输出向量对应于我们模型中的一个令牌(一个单词或一个实体),所以\(k=m+n\),第\(i\)个输出向量\(y_i\)的计算公式为:image-20210317165507977.png

  • 以上为正常计算方法,但因LUKE处理两种类型的标记(单词和实体),因此我们假设在计算注意力得分(\(e_{ij}\))时使用目标标记的类型信息时有益的。故通过引入实体感知(entity-aware)查询机制来增强该机制,该机制对每对可能的令牌类型\(x_i\)\(x_j\)采用不同的查询矩阵,注意力得分(\(e_{ij}\))计算方法如下:image-20210317170448320.png

    其中\(Q_{w2e},Q_{e2w},Q_{e2e} \in R^{L×D}\)都是查询矩阵

  • 除了在训练时计算梯度和更新附加查询矩阵的参数的额外开销之外,原始机制和我们提出的机制的计算成本是相同的。

3.3 Pretraining Task

  • 对LUKE进行预训练,使用传统的掩码语言模型(Masked Language Model, MML)和MML的扩展来学习实体表示。

  • 通过用特殊的[MASK]实体来替换特定百分比的实体,然后训练模型来预测被掩码的实体。

  • 通过在我们的词汇表中的所有实体上应用Softmax函数来预测与屏蔽实体相对应的原始实体:

    image-20210317172031283
-------------本文结束 感谢阅读-------------