abstract
本文提出了一个基于图的分层相关匹配模型(GHRM),它可以同时捕获subtle 和general的层次匹配信号。
https://github.com/CRIPAC-DIG/GHRM
1.介绍
分层查询文档相关性匹配过程示例。(a)查询和候选文档(省略部分文字)。(b)文档中部分文字图。(c)包含关键词并丢弃与查询无关的词的层次图:
3 PROPOSED METHOD
3.1 Problem Formulation
查询和文档:
本文目的是对关于查询词和文档词的一系列相关性
r
r
r
e
e
e
l
l
l(
q
q
q,
d
d
d)进行排序。
3.2 Graph Construction
文档图 G G G = ( V V V, E E E),其中 V V V是具有节点特征的顶点集, E E E是边集。节点特征矩阵和邻接矩阵的构造过程描述如下。
注意:图只建立在文档之上,不包括查询词。
3.2.1 Node feature matrix construction.
在图
G
G
G中,每个节点都表示为文档中的单词。因此,单词序列被表示为一系列节点集
其中
n
n
n是文档中唯一单词的数量,此外,为了将query-document交互信号引入图中,采用余弦相似性矩阵建立交互,表示为
S
S
S ∈
R
R
R
n
^n
n
×
^×
×
M
^M
M,
s
s
s
i
_i
i
j
_j
j被计算为:
本文用word2vec获取词向量
3.2.2 Adjacency matrix construction.
邻接矩阵构造(词共现网络):
c
c
c
o
o
o
u
u
u
n
n
n
t
t
t(
i
i
i,
j
j
j)表示
w
i
w_i
wi和
w
j
w_j
wj同时出现在滑动窗口内的次数。随后,
A
A
A进行归一化(防止梯度爆炸和消失):
其中
D
D
D∈
R
R
R
n
^n
n
×
^×
×
n
^n
n为度矩阵:
3.3 Graph-based Hierarchical Matching
subtle 和general的查询文档匹配信号都是按照分层匹配结构相互捕获的。如图2所示,基于图的分层匹配的体系结构由多个blocks组成,每个block含图神经网络(GNN)层、相关信号注意力(RSAP)层和readout层。通过该block,可以详尽地捕获不同粒度的分级匹配信号。最后,基于图的分层匹配模块中的每个block的输出被组合在一起作为分层输出。将
t
t
t ∈ [
0
0
0,
T
T
T]设置为分层匹配的第
t
t
t个block。
GHRM模型的体系结构(1)图构造:通过查询和文档之间的相似度得分构造节点特征矩阵,其中每个节点特征代表其词嵌入和查询词嵌入之间的交互信号。(2)基于图的层次匹配:通过不同粒度的层次图,首先删除与查询无关的词(图中的灰色部分),并通过RSAP机制自适应地保留可能代表对查询的特定效果(图中的特定颜色)的几个关键节点。(3)读出和匹配:将每个块中读出层的输出组合在一起,以计算匹配分数。
3.3.1 Graph Neural Network Layer.
第
t
t
t个block的邻接矩阵表示:
A
t
A^t
At∈
R
R
R
n
^n
n
×
^×
×
n
^n
n
第t个block的节点特征表示:
H
t
H^t
Ht∈
R
R
R
n
^n
n
×
^×
×
M
^M
M,查询-文档交互矩阵初始化为
H
0
H^0
H0:
其中
H
H
H
0
^0
0
i
_i
i表示图中第
i
i
i个节点的表示,等于
S
i
S_i
Si,即交互矩阵
S
S
S的第
i
i
i行。
节点聚合:
a
a
a
t
^t
t
i
_i
i∈
R
R
R
M
^M
M表示从邻居来的消息聚合,上式中
A
A
A就为归一化的邻接矩阵(简化为
A
A
A,难打),W为可训练的权重矩阵,
t
t
t表示
t
t
t-
h
h
h
o
o
o
p
p
p。
节点更新(节点自己和邻居,采用GRU):
3.3.2 Relevance Signal Attention Pooling Layer.
在pooling层引入了相关信号注意力汇集机制(RSAP),通过图神经网络获得每个节点的注意力得分。如图2所示,通过RSAP,分层图在
t
t
t= 1到
t
t
t= 2时可以丢弃与查询无关的单词(像原始图中的灰色节点),并且自适应地保留可以表示对查询的特定影响的关键节点。第
t
t
t block中的关注分数
P
t
P^t
Pt∈
R
m
R^m
Rm计算如下:
一旦获得每个节点的注意力得分,就通过硬注意机制来关注重要节点的选择pooling
r
r
r
a
a
a
t
t
t
e
e
e∈(0,1)是一个超参数,它决定了每个RSAP层中要保留的节点数:
top_rank为一个返回索引函数。
则
t
t
t+1 block接受的输入为:
3.3.3 Readout Layer
在每个block的输出信号:
然后将所有block的信号组合:
3.4 Matching Score and Model Training
匹配得分计算:
其中
loss
4 EXPERIMENTS
4.1 Experiment Setup
4.1.1 Datasets
对比
消融
r
r
r
a
a
a
t
t
t
e
e
e影响
block数量影响
特征选择数
K
K
K的影响