信息检索(56):From Neural Re-Ranking to Neural Ranking: Learning a Sparse Representation for Inverted Ind


发布时间(2018)


从神经重排序到神经排序:学习倒排索引的稀疏表示

摘要

1)密集表示可以修剪为稀疏,用在检索第一阶段
2)伪相关反馈的有效性(pseudo-relevance feedback )
两个重点:
1)稀疏性目标(是指非零元素的个数:稀疏性高,非零元素数量少,非零元素代表特征更重要)
稀疏性的重要意义:稀疏的特征更有价值,更能代表任务的本质需求。
可以通过
a)正则化方法:最小化 l1 范数(通过l1范数,限制元素为0)
b)激活函数(将元素置为0)来学习
2)检索目标:hinge损失,通过对比正例和负例相似度训练,类似于对比损失

1)模型结构:n-gram表示 + 平均池化--》query/passage表示
a)query和passage长度不同,学到的最终表示稀疏程度与长度有关,也就是查询比文档更加稀疏
b)n-gram能够学到局部交互信息
2)倒排索引的构建
a)稀疏向量的维度就是索引的维度。假设维度 M =20000,也就意味着存在 20000个潜在术语
b)基于a),如果 passage 在某个维度 i 的表示非 0,该 passage 会被添加到潜在术语 i 的索引中
该元素的值是潜在项 i 学习到的高维潜在向量空间中的权重
3)检索过程
a)query 经过模型获得稀疏表示
b)稀疏表示中非 0 元素到倒排索引中检索对应的该元素非 0 的相关文档
c)计算相关性分数
海量数据和计算能力的可用性使得有效的数据驱动神经方法正在对机器学习和信息检索研究产生重大影响,但这些模型在效率方面存在一个基本问题。当前的神经排名模型被实现为多级排名器:出于效率原因,神经模型仅对第一级高效排名器针对给定查询检索到的排名靠前的文档进行重新排名。神经排名模型学习密集表示,导致基本上每个查询词都与每个文档词匹配,这使得对整个集合进行排名非常低效或难以处理。对第一阶段排名器的依赖产生了双重问题:首先,相互作用和组合效应尚不清楚。其次,第一阶段排名器充当“守门人”或过滤器,有效地阻止了神经模型发现新的相关文档的潜力。 在这项工作中,我们提出了一个独立的神经排名模型 (SNRM),通过引入稀疏性来学习每个查询和文档的潜在稀疏表示。这种表示捕获了查询和文档之间的语义关系,但也足够稀疏,可以为整个集合构建倒排索引。我们参数化模型的稀疏性,以产生与传统基于术语的模型一样高效的检索模型。 我们的模型在不损失有效性的情况下提高了效率:它不仅优于现有的术语匹配基线,而且其性能与最近基于重新排序的具有密集表示的神经模型相似。我们的模型还可以利用伪相关反馈来进一步改进。更一般地说,我们的结果证明了稀疏性在神经IR模型中的重要性,并表明可以有效地修剪密集表示,从而对基本语义特征及其分布提供新的见解。

1 引言

根据自然语言查询检索非结构化文档是信息检索 (IR) 的核心任务。由于这项任务的重要性,IR 社区自早年以来就非常重视设计高效且有效的检索模型。最近,深度神经网络在各种任务中的成功发展也影响了 IR 应用。 特别是,神经排序模型 (NRM) 最近在广泛的 IR 应用中显示出显着的改进,例如临时检索 [16, 20, 34, 49]、问答 [51]、上下文感知检索 [55]、移动搜索 [1] 和产品搜索 [46]。大多数现有的神经排序模型都有一个共同的特定属性:它们用于对由高效的第一阶段排序器提供的给定查询的一小部分潜在相关文档进行重新排序。换句话说,由于大多数神经排名模型依赖于可以使用分布式密集表示实现的语义匹配,因此计算大规模集合中所有文档的检索分数通常是不可行的。
多级排序器是一种实用的方法,似乎结合了神经模型的效率和有效性优势。然而,由于查询时有多个堆叠的排序器在工作,多级设置可能效率低下,并且可能通过限制继续进入下一阶段的文档集以及引入和传播错误来降低有效性。文档和查询的表示使得传统的基于术语的排序模型速度快,而神经排序模型速度慢。 查询很短,术语具有高度倾斜的 Zipfian 分布,使每个术语都具有相对选择性,从而导致对极少数相对较短的发布列表进行简单连接 [48]。相比之下,密集表示具有几乎均匀的分布,每个术语(在某种程度上)基本上匹配所有文档 - 类似于我们无法过滤掉的极端停用词。
我们的方法正面解决了这个问题:通过在表示学习中强制和奖励稀疏性,我们创建了一个潜在表示,旨在捕捉有意义的语义关系,同时仍然简约地匹配文档。这在图 1 中进行了说明,显示术语空间的 Zipfian 分布匹配的文档远少于密集表示,密集表示为每个术语返回集合长度的发布列表,从而大大增加了索引大小和查询处理时间。然而,本文提出的潜在稀疏表示模仿了基于术语的模型的发布列表长度分布,甚至匹配的文档比基于术语的模型还要少。也就是说,与现有的神经排名模型不同,我们建议学习查询和文档的高维稀疏表示,以便允许基于倒排索引的独立神经排名器。我们的模型不需要第一阶段排名器,并且可以像传统的术语匹配模型(例如 TF-IDF、BM25 或查询似然模型)一样高效地从大规模集合中检索文档。
我们的主要目标是学习文档和查询的表示,以便与原始术语向量和精确匹配模型相比实现更好的匹配,同时我们仍然继承了源于这些表示的稀疏性的效率。因此,有两个目标,引入稀疏性和捕获潜在语义。基于这两个目标,给定一个文档或一个查询,所提出的模型首先将每个 ngram 映射到低维密集表示以压缩信息并学习数据的低维流形,然后学习一个函数将其转换为高维表示,追求稀疏性作为这些表示的期望特性。 通过聚合稀疏的 ngram 表示,我们获得了具有任意长度的文本的稀疏表示,其稀疏性是输入长度的函数;这意味着与文档相比,查询具有更高的稀疏性,这是获得高效检索模型所需要的。我们在学习到的表示中实现了与文档和查询的原始术语向量中的稀疏率相当的稀疏率,同时我们还能够使用学习到的表示上的简单有效的向量空间匹配函数更好地捕捉查询和文档的语义相关性
一旦我们的潜在稀疏表示训练完毕,我们就会启动一个倒排索引构建阶段,将学习到的表示的每个维度视为一个“潜在术语”,并为每个潜在术语到集合中的每个文档构建一个倒排索引。这是一个离线过程,构建的倒排索引可以实现高效的检索。在查询时,我们将给定的查询转换为学习到的潜在高维空间,并获得其稀疏表示。 鉴于查询表示和构建的倒排索引的非零元素数量较少,我们能够有效地从大型集合中检索文档。我们还研究了学习到的语义空间中的伪相关反馈。我们使用弱监督来训练我们的模型,这是一种无监督学习方法,它依赖于现有的检索模型(例如查询似然),以生成大量具有弱标签的训练数据。最近,弱监督已被证明可有效学习神经排名模型 [16, 17] 和基于相关性的词嵌入向量 [52]。我们对新闻通讯和大型网络集合进行了 SNRM 的大量实验,并证明了所提模型的有效性。总之,我们表明 SNRM 不仅与术语匹配模型(例如查询可能性)一样高效,而且与基于重新排序的神经排序模型一样高效。我们的模型可以利用伪相关反馈,并且明显优于竞争基线。

2 相关工作

在本节中,我们讨论神经排序模型、弱监督、排序尝试(而非重新排序)以及表示学习的稀疏编码的相关工作

神经排序模型
近期的几项研究已将深度神经网络方法应用于一系列 IR 任务,包括问答 [51]、临时检索 [34, 49] 和上下文感知排名 [55]。神经排名模型可分为早期和晚期组合模型 [16]。它们还可以根据它们是专注于词汇匹配还是学习文本表示以进行语义匹配进行分类 [20, 34]。
早期组合模型是根据查询和文档之间的交互作为网络输入而设计的。例如,DRMM [20] 基于直方图分析对查询和文档内容之间的交互进行建模。再举一个例子,DeepMatch [27] 通过考虑单词序列来计算文本对的匹配分数。[34] 中的二重奏模型的局部组件和 [16, 49] 中提出的神经排名模型是早期组合模型的其他例子。
另一方面,后期组合模型首先学习查询和文档表示,然后通过在学习到的表示上应用匹配函数来计算相关性得分。DSSM [21] 是一个后期组合模型的例子,它使用完全连接的前馈网络进行表示学习。C-DSSM [43] 是该模型的扩展,它利用卷积神经网络来捕获术语依赖关系。二重奏模型 [34] 的分布式组件也使用类似的架构来学习文档表示。最近,NRM-F [58] 利用卷积网络来表示半结构化文档。我们请读者参阅 [33],其中概述了神经排名模型。
我们的模型也属于第二类。我们的模型与现有模型的主要区别在于学习到的表示的稀疏性,这使我们能够构建倒排索引以提高效率。

弱监督
训练数据有限一直是信息检索和许多机器学习相关领域的一个长期问题 [57]。这促使研究人员探索使用伪标签构建模型。例如,伪相关反馈 (PRF) [4] 假设响应给定查询而检索到的排名靠前的文档与该查询相关。尽管这一假设不一定成立,但 PRF 已被证明在许多检索设置中是有效的 [24, 41, 59]。为各种 IR 任务构建伪集合和模拟查询可以被视为解决此问题的另一组方法 [3, 5]。众所周知,深度神经网络通常需要大量的训练数据。最近,基于伪标签训练神经 IR 模型已被证明可以产生成功的结果 [16, 52]。这种学习方法称为弱监督。Dehghani 等人[16] 提出基于现有检索模型(如 BM25)生成的标签,为临时检索任务训练神经排序模型。Zamani 和 Croft [52] 认为,通用词向量模型(如 word2vec [32])的目标函数不一定等同于我们在信息检索中寻求的目标。他们提出基于相关性模型 [24] 作为弱标签,训练基于相关性的词向量。 在这些研究之后,使用弱监督训练神经 IR 模型的想法得到了进一步应用 [14, 15, 26, 28, 37, 56]。 最近,Zamani 和 Croft [53] 为解释弱监督 IR 模型取得的成功经验结果提供了理论基础。此外,弱监督思想也被用于提高 IR 模型的效率 [8]。在本文中,我们以查询似然模型 [40] 作为弱标记器,用弱监督来训练我们的模型。

排序而非重排序
如上所述,大多数神经排名模型都会学习查询和文档的密集潜在表示 [16, 34, 58],以便能够进行语义匹配。它们对第一阶段排名器检索到的一小组文档进行重新排名。由于不可能对每个查询的每个集合中的所有文档进行评分,因此从重新排名场景转向排名的一个想法是在向量​​空间中操作并依靠 k 最近邻搜索来检索前 k 个文档 [47]。然而,精确的强力 k-NN 实际上是不可行的,并且使用 k-NN 的近似值 [35] 来在排名场景中使用密集表示 [6]。最近,[47] 中提出了一种基于近似 k-NN 的神经排名模型。然而,所提出的模型不能扩展到大规模集合。在本文中,作为近似 k-NN 模型的替代方案,我们专注于学习倒排索引的稀疏表示,由于其已知的效率,它已成为行业标准 [10]

稀疏编码
稀疏性是数据表示的理想特性,因为它不仅是一种有效的数据表示模型,而且还能捕捉大多数现实世界数据的生成过程,尤其是文本数据 [7, 30]。在深度神经网络中,稀疏性通常通过正则化 [44] 和激活函数 [2] 实现。 在本文中,我们还最小化 L1 范数作为正则化项,以将稀疏性引入学习到的表示中。

3 SNRM

在本节中,我们将介绍 SNRM 作为基于学习潜在稀疏表示的独立神经排序模型。
第 3.1 节描述了该模型的理想属性。
第 3.2 节详细介绍了神经网络架构。我们的模型的总体设计包括三个阶段:
i) 训练阶段(第 3.3 节)、
ii) 离线倒排索引构建阶段(第 3.4 节)和
iii) 有或无反馈的检索阶段(第 3.5 和 3.6 节)。

3.1 设计需求

设计一个独立的神经排序模型,可以从大规模集合中检索文档,而不是对第一阶段排序器返回的一小组文档进行重新排序,这可能会用于各种检索引擎。传统的术语匹配检索模型,如 TF-IDF、BM25 或查询似然,根据自然语言的原子单位(例如单词)得出查询和文档表示;因此它们具有理想的稀疏性,有助于在大规模集合上进行高效检索。它们每个都使用基于搜索集合构建的倒排索引。基于使用倒排索引进行高效检索的想法,本文介绍了 SNRM,这是一种基于潜在稀疏表示学习独立排序器的神经网络模型。
与以表征为中心的神经排序模型(例如 [16, 21, 43, 58])类似,我们的神经框架由三个主要部分组成:查询表征 ϕQ、文档表征 ϕD 和匹配函数 ψ。然后按如下方式计算每个查询文档对 (q,d) 的检索分数:
我们的目标是构建一个响应式的独立排名器,这三个组件有许多要求:
• ϕD 是独立于查询的组件,因此可以离线计算。与以前学习低维密集表示的神经排名模型相比,ϕD 应该输出高维稀疏向量。这将使我们能够基于学习到的表示构建倒排索引。
• 组件 ϕQ 和 ψ 应在查询或推理时运行(即在生成排名输出时)。要获得实时排名模型,有必要尽量减少这两个组件中的计算量。
• ϕQ 和 ϕD 的第 i 个元素应表示相同的潜在特征。换句话说,两个组件 ϕQ 和 ϕD 应在相同的语义空间中提供表示,这也意味着 |ϕQ |=|ϕD |。考虑到第一个属性,此属性还意味着查询表示应该是稀疏的。
• 如果 ϕQ 和 ϕD 中非零元素的索引之间没有重叠,则匹配函数 ψ 应该返回零。除了前一个属性之外,此属性对于构建和使用倒排索引进行高效检索也是必需的。
• 函数 ϕQ 和 ϕD 使用输出空间的全部容量,并且不会将查询和文档映射到特定的子空间。换句话说,对于输出空间中的每个维度,至少存在一个查询 q 或文档 d,使得 ϕQ (q) 或 ϕD (d) 导致该维度的非零值。
我们声称,如果神经排名模型的设计满足上述属性,并且学习到的查询和文档表示足够稀疏,那么我们就能够通过 ϕD 从学习到的表示中构建倒排索引,并根据给定的查询检索文档作为独立排名,而不需要第一阶段检索模型。

3.2 网络架构

由于 SNRM 中 ϕQ 和 ϕD 学习到的表示应该表示相同的语义空间,因此我们设计了架构以在这些组件之间共享参数。此外,我们需要查询和文档表示中不同级别的稀疏性。 这主要是出于效率的考虑,作为独立排序器的一个关键特性,因为匹配函数将计算所有文档的检索分数,这些文档在查询表示中至少有一个非零潜在元素具有非零值。因此,查询的表示越稀疏,所需的计算量就越少。 此外,查询直观上比文档短得多,包含的信息也更少,因此为了表达查询,与文档表示相比,查询表示中包含更少的非零元素是有意义的。使用简单的全连接前馈网络来实现这些组件并不是一个合适的解决方案,因为在这种情况下(由于 ϕQ 和 ϕD 之间共享参数),查询和文档表示在稀疏率方面会变得相似,即零元素的百分比(参见公式 (4))。这会导致在学习到的潜在空间中出现长查询,从而导致昂贵的匹配函数。
基于此论点,我们需要一个表示学习模型,其中表示稀疏性是输入长度的函数。 我们提出了一种基于 n​​gram 表示学习的架构。 我们的模型背后的直觉是,我们首先为给定文档或查询中的每个连续 n 个单词学习一个稀疏表示。然后通过平均池化聚合学习到的稀疏表示。事实上,我们的文档表示(以及类似的查询表示)如下获得:
其中 w1,w2,··· ,w|d | 表示以相同顺序出现在文档 d 中的术语。ϕngram 为给定的 ngram 学习稀疏表示。查询表示也是使用相同函数计算的。这种方法有两个重要优点:
等式 (2) 中平均的表示数量与输入文档/查询长度有直接关系。因此,最终学习到的表示中的稀疏程度取决于输入文本的长度。与文档相比,这会导致查询的表示更加稀疏,这是理想的。
• 使用滑动窗口将输入单词编码为一组 ngram 有助于捕捉术语之间的局部交互,因此该模型考虑了术语依赖关系。众所周知,术语依赖关系有助于提高检索性能 [31]。
我们通过一个全连接的前馈网络对 ngram 表示函数 ϕngram 进行建模,该网络使用滑动窗口在其嵌入序列上读取输入词并对其 ngram 进行编码。为此,我们首先从嵌入矩阵 E ∈ R | V | × m 中收集给定 ngram 中每个词的嵌入向量,其中 V 和 m 分别表示词汇集和嵌入维数。如在 [16, 49, 52] 中发现的,与使用通用词嵌入向量(例如 word2vec [32] 或 GloVe [39])训练的嵌入向量相比,使用经过训练以优化 IR 目标的基于相关性的嵌入向量可以带来显着的改进。因此,E 是我们网络参数的一部分,它是在端到端训练设置中学习的。然后将收集到的给定 ngram 的 n 个嵌入向量连接起来并输入到一组全连接层中。这些全连接层具有沙漏结构,可强制压缩输入数据的信息,并通过中间层的少量单元传递,这些单元旨在学习数据的低维流形。然后,上层隐藏单元的数量增加,为我们提供高维输出,例如 20,000。请注意,就结构和层的尺寸而言,该模型看起来像一个自动编码器。但是,与自动编码器不同,我们没有重建损失。我们将在第 3.3 节讨论我们的训练。我们在模型中使用整流线性单元 (ReLU) 作为激活函数。
我们用于查询和文档表示的神经架构也可以看作是一个多层一维卷积网络,其中除第一层之外的所有层的窗口大小都设置为 1。第一层的窗口大小等于 n,步长都设置为 1。图 3 说明了如何将单词序列映射到潜在稀疏表示。然后,该模型的构建块用于将文档编码为稀疏潜在表示以构建倒排索引的离线过程,并​​在推理时用于对提交的查询进行编码。该块的架构是可并行的,支持在推理时对查询进行高效编码。
我们将匹配函数ψ定义为查询和文档表示的点积。可以简单地证明点积具有第 3 节中前面提到的所有属性。使模型尽可能高效是我们使用这种简单函数来衡量查询-文档相关性分数的主要原因。
该组件在模型效率中起着关键作用,因为它在推理时经常使用(参见第 3.5 节)。

3.3 训练

