【论文阅读】A Deep Look into Neural Ranking Models for Information Retrieval

1.前言

2.Abstract

发展历程:传统的启发式方法->概率方法->机器学习方法->神经排序模型

==神经排序模型的强大之处在于,它能够从排序问题的原始文本输入中学习,以避免手工制作特征的许多限制。==神经网络具有模拟复杂任务的能力,这是处理排序中相关性估计的复杂性所需要的。

本文:我们将从不同的维度深入研究神经排序模型,分析其基本假设、主要设计原则和学习策略

3.Introduction

IR任务中,返回的结果通常根据某些相关概念进行排序。因此,排序模型对 IR 来说是很重要的。

过去几十年间,很多排序模型被提出:vector space模型【1】,probabilistic模型【2】,learning to rank模型(LTR)【3,4】。LTR模型已经在很多 IR 应用中取得成功(Google,Bing)

  • 一方面,大多数 LTR 模型依赖手工标注特征,设计起来费时且在定义上太具体。如果排名模型能够自动学习有用的排名特征,那将是非常有价值的。
  • 另一方面,相似度在定义上是模糊的,并且难估计。因为相似判断是基于复杂的人类认知过程的。

在本文中,我们关注的是针对于文本检索的神经排序模型,这是IR的核心。

  • 第一次成功是 2013 年的 Deep Structured Semantic Model(DSSM)【13】,是第一个直接解决 ad-hoc 检索任务的神经排序模型
  • 同年,【14】提出 DeepMatch,是一个针对基于社区的QA(CQA)和微博客匹配任务的深度匹配方法。
  • 在2014和2015年间,DSSM的变种,ARC 1, ARC2【17】,MatchPyramid【18】等模型被提出。这些研究大多关注短文本排序任务,比如 TREC QA 和 Microblog【19】
  • 2016年之后,神经排序模型的研究已经蓬勃发展,工作量巨大,讨论更加深入和严谨,应用范围也更加广泛。例如,研究人员开始讨论神经排序模型在不同排序任务中的实际效果[21,22]。神经排序模型已被应用于ad-hoc检索[23,24]、基于社区的QA[25]、会话式搜索[26]等。研究者开始越过神经排序模型的体系结构,关注神经排序模型的新训练范式[27],神经表示的替代索引方案[28],合并外部知识[29,30],以及神经方法在IR任务中的其他新应用[31,32]。
  • 目前,已经有很多好的模型,很多好的应用了。然而,仍然有很大的发展空间
    • 神经排序模型在语音识别或计算机视觉方面尚未取得神经方法所取得的突破水平;
    • 关于神经排序模型的设计原则,目前还缺乏了解和指导;
    • 我们还没有确定神经排序模型超越传统IR模型的特殊功能

与其他研究不同的是,本文不尝试去覆盖神经检索的每个方面,而是集中于,并且深入审视使用深度神经网络的排序模型。我们将从不同的维度深入研究神经排序模型,分析其基本假设、主要设计原则和学习策略,同时通过基准任务对比代表性的神经排序模型来获得综合的经验理解。

4.Major Applications of Neural Ranking Models

4.1.Ad-hoc Retrieval

概念:Ad-hoc 是经典的检索任务。用户将其信息需求通过一个 query 来查询相关文档。ad-hoc 指的是集合中的文档保持相对静态,而不断向系统提交新查询的场景。

  • 特点:查询和文档的不均匀性,这导致严重的词汇不匹配问题。
    • 查询来自一个潜在意图不明确的搜索用户,通常非常简短
    • 这些文档通常来自不同的作者,文本长度较长
  • 解决:一些理解语义的匹配可以缓解这个问题,但是精确匹配尤其是罕见 term 的匹配是必不可少的。
  • 这种非均匀性导致了不同的相似度模式,比如verbosity假设,scope假设【46】等。

ad-hoc 检索中的相关性概念很模糊,且高度依赖用户,这使得相似评价是个挑战。

4.2.Question Answering

概念:QA希望自动地基于一些信息源来回答用户以自然语言提出的问题

  • 问题可以是封闭/开放领域的
  • 信息源可以是结构化数据(知识库)或非结构化数据(文档/网页)

本文,我们关注段落回答/句子检索,因为它可以被表述为一个典型的 IR 问题,并通过深度排序模型解决。

  • 特点:
    • ad-hoc 相比,问题和答案间的非均匀性减少了
      • 一方面,问题是自然语言,比关键词查询更长且在内容描述上更清楚
      • 另一方面,答案通常是比文档短很多的文本段,有更集中的主题/语义
    • 相同的是,词汇不匹配也是 QA 的基础问题
  • 相似的定义是明确的,但评估也很难

4.3.Community Question Answering

概念:CQA致力于从 CQA 网站(Zhihu,Stack Overflow等)上存在的 QA 资源来回答用户的问题

作为检索任务,CQA可以被分为两类

  • 直接从答案池中检索答案,这与 QA 任务很像,只不过多了一些用户数据(点赞/踩)
  • 从问题池中检索相似问题,这基于一种假设:相似问题的答案可以用来回答新问题(本文CQA指这种)

由于 CQA 的输入问题与目标问题具有同质性,因此与上面两种任务有很大不同。

  • 特点:
    • CQA中的相似意味着语义相同/相似,这是清晰并且对称的
    • 但是,词汇不匹配问题仍然存在,因为问题比较短且相同内容会有不同表达

4.4.Automatic Conversation

概念:AC致力于创建一个自动的人机对话过程,用于回答问题、完成任务和社交聊天(即闲聊)【71】。

本文中,我们用IR形式将AC限制为社交聊天任务。从回话语境看,IR-based AC 可以分成单回合对话和多回合对话。

  • 特点:
    • CQA 类似,都有同质性,因为输入和回答都是短的自然语言句子
    • AC 中的相关指的是某种语义上的对应,在定义上比较广泛。因此,词汇比匹配不再是核心挑战
    • 建模关联/条理性,避免琐碎回答是关键

3.A Unified Model Formulation

神经排序模型大多是在LTR框架内研究的,本节从 LTR 问题的广义观点出发,我们给出神经排序模型的统一公式如下

  • S S S 是广义的查询集合,可以是 search queries,自然语言问题或者输入的语言
  • T T T是广义的文档集合,可以是文档,答案或者回复的集合
  • Y = { 1 , 2 , ⋯   , l } Y=\{1,2, \cdots,l\} Y={ 1,2,,l} 是代表分数的 label,其中 l l l 最大

现在针对具体情况

  • s i s_i si 是第 i i i 个查询
  • T i = { t i , 1 , t i , 2 , ⋯   , t i , n i } T_i=\{t_{i,1},t_{i,2},\cdots,t_{i,n_i}\} Ti={ ti,1,ti,2,,ti,ni} 是与 s i s_i si 相关的文档集合
  • y i = { y i , 1 , y i , 2 , ⋯   , y i , n i } y_i=\{y_{i,1},y_{i,2},\cdots,y_{i,n_i}\} yi={ yi,1,yi,2,,yi,ni}是与 s i s_i si 相关的标签集合
  • f ( s i , t i , j ) f(s_i,t_{i,j}) f(si,ti,j) 是一个将相关性评分与查询-文档对关联起来的排序函数
  • L ( f ; s i , t i , j , y i , j ) L\left(f ; s_i, t_{i, j}, \mathbf{y}_{i, j}\right) L(f;si,ti,j,yi,j) 是在 f f f 对查询-文档对及其对应标签的预测上定义的损失函数

目标:最小化下面的函数

在这里插入图片描述

可以进一步抽象成下列形式
在这里插入图片描述

  • s s s t t t 是两个输入文本
  • ψ , ϕ \psi, \phi ψ,ϕ 是分别提取 s , t s,t s,t 特征的表达函数
  • η \eta η 是从 ( s , t ) (s,t) (s,t) 对中提取特征的交叉函数
  • g g g 是基于特征表达计算相关分数的评估函数

在传统的 LTR 方法中, ψ , ϕ , η \psi, \phi,\eta ψ,ϕ,η 函数通常是固定的(人工定义的特征函数), g g g 可以是任何的机器学习模型(逻辑回归等)。在神经排序模型中,这些函数都被编码到网络结构中,这样他们都可以从训练数据中学习。

  • 传统 LTR 方法中,输入 s s s t t t 通常是原始文本
  • 神经排序模型中,输入可以是原始文本,也可以是 word embedding。也就是说, embedding映射被认为是一个基本的输入层,而不在上面三个函数中

