段落排序 是什麼?
Passage Ranking:段落排序 的完整解釋
段落排序是一種信息檢索技術,不是返回整個文檔,而是返回包含相關信息的最相關段落。它提高了搜索結果的精確性和用戶體驗。
核心概念
段落排序解決的是粒度問題:
- 文檔級排序的局限:返回整個文檔,用戶需要自己在文檔內搜索答案
- 句子級排序過於細粒度:句子可能上下文不足,難以理解
- 段落級是最佳平衡:段落包含足夠的上下文,同時也足夠精確
段落的定義可以是:
- 固定長度的文本片段(如 100 詞)
- 邏輯段落(由句號、段落標記等分界)
- 動態段落(根據內容和查詞動態確定)
運作原理
段落排序系統通常遵循以下流程:
第一步:段落切分
將原始文檔分解為多個段落。可以使用:
- 固定窗口方法:每 100 詞為一個段落
- 重疊窗口方法:相鄰段落有重疊,保留上下文
- 邏輯分割:根據文檔結構(如段落、小節)進行切分
第二步:段落檢索
使用檢索模型(如 BM25、密集檢索)找到可能相關的段落:
- 建立段落級的倒排索引
- 返回得分最高的 k 個段落
第三步:段落排序
使用排序模型對候選段落進行精細排序:
- 傳統排序:使用 BM25、TF-IDF 等基於詞的模型
- 神經排序:使用 BERT、CrossEncoder 等深度模型
- 混合排序:結合多個信號進行排序
第四步:結果呈現
將排序後的段落呈現給用戶,通常包含:
- 段落摘錄
- 段落來源(哪個文檔)
- 相關性得分或置信度
實際應用
- 搜索引擎結果摘要:Google 等搜索引擎顯示的「精選摘錄」
- 開放域問答系統:檢索包含答案的段落,然後進行機器閱讀理解
- 文檔檢索優化:在非常長的文檔中精確定位相關內容
- 多跳推理:在多個段落間進行推理以回答複雜問題
- 實時信息檢索:快速定位最新信息所在的段落
常見誤區
許多人認為段落排序就是簡單的「摘取相關句子」,但實際上它涉及複雜的語言理解、上下文保留、信息融合等問題。同時,段落的粒度選擇對結果質量有重大影響。