EXAQT-Complex Temporal Question Answering on Knowledge Graphs(时序知识图谱问答系统)

摘要

E_{XAQT}是第一个用于回答具有多个实体和谓词以及相关时间条件的复杂时间问题的端到端系统。

(EXplainable Answering of complex Question with Temporal intent)

步骤:      

        第一步,在KG中计算question-relevant compact subgraphs ,通过Group Steiner Trees(GST) 和fine-tuned BERT模型增强。

        第二步,以第一步的输出为基础构建关系图卷积网络relational graph convolutional networks (R-GCNs)并通过时间感知实体嵌入对时间关系的注意增强R-GCNs。

评估:

        TimeQuestions数据集,由16k时间问题组成,从各种通用KG-QA基准测试中编译而成。

1介绍

where did obama’s children study when he became president?

1)确定紧凑、易处理的答案图——密集子图算法(dense-subgraph algorithms)和微调BERT模型 (fine-tuned BERT)

        由NERD系统检测获取问题中实体所有KG事实;

        微调BERT模型提炼出易处理的事实;

        计算GST,构建与问题相关的KG项及子图;

        BERT模型识别与问题相关的时间事实,增强答案图。

2)图中推断出答案——R-GCN关系图卷积网络

         增强R-GCN——时间感知实体嵌入、注意力机制(对时间关系)、编码时间戳/时间信号/时间问题类别

2概念和符号

n-ray事实:组合三元组。<Barack Obama, position held, President of the US; start date, 20-01-2009; end date, 20-01-2017> (see Fig. 1).

temporal fact:主对象或任何限定符对象是时间戳timestamp<Steven Spielberg, award received, Academy Award for Best Director; for work, Schindler’s List; point in time, 1993> (𝑛-ary)

temporal predicate:可以将时间戳作为其直接对象或限定符对象之一的谓词。date of birth 、position held.

Temporal question:包含时间表达式或时间信号,或其答案具有时间性质。时间关系的标记(BEFORE,AFTER,prior,during···)。模型中表示为 <𝑞1, 𝑞2, . . . 𝑞|𝑞 |>。

Temporal question categories:

        (i)包含明确的时间表达式(“在2009年”)

        (ii)包含隐式时态表达式(“当奥巴马成为总统时”)

        (iii)包含时间序数(“第一任总统”)

        (iv)包含时间答案(“何时……”)

 Answer graph:KG的一个子集,包含正确回答问题所需的所有事实。

 Exaqt的两个主要阶段:(i)答案图构建(第3节)和(ii)答案预测(第4节)。

3构建答案图

3.1 Finding question-relevant KG facts

NERD for question entities

        named entity recognition and disambiguation (NERD) 命名实体识别和消歧

        使用TagMe and ELQ两种模型,提高answer recall。提取实体并链接到KG或Wikipedia。

        为缩减事实集对BERT进行如下微调

Training a classifier for question-relevant facts 训练分类器

        对NERD检测到的实体的所有KG事实,使用远程监督机制distant supervision mechanism,标记与答案相关的事实作为positive instances

        对每一个positive instances随机选取5个不包含答案的事实作为negative instances(确保包含问题中的至少一个实体)。

        将正面负面实例汇集,组成一个自然语言句子,语言化的事实、配对的问题和binary ground-truth标签一起作为BERT序列对分类模型的训练输入。

Applying the classifier应用分类器

        预处理:将问题和事实用 [SEP] 连接,序列前面添加 [CLS] 。

        之后得到一系列的隐藏状态向量,其中与 [CLS] 对应的最终隐藏向量,记作 𝑪 ∈ R^𝐻(这里的 𝐻 是隐藏状态的维度),被视为累积的表示。这个隐藏向量会捕捉整个序列的语义信息,包括问题和事实的关联信息。

        分类层:权重矩阵W(微调过程唯一参数)W\in \mathbb{R}^{^{K\times H}}(K-类标签的数量,为2,表示事实是否与问题相关)。log(softmax(𝑪𝑾𝑻 )) 被用作分类的损失函数( log 表示自然对数,softmax 函数将分类得分转化为概率分布)。

        训练完成后,对于一个新的<question, fact>对,它输出与问题相关的事实的概率(和标签)。对所有与之相关的候选事实进行预测,并根据相关性的概率从高到低进行排序。最后,从排序后的候选事实中选择得分最高的事实集\left \{ f_{qrel} \right \},作为与问题相关的事实集合。

3.2 Computing compact subgraphs

        由\left \{ f_{qrel} \right \}中归纳出如图1所示的图,每个KG项(entity, predicate, type, literal)都成为自己的节点,边按照KG规定的方向:subject ↦→ predicate ↦→ object for the main fact, and subject ↦→ predicate ↦→ qualifier predicate↦→ qualifier object for (optional) qualifiers