4.Model

4.1.Symmetric vs Asymmetric Architectures

4.1.1.Symmetric Architecture

输入 s s s t t t 被认为是同质的,所以可以对输入使用对称的网络结构。对称结构指的是可以交换 s s s t t t 的位置,而不影响最终输出。

  • 两个具有代表性的对称网络结构:siamese networks(孪生神经网络),symmetric interaction networks(对称交叉网络)
    • siamese networks 字面上意味着网络结构中的对称结构。
      • DSSM【13】在统一的过程中(letter-trigram映射后面跟着MLP变换)表达两个输入文本,这里 ψ , ϕ \psi, \phi ψ,ϕ 函数是相同的。之后,使用 cos 相似度函数来分析两个表达间的相似度,这里函数 g g g 是对称的。
      • CLSM【47】将表达函数 ψ , ϕ \psi, \phi ψ,ϕ 替换成了相同的 CNN,以捕获局部词顺序信息
      • LSTM-RNN【48】将 ψ , ϕ \psi, \phi ψ,ϕ 替换成了两个相同的 LSTM,以捕获词间的 long-term 依赖
    • Symmetric interaction networks 采用了对称交互函数来表达输入
      • Arc-II【17】 在 s s s t t t 上定义了一个交互函数 η \eta η,在每个 s s s t t t 的 n-gram 对之间计算相似度,这本来就是对称的。之后,有一些卷积和 max-pooling层,这在 s s s t t t 上也是对称的
      • MatchPyramid在 s s s t t t 的每个词对之间定义了一个对称交互函数 η \eta η,来捕获细粒度交互信号。之后使用对称的评估函数

==对称结构在 CQA,AC 任务上效果很好,因为 s s s t t t 有相似的长度和形式。==有时也能用于 QA 或者 ad-hoc 检索任务,如果只使用文档标题/片段或者短的回答语句,以减少两个输入之间的异质性。

4.1.2. Asymmetric Architecture

在这里插入图片描述

两个输入被认为是异质的,因此使用不对称的网络结构。

==主要用在 ad-hoc 检索任务上,因为查询和文档本来就是异质的。==同时也可以用在QA任务上,如果需要排序的是回答的段落而不是自然语言问题。【84】

非对称结构可以主要分为三类(都是解决查询和文档间的异质性)

  • Query split 基于假设:ad-hoc 检索中的大多数查询都是基于关键词的,因此可以将查询分解成 terms 来与文档匹配

    • DRMM【21】,K-NRM【85】
  • Document split 基于假设:一个长的文档在 scope 假设下可以与查询部分相似【2】。因此可分解文档来捕获细粒度的交互信号而不是将其作为一个整体

    • HiNT【34】
  • Joint split 使用了 query split 和 document split 假设

    • DeepRank【33】

此外,在QA的神经排序模型中,还有另一个架构在引领非对称结构【one-way attention mechanism(单向注意力机制)】。它通常利用问题表示来获得对候选回答词的注意,以增强答案表示。

4.2. Representation-focused vs Interaction-focused Architectures

在这里插入图片描述

4.2.1.Representation-focused Architecture

假设:相关性依赖于输入文本的组成意义

方法:这个类别的模型通常定义复杂的表达函数 ψ , ϕ \psi, \phi ψ,ϕ(深度神经网络),但是没有交互函数,以获得输入的高层次表达,然后使用简单的评估函数 g g g(cos/MLP)来得到最终的相关性得分。

适用任务:

  • 因为基于每个输入文本的高层次表达来评估相关性,因此该结构更适用于有全局匹配需求的任务【21】
  • 同样适用于带有短输入文本的任务(因为很难从长文本中得到好的高层次表达),比如 CQA,AC
  • 该类别模型对在线计算是高效的,因为一旦 ψ , ϕ \psi, \phi ψ,ϕ 已经学习到了,就可以离线将文本表达预先计算出来

4.2.2.Interaction-focused Architecture

