30萬真實查詢、200萬互聯網段落,中文段落排序基準數據集發布
段落排序是信息檢索領域中十分重要且具有挑戰性的話題,受到了學術界和工業界的廣泛關注。段落排序模型的有效性能夠提高搜索引擎用戶的滿意度并且對問答系統、閱讀理解等信息檢索相關應用有所助益。在這一背景下,例如 MS-MARCO,DuReader_retrieval 等一些基準數據集被構建用于支持段落排序的相關研究工作。然而常用的數據集大部分都關注英文場景,對于中文場景,已有的數據集在數據規模、細粒度的用戶標注和假負例問題的解決上存在局限性。在這一背景下,我們基于真實搜索日志,構建了一個全新的中文段落排序基準數據集:T2Ranking。
T2Ranking由超過 30 萬的真實查詢和 200 萬的互聯網段落構成,并且包含了由專業標注人員提供的 4 級細粒度相關性標注。目前數據和一些 baseline 模型已經公布在 Github,相關研究工作已作為 Resource 論文被 SIGIR 2023 錄用。
- 論文信息:Xiaohui Xie, Qian Dong, Bingning Wang, Feiyang Lv, Ting Yao, Weinan Gan, Zhijing Wu, Xiangsheng Li, Haitao Li, Yiqun Liu, and Jin Ma. T2Ranking: A large-scale Chinese Benchmark . SIGIR 2023.
- 論文地址:https://arxiv.org/abs/2304.03679
- Github 地址:https://github.com/THUIR/T2Ranking
背景與相關工作
段落排序任務的目標是基于給定的查詢詞,從一個大規模段落集合中召回并排序候選段落,按照相關性從高到低的順序得到段落列表。段落排序一般由段落召回和段落重排序兩個階段組成。
為了支持段落排序任務,多個數據集合被構建用于訓練和測試段落排序算法。廣泛使用的數據集大多聚焦英文場景,例如最常用的有 MS-MARCO 數據集,該數據集包含了 50 多萬個查詢詞和 800 多萬個段落,其中,每一個查詢詞都具有問題屬性。對于每一個查詢詞,MS-MARCO 數據發布團隊招募了標注人員提供了標準答案,根據給定段落是否包含人工提供的標準答案判斷這個段落是否與查詢詞相關。
在中文場景中,也有一些數據集被構建用于支持段落排序任務。例如 mMarco-Chinese 是 MS-MARCO 數據集的中文翻譯版本,DuReader_retrieval 數據集采用了和 MS-MARCO 相同的范式生成段落標簽,即從人工提供的標準答案中來給定查詢詞 - 段落對的相關性評分。Multi-CPR 模型包含了來自三個不同領域(電子商務、娛樂視頻和醫藥)的段落檢索數據。基于搜狗搜索的日志數據,Sogou-SRR,Sogou-QCL 和 Tiangong-PDR 等數據集也相繼被提出。
圖 1:段落排序任務中常用數據集的統計信息
雖然已有數據集推進了段落排序應用的發展,我們也需要關注幾個局限性:
1)這些數據集不是大規模的或者相關性標簽不是人工標注的,特別是在中文場景下。Sogou-SRR 和 Tiangong-PDR 僅包含了少量的查詢數據。雖然 mMarco-Chinese 和 Sogou-QCL 規模較大,但前者基于機器翻譯,后者采用的相關性標簽為用戶的點擊數據。最近,Multi-CPR 和 DuReader_retrieval 兩個規模相對較大的數據集被相繼構建和發布。
2)已有數據集缺乏細粒度的相關性標注信息。大部分數據集采用了二值相關性標注(粗粒度),即相關或者不相關。已有工作表明細粒度的相關性標注信息有助于挖掘不同實體之間的關系和構建更加精準的排序算法。然后已有數據集不提供或者僅提供少量的多級細粒度標注。例如 Sogou-SRR 或者 Tiangong-PDR 僅提供不超過 10 萬個的細粒度標注。
3)假負例問題影響了評價的準確性。已有數據集受到了假負例問題的影響,即有大量相關文檔被標記為不相關文檔。這一問題是由于大規模數據中人工標注數量過少引起的,會顯著影響評價的準確性。例如在 Multi-CPR 中,對于每一個查詢詞只有一個段落會被標記為相關,而其他都會被標記為不相關。DuReader_retrieval 嘗試讓標注者人工檢查并且重新標注靠前的段落集合來緩解假負例問題。
為了能夠更好地支持段落排序模型進行高質量的訓練和評測,我們構建并且發布了一個新的中文段落檢索基準數據集 - T2Ranking。
數據集構建流程
數據集的構建流程包括查詢詞采樣,文檔召回,段落提取和細粒度相關性標注。同時我們也設計了多個方法用于提升數據集質量,包括采用基于模型的段落切分方法和基于聚類的段落去重方法保證了段落的語義完整性和多樣性,采用基于主動學習的標注方法提升標注的效率和質量等。
1)整體流程
- 查詢詞采樣:我們從搜狗搜索引擎的搜索日志中采樣了真實用戶提交的查詢詞,經過去重和歸一化處理后得到了初始查詢詞集合。接著,我們使用意圖分析算法去除了色情查詢,非疑問查詢,資源申請類查詢和可能包含用戶信息的查詢,保證最終查詢數據集合僅包含高質量、具有問題屬性的查詢。
- 文檔召回:基于采樣得到的查詢詞,我們從搜狗、百度和谷歌等多個主流搜索引擎召回了文檔候選集合,充分綜合了這些搜索引擎在索引和排序文檔方面的能力。因為這些搜索引擎能夠覆蓋互聯網數據的不同部分并且能夠返回多樣化的文檔結果,因此能夠提高文檔候選集合的完整性,并且在一定程度上緩解假負例問題。
- 段落提取:段落提取步驟涉及到段落分割和去重。不同于采用啟發式方法在文檔中分割段落(例如常規地通過換行符確定段落的開始和結束),我們訓練了段落語義模型來進行段落分割,盡可能地保證每個段落的語義完整性。此外,我們還引入了一種基于聚類的技術來提高標注的效率并且保證了標注段落的多樣性,這個技術能夠有效地移除高度相似的段落。
- 細粒度相關性標注:所聘請的標注人員均為搜索相關標注任務的專家,并且長期從事標注工作。對于每一個查詢詞 - 段落對,至少 3 名標注人員會提供標注。如果 3 名標注人員的標注結果均不一致,我們會引入額外的標注者進行標注,如果 4 名標注者的結果均不一致,我們傾向于認為這個查詢詞 - 段落對太過于模糊,質量較低且不太能夠確定所需要的信息,從而將該查詢詞 - 段落對排除在數據集外。我們通過多數投票的方式來確定最終的相關性標簽。我們采用的 4 級相關性標注指南與 TREC 基準一致。
- 級別 0:查詢詞與段落內容之間完全不相關
- 級別 1:段落內容與查詢詞相關,但不符合查詢詞的信息需求
- 級別 2:段落內容與查詢詞相關,能夠部分滿足查詢詞的信息需求
- 級別 3:段落內容能夠完全滿足查詢詞的信息需求,并且包含了準確答案。
圖 2:維基百科頁面示例。所展示的文檔包含了清晰定義的段落。
2)基于模型的段落分割方法
在現有數據集中,段落通常是根據自然段落(換行符)或通過固定長度的滑動窗口從文檔中進行分割得到的。然而,這兩種方法可能都會導致段落的語義不完整或者因為段落過長而導致段落包含了多個不同的主題。在這個工作中,我們采用了基于模型的段落分割方法,具體而言,我們使用搜狗百科、百度百科和中文維基百科作為訓練數據,因為這部分文檔的結構是比較清晰的,并且自然段落也都得到了較好的定義。我們訓練了一個分割模型來判斷一個給定的單詞是否需要作為分割點。我們利用了序列標注任務的思想,將每一個自然段的最后一個單詞作為正例對模型進行訓練。
3)基于聚類的段落去重方法
對高度相似的段落進行標注是冗余和無意義的,對于段落排序模型而言,高度相似的段落內容帶來的信息增益有限,因此我們設計了一個基于聚類的段落去重方法來提高標注的效率。具體而言,我們采用了一個層次化聚類算法 Ward 對相似文檔進行無監督聚類。在同一個類中的段落被認為是高度相似的,我們從每一個類中采樣一個段落進行相關性標注。需要注意的是,我們只在訓練集中進行這個操作,對于測試集,我們會對所有提取的段落進行完整標注,減少假負例的影響。
圖 3:基于主動學習的采樣標注流程
4)基于主動學習的數據采樣標注方法
在實踐中,我們觀察到并不是所有的訓練樣本都能夠進一步提升排序模型的性能。對于模型能夠準確預測的訓練樣本,對于后續模型的訓練助益有限。因此,我們借鑒了主動學習的想法,讓模型能夠選擇更有信息量的訓練樣本進行進一步的標注。具體而言,我們先基于已有的訓練數據,訓練了一個以交叉編碼器為框架的查詢詞 - 段落重排序模型,接著我們用這個模型對其他數據進行預測,去除過高置信分數(信息量低)和過低置信分數(噪音數據)的段落,對保留的段落進行進一步標注,并迭代這一流程。
數據集統計信息
T2Ranking 由超過 30 萬的真實查詢和 200 萬的互聯網段落構成。其中,訓練集包含約 25 萬個查詢詞,測試集包含約 5 萬個查詢詞。查詢詞長度最長為 40 個字符,平均長度在 11 個字符左右。同時,數據集中的查詢詞覆蓋了多個領域,包括醫藥、教育、電商等,我們也計算了查詢詞的多樣性分數(ILS),與已有數據集相比,我們的查詢多樣性更高。采樣的 230 多萬個段落來源于 175 萬個文檔,平均每個文檔被分割為了 1.3 個段落。在訓練集中,平均每個查詢詞有 6.25 個段落被人工標注,而在測試集中,平均每個查詢詞有 15.75 個段落被人工標注。
圖 4:數據集中查詢詞的領域分布情況
圖 5:相關性標注分布情況
常用模型的實驗結果
我們在所得到的數據集上,測試了一些常用的段落排序模型的性能,我們同時評測了已有方法在段落召回和段落重排序兩個階段上的性能。
1)段落召回實驗?
已有的段落召回模型可以被大致分為稀疏召回模型和稠密召回模型。
- 稀疏召回模型關注精確匹配信號來設計相關性打分函數,例如 BM25 就是最具代表性的基準模型。
- 稠密召回模型則采用深度神經網絡來學習低維的稠密向量用于表征查詢詞和段落。
我們測試了以下召回模型的表現:
- QL(query likelihood):QL 是具有代表性的統計語言模型,根據段落生成給定查詢詞的概率來評價相關性。
- BM25:常用的稀疏召回基準模型。
- DE w/ BM25 Neg:即 DPR 模型,雙塔編碼器結構(Dual-Encoder),該模型是第一個利用預訓練語言模型作為骨干框架的段落召回模型。
- DE w/Mined Neg:雙塔編碼器結構(Dual-Encoder),通過從全量語料中召回難負例來增強 DPR 模型的性能。
- DPTDR:第一個采用提示微調(prompt tunning)的段落召回模型。
在這些模型中,QL 和 BM25 是稀疏召回模型,其他模型為稠密召回模型。我們采用 MRR,Recall 等常用指標來評價這些模型的性能,實驗結果如下表所示:
圖 6:段落召回模型在測試集上的表現
從實驗結果可以看出,相較于傳統的稀疏排序模型,稠密檢索模型取得了更好的表現。同時引入了難負例對于模型性能的提升也是有幫助的。值得一提的是,這些實驗模型在我們數據集上的召回表現要比在其他數據集上的表現差,例如 BM25 在我們的數據集上的 Recall@50 是 0.492,而在 MS-Marco 和 Dureader_retrieval 上是 0.601 和 0.700。這可能是由于我們有更多的段落被進行了人工標注,在測試集中,平均每個查詢詞下我們有 4.74 個相關文檔,這使得召回任務更加具有挑戰性且一定程度上降低了假負例的問題。這也說明了 T2Ranking 是一個具有挑戰的基準數據集,對未來的召回模型而言有較大的提升空間。
2)段落重排序實驗?
相比于段落召回階段,重排序階段需要考慮的段落規模較小,因此大多數方法傾向于使用交互編碼器(Cross-Encoder)作為模型框架,在本工作中,我們測試了交互編碼器模型在段落重排序任務上的性能,我們采用 MRR 和 nDCG 作為評價指標,實驗效果如下:
圖 7:交互編碼器在段落重排序任務上的表現
實驗結果表明,在雙塔編碼器(Dual-Encoder)召回的段落基礎上進行重排效果比在 BM25 召回的段落基礎上重排能夠取得更好的效果,這與已有工作的實驗結論一致。與召回實驗類似,重排序模型在我們數據集上的表現比在其他數據集上的表現差,這可能是由于我們數據集采用了細粒度標注且具有更高的查詢詞多樣性造成,也進一步說明了我們的數據集是具有挑戰性的,并且能夠更精確地反映模型性能。
數據集發布團隊介紹
該數據集由清華大學計算機系信息檢索課題組(THUIR)和騰訊公司 QQ 瀏覽器搜索技術中心團隊共同發布,得到了清華大學天工智能計算研究院的支持。THUIR 課題組聚焦搜索與推薦方法研究,在用戶行為建模和可解釋學習方法等方面取得了典型成果,課題組成果獲得了包括 WSDM2022 最佳論文獎、SIGIR2020 最佳論文提名獎和 CIKM2018 最佳論文獎在內的多項學術獎勵,并獲得了 2020 年中文信息學會 “錢偉長中文信息處理科學技術獎” 一等獎。QQ 瀏覽器搜索技術中心團隊是騰訊 PCG 信息平臺與服務線負責搜索技術研發的團隊,依托騰訊內容生態,通過用戶研究驅動產品創新,為用戶提供圖文、資訊、小說、長短視頻、服務等多方位的信息需求滿足。