injecting connectivity:

        计算每对问题实体之间的最短KG路径,把该路径添加到图中。相同长度的多条路径:每个路径描述为一组事实,用BERT编码(事实和问题),存储在相应的[CLS]令牌中,计算 [CLS](问题)与[CLS](路径)的余弦相似度,将余弦相似度最高的路径添加到答案图中。

 GST model:

        terminals:给定图中的节点。Steiner Tree (ST) 是连接所有终端节点的最小代价树:所有节点都是终端可简化为最小生成树问题;只有两个终端可简化为最短路径问题。    

        Group Steiner Tree (GST) 模型引入了一种更复杂的情况,其中终端节点被分成了多个组或集合。在这种情况下,只需要找到一个 Steiner Tree,其中至少连接每个组中的一个节点。这个模型适用于文中提到的情况,每个问题关键词可以与图中的多个节点匹配,并自然地形成一个终端节点组。

Edge costs:

        利用3.1的分类器的相关性分数𝐵𝐸𝑅𝑇 (𝑓𝑞𝑟𝑒𝑙) ∈[0, 1],转换为edge costs:1 − 𝐵𝐸𝑅𝑇 (𝑓𝑞𝑟𝑒𝑙) ∈ [0, 1]

GST algorithm

        精确算法:固定参数可解,通过迭代地在较大的图上增长和合并较小的树,以得到最小的树。采用top-k变体(动态规划算法的变体),从候选树种选择前k个最优的树,避免不相关的连接。

GST completion

如图1,GST生成了一个连接最相关问题节点的框架。引入事实补充框架使其上下文连贯。若图中有多个连通分量,针对每个都会计算 top-𝑘 GSTs,然后将这些连通分量的联合图用于完成事实补充。

3.3 Augmenting subgraphs with temporal facts

在完成的GST种加入与问题相关的实体时间事实

        首先,从KG中检索完成的GST中每个实体的所有时间。然后,用微调BERT模型处理时间事实的问题相关性,预测每个时间事实包含答案的可能性。训练:positive examples:包含答案的实体的时间事实;negative examples:从时间事实随机选择。最后添加得分最高的{𝑡𝑓𝑞𝑟𝑒𝑙 }到答案图中。

4 用R-GCN预测答案

        使用GRAFT-N_{ET}模型,该模型采用R-GCNs处理KG中异构的QA和文本。

        把答案图转换为有向关系图directed relational graph,建立在GRAFT-N_{ET}的KG-only上。在关系图中实体、文字和类型成为节点,而谓词(关系)成为边的标签。具体地,使用KG RDF转储,其中包含通过物化(reification)处理二进制事实的通用SPO三元组,具体化的三元组可以直接表示为有向关系图

E_{XAQT}GRAFT-N_{ET}的R-GCN上引入四个扩展来处理temporal QA:

        1. 嵌入时间事实丰富实体节点的表示,创建时间感知实体嵌入time-aware entity embeddings (TEE)

        2.编码temporal question categories (TC) temporal signals (TS),丰富问题表征

        3.使用时间编码time encoding (TE) ,获取时间戳向量表示

        4.提出attention over temporal relations (ATR) ,区分相同关系但具有不同时间戳的对象

4.1 Question representation

4.1.1初始化

为了对时间问题进行编码,首先需要确定时间类别、提取时间信号:

Temporal category encoding  (TCE):

        采用了一个四位多热编码向量four-bit multi-hot vector,用于表示时间问题的类别。每一位指示问题是否属于对应的类别。这样的向量能够表示一个问题可能属于多个类别的情况。类别对应表一四个类别: “EXPLICIT” :注释器SUTime or HeidelTime 检测到显式时态表达式;“IMPLICIT” ;“TEMPORAL ANSWER”;“ORDINAL”。

Temporal signal encoding (TSE):

       问题中的信号词映射为时间信号:“equals”(单), “before”, “meets”, “overlaps”, “during”, “starts”, “finishes”(逆)。 “before”, “meets”——“BEFORE” signals;“before-inverse” and “meet-inverse”——“AFTER” signals;“starts” and “finishes”——“START” and “FINISH” signals;ordinal tags and “last” ——“ORDINAL”;all other——“OVERLAP” ;no signal word triggers——“NO SIGNAL”

        使用7位向量编码,每比特表示是否存在特定的时间信号。使用LSTM建模。

        问题q表示为

        𝑻𝑪𝑬(𝒒)和𝑻𝑺𝑬(𝒒)是编码中TCE和TSE的multi-hot向量,𝒘𝒊 表示问题(𝒒)中第 𝑖 个词的预训练词嵌入(来自于 Wikipedia2Vec),⊕ 表示向量的连接操作,将𝑻𝑪𝑬 (𝒒)、𝑻𝑺𝑬 (𝒒) 向量与 LSTM 的最终状态输出向量连接,连接后的向量通过一个前馈神经网络(Feed Forward Network,FFN)进行处理,得到问题的初始嵌入表示h_{q}^{0}

4.1.2 更新

        第l层问题更新后的嵌入表示,𝑁𝐸𝑅𝐷(𝑞) -属于问题𝑞(与问题q相关)的实体的集合(通过NERD模型从问题中识别出来的实体)。𝐹𝐹𝑁(𝑥) 表示前馈神经网络的操作,它接收输入(实体的嵌入)并输出一个向量(更新的问题嵌入)。

        更新嵌入表示:问题的嵌入与属于它的实体的嵌入进行累加,并通过前馈神经网络进行处理,即可得到问题在该层次中更新后的嵌入表示。

 4.2 Entity representation

4.2.1 Initialization

       对初始化关系图中的每个实体e,使用固定大小的预训练嵌入𝒙e(Wikipedia2Vec与训练的嵌入向量)。h_{e}^{0}=x_{e}

Wikipedia2Vec 模型: Wikipedia2Vec 是一个用于生成词嵌入(word embeddings)和实体嵌入(entity embeddings)的模型。词嵌入捕捉了词语的语义信息,而实体嵌入则专门用于表示知识图谱中的实体,比如维基百科中的页面、概念等。

传统的 skip-gram 和上下文模型: 传统的词向量模型,比如 skip-gram 和上下文模型,通常使用局部的词语共现信息来学习词嵌入。它们会通过预测目标词的上下文或上下文词的目标词,来训练词向量。

Wikipedia 链接图: 维基百科的链接图是由维基百科中的页面之间的链接关系构成的图结构。每个维基百科页面可以链接到其他相关页面,这些链接反映了页面之间的语义关联。

实体嵌入的生成: Wikipedia2Vec 利用维基百科的链接图来学习实体嵌入。具体而言,它通过预测在维基百科图中与某个实体相邻的实体,来训练实体嵌入。这样做的好处是,实体嵌入可以受到更丰富的语义关联影响,因为链接图可以反映实体之间更复杂的语义关系,而不仅仅局限于局部的词共现关系。

4.2.2 Update

1.时间编码Time Encoding(TE)

        采用正弦位置编码表示时间戳𝑡𝑠,其中k^{^{th}}(日月等)被编码为

 d是时间编码的维度,j是奇/偶位置。TE(ts)即ts时间编码-每个对应位置的编码的总和。

2.时间感知实体嵌入Time-aware entity embeddings (TEE)

        如果实体𝑒出现在事实的任何位置(主语、宾语或限定词宾语),则认为时间事实tf^{e}与实体𝑒相关联。按时间顺序排列{𝑡𝑓𝑒}中的每个事实,并通过LSTM网络传递,LSTM最终状态作为TEE(𝑒)的时间感知实体表示。

         在后续层中,𝑇𝐸𝐸(𝑒) 随其嵌入的实体的更新而更新。

3.时间关系注意Attention over temporal relations (ATR)

        用于区分同关系关联但具有不同时间戳的实体/具有相同时间谓词但不同对象的事实。

        将相应的关系嵌入与其时间戳对象的时间编码连接,计算其与该阶段的问题嵌入的相似度:

 𝐴𝑇𝑅(𝑒, 𝑟) 表示实体 𝑒 关于关系 𝑟 的注意力得分,来衡量实体与特定关系之间的关联程度。

𝑠𝑜𝑓𝑡𝑚𝑎𝑥 表示 softmax 归一化操作,它作用在从实体 𝑒 出发的所有边上,用于将得分转化为概率分布,以便表示实体与不同关系之间的注意力分布。

𝒙𝒓 表示预训练的关系向量嵌入,关系 𝑟。𝑻𝑬(𝒕𝒔𝒓 ) 表示与关系 𝑟 相关联的时间戳的时间编码。

        𝑠𝑜𝑓𝑡𝑚𝑎𝑥 操作将关系和时间编码的得分归一化为概率分布。向量的连接操作将关系嵌入、时间编码和问题表示结合在一起,用于计算注意力得分。

4.Putting it together

        第一项——前一层实体的表示;第二项——前一层的问题表示;第三项——前一层对时间感知实体的𝑇EE(𝑒)表示;第四项——汇总实体𝑒邻域的状态( nbd_{r}对于通过关系r连接到e的实体集,ATR\left ( {e}',r\right )是对时间关系的关注,\Psi _{r}\left ( h_{e{}'}^{l-1} \right )依据边的类型和方向特定于关系的变换)

 4.3答案预测

        在l层获得的最终实体(h_{e}^{l}),用于二元分类设置来选择答案,对于e,定义其为答案的概率是q:

         {𝑎}𝑞是问题𝑞的基础真值答案集,𝑅𝐺𝑞是根据其答案图为回答𝑞构建的关系图,\sigma为Sigmoid激活函数,w和b分别是权重向量和偏差向量对应的分类器(在P𝑟概率上使用二元交叉熵损失训练的)。

5实验

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值