一篇 GraphRAG 技術最新全面綜述

大型語言模型(如 GPT-4、Qwen2 和 LLaMA)在自然語言處理領域取得了革命性的進展,但它們可能面臨領域特定知識的缺乏、信息更新不及時等問題。

GraphRAG 通過利用圖結構信息,提供了一種解決方案,以更精確和全面的方式檢索信息,生成更準確、上下文相關的回答。

直接語言模型(Direct LLM)、檢索增強型語言模型(RAG)和圖檢索增強型語言模型(GraphRAG)之間的比較。在給定用戶查詢的情況下,直接語言模型(LLMs)可能因爲回答淺顯或缺乏具體性而受到影響。檢索增強型語言模型(RAG)通過檢索相關文本信息來解決這個問題,一定程度上緩解了這個問題。然而,由於文本的長度和實體關係的自然語言表達的靈活性,RAG 在強調問題核心的 “影響” 關係方面存在困難。而圖檢索增強型語言模型(GraphRAG)方法利用圖數據中明確的實體和關係表示,通過檢索相關的結構化信息,能夠提供精確的答案。

GraphRAG 與相關技術

與 RAG(Retrieval-Augmented Generation)相比,GraphRAG 特別關注從圖數據庫中檢索相關的關係知識,而不僅僅是文本。

與基於圖的大型語言模型(LLMs on Graphs)和知識庫問答(KBQA)技術相比,GraphRAG 專注於檢索外部圖結構數據庫中的相關圖元素。

GraphRAG 概述

GraphRAG 框架利用外部結構化知識圖譜來提高語言模型的上下文理解能力,並生成更有信息量的回答。

問題回答任務的 GraphRAG 框架概述。將 GraphRAG 分爲三個階段:G - 索引(G-Indexing)、G - 檢索(G-Retrieval)和 G - 生成(G-Generation)。將檢索來源歸類爲開源知識圖譜和自構建的圖數據。爲了提高結果的相關性,可能採用各種增強技術,如查詢增強和知識增強。與直接使用檢索到的文本進行生成的 RAG 不同,GraphRAG 需要將檢索到的圖信息轉換成生成器可接受的模式,以提高任務性能。

基於圖的索引(Graph-Based Indexing)

討論了構建和索引圖數據庫的方法,包括公開知識圖譜和自構建圖數據。

  1. 圖數據庫的構建和索引:圖數據庫的質量和結構直接影響 GraphRAG 的性能。圖數據庫可以來源於公開的知識圖譜、圖數據,或者基於專有數據源(如文本或其他形式的數據)構建。

  2. 圖數據的分類:作者將圖數據分爲兩類:

  1. 通用知識圖譜:存儲一般性、結構化的知識,通常依賴於全球社區的集體輸入和更新,以確保信息的全面性和持續更新。例如,Wikidata、Freebase、DBpedia 和 YAGO 等。

  2. 領域知識圖譜:針對特定領域構建的知識圖譜,它們提供了特定領域的專業知識,幫助模型更深入地瞭解複雜專業關係。

  3. 自構建圖數據:研究者常常從多個來源(如文檔、表格和其他數據庫)構建圖,並利用 GraphRAG 來提升任務性能。這些自構建的圖與特定方法的設計緊密相關。

  4. 索引方法:爲了提高查詢操作的效率和速度,圖數據庫採用了多種索引方法,包括圖索引、文本索引和向量索引:

  1. 索引的重要性:索引不僅影響檢索方法和粒度,還直接影響到檢索階段的效率。

圖引導的檢索(Graph-Guided Retrieval)

介紹了檢索過程中的關鍵技術,包括檢索器的選擇、檢索範式、檢索粒度和有效的增強技術。