为了训练 SNRM 框架,我们有两个目标:检索目标,旨在提高检索准确性;稀疏性目标,旨在增加学习到的查询和文档表示的稀疏性。
令 T = {(q1,d11,d12,y1),···,(qN ,dN 1,dN 2,yN )} 表示一组 N 个训练实例;每个实例包含一个查询字符串 qi 、两个文档候选 di1 和 di2 以及一个标签 yi ∈ {-1,1} ,该标签表示哪个文档与查询更相关。接下来,我们将解释如何优化我们的模型以实现上述两个目标。
检索目标我们使用如图 2a 所示的成对设置来训练我们的模型。我们采用了铰链损失(最大边距损失函数),该函数在成对模型的学习排序文献中被广泛使用 [25]。铰链损失是一种线性损失函数,用于惩罚违反边距约束的示例。第 i 个训练实例的铰链损失定义如下:
其中 ϵ 是决定铰链损失幅度的超参数。
稀疏性目标除了提高检索精度之外,我们的模型还旨在最大化稀疏率,其定义如下:
定义 0 0 = 0,最大化稀疏率等同于最小化 L0 范数:

因此,最小化最终查询和文档表示的 L0 范数也是我们的主要目标之一。然而,L0 范数是不可微的,这使得我们无法用反向传播算法训练模型。事实上,L0 最小化是一个非凸优化问题,甚至找到一个近似于 L0 真正最小值的解也是 NP-hard [36]。因此,应该考虑一个易处理的替代损失函数。另一种方法是最小化 L1 范数(即 L1( v) = ∺| v | i=1 | vi |)。 虽然很明显我们可以最小化损失函数中的 L1 项,但目前还不清楚最小化 L1 如何导致查询和文档表示的稀疏性。使用 L1 范数来促进稀疏性有着悠久的历史,至少可以追溯到 1930 年代从部分观测值进行傅里叶变换外推 [11]。 L1 也被用于信息论文献中,用于恢复带限信号 [19]。后来,稀疏性最小化作为一种​​回归超参数优化方法(称为 Lasso [45])受到了广泛关注。
在我们的模型中,L1 最小化会导致稀疏性的假设的理论依据依赖于两点:
(1)选择整流线性单元 (ReLU) 作为激活函数会强制非正元素为零(ReLU(x)=max{0,x}),以及
(2)对于元素 v 的 L1(v) 的梯度是常数,因此与其值无关。因此,反向传播算法 [42] 中使用的梯度优化方法会减少查询和文档表示向量的元素,而与它们的值无关。这会将小值移向零,从而获得所需的稀疏性
第 i 个训练实例的最终损失函数定义如下:
其中 || 表示连接。超参数 λ 控制学习表示的稀疏性。

我们用弱监督来训练我们的模型,这是一种无监督学习方法,它受益于现有检索模型(称为弱标记器)获得的伪标签。使用弱监督训练神经模型已被证明对一组 IR 任务有效,包括排名 [16] 和学习基于相关性的词嵌入 [52],以及一组 NLP 任务,包括情绪分类 [18]。更具体地说,给定一个大型查询集和一组文档,我们首先使用查询似然检索模型 [40] 和狄利克雷先验平滑 [60] 作为我们的弱标记器来检索每个训练查询 qi 的文档。然后通过从结果列表中抽取两个候选文档或从结果列表中抽取一个候选文档并从集合中抽取一个随机负样本来获得每个训练实例 (qi ,di1,di2,yi)。yi 定义为:
其中 pQ L 表示查询似然概率

3.4 倒排索引构建

SNRM 中的训练阶段之后是倒排索引构建阶段。在此阶段,如图 2b 所示,我们首先将集合中的每个文档输入到经过训练的文档表示组件中。我们将学习到的表示的每个索引视为“潜在术语”。换句话说,让 M 表示文档表示的维数,例如 20,000。因此,我们假设存在 M 个潜在术语。因此,如果 ϕD (d) 的第 i 个元素非零,则文档 d 将被添加到潜在术语 i 的倒排索引中。该元素的值是潜在术语 i 在学习到的高维潜在向量空间中的权重。
由于可以假设集合中的文档是独立的,因此倒排索引构建阶段将节省内存,并且我们可以使用小批量将文档提供给文档表示组件。请注意,在合并新文档的情况下,无需从头开始训练网络;我们可以为每个新文档获取表示。在第 4.4 节中,我们进行了一些实验来支持这一说法。但是,由于自然语言的时间属性和新词汇术语的发明,可以定期重新训练模型。这表明 SNRM 适用于现实世界场景。

3.5 检索(推理)

如图 2b 所示,在推理时,我们首先将查询 q 馈入查询表示子网络 ϕQ 以获得学习到的稀疏表示 q 。给定训练时 ψ 的点积定义,推理时每个文档 d 的检索分数计算如下:

是对 q 中非零元素求和。通过构建倒排索引,可以高效地检索出第 i 个索引中含有非零元素的文档。与现有的术语匹配检索模型(如查询似然和 BM25)类似,可以通过 Map Reduce 框架计算检索分数 [12]。

3.6 伪相关反馈

伪相关反馈 (PRF) 是一种假设针对给定查询检索到的排名靠前的文档是相关的,并使用这些文档进行查询扩展的方法。这也称为查询扩展的局部方法 [50]。PRF 已被证明在各种检索任务中都非常有效 [10]。我们还可以在 SNRM 模型中利用 PRF。为此,我们将 Rocchio 的相关反馈算法 [41] 用于向量空间模型。令 {d1,d2,···,dk} 为 SNRM 针对查询 q 检索到的 topk 个文档。更新后的查询向量计算如下:

其中 α 控制反馈向量的权重。根据先前对 PRF 的研究 [24, 29, 54, 59],我们仅保留更新后的查询向量 q ∗ 中值最高的前 t 个词条。然后,我们按照第 3.5 节中的描述检索文档。

3.7 SNRM 总结

在本小节中,我们将从整体上看待所提出的模型,并讨论模型实际上可以学到什么。从高层的角度来看,SNRM 首先将每个文本映射到低维语义空间中的密集表示,然后将其转换为高维稀疏表示。基于我们的检索函数(见公式 (8)),我们的模型根据“潜在术语包”假设检索文档。但是,查询和文档表示是通过聚合捕获局部术语依赖关系的 ngram 表示来获得的。因此,SNRM 所做的是将输入文本从单词序列很重要的自然语言映射到术语序列不应发挥重要作用的新“潜在语言”。从概念上讲,SNRM 正在学习一种新的“语言”,其原子组成部分是新的“词汇”,我们可以从检索框架中这些原子组件的稀疏性中受益。

4 实验

在本节中,我们将实证评估和分析 SNRM。我们首先介绍数据(第 4.1 节)、实验设置(第 4.2 节)和评估(第 4.3 节)。然后,我们在第 4.4 节中报告一系列实验结果和分析。

4.1 数据

集合 我们使用以下两个 TREC 集合评估我们的模型:第一个集合 Robust 包含数千篇新闻文章,被视为同质集合。Robust 之前曾在 TREC 2004 Robust Track 中使用过。第二个集合 ClueWeb 是一个具有挑战性的大规模网络集合,包含异构和嘈杂的文档。ClueWeb(即 ClueWeb09Category B)是一种常见的网络爬虫,仅包含英文网页。ClueWeb 之前曾在 TREC 2009-2012 Web Track 中使用过。 表 1 报告了这些集合的统计信息以及相应的 TREC 主题。我们使用主题标题作为查询。 我们通过过滤掉垃圾文档来清理 ClueWeb 集合。垃圾邮件过滤阶段是使用 Waterloo 垃圾邮件评分器1 [9] 完成的,阈值为 60%。从所有集合中删除了停用词,并且没有执行词干提取。

训练查询 与先前关于信息检索的弱监督工作 [16, 52, 53] 类似,我们使用从公开的 AOL 查询日志 [38] 中获得的数百万个唯一查询来生成弱标记数据。此数据集包含从 2006 年 3 月 1 日至 2006 年 5 月 31 日三个月内提交给 AOL 搜索引擎的网页搜索查询样本。我们仅使用查询字符串,未从查询日志中获取任何会话和点击信息。我们过滤掉了包含 URL 子字符串的导航查询,即“http”、“www.”、“.com”、“.net”、“.org”、“.edu”。 从查询中删除了所有非字母数字字符。 作为健全性检查,我们确保训练集中没有查询出现在我们的评估查询集中。应用所有这些约束会导致超过 600 万个唯一查询作为我们的训练查询集。

4.2 实验设置

我们使用 TensorFlow 实现并训练我们的模型。2 使用 Adam [23] 基于反向传播算法 [42] 优化网络参数。在我们的实验中,学习率和批量大小分别从{5×10−5、1×10−4、5×10−4、1×10−3、5×10−3} 和 {32,64,128} 中选择。ngram 表示网络 (ϕngram) 使用两个或三个隐藏层,其中 n 设置为 5。隐藏层大小从 {100, 300, 500} 中选择。输出层大小也从 {5k,10k,20k} 中选择。 3 我们从 [1×10−7、5×10−9] 区间中选择参数 λ(参见公式 (6))。dropout 保持概率从 {0.6,0.8,1} 中选择。我们通过从 Wikipedia dump 2014 和 Gigawords 5.4 中学到的预训练的 GloVe [39] 向量初始化了嵌入矩阵 E,嵌入维度设置为 300。所有检索实验均使用 Galago 搜索引擎 [10] 进行。5 我们对每个集合中的查询进行了 2 倍交叉验证,以调整模型和基线的超参数。

4.3 评估指标

