理性地傾聽與表達:檢索算法的語言學改進

論文標題

Rational Retrieval Acts: Leveraging Pragmatic Reasoning to Improve Sparse Retrieval

論文地址

https://arxiv.org/pdf/2505.03676

代碼地址

https://github.com/arthur-75/Rational-Retrieval-Acts

作者背景

巴黎薩克雷大學,索邦大學,法國國家科學研究中心

動機

文檔檢索算法對用戶query和候選Document進行匹配打分,從而挑選出能夠回答用戶問題的信息。但當前的q-D匹配算法一般只考慮詞語淺層語義,缺乏對用戶意圖的深層理解,于是在實踐中我們往往發現:再面對用戶的模糊、復雜或措辭多變的問題時,難以精準找到合理的文檔

對此,作者利用語言學中“理性言語行為”的思想,提出了一種迭代算法,能夠模擬說話人與傾聽者互相揣摩對方意圖的行為,從而提高檢索算法的準確性

理性言語行為

理性言語行為(Rational Speech Act model, RSA)的核心思想是:

說話者和聽話者都是理性的個體,他們在交流中會基于對彼此知識、目標和意圖的推測,做出最合適的語言選擇和解釋

RSA 是一種概率模型,它將言語交流建模為一種貝葉斯推理過程,包括以下三類參與者:

  1. 字面聽者 L0?:根據語言的語義直接解釋話語
  2. 語用說話者 S1:根據聽者可能的理解方式,選擇最符合自己意圖的表達
  3. 語用聽者 L1:觀察S1?的話語,推斷其背后可能的意圖

從L0到S1再到L1,這個過程可以不斷遞歸地迭代。但一般情況下只迭代一輪

本文方法

本文提出理性檢索(Rational Retrieval Acts,RRA),將語言學中的理性言語行為模型引入稀疏檢索,具體過程如下:

  1. 初始詞典表示:首先從一個基礎的稀疏檢索模型出發,獲取每個詞和文檔的基礎相關性權重w(t,d),并對其做簡單的平滑轉換得到L(t,d),確保L>0

  2. 字面聽者L0建模:根據單個詞來判斷相關文檔分布,基于初始詞典值的歸一化分數構建,公式如下,其中P(d)是文檔先驗概率
    在這里插入圖片描述

  3. 語用說話人S1建模:假設理性說話人想要的信息在文檔d中,那么它需要使用讓文檔d被選中概率最大的表達,即:

在這里插入圖片描述

其中α是調節語用程度的超參數,α > 1時會使說話人更加偏好概率大的詞, α → 0時則趨向于均勻分布(完全不講究用詞,隨便表達),此公式精準刻畫了理性說話人:用戶具備不同詞語和不同文檔匹配效果的全局認知,然后從整個文檔集合中挑選更能選中目標文檔d的詞匯

  1. 語用聽者L1建模:與L0類似,只不過初始字典分數被替換成了理性說話人視角的詞語-文檔匹配分數

在這里插入圖片描述

  1. 文檔表示與檢索打分:經過上述推理,我們獲得了用戶query中每個詞匯t,相對于所有候選文檔的相關性打分L1,并且這個分數是經過語用校正的。由于L1矩陣的規模很大,作者還對所有“詞t未出現于文檔d中”的情況進行了特殊處理:使用詞t與文檔d各自的全局因子相乘作為近似表示
    最后,將L1與用戶query中的詞匯分數分布相乘,便可得到最終的檢索得得分。整個流程如下圖所示:

在這里插入圖片描述

實驗結果

一、引入RSA前后效果對比

將RSA融合到不同稀疏檢索模型中的效果,包括SPLADEv3(訓練于MS MARCO的神經稀疏模型)、SPARTA(BERT派生的稀疏模型)、DeepImpact、UniCOIL等(都沒有拿測試數據微調),以及傳統的BM25,采用nDCG@10指標進行評價,結果如下:

在這里插入圖片描述

實驗結果表明,引入RSA后,這些稀疏模型在所有數據集上的排序質量都有所提高。不過其中BM25上的提高較小,只有0.9,作者認為這是由于其本身已經通過IDF考慮了部分全局信息