基於圖的檢索的通用架構

  1. 檢索器(Retriever)的分類:根據底層模型,檢索器被分爲三類:
  1. 檢索範式:討論了不同的檢索範式,包括一次性檢索(Once Retrieval)、迭代檢索(Iterative Retrieval)和多階段檢索(Multi-Stage Retrieval),它們在提高檢索信息的相關性和深度方面起着重要作用。

  2. 檢索粒度:根據任務場景和索引類型,設計了不同的檢索粒度,包括節點(Nodes)、三元組(Triplets)、路徑(Paths)和子圖(Subgraphs)。每種粒度都有其優勢,適用於不同的實際場景。

  3. 檢索增強技術:爲了確保檢索質量,提出了增強用戶查詢和檢索到的知識的技術,包括查詢擴展和查詢分解,以及知識合併和知識剪枝。

圖增強的生成(Graph-Enhanced Generation)

討論了生成階段的不同技術,包括生成器的選擇、圖格式的轉換以及生成增強技術。

圖增強生成的概述

  1. 生成器(Generators)的選擇:根據下游任務的類型,選擇合適的生成器。對於判別性任務或可以表述爲判別性任務的生成性任務,可以使用圖神經網絡(GNNs)或判別性語言模型來學習數據的表示。對於生成性任務,則需要使用解碼器。

  2. 圖神經網絡(GNNs):GNNs 因其強大的圖數據表示能力而適用於判別性任務。它們可以直接編碼圖數據,捕捉圖結構中固有的複雜關係和節點特徵。

  3. 語言模型(LMs):LMs 在文本理解方面表現出色,可以作爲生成器使用。在將 LMs 與圖數據結合時,需要先將檢索到的圖數據轉換爲 LMs 能夠理解的特定圖格式。

  4. 混合模型(Hybrid Models):許多研究探索了將 GNNs 和 LMs 整合以生成一致響應的方法。這些方法分爲兩種範式:級聯範式和並行範式。級聯範式中,GNNs 首先處理圖數據,然後將轉換後的數據輸入 LMs 以生成最終文本響應。並行範式則同時使用 GNN 和 LM 的能力,將它們的輸出合併以產生統一的響應。

  5. 圖格式(Graph Formats):當使用 LMs 作爲生成器時,需要將圖數據轉換爲與 LMs 兼容的格式。這包括圖語言和圖嵌入兩種格式,它們幫助 LMs 有效地處理和利用結構化圖信息。

  6. 圖語言(Graph Languages):圖語言是一套形式化的符號系統,用於描述和表示圖數據。包括鄰接 / 邊表、自然語言、代碼形式、語法樹和節點序列等類型。

  7. 圖嵌入(Graph Embeddings):使用 GNN 將圖數據表示爲嵌入,提供了一種避免處理長文本輸入的替代方法。然而,將圖嵌入與文本表示整合到統一的語義空間中是一個核心挑戰。

  8. 生成增強(Generation Enhancement):在生成階段,除了將檢索到的圖數據轉換爲生成器可接受的格式外,研究人員還探索了各種生成增強技術來提高輸出響應的質量。這些方法可以根據應用階段分爲預生成增強、中生成增強和後生成增強。

  9. 訓練策略:總結了檢索器和生成器的獨立訓練方法,以及它們的聯合訓練策略,這些方法旨在通過特定的優化來提高下游任務的性能。

圖語言的說明。給定左側部分檢索到的子圖,展示瞭如何將其轉換爲鄰接表 / 邊表、自然語言、節點序列、類似代碼的形式和語法樹,以適應不同生成器的輸入形式要求。

GraphRAG 應用和評估

GraphRAG 技術在不同領域的應用情況、基準測試、評估指標以及在工業界的應用。

  1. 下游任務(Downstream Tasks):
  1. 評估指標(Metrics):
  1. 工業應用(GraphRAG in Industry):

GraphRAG 的任務、基準測試、方法和評估指標

https://arxiv.org/pdf/2408.08921
Graph Retrieval-Augmented Generation: A Survey
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/e0S9fS2WQGGEiMx0txCJ_Q