为了研究 SNRM 的有效性,我们报告了四个标准评估指标:排名前 1000 的文档的平均准确率 (M​​AP)、排名前 20 的检索文档的准确率 (P@20)、针对排名前 20 的检索文档计算的归一化折扣累积增益 [22] (nDCG@20) 以及排名前 1000 的文档的召回率 (Recall)。使用双尾配对 t 检验和 Bonferroni 校正在 95% 置信水平下计算 MAP、P@20、nDCG@20 和召回率值的统计显著差异。

4.4 结果与讨论

在本节中,我们讨论了需要解决的几个研究问题,并针对每个问题提出了一组实验及其结果和分析来解决研究问题。

RQ1:与基线相比,SNRM 的效果如何?
为了解决我们的第一个研究问题,我们将我们的模型与以下基线进行比较:
为了进行公平的评估,我们不会将我们的模型与需要标记训练数据的监督方法进行比较。
表 2 报告了所提模型与基线的比较结果。结果显示,以查询似然作为弱监督信号(即 FNRM、CNRM 和 SNRM)训练的神经排序模型的表现明显优于查询似然模型。
这表明神经模型可以从弱标记器中推广其观察结果。发生这种情况的原因是查询似然模型仅限于术语匹配,因此存在词汇不匹配问题,但是,这些神经模型可以从由 QL 作为弱标记器标记的大量数据中学习语义匹配。这种学习策略使得在没有标记训练数据的情况下训练广义神经模型成为可能。他们可以潜在地改进他们的弱标记器。[53] 也对此进行了理论研究。
SNRM 和 RM3 在 Robust 集合上取得的结果相当,而 SNRM 在 ClueWeb 集合上的表现明显优于 RM3。我们的结果还表明,就 MAP、P@20 和 nDCG@20 而言,SNRM 的表现与 FNRM 和 CNRM 基线相当。重要的是要记住,这两个基线在大量文档上运行成本高昂(甚至不可行),因此,如 [16] 中所述,它们仅对按查询可能性检索的前 2000 个文档进行重新排序,作为第一阶段的排名器。因此,就召回率而言,它们的性能受第一阶段性能的限制。但是,我们的模型能够从自己构建的潜在倒排索引中检索文档,可以带来更多相关文档,即使那些词汇表与查询没有严格重叠的文档也是如此。值得注意的是,QL 模型的 Recall@2000 在 Robust 和 ClueWeb 上分别为 0.7409 和 0.3551。有趣的是,SNRM 在 Robust 集合上实现的 Recall@1000 高于 QL 在前 2000 篇文档上获得的召回率。由于 FNRM 和 CNRM 正在对前 2000 篇文档进行重新排序,因此我们的 Recall@1000 甚至高于任何重新排序基线(包括 FNRM 和 CNRM)在 Robust 集合上可以实现的上限值。请注意,鉴于为评估 ClueWeb 文档而进行的浅深度池化,它不是研究面向召回率指标的理想集合。
还值得注意的是,在现实世界的大型搜索引擎中,拥有一堆排序器是一种常见的做法。尽管大多数现有的神经排序模型都专注于重新排序作为堆栈中的最终排序器,但我们的模型可以用作早期排序器,并且在这样的排序器中提高召回率是可取的。虽然我们的学习目标并不直接优化召回率,但我们的模型在这方面改进了基线。这表明学习到的“潜在术语”可能携带对信息检索有用的语义信息。

RQ2:伪相关反馈如何影响学习到的潜在空间中的检索性能?
众所周知,PRF 在许多检索场景中都很有效 [13, 24, 29, 54, 59]。在下一组实验中,我们将研究 PRF 在 SNRM 学习到的新语义空间中的效果。我们使用第 4.2 节中解释的相同交叉验证程序选择了超参数 α(等式 (9) 中的反馈权重)、反馈文档的数量和反馈“术语”的数量(更新后的查询向量中非零元素的数量)。
根据表 2,PRF 在学习到的潜在空间中表现出色。原因是它使用从顶级检索文档中获得的本地信息。事实上,与原始短查询相比,顶级检索文档帮助我们找到更好的查询表示。使用 PRF 的 SNRM 优于所有基线,包括 RM3。所有改进都具有统计意义
图 4 显示了所提模型相对于更新查询向量中非零元素数量(即参数 t)的性能。根据 TREC 2004 Robust Track 和 TREC 2009-2012 Web Track 的建议,我们使用 MAP(Robust)和 nDCG@20(ClueWeb)作为主要评估指标。根据图 4,参数 t 的最佳值为 ClueWeb 的 10 和 Robust 的 20,因此取决于集合

RQ3:最小化 L1 范数是否会促进 SNRM 学习到的表示的稀疏性?
增加学习表示的稀疏性是该模型的目标之一,我们将其转化为最小化 L1 范数。为了研究最小化 L1 范数是否会促进表示的稀疏性,我们绘制了学习到的表示的 L1 范数,以及输入查询和文档相对于训练步骤的稀疏率。稀疏率的定义如公式 (4) 所示。在这个实验中,我们将输出维数设置为 10k,将参数 λ(参见公式 (6))设置为 1×10−7。在 Robust 集合上训练的模型的结果绘制在图 5 中。这些曲线表明,降低 L1 范数会增加查询和文档表示的稀疏性。除了这个观察结果之外,图 5 还显示,与文档表示相比,查询表示的稀疏性更高

RQ4:SNRM 在查询时效率如何?
如第 1 节中所述,术语匹配模型带来的效率来自倒排索引的使用,这得益于自然语言的稀疏性。图 1 显示,与自然语言类似,我们学习到的表示也来自 Zipfian 类分布。
表 3 报告了针对 Robust 和 ClueWeb 的查询和文档学习到的表示中的非零元素数量(即唯一潜在术语的数量)。根据结果,学习到的查询向量比文档向量稀疏得多。 这表明输入长度会影响学习到的向量的稀疏性,这对于高效检索是必要的。Robust 中的稀疏率高于 ClueWeb。这是由于文档长度(有关集合的统计数据,请参见表 1)以及文档的多样性。
尽管所学习到的表示所显示的特性保证了倒排索引在检索中的高效使用,但我们也研究了所提模型与简单术语匹配模型相比的检索时间。为此,我们从所学习到的表示中构建了一个 Galago 索引,并将我们的检索函数(见公式 (8))实现为 Galago 中的检索模型。SNRM 的每个查询运行时间计算为查询表示时间加上检索时间。查询表示时间等于预处理查询文本的运行时间加上从查询文本到查询的最终稀疏表示的网络前向传递时间。检索时间是从构建的 Galago 索引中检索获得的查询表示的文档的运行时间。此实验是在一台具有 Core i7-4790 CPU @ 3.60GHz 和 32GiB RAM 的机器上运行的。表 4 报告了 Robust 和 ClueWeb 集合的每个查询的检索时间的平均值和标准差。根据该表,SNRM 的性能与 QL 一样高效,在大型 ClueWeb 集合上的响应时间明显为亚秒级,而在小型 Robust 集合上的响应时间则要快得多。

RQ5:稀疏性如何影响检索性能?
为了研究这一研究问题,图 6 绘制了通过改变参数 λ(见公式 (6))实现的检索性能以及稀疏度比率。从图中可以看出,当 λ 设置为 1×10−5 时,模型仅专注于降低稀疏度,这意味着某些查询和文档的学习向量全为零。 这导致检索性能不佳。另一方面,当表示具有足够多的非零元素时,模型的检索性能是稳定的。例如,在这种情况下,99% 和 91% 稀疏度比率实现的性能接近。

RQ6:模型的性能对未见文档的数量有多敏感?
在两种不同的设置下,从 Robust 集合中随机删除 1%(超过 5k 个文档)和 5%(超过 26k 个文档)。然后,我们使用获得的集合训练 SNRM。训练完成后,我们使用训练后的模型对整个 Robust 集合进行索引。结果报告在表 5 中。根据结果,当从集合中省略 1% 的文档时,我们没有观察到性能损失。这表明 SNRM 在索引未见文档方面的稳健性,这在集合频繁更改或新文档添加到集合(例如 Web)的现实场景中是一个实用点。但是,删除 5% 的文档会导致性能显著下降。由于集合的大小,删除 5% 的文档可能会导致从集合中删除一组词汇术语,因此模型无法为包含未见词汇术语的文档学习适当的潜在表示。这表明在具有动态集合的现实场景中,应该定期训练模型,这已经是一种常见的做法。

5 结论和未来工作

在本文中,我们提出了一个独立的神经排名模型 (SNRM),该模型使用倒排索引,每个查询产生少量的短发布列表,从而可以像传统的术语匹配模型一样高效地从大规模集合中检索文档。我们的模型学习查询和文档的高维稀疏表示,并针对信息检索进行了优化。然后,我们根据学习到的稀疏表示构建倒排索引。 在推理或查询时,我们可以使用此倒排索引高效地从整个集合中检索文档。
我们在使用新闻专线和网络集合的临时检索环境中评估了我们的模型,并表明我们的模型与基于学习到的密集表示对文档进行重新排序的最先进的神经模型相当。此外,我们表明伪相关反馈在学习到的潜在空间中是有效的,并且明显优于竞争基线。
作为未来的工作,我们正在探索在学习到的表示中引入稀疏性的不同想法,而不仅仅是最小化 L1 范数,以及在训练期间调整损失函数以增加稀疏因子的方法。更一般地说,进一步分析学习到的稀疏表示有助于了解文档和查询的哪些方面被稀疏表示空间中的“潜在术语”捕获,并研究这些方面在多大程度上捕捉了不同 IR 任务的相关性概念。

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值