二、與SOTA模型對比

選擇上面實驗中效果最好的Splade+RRA方案作為實驗組,在BEIR基準上與其他增強基線策略進行對比,結果如下:

在這里插入圖片描述

可見實驗組的平均得分最高,RRA的引入使Splade方案提升了1個點

三、語用強度α影響分析

作者在不同數據集上,測試了不同α參數下Splade+RRA策略的最終效果:

在這里插入圖片描述

實驗表明,當α太高或太低時性能都會下降(過高會使說話人過于偏執只選極少數詞,過低則近似隨機選詞),不同數據集的最佳值略有不同,實踐中可以先采樣一些樣本或生成偽數據來對α進行調試

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904978.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904978.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904978.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL及線程關于鎖的面試題

目錄 1.了解過 MySQL 死鎖問題嗎? 2.什么是線程死鎖?死鎖相關面試題 2.1 什么是死鎖: 2.2 形成死鎖的四個必要條件是什么? 2.3 如何避免線程死鎖? 3. MySQL 怎么排查死鎖問題? 4.Java線上死鎖問題如…

【Reality Capture 】Reality Capture1.5中文版安裝教程(附安裝包下載)

文章目錄 一、Reality Capture1.5中文版安裝教程二、拷貝中文補丁三、Reality Capture1.5中文版下載地址一、Reality Capture1.5中文版安裝教程 1. Reality Capture v1.4.0漢化版安裝包下載并解壓 2. 運行EpicInstaller-15.17.1-4a91a118786f4c2aa3c0093b23f83863.msi 3. 更改…

SVG數據可視化設計(AI)完全工作流解讀|計育韜

AI 的 SVG 創作極限在哪里?絕不是那些初級的流程圖生成和粗糙的商業模型設計。以下是由我們 JZ Creative Studio 通過 Claude 和 Deepseek 開展的專業級 SVG Data Visualization 創作,應廣大讀者強烈要求,專程直播講授了一期 AI 工作流分享。…

not a genuine st device abort connection的問題

1.魔法棒里面電機Settings 2.然后在Other里面把Enabled的鉤子去掉

uv簡單使用

通過uv創建項目和虛擬環境 初始化項目 uv init --package my-project 初始化一個名為 my-project 的新項目,并生成必要的文件結構。 創建虛擬環境 uv venv .venv 激活虛擬環境 # For Windows .venv\Scripts\activate# For macOS/Linux source .venv/bin/acti…

測試左移系列-產品經理實戰-實戰認知1

