Idea
一个以交互为中心的模型,它在“查询term”层使用了一个联合的deep架构来进行相关匹配。具体地说,首先基于术语嵌入在查询和文档中的每对术语之间构建本地交互。对于每个查询term,将可变长度的局部交互映射为固定长度的匹配直方图。基于这个固定长度的匹配直方图,使用前馈匹配网络来学习分层匹配模式并生成匹配分数。最后,通过一个计算聚合权重的term gate网络将每个查询项的得分聚合起来,生成总体匹配得分。
介绍
adhoc检索中的核心问题,即给定特定查询的文档的相关性计算,可以形式化为文本匹配问题。给定两个文本t1和T2,匹配程度通常由基于每个文本表示的评分函数生成的分数来衡量:
其中Φ是将每个文本映射到一个表示向量的函数,F是基于它们之间交互作用的评分函数。
- 第一种面向表现的模型,它试图用深层神经网络为单个文本建立一个良好的表示,然后对两个合成的和抽象的文本表示进行匹配。在这种方法中,Φ是一个复杂的表示映射函数,而F是一个相对简单的匹配函数。例如,在DSSM中,Φ是一个前馈神经网络,而F是余弦相似函数。在C-DSSM中,Φ是一个卷积神经网络(CNN),而F是余弦相似函数。在ARC-I中,Φ是CNN,而F是多层感知器(MLP)。在不损失通用性的情况下,面向表示的模型的所有模型体系结构都可以看作是文本输入上的对称体系结构,如图1(a)所示。
- 第二种模型是交互模型,它首先根据文本的基本表示建立文本之间的局部交互,然后利用深层神经网络学习层次化的交互模式进行匹配。在这种方法中,Φ通常是一个简单的映射函数,而F是一个复杂的深层模型。例如,在DeepMatch中,Φ只是将每个文本映射到一个单词序列,而F是一个由单词交互矩阵上的主题模型驱动的前馈神经网络。在ARC-II和MatchPyramid中,Φ将每个文本映射到一个词向量序列,而F是两个文本的词向量之间的交互矩阵上的CNN。在不损失通用性的情况下,所有以交互为中心的模型体系结构都可以看作是局部交互矩阵之上的一个层次化的深层架构,如图1(b)所示。
adhoc检索中的文本匹配与其他NLP任务的区别(语义匹配与关联匹配)
Similarity matching signals:
与精确匹配信号相比,捕捉词、短语和句子之间的语义相似性/相关性是非常重要的。例如,在释义识别中,需要识别两个句子是否用不同的表达方式传达相同的意思。在自动对话中,人们的目标是找到一个与前一个对话在语义上相关的恰当的回应,而上一个对话之间可能没有任何共同的单词或短语。
由于语义匹配中的文本通常由具有语法结构的自然语言句子组成,因此使用基于这种语法结构的句子的组合意义比将它们视为一组/一组单词更为有益。例如,在问答中,大多数问题都有明确的语法结构,有助于识别反映问题内容的成分意义。
语义匹配通常将两个文本作为一个整体来推断它们之间的语义关系,从而产生全局匹配的要求。这与语义匹配中的大多数文本长度有限,主题范围集中有关。例如,如果两个句子的意思完全相同,那么这两个句子就被视为释义,一个好的答案可以完全回答这个问题
relevance matching signals:
relevance matching识别文档是否与给定查询相关。在这个任务中,查询通常很短并且基于关键字,而文档的长度可能会有很大的变化,从几十个单词到数千个甚至上万个单词。为了估计查询和文档之间的相关性,相关性匹配主要关注以下三个因素:
- Exact matching signals:虽然术语不匹配是adhoc检索中的一个关键问题,并且已经使用不同的语义相似性信号来解决,但是由于现代搜索引擎的索引和搜索模式,文档中的术语与查询中的词的精确匹配仍然是自组检索中最重要的信号。例如,Fang和zai[7]提出了语义项匹配约束,即精确匹配一个原始查询项对关联度的贡献不低于多次匹配一个语义相关项。这也解释了为什么一些传统的检索模型,例如BM25,仅仅基于精确匹配信号就可以很好地工作。
- Query term importance: 在adhoc检索中,由于查询主要是短的、基于关键字的,没有复杂的语法结构,因此需要考虑词的重要性,而在操作搜索中,查询词之间的组合关系通常是简单的“与”关系。例如,考虑到“比特币新闻”的查询,预计相关文件将涉及“比特币”和“新闻”,因为描述“比特币”其他方面的文件比描述其他事物“新闻”的文件更相关。则“比特币”一词比“新闻”更重要,
- Diverse matching requirement:在临时检索中,相关文档可能很长,导致了多种匹配要求。 具体来说,详细假设:假设长文档就像短文档一样,涵盖了相似的范围,但单词更多。 在这种情况下,如果假设简短文档的主题集中,则相关性匹配可能是全局的。 相反,范围假设:假设一个长文档由许多不相关的短文档串联在一起组成。 这样,相关性匹配可以发生在相关文档的任何部分,并且我们不需要文档整体与查询相关。
MODEL
模型与面向交互的模型相似,而不是面向表示的模型,因为后者不可避免地会丢失细节匹配信号,而这对于adhoc检索中的关联匹配至关重要。
模型在查询术语级别使用了一个联合的deep体系结构,而不是查询和文档术语之间的本地交互来进行相关性匹配。首先在查询和文档中构建每对术语之间的本地交互(基于术语嵌入)。对于每个查询项,将可变长度的局部交互转换为固定长度的匹配直方图。基于固定长度的匹配直方图,使用前馈匹配网络学习分层匹配模式,并为每个查询项生成匹配分数。最后,通过计算聚合权重的项选通网络将每个查询项的得分聚合起来,生成总体匹配得分。模型上图↑
问题定义
假设查询和文档都表示为一组由
q
q
q={
w
w
w
(
^(
(
q
^q
q
)
^)
)
1
_1
1,…,
w
w
w
(
^(
(
q
^q
q
)
^)
)
M
_M
M}和
d
d
d={
w
w
w
(
^(
(
d
^d
d
)
^)
)
1
_1
1,…,
w
w
w
(
^(
(
q
^q
q
)
^)
)
N
_N
N},其中
w
w
w
(
^(
(
q
^q
q
)
^)
)
i
_i
i(
i
i
i=
1
1
1,…,
M
M
M)和
w
w
w
(
^(
(
d
^d
d
)
^)
)
j
_j
j(
j
j
j=
1
1
1,…,
N
N
N)分别表示一个查询Term向量和一个文档Term向量,而
s
s
s表示最终的相关性得分
其中⊗表示查询项和文档项之间的交互运算符,
h
h
h表示从局部交互到匹配直方图的映射函数,
z
z
z
(
^(
(
l
^l
l
)
^)
)
i
_i
i,
l
l
l=
0
0
0,…
L
L
L表示第
i
i
i个查询项的中间隐藏层,
g
i
g_i
gi,
i
i
i=
1
1
1,…,
M
M
M表示Terms gate 网络产生的聚集权重。
W
W
W
l
l
l表示第
l
l
l层的权重矩阵,
b
b
b
l
^l
l表示第
l
l
l层的偏置。对于不同的query 术语它们是可以共享的。请注意,
s
s
s采用余弦相似性。
在我们的工作中,我们假设术语向量是使用现有的神经嵌入模型(如Word2Vec)预先学习的。在这个模型中,是没有学习术语向量的,原因如下:
1)可以更好地从大规模的未标记文本集合中获得可靠的术语表示,而不是从有限的基本真实数据中获取,以便进行自组检索;2)使用先验学习的术语向量,我们可以将模型的学习集中在相关匹配模式上,从而大大降低模型的复杂度。
Matching Histogram Mapping
深度关联匹配模型的输入是来自查询和文档的每对术语之间的本地交互。一个主要问题是,由于查询和文档的长度不同,本地交互的大小不是固定的。以前基于交互的模型通过在查询和文档中保留顺序项顺序,将局部交互视为匹配矩阵。很明显,匹配矩阵是一种位置保持表示,如果学习任务是位置相关的,这一点很有用。然而,根据不同的匹配要求,关联匹配不是位置相关的,因为关联匹配可以发生在长文档中的任何位置。因此,由于匹配矩阵中的潜在噪声位置信号,匹配矩阵可能不是adhoc检索的合适表示。
本文采用了匹配直方图方法(matching histogram),它根据信号强度的不同来分组局部交互作用。而不是根据它们的位置。由于局部相互作用(即项向量之间的余弦相似性)在区间[-1,1]内,将间隔离散为一组有序的bin,并累积每个bin中的本地交互计数。 在这项工作中,考虑固定的bin大小,并将精确匹配视为单独的bin。 例如,假设bin大小设置为0.5,将获得五个bins [[-1,-0.5),[-0.5,-0),[0,0.5),[0.5,1),[1,1 ]}以升序排列。 给定一个查询词“car”和一个文档(car, rent, truck, bump, injunction, runway),以及基于余弦相似性的相应局部交互为(1,0.2, 0.7,0.3,-0.1,0.1), 将获得匹配的直方图为[0,1,3,1,1]。匹配直方图映射的三种方式:
- (CH) 直接将每个bin中的局部交互计数作为直方图值。
- (NH) 通过总计数来规范化每个容器中的计数值,以关注不同级别交互的相对数量而不是绝对数量。
- (LCH) 将对数应用于每个bin中的计数值上,既可以缩小范围,也可以让的模型更容易地学习乘法关系
Term Gating Network:
在查询术语级别使用了一个联合的深层架构。通过这种方式,模型可以显式地建模查询项的重要性。这是通过使用Term Gating Network来实现的,该网络为每个查询项生成一个聚合权重,控制该查询项上的关联得分对最终关联得分的贡献。使用softmax函数作为选通函数。
w
g
w_g
wg为Term Gating Network的权重,
x
x
x
i
_ i
i
q
^q
q(
i
i
i
=
=
=
1
1
1,…,
M
M
M)。表示第
i
i
i 个查询项输入。本文尝试了门控功能的不同输入,如下所示:
- Term Vector (TV)
- 逆文档频率: x x x i _ i i q ^q q表示第 i i i个查询词的逆文档频率,并归纳为单个参数。
Model Training
pairwise ranking loss :
对于查询
q
q
q,
d
+
d^+
d+比
d
−
d^-
d−更相关,
s
s
s为预测评分,Θ表示神经网络和Term gate network的参数,优化:SGD
mini-batches (20 in size)
实验
数据集
检索实验是使用Galago搜索引擎实现的。在索引和检索期间,文档和查询词都使用Krovetz词干分析器进行空白标记、小写和词干分析。检索期间,使用INQUERY停止列表[2]对查询词执行停止字删除。
结果