假设:相关性本质上是关于输入文本之间的关系,因此直接从相互作用中学习比从单独表达中学习更高效。

方法:这个类别的模型定义交互函数 η \eta η 而不是表达函数 ψ , ϕ \psi, \phi ψ,ϕ ,并且使用一些复杂的评估函数 g g g 来抽象相互作用并产生相关分数。

可以被分成两类:

  • Non-parametric Interaction functions:在没有可学习参数的情况下映射输入之间的相近/距离
    • 一些在每对输入词向量间定义:binary indicator function【18,33】,cosine similarity function【18,61,33】,dot-product function【18,33,34】,radial-basis function【18】
    • 一些在一个词向量和一组词向量间定义:DRMM【21】中的 matching histogram mapping,K-NRM【85】中的kernel polling层
  • Parametric interaction functions:从数据中学习相似度/距离函数
    • Arc-II【17】,Match-SRNN【69】

适用任务:

  • 使用细节的交互信号而不是高层次的独立文本表达,能够更好地满足特定匹配模式的需求(确切词匹配)与多种匹配需求
  • 适合异质输入的任务(ad-hoc,QA),因为避免了编码长文本的困难
  • 该类别模型对在线计算不是高效的,因为只有当看到了输入对时,才能计算交互函数 η \eta η

因此,实际使用时更好的方式是将这两种模型结合起来,representation-focused模型用在早期搜索阶段,interaction-focused模型用在后面。

4.2.3.Hybrid Architecture

结合上面两种架构,主要有两种方式

  • Combined strategy:是一种疏松的混合策略,只是简单地将两种结构都作为子模型,并且将他们的输出结合起来以评估最终相似度
    • DUET【23】
  • Coupled strategy:是一种紧密的混合策略,一个典型的方式就是利用 attention 在两种输入之间学习表达。因此,表达函数 ψ , ϕ \psi, \phi ψ,ϕ 和交互函数 η \eta η 就紧密结合了
    • IARNN【86】,CompAgg【87】

4.3.Single-granularity vs Multi-granularity Architecture

基于对相似度评估过程的不同假设,可以将神经排序模型分为以下两类

4.3.1.Single-granularity Architecture

假设:相关性可以基于从单一形式输入文本中利用 ψ , ϕ , η \psi, \phi, \eta ψ,ϕ,η 中提取的高层次特征来评估 。

这种假设下,对于评估函数 g g g 来说,表示函数和交互函数都被看成黑盒子, g g g 只取他们的最终输出来进行相关性评估。同时,输入s和t仅被视为单词或单词嵌入的一组/序列,而没有任何额外的语言结构

4.3.2.Multi-granularity Architecture

假设:相似度评估需要多粒度的特征,来源于不同维度的特征抽象或者基于输入的不同类型语言单元。

这种假设下,对于评估函数 g g g 来说,表示函数和交互函数都不再是黑盒子,我们考虑 s s s t t t 的语言结构。主要分为以下两类

  • Vertical multi-granularity:利用了深度网络的层次性,因此 g g g 可以利用特征的不同层次抽象来进行相似度估计
    • MultigranCNN【90】,MACM【91】,MP-HCNN【92】,MultiMatch【93】
  • Horizontal multi-granularity:语言有其内在结构(短语,句子等),我们应该考虑不同类型的语言单元,而不是简单的词来作为更好的相关性评估的输入。这个类别的模型主要通过从词扩展到短语/n-grams/句子来增强输入,在每一种输入形式上应用特定的单粒度结构,之后将所有维度聚合起来产生最终相关性输出。
    • 【94】,Conv-KNRM【84】,MIX【95】

多粒度体系结构是单粒度体系结构的自然扩展,它考虑了固有的语言结构和网络结构,以增强相关性估计。

适用任务:因为能提取多粒度特征,因此更适合需要细粒度匹配的任务(ad-hoc,AQ)

然而,增强的模型能力通常是以牺牲更大的模型复杂性为代价的。

5.Model Learning

5.1.Learning objective

与 LTR 算法类似,神经排序模型的学习目标可以分成三类:pointwise,pairwise,listwise

5.1.1.Pointwise Ranking Objective

猜你喜欢

转载自blog.csdn.net/qq_52852138/article/details/126982477