欢迎来到关注「澜舟NLP论文领读」专栏!关注公众号「澜舟科技」加入交流群~
本文作者:沈田浩,澜舟科技研究实习生 ,天津大学自然语言处理实验室(TJUNLP)一年级博士生,目前正在研究对话系统,期待人和机器能够真正自由交流的那一天!Feel free to contact me via email: magnetic-world@outlook.com 君子以文会友,以友辅仁~
01 写 在 前 面
信息检索可以说是互联网中应用最广泛和最成功的技术之一,没有信息检索,我们就会迷失在海量的互联网数据中。想找到自己需要的信息?很蓝的啦~
目前的各类信息检索模型大体都遵循召回+排序的两阶段流程,也就是根据用户的查询(query)首先从海量的文档(document)集合中用简单的特征和模型筛选出粗略匹配的文档(召回),然后对这些文档使用更多的特征和更强的模型做进一步打分(排序),就可以最终得到按分数排序的文档列表了。
那么如何组织海量的文档以便模型检索呢?这时候就需要一个索引了。稀疏检索方式(使用高维稀疏向量表示用户查询和文档,如BM25[1])一般是使用倒排索引,也就是以词为索引,构建词到文档的映射。而稠密检索方式(使用低维稠密向量表示查询和文档,如目前一票基于深度学习的双塔检索模型)则是构建一个表,其中每一行存储一个文档的向量表示。
然而我们可以看到,目前的这套检索框架存在一些天然的缺陷。首先,两阶段流程会导致错误的传播,并且排序模型和召回模型不能联合优化。如果一个用户想要的文档都没有进入召回模型的法眼,那么无论排序模型多么强大也无法挽救了。如果能使用一个端到端的模型统一建模检索过程,就可以极大缓解上述问题;其次,目前的检索方式都依赖于不可学习的外部索引,并采用不可学习的度量方式(如归一化内积),如果能够根据数据对索引和度量也做优化,是不是就非常的有趣了呢?
正所谓“好风凭借力,送我上青云”,最近大规模预训练模型的迅猛发展大家也是有目共睹,它能够通过自己“记住”的知识回答很多问题,并且具有极强的生成能力。如果能使用一个大模型直接完成整个检索流程,就朝着解决上述问题前进了一大步!
近日来自谷歌研究院的研究人员就发表了一篇名为《Transformer Memory as a Differentiable Search Index》的论文,提出了一种基于Seq2Seq的端到端检索架构DSI,并取得了不错的检索效果。接下来就让我们一起来看看这篇论文,它是否能够代表未来检索模型的发展方向呢?
论文标题
Transformer Memory as a Differentiable Search Index
论文作者
Yi Tay, Vinh Q. Tran, Mostafa Dehghani, Jianmo Ni, Dara Bahri, Harsh Mehta, Zhen Qin, Kai Hui, Zhe Zhao, Jai Gupta, Tal Schuster, William W. Cohen, Donald Metzler
论文单位
Google Research
论文链接
https://arxiv.org/abs/2202.06991
论文代码
https://github.com/ArvinZhuang/DSI-transformers
(目前还没有开源,非官方复现)
02 DSI有什么不一样?
首先,论文给出了一个与此前检索方式比较的表格,从中就能看出DSI的不同之处: