论文名称:Incorporating Retrieval Information into the Truncation of Ranking Lists in the Legal Domain
论文SIGIR官方下载地址:https://dl.acm.org/doi/abs/10.1145/3477495.3531998(有会议官方的讲解视频)
官方GitHub项目:myx666/LeCut: Source Code for “Incorporating Retrieval Information into the Truncation of Ranking Lists for Better Legal Search”, SIGIR22
本文是2022年SIGIR论文。
本文关注法律领域(文档复杂、广泛,浏览检索结果的代价很高)信息检索(本文关注案例检索任务,即根据query案例,从candidate案例语料中检索相关案例)中截断排序列表的问题(The truncation of ranking lists predicted by retrieval models)。
现存方法不够有效,因为仅考虑了简单的文档统计信息,没有充分捕获排序列表中的上下文信息。此外还将截断任务视作独立任务,而没有结合在整个排序过程中,这使截断在现实系统中可用性被减弱。
因此本文提出LeCut模型,用于法律案例检索任务中的排序列表截断。它利用检索任务的上下文特征来捕获文档间的语义相似性,用注意力机制来决定最佳截止位置。
本文还基于LeCut模型提出了 Joint Optimization of Truncation and Reranking (JOTR) 框架,用以同时提升截断和检索任务的表现效果。
文章目录
1. Background & Motivation
截断任务是为了平衡检索模型的表现力和效率。
案例检索任务查看排序列表中的内容比一般检索任务更费力,因为1. 用户倾向于检查更多搜索引擎返回的结果,以获取充分信息,统计信息见下图。2. 法律文书更长、更难读。
因此在案例检索任务中做截断是有意义的。
以前的截断模型主要关注传统ad-hoc检索任务traditional ad-hoc retrieval tasks1,仅使用排序分数和简单的文档特征(如文档长度、术语频率)为输入,忽略了建模过程中的高级文档语义。
LeCut则利用了检索任务中的隐藏层特征作为额外信息,用平行框架处理检索特征,以识别文档和排序列表级别的query-文档相似性。然后用RNN+Transformer层+positional embeddings捕获排序列表的序列依赖。
LeCut是第一个利用检索模型中语义特征和上下文信息的截断模型。
检索任务和截断任务都关注识别相似文档,因此彼此收集到的信息互有裨益。因此本文提出了JOTR框架联合优化这两个模型,分别用输出作为对方任务的新特征。为了将LeCut信息应用到法律检索模型上,用映射函数将LeCut原始输出转换为合理的截断特征,以加强检索任务。
本文通过改进已有指标构建了新的评估指标。
2. 模型介绍
c
i
c_i
ci 表示在位置
i
i
i 截断排序列表的概率。
2.1 LeCut
2.1.1 Feature Preparation
从query-文档对中抽取输入特征。
以前的方法大多用相似度和文档统计特征。
而LeCut抽取:相似度得分,文档统计特征(文档长度+相邻文档的TFIDF相似度),检索任务中句子级别的嵌入。
这个TFIDF是用所有candidates作为语料,然后计算每个candidate的相似度(二维向量):
(第一个和最后一个的开头和结尾都是1,感觉有哪里怪怪的)
除固定的文档统计信息外,queries-candidates对之间的动态信息也可能有效。
用在检索数据集上用NSP任务微调过的Transformer,喂query-candidate对,用最后一层隐藏层表征作为句子级别的嵌入。
2.1.2 Truncation Model
- Input Layer
- 输入:相似度得分 r i r_i ri,文档统计特征 d i d_i di,句子级别的嵌入 s i s_i si
- 为了利用排序列表中的 list-wise relations
排行更高的文档应该有更多attention。
- Encoding Layer:利用序列依赖
( d i d_i di有3维) - Attention Layer
用Transformer encoder表示排序列表中的文档嵌入。用其多头注意力机制捕获文档间的长距上下文信息。
用可学习的additional positional embeddings p p p(用于区分不同位置的文档) 替换原始的sinusoidal positional values
- Decision Layer
DCG是一种搜索引擎算法的衡量指标可以直接参考百度百科:DCG_百度百科
在损失函数里怎么加这种离散指标我也很震惊
( y i y_i yi是文档 i i i的相似度标签)
2.2 JOTR
先纯排序,然后结合截断信息重新检索。
直接结合
c
c
c进来可能会导致效果变差,因为
c
c
c和
r
r
r分布不一致。因此本文提出映射函数
ξ
\xi
ξ,对齐
c
i
c_i
ci和
r
i
r_i
ri:
3种映射函数:
(原理没仔细看,略)
迭代到指标稳定。
3. 实验
3.1 数据集
- LeCaRD
- CAIL2021-LCR
- COIEE2021-T1
3.2 baseline
- Fixed-k
- Greedy
- BiCut
- Choppy
- AttnCut2
- Oracle
3.3 实验设置
用于生成排序列表的神经网络检索模型:
- BERT
- RoBERTa
- Lawformer LFM
- BERT-Crime
其他配置细节略。
3.4 实验结果
指标:
检索任务:NDCG@k
截断任务:F1, DCG, and Negative Cumulative Impact (NCI)
(理由略)
3.5 模型分析
4. 代码复现
待补。
参考Ad-hoc retrieval with BERT,检索任务的ad-hoc特性指的是语料中的文档相对固定,新query连续提交到系统。
ad-hoc原义是for this purpose only(参考ad-hoc 的全称是什么? - 知乎),但是我也妹整明白这个词放这里到底是嘛意思啊?
参考A Deep Relevance Matching Model for Ad-hoc Retrieval,ad-hoc检索任务常被建模为文本之间的匹配问题。 ↩︎Learning to Truncate Ranked Lists for Information Retrieval
paperweekly的讲解博文:AAAI 2021 | 学习截断信息检索排序列表_进行 ↩︎