課程:B站大學 記錄產品經理實戰項目系統性學習,從產品思維,用戶畫像,用戶體驗,增長數據驅動等不同方向理解產品,從0到1去理解產品從需求到落地的全過程,測試左移方向(靠近需求、設計…

從需求到用例的AI路徑:準確率與挑戰

用工作流生成測試用例和自動化測試腳本! 引言:用例的黃金起點 在軟件工程中,“測試用例”是連接需求理解與質量保障之間的關鍵橋梁。一份高質量的測試用例,不僅是驗證功能實現是否符合需求的工具,更是產品風險感知、用…

大語言模型中的“溫度”參數到底是什么?如何正確設置?

近年來,市面上涌現了大量調用大模型的工具,如 Dify、Cherry Studio 等開源或自研平臺,幾乎都提供了 “溫度”(Temperature) 選項。然而,很多人在使用時并不清楚該如何選擇合適的溫度值。 今天,…

如何刪除網上下載的資源后面的文字

這是我在愛給網上下載的音效資源,但是發現資源后面跟了一大段無關緊要的文本,但是修改資源名稱后還是有。解決辦法是打開屬性然后刪掉資源的標簽即可。

hot100-子串-JS

一、560.和為k的子串 560. 和為 K 的子數組 提示 給你一個整數數組 nums 和一個整數 k ,請你統計并返回 該數組中和為 k 的子數組的個數 。 子數組是數組中元素的連續非空序列。 示例 1: 輸入:nums [1,1,1], k 2 輸出:2示例 2…

01背包類問題

文章目錄 [模版]01背包1. 第一問: 背包不一定能裝滿(1) 狀態表示(2) 狀態轉移方程(3) 初始化(4) 填表順序(5) 返回值 2. 第二問: 背包恰好裝滿3. 空間優化 416.分割等和子集1. 狀態表示2. 狀態轉移方程3. 初始化4. 填表順序5. 返回值 [494. 目標和](https://leetcode.cn/proble…

解鎖 DevOps 新境界 :使用 Flux 進行 GitOps 現場演示 – 自動化您的 Kubernetes 部署

前言 GitOps 是實現持續部署的云原生方式。它的名字來源于標準且占主導地位的版本控制系統 Git。GitOps 的 Git 在某種程度上類似于 Kubernetes 的 etcd,但更進一步,因為 etcd 本身不保存版本歷史記錄。毋庸置疑,任何源代碼管理服務&#xf…

將Docker鏡像變為可執行文件?體驗docker2exe帶來的便捷!

在現代軟件開發中,容器化技術極大地改變了應用程序部署和管理的方式。Docker,作為領先的容器化平臺,已經成為開發者不可或缺的工具。然而,對于不熟悉Docker的用戶來說,接觸和運行Docker鏡像可能會是一個復雜的過程。為了解決這一問題,docker2exe項目應運而生。它提供了一…

IBM BAW(原BPM升級版)使用教程第八講

續前篇! 一、流程開發功能模塊使用邏輯和順序 前面我們已經對 流程、用戶界面、公開的自動化服務、服務、事件、團隊、數據、性能、文件各個模塊進行了詳細講解,現在統一進行全面統一講解。 在 IBM Business Automation Workflow (BAW) 中,…

針對共享內存和上述windows消息機制 在C++ 和qt之間的案例 進行詳細舉例說明

針對共享內存和上述windows消息機制 在C++ 和qt之間的案例 進行詳細舉例說明 以下是關于在 C++ 和 Qt 中使用共享內存(QSharedMemory)和 Windows 消息機制(SendMessage / PostMessage)進行跨線程或跨進程通信的詳細示例。 ?? 使用 QSharedMemory 進行進程間通信(Qt 示例…

jetson orin nano super AI模型部署之路(十)使用frp配置內網穿透,隨時隨地ssh到機器

為什么要內網穿透? 我們使用jetson設備時,一般都是在局域網內的電腦去ssh局域網內的jetson設備,但是這種ssh或者VNC僅限于局域網之間的設備。 如果你出差了,或者不在jetson設備的局域網內,想再去ssh或者VNC我們的jet…

VScode密鑰(公鑰,私鑰)實現免密登錄【很細,很全,附帶一些沒免密登錄成功的一些解決方法】

一、 生成SSH密鑰對 ssh-keygen 或者 ssh-keygen -t rsa -b 4096區別:-t rsa可以明確表示生成的是 RSA 類型的密鑰-b參數將密鑰長度設置為 4096 位默認:2048 位密鑰不指定-t參數,ssh -keygen默認也可能生成 RSA 密鑰【確保本機安裝ssh&#…

解釋器和基于規則的系統比較

解釋器(Interpreter)和基于規則的系統(Rule-Based System)是兩種不同的軟件架構風格,分別適用于不同的應用場景。它們在設計理念、執行機制和適用領域上有顯著差異。以下是它們的核心對比: 1. 解釋器&#…

DB4S:一個開源跨平臺的SQLite數據庫管理工具

DB Browser for SQLite(DB4S)是一款開源、跨平臺的 SQLite 數據庫管理工具,用于創建、瀏覽和編輯 SQLite 以及 SQLCipher 數據庫文件。 功能特性 DB4S 提供了一個電子表格風格的數據庫管理界面,以及一個 SQL 查詢工具。DB4S 支持…

printf調試時候正常,運行時打印不出來

問題是在添加了 printf 功能后,程序獨立運行時無法正常打印輸出,而調試模式下正常。這表明問題可能與 printf 的重定向實現、標準庫配置、或編譯器相關設置有關。 解決: 原來是使用 Keil/IAR,printf可能需要啟用 MicroLIB 或正確…