一篇 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)
討論了構建和索引圖數據庫的方法,包括公開知識圖譜和自構建圖數據。
-
圖數據庫的構建和索引:圖數據庫的質量和結構直接影響 GraphRAG 的性能。圖數據庫可以來源於公開的知識圖譜、圖數據,或者基於專有數據源(如文本或其他形式的數據)構建。
-
圖數據的分類:作者將圖數據分爲兩類:
-
開放知識圖譜:指從公開可獲取的存儲庫或數據庫中獲取的圖數據,可以進一步分爲通用知識圖譜和領域知識圖譜。
-
自構建圖數據:允許研究者根據特定任務的需求定製和整合專有或領域特定的知識。
-
通用知識圖譜:存儲一般性、結構化的知識,通常依賴於全球社區的集體輸入和更新,以確保信息的全面性和持續更新。例如,Wikidata、Freebase、DBpedia 和 YAGO 等。
-
領域知識圖譜:針對特定領域構建的知識圖譜,它們提供了特定領域的專業知識,幫助模型更深入地瞭解複雜專業關係。
-
自構建圖數據:研究者常常從多個來源(如文檔、表格和其他數據庫)構建圖,並利用 GraphRAG 來提升任務性能。這些自構建的圖與特定方法的設計緊密相關。
-
索引方法:爲了提高查詢操作的效率和速度,圖數據庫採用了多種索引方法,包括圖索引、文本索引和向量索引:
-
圖索引:保持圖的完整結構,便於訪問任何給定節點的所有邊和鄰接節點。
-
文本索引:將圖數據轉換爲文本描述,以優化檢索過程。
-
向量索引:將圖數據轉換爲向量表示,以提高檢索效率。
- 索引的重要性:索引不僅影響檢索方法和粒度,還直接影響到檢索階段的效率。
圖引導的檢索(Graph-Guided Retrieval)
介紹了檢索過程中的關鍵技術,包括檢索器的選擇、檢索範式、檢索粒度和有效的增強技術。
基於圖的檢索的通用架構
- 檢索器(Retriever)的分類:根據底層模型,檢索器被分爲三類:
-
非參數檢索器(Non-parametric Retriever):基於啓發式規則或傳統圖搜索算法,不依賴深度學習模型,具有高檢索效率。
-
基於語言模型的檢索器(LM-based Retriever):利用語言模型的自然語言理解能力,處理和解釋多樣化的自然語言查詢。
-
基於圖神經網絡的檢索器(GNN-based Retriever):利用圖神經網絡理解複雜圖結構的能力,編碼圖數據並根據與查詢的相似性進行評分。
-
檢索範式:討論了不同的檢索範式,包括一次性檢索(Once Retrieval)、迭代檢索(Iterative Retrieval)和多階段檢索(Multi-Stage Retrieval),它們在提高檢索信息的相關性和深度方面起着重要作用。
-
檢索粒度:根據任務場景和索引類型,設計了不同的檢索粒度,包括節點(Nodes)、三元組(Triplets)、路徑(Paths)和子圖(Subgraphs)。每種粒度都有其優勢,適用於不同的實際場景。
-
檢索增強技術:爲了確保檢索質量,提出了增強用戶查詢和檢索到的知識的技術,包括查詢擴展和查詢分解,以及知識合併和知識剪枝。
圖增強的生成(Graph-Enhanced Generation)
討論了生成階段的不同技術,包括生成器的選擇、圖格式的轉換以及生成增強技術。
圖增強生成的概述
-
生成器(Generators)的選擇:根據下游任務的類型,選擇合適的生成器。對於判別性任務或可以表述爲判別性任務的生成性任務,可以使用圖神經網絡(GNNs)或判別性語言模型來學習數據的表示。對於生成性任務,則需要使用解碼器。
-
圖神經網絡(GNNs):GNNs 因其強大的圖數據表示能力而適用於判別性任務。它們可以直接編碼圖數據,捕捉圖結構中固有的複雜關係和節點特徵。
-
語言模型(LMs):LMs 在文本理解方面表現出色,可以作爲生成器使用。在將 LMs 與圖數據結合時,需要先將檢索到的圖數據轉換爲 LMs 能夠理解的特定圖格式。
-
混合模型(Hybrid Models):許多研究探索了將 GNNs 和 LMs 整合以生成一致響應的方法。這些方法分爲兩種範式:級聯範式和並行範式。級聯範式中,GNNs 首先處理圖數據,然後將轉換後的數據輸入 LMs 以生成最終文本響應。並行範式則同時使用 GNN 和 LM 的能力,將它們的輸出合併以產生統一的響應。
-
圖格式(Graph Formats):當使用 LMs 作爲生成器時,需要將圖數據轉換爲與 LMs 兼容的格式。這包括圖語言和圖嵌入兩種格式,它們幫助 LMs 有效地處理和利用結構化圖信息。
-
圖語言(Graph Languages):圖語言是一套形式化的符號系統,用於描述和表示圖數據。包括鄰接 / 邊表、自然語言、代碼形式、語法樹和節點序列等類型。
-
圖嵌入(Graph Embeddings):使用 GNN 將圖數據表示爲嵌入,提供了一種避免處理長文本輸入的替代方法。然而,將圖嵌入與文本表示整合到統一的語義空間中是一個核心挑戰。
-
生成增強(Generation Enhancement):在生成階段,除了將檢索到的圖數據轉換爲生成器可接受的格式外,研究人員還探索了各種生成增強技術來提高輸出響應的質量。這些方法可以根據應用階段分爲預生成增強、中生成增強和後生成增強。
-
訓練策略:總結了檢索器和生成器的獨立訓練方法,以及它們的聯合訓練策略,這些方法旨在通過特定的優化來提高下游任務的性能。
圖語言的說明。給定左側部分檢索到的子圖,展示瞭如何將其轉換爲鄰接表 / 邊表、自然語言、節點序列、類似代碼的形式和語法樹,以適應不同生成器的輸入形式要求。
GraphRAG 應用和評估
GraphRAG 技術在不同領域的應用情況、基準測試、評估指標以及在工業界的應用。
- 下游任務(Downstream Tasks):
-
GraphRAG 被應用於多種自然語言處理任務,主要包括知識庫問答(KBQA)和常識問答(CSQA)。
-
KBQA 依賴於特定知識圖譜,答案通常涉及知識圖中的實體、關係或實體集合之間的操作。
-
CSQA 通常以多項選擇題的形式出現,需要機器利用外部常識知識圖譜進行推理和得出正確答案。
-
信息檢索(Information Retrieval):
-
包括實體鏈接(EL)和關係提取(RE)兩個子任務。
-
實體鏈接涉及識別文本中的實體並將其鏈接到知識圖中的對應實體。
-
關係提取旨在識別和分類文本中實體間的語義關係。
- 評估指標(Metrics):
-
評估指標主要分爲兩大類:下游任務評估(生成質量)和檢索質量評估。
-
例如,在 KBQA 中,Exact Match (EM) 和 F1 分數常用於衡量實體回答的準確性。
- 工業應用(GraphRAG in Industry):
- 幾種工業界的 GraphRAG 系統,包括微軟的 GraphRAG、NebulaGraph 的 GraphRAG、螞蟻集團的 GraphRAG、Neo4j 的 NaLLM 框架以及 Neo4j 的 LLM Graph Builder 項目。
GraphRAG 的任務、基準測試、方法和評估指標
https://arxiv.org/pdf/2408.08921
Graph Retrieval-Augmented Generation: A Survey
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/e0S9fS2WQGGEiMx0txCJ_Q