信息检索是一类应用性非常强的信息技术,它的方式多种多样,从早期的启发式建模方法到现今流行的深度学习模型,检索变得越来越精准,能力越来越强。下面主要介绍几种新颖的深度学习模型。
一.检索的分类
比较有代表性的检索方式有:
1.Ad-hoc retrieval
用户通过查询来指定他/她的信息需求,该查询启动对可能与用户相关的文档的搜索(由信息系统执行)。 术语 ad-hoc 是指集合中的文档保持相对静态而新查询不断提交给系统的场景。
查询来自搜索意图不明确的用户,且通常非常简单,几个单词到几个句子不等;而文档常来自于不同作者组,且文本长度较长,几个句子到几个段落不等。因此查询和文档结构的不同。这种异构性导致了严重的“词汇不匹配问题” 和“不同的相关模式” 。这种特性被称为"异构性"。
2. Question Answering
QA是指问答检索,这类问题的检索指向性比较明确,即搜索问题的答案。QA中question和answer之间的异构性降低了。question都使用自然语言来描述,这比关键词query更长,且意图描述更清楚。另一方面,答案通常比文档的文本跨度(text span)更短,这会使得主题更集中。
二.模型对比
对称架构与非对称架构
对称式采用使用词级别的交互和先序的全局交互。非对称则是将查询文档依次进行拆分,构建模型。
(a)对称式
(b)非对称式
模型分析
常用的检索模型有BM25,BERT及多种变体,自编码器。
首先介绍一下BM25(best matching), BM25主要由三个部分组成:query中每个单词qi与文档d之间的相关性,单词qi与query之间的相似性以及每个单词的权重。
s
c
o
r
e
(
Q
,
d
)
=
∑
i
N
W
i
R
(
q
i
,
d
)
score(Q,d)=\sum_{i}^NW_iR(q_i,d)
score(Q,d)=i∑NWiR(qi,d)
下面介绍一下BERT模型。Bert定义了两种模型训练方法(预训练任务):MLM 和 NSP。BERT用MLM(Masked Language Model,掩码语言模型)方法训练词的语义理解能力,用NSP(Next Sentence Prediction,下句预测)方法训练句子之间的理解能力,从而更好地支持下游任务。
MLM是借鉴完形填空任务和Word2Vec中CBOW算法的思想,而定义的一种模型预训练任务。具体而言,就是随机抽取部分词进行掩码操作,训练BERT模型来正确预测这些被掩码词,且以 ∑ P ( w i ∣ w 1 , w 2 , w i − 1 , w i + 1 , . . , w n ) \sum P(w_i|w_1,w_2,w_{i-1},w_{i+1},..,w_n) ∑P(wi∣w1,w2,wi−1,wi+1,..,wn) 为目标函数来优化模型参数(仅计算被掩码单词的交叉熵之和,将其作为损失函数)。
很多自然语言处理的下游任务(如问答和自然语言推断等)都基于两个句子做逻辑推理,而语言模型并不具备直接捕获句子间语义联系的能力(该能力由训练方法和目标函数的特性决定),BERT采用NSP训练方法,使用模型学会捕捉句子间的语义联系。
具体而言:模型的输入语句由两个句子组成,其中有50%的概率将语义连贯的两个连续句子作为训练样本(连续句对应取自篇章级别的语料,以确保前后语句的语义强相关),另有50%的概率将完全随机抽取的两个句子作为训练样本,模型要根据输入的两个句子,判断它们是否属于真实的连续句对。
自编码器是一种无监督学习技术,利用神经网络进行表征学习,是生成任务里常见的一类模型。也就是说,我们设计一个在网络中施加“瓶颈”,迫使原始输入压缩知识表示的神经网络架构。如果输入特征彼此独立,则该压缩和随后的重构将是非常困难的任务。但是,如果数据中存在某种结构(即输入特征之间存在相关性),则可以学习这种结构,并在强制输入通过网络的瓶颈时使用。
通俗理解:即输入的特征X1、X2、Xn之间存在某种特殊的联系,但是这些联系不需要你人为的进行特征提取,而是放到网络里面进行学习,最终浓缩为更精炼、数量更少的特征h1、h2、hm。其中m<n.这里的Xn就是输入数据,hm就是所谓的编码,也就是所谓的“瓶颈数据”。
变分自编码器是一种新的生成模型,在检索领域应用广泛。
VAE( 变分推断)的数学原理:假如现在有一个f(x),很复杂,我们想用一个简单函数去近似它。那么,如果我们能够找到的一个bound,然后优化这个bound,就可以实现对f(x)的近似,这个就是变分推断里最基础的思想。
假设x为用户历史行为,x->z的过程,就是z对x的近似过程,这个过程由encode模块实现,而z_mean与z_log_var可以理解为上述的bound(因为数学上已经证明一定可以找到方法得到近似的z,所以机器学习必然能收敛)。z作为x的近似,其实就是用户的隐藏兴趣表示,用隐藏兴趣表示,已现有的item进行交互,就可以取的用户可能感兴趣的item。
最新检索方面的论文将在之后的博客中详细介绍!
参考文献
[1]: Deep Look into neural ranking models for information retrieval
[2]: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding