GraphRAG優化新思路-開源的ROGRAG框架
目前的如微軟開源的GraphRAG的工作流程都較為復雜,難以孤立地評估各個組件的貢獻,傳統的檢索方法在處理復雜推理任務時可能不夠有效,特別是在需要理解實體間關系或多跳知識的情況下。先說結論,看完后感覺這個框架性能上不會比GraphRAG高,僅在單一數據集上進行了評測,不過優化思路可以借鑒下,比如:雙層次檢索提高圖檢索準確性等。供參考。
方法
整體流程
圖構建及索引
這一步主要是使用LLM構建知識圖譜(KG),涉及預處理(多源異構內容轉text)、文本chunk分割、KG構建(命名實體識別(NER)、分割的文本中提取<實體, 關系, 實體>三元組,以及相關的關鍵詞、描述和權重。這些三元組用于構建圖,捕捉語料中的復雜多跳依賴關系)、圖存儲。
圖引導檢索
這一步是ROGRAG的核心,分為兩種主要方法:雙層次方法和邏輯形式方法。
1、雙層次方法
query被分解為兩個組成部分:(1)表示實體的低層關鍵詞和(2)高層關系描述。通過模糊匹配將實體與圖中的節點匹配,關系關鍵詞與邊匹配。檢索結果合并后,去除冗余的邊、節點和塊引用,精煉最終的檢索上下文。優勢是這種方法利用多粒度特征進行分層模糊匹配,提高了對不規范或復雜查詢的檢索覆蓋率。
2、邏輯形式方法
使用預定義的操作符(如過濾、聚合)將自然語言查詢轉化為結構化的檢索操作序列。利用LLM將自然語言查詢轉化為結構化的檢索操作序列,并通過迭代優化來增強檢索上下文。這種方法提供了更精確的檢索結果,特別適用于需要結構化推理的任務。
邏輯形式方法算法過程:通過LLM將復雜的自然語言查詢分解為一系列簡單的子查詢,然后使用預定義的操作符對這些子查詢進行處理,最終得到結構化的檢索操作序列。
圖增強生成
這里和其他rag方法一致,主要優化輸出。
實驗性能
整體結果
參考文獻:
- paper:ROGRAG: A Robustly Optimized GraphRAG Framework,https://arxiv.org/abs/2503.06474
- code:https://github.com/tpoisonooo/ROGRAG
?
本文轉載自??大模型自然語言處理??? 作者:余俊暉
