基于表示学习的大规模文本检索算法研究
作者单位:北京邮电大学
学位级别:硕士
导师姓名:邵蓥侠
授予年度:2023年
学科分类:081203[工学-计算机应用技术] 08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:随着互联网的迅速发展,数字信息呈爆炸性增长,用户面临着严重的信息过载问题。在此背景下,信息检索发挥着重要的作用,它可以帮助人们快速、准确地找到他们需要的信息。信息检索系统已经成为帮助人们缓解信息过载的重要手段,在当今的社交媒体、电子商务、社区论坛等网络应用中得到了广泛的应用。在信息检索系统中,基于向量的检索是一种广为流行的技术。它将文本信息表示为向量形式,通过计算向量之间的相似度来匹配用户的查询请求和文档库中的文档。然而,现有的基于向量的检索技术面临着一些挑战:1)文本向量表示准确度低,对相似文档无法区分,导致检索准确度不佳;2)向量表示内存不友好,需要大量存储开销;3)文本检索效率低,过高的时延降低了用户的使用体验。针对这些问题,本论文提出了大规模场景下基于表示学习的文本检索算法。为每个文档生成稠密表示和压缩后的量化表示,其中,稠密表示放入磁盘,只将量化表示加载入内存中,大幅降低内存占用。同时,在内存中基于压缩量化表示建立近似最近邻索引以便进行快速查找,提高查询速度。查询时,将用户的检索请求通过文本表示模型转换为表示向量,首先通过内存里的近似最近邻索引检索出粗略的候选文本集,再从磁盘中加载候选文本的稠密表示进行进一步精确的排序,从而得到最终的检索结果。其中,为稠密表示、压缩的量化表示、和近似最近邻索引设计新颖的训练算法,具体工作如下:(1)面向检索的文本表示算法。针对文本表示准确度不高的问题,使用两阶段的训练方式提高表示模型对相似文本的区分能力。基于对比学习训练得到第一阶段文本表示,用于全局检索。为了提高检索系统从局部的相似近邻集合中找到正确样本的能力,提出基于二部图的难负样本采样算法,根据第一阶段结果进行优化得到准确度更高的第二文本表示。(2)基于乘积量化的高效文本表示压缩算法。针对文本表示内存不友好的问题,本论文提出一种新的面向检索的乘积量化算法。首先需要从理论以及实验上分析当前通用的量化算法以及其优化目标的缺陷。为了解决现有乘积量化的弊端,提出一种端到端的乘积量化算法。通过对乘积量化和文本匹配两个过程的联合建模,以及优化后的训练目标,构建端到端联合训练的框架。同时,进一步提出可反向传播的跨设备采样技术,可在分布式环境中大大提高负样本的数量,进一步保证压缩后向量的性能。(3)大规模文本检索场景下的近似最近邻索引优化算法。针对当前索引无法在准确度和时延上取得良好平衡的问题,提出一种可学习的最近邻索引优化算法,可以更好的解决大规模场景下文本检索效率的问题。该算法使用原始向量之间的关系作为教师,指导近似最近邻索引输出相似的结果,最大程度的降低近似最近邻索引带来的损失,使得大规模场景下可做到高效且准确的文本查询。