KAG:RAG已經(jīng)不夠了,知識(shí)增強(qiáng)生成才是王道,提升樸素RAG一倍性能 精華
1. 為什么要提出KAG框架
檢索增強(qiáng)生成(RAG)技術(shù)得到廣泛運(yùn)用,利用外部檢索系統(tǒng),顯著提升大語(yǔ)言模型的時(shí)效性,并大幅減少模型幻覺(jué)。
為了進(jìn)一步提升RAG在多跳任務(wù)、跨段落任務(wù)的性能,作者引入了知識(shí)圖譜,包括GraphRAG、DALK、SUGRE、ToG 2.0 和 HippoRAG 等。
盡管 RAG 及其優(yōu)化方案已經(jīng)解決了因知識(shí)缺乏和更新導(dǎo)致的大部分幻覺(jué)問(wèn)題,但生成的文本仍然缺乏連貫性和邏輯性,難以產(chǎn)生正確且有價(jià)值的答案,尤其是在法律、醫(yī)學(xué)和科學(xué)等需要分析推理的專(zhuān)業(yè)領(lǐng)域:
? 首先,真實(shí)場(chǎng)景的業(yè)務(wù)流程一般需要基于知識(shí)片段之間特定關(guān)系的推理來(lái)收集與回答問(wèn)題相關(guān)的信息。但RAG 通常依賴于文本或向量的相似性來(lái)檢索參考信息,會(huì)可能導(dǎo)致搜索結(jié)果不完整和重復(fù)。
? 其次,真實(shí)場(chǎng)景往往涉及邏輯或數(shù)值推理,例如確定一組數(shù)據(jù)在時(shí)間序列中的增減情況,而語(yǔ)言模型使用的下一個(gè)標(biāo)記預(yù)測(cè)機(jī)制在處理這類(lèi)問(wèn)題上仍然顯得力不從心。
為了解決以上問(wèn)題,本篇論文作者提出了知識(shí)增強(qiáng)生成(Knowledge Augmented Generation,KAG)。
2. KAG框架
KAG框架充分利用知識(shí)圖譜和RAG技術(shù)的互補(bǔ)優(yōu)勢(shì)。不僅將圖結(jié)構(gòu)整合到知識(shí)庫(kù),還將知識(shí)圖譜的語(yǔ)義類(lèi)型、關(guān)系以及知識(shí)圖譜問(wèn)答(KGQA)整合到KAG中。
圖片
如上圖所示,KAG 架構(gòu)由三大核心組成:KAG-Builder、KAG-Solver 和 KAG-Model。
? KAG-Builder 負(fù)責(zé)構(gòu)建離線索引,此模塊提出了一個(gè)與大語(yǔ)言模型兼容的知識(shí)表示框架,并實(shí)現(xiàn)了知識(shí)結(jié)構(gòu)與文本片段之間的互索引機(jī)制。
? KAG-Solver 引入了一個(gè)以邏輯形式為指導(dǎo)的混合推理引擎,整合了大型語(yǔ)言模型推理、知識(shí)推理和數(shù)學(xué)邏輯推理。利用語(yǔ)義推理進(jìn)行知識(shí)對(duì)齊,以增強(qiáng) KAG-Builder 和 KAG-Solver 在知識(shí)表示和檢索方面的準(zhǔn)確性。
? KAG-Model 則基于通用語(yǔ)言模型,針對(duì)每個(gè)模塊所需的特定能力進(jìn)行優(yōu)化,從而全面提升模塊性能。
2.1 知識(shí)表示框架 LMFriSPG
為了定義一個(gè)對(duì)大型語(yǔ)言模型更友好的知識(shí)語(yǔ)義表達(dá)方式,作者對(duì) SPG 進(jìn)行了三大方面的升級(jí):深化文本上下文意識(shí)、動(dòng)態(tài)屬性和知識(shí)分層,并將其命名為 LLMFriSPG。
SPG:Semantic-enhanced Programmable Graph,語(yǔ)義增強(qiáng)可編程知識(shí)圖譜。
圖片
上圖展示了 LLMFriSPG:一個(gè)專(zhuān)為大型語(yǔ)言模型(LLM)設(shè)計(jì)的友好型知識(shí)表示框架。
LLMFriSPG將實(shí)例與概念區(qū)分開(kāi)來(lái),通過(guò)概念實(shí)現(xiàn)與 LLMs 的對(duì)接。
SPG 的屬性被劃分為知識(shí)區(qū)和信息區(qū),也就是靜態(tài)區(qū)和動(dòng)態(tài)區(qū),分別與具有嚴(yán)格模式約束的決策專(zhuān)業(yè)知識(shí)以及具有開(kāi)放信息表示的文檔檢索索引知識(shí)相兼容。
圖中的紅色虛線描繪了從信息提煉為知識(shí)的融合與挖掘過(guò)程。增強(qiáng)的文檔塊表示方法為 LLMs 提供了可追溯且易于解讀的文本上下文。
? = {??, ρ, ??, ?}
其中 ? 代表 LLMFriSPG 定義的所有類(lèi)型
?? 代表所有實(shí)體類(lèi)型(EntityType)(例如上圖中的“人”)、事件類(lèi)型類(lèi)(EventType)以及所有與 LPG 語(yǔ)法聲明兼容的預(yù)定義屬性。
?? 代表所有概念類(lèi)型類(lèi)(ConceptType)、概念及其關(guān)系,每個(gè)概念樹(shù)的根節(jié)點(diǎn)是一個(gè)與 LPG 語(yǔ)法兼容的概念類(lèi)型類(lèi)(如上圖中的“人的概念分類(lèi)”),每個(gè)概念節(jié)點(diǎn)都有一個(gè)獨(dú)特的概念類(lèi)型類(lèi)。
ρ 代表從實(shí)例到概念的歸納關(guān)系。
? 代表定義在邏輯關(guān)系和邏輯概念上的可執(zhí)行規(guī)則全集。
? 對(duì)于每一個(gè)類(lèi)型,所有屬性和關(guān)系包括:
領(lǐng)域?qū)<翌A(yù)先設(shè)定的部分
臨時(shí)添加的內(nèi)容
系統(tǒng)預(yù)設(shè)的屬性,比如:
支持塊(supporting_chunks)、描述(description)、摘要(summary)和歸屬(belongTo)。
? 對(duì)于每一個(gè)實(shí)例,所有類(lèi)型包括:
? 支持塊(supporting_chunks):
指包含該實(shí)例的所有文本塊,塊生成策略和最大長(zhǎng)度由用戶來(lái)定義。
? 描述(description):
指針對(duì)該實(shí)例的所有類(lèi)型的通用描述信息。
這種描述能夠有效地輔助大型語(yǔ)言模型(LLM)把握特定實(shí)例或類(lèi)型的確切含義,并可用于信息提取、實(shí)體識(shí)別和摘要生成等任務(wù)。
? 摘要(summary):
指實(shí)例或關(guān)系在原始文檔上下文中的概要。
? 歸屬(belongTo):
反映了從實(shí)例到概念的歸納語(yǔ)義。
每個(gè)實(shí)體類(lèi)型或事件類(lèi)型都可以通過(guò)歸屬與概念類(lèi)型相關(guān)聯(lián)。
圖片
如上圖,作者將知識(shí)和信息表示分為三個(gè)層次:
? 知識(shí)層定義為 KGcs(KG constraint, cs應(yīng)該是 constraint 的縮寫(xiě)),包括遵循領(lǐng)域模式約束、經(jīng)過(guò)提煉、整合和評(píng)估的領(lǐng)域知識(shí)。
? 信息層定義為KGfr(KG schema free,fr應(yīng)該是free的縮寫(xiě)),代表通過(guò)信息提取得到的實(shí)體和關(guān)系等圖數(shù)據(jù)。
? 原始?jí)K層(RC,Raw Chunks)則是指經(jīng)過(guò)語(yǔ)義分割處理后的原始文檔片段。
? 知識(shí)層(KGcs)嚴(yán)格遵循SPG語(yǔ)義規(guī)范,支持在嚴(yán)格的模式約束下構(gòu)建知識(shí)體系和定義邏輯規(guī)則,確保了知識(shí)的高準(zhǔn)確性和邏輯的嚴(yán)密性。然而,這種依賴于人工標(biāo)注的構(gòu)建方式,使得其構(gòu)建成本較高,且信息的完整性有待提高。
? 圖信息層(KGfr)與知識(shí)層(KGcs)共享實(shí)體類(lèi)型、事件類(lèi)型和概念體系,并為KGcs提供了有效的信息補(bǔ)充。
? 圖信息層(KGfr)與原始?jí)K層(RC)之間構(gòu)建的支撐塊、摘要和描述邊,形成了基于圖結(jié)構(gòu)的倒排索引,極大地提高了RC的信息完整性,使其成為KGf r的有力原始文本上下文補(bǔ)充。
如上圖右側(cè)所示,在特定領(lǐng)域應(yīng)用中,R(KGcs)、R(KGf r)和R(RC)分別代表了它們?cè)诮鉀Q目標(biāo)領(lǐng)域問(wèn)題時(shí)的知識(shí)覆蓋范圍。
? 如果應(yīng)用對(duì)知識(shí)準(zhǔn)確性和邏輯嚴(yán)密性有更高的要求,則需要構(gòu)建更多的領(lǐng)域結(jié)構(gòu)化知識(shí),并投入更多的專(zhuān)家資源以擴(kuò)大R(KGcs)的覆蓋范圍。
? 如果應(yīng)用更注重檢索效率,并對(duì)信息的一定損失或錯(cuò)誤有一定的容忍度,則應(yīng)擴(kuò)大R(KGfr)的覆蓋范圍,充分利用KAG的自動(dòng)化知識(shí)構(gòu)建能力,減少專(zhuān)家資源的消耗。
2.2 互索引(Mutual Indexing)
KAG 構(gòu)建器(KAG-Builder)包括三個(gè)緊密相連的流程:結(jié)構(gòu)化信息獲取、知識(shí)語(yǔ)義對(duì)齊和圖存儲(chǔ)寫(xiě)入。主要目標(biāo)包括:
? 1)在圖結(jié)構(gòu)與文本塊之間構(gòu)建互索引,為圖結(jié)構(gòu)提供更豐富的描述性上下文;
? 2)利用概念語(yǔ)義圖對(duì)不同粒度的知識(shí)進(jìn)行對(duì)齊,減少噪聲,增強(qiáng)圖的連通性。
圖片
上圖展示了 KAG 構(gòu)建器處理領(lǐng)域非結(jié)構(gòu)化文檔的流水線。流程從左至右:
? 首先,通過(guò)信息抽取獲取短語(yǔ)和三元組;
? 接著,通過(guò)語(yǔ)義對(duì)齊進(jìn)行消歧和整合;
? 最終,生成的知識(shí)圖譜被存儲(chǔ)起來(lái)。
圖片
上圖是一個(gè) KAG Builder 的示例。
2.2.1 語(yǔ)義分塊( Semantic Chunking)
基于文檔的結(jié)構(gòu)層次和段落間的內(nèi)在邏輯聯(lián)系,利用系統(tǒng)內(nèi)置提示實(shí)現(xiàn)了語(yǔ)義分塊過(guò)程。產(chǎn)生的文本塊既符合長(zhǎng)度限制(特別是為了適應(yīng) LLM 的上下文窗口大小限制),又保持了語(yǔ)義連貫性,確保每個(gè)塊的內(nèi)容在主題上緊密相關(guān)。
在 RC 中定義了“塊實(shí)體類(lèi)型”,包含 id、摘要和主文本等字段。語(yǔ)義分割后得到的每個(gè)塊將被寫(xiě)入一個(gè)“塊”實(shí)例,其中 id 是一個(gè)由 articleID、paraCode、idInPara 通過(guò)連接器#拼接而成的復(fù)合字段,這樣做是為了確保連續(xù)的塊在 id 空間中是相鄰的。
? articleID 代表全局唯一的文章 ID
? paraCode 代表文章中的段落代碼
? idInPara 是段落中每個(gè)塊的順序代碼
內(nèi)容上的鄰接關(guān)系在它們的標(biāo)識(shí)符上也表現(xiàn)為順序上的鄰接。
原始文檔與其分割出的塊之間建立了雙向關(guān)系,便于在文檔內(nèi)容的不同粒度間進(jìn)行導(dǎo)航和理解上下文。這種結(jié)構(gòu)化的分割方法不僅優(yōu)化了與大型語(yǔ)言模型的兼容性,還保留了并增強(qiáng)了文檔的內(nèi)在語(yǔ)義結(jié)構(gòu)和關(guān)聯(lián)性。
2.2.2 信息提取與更豐富的描述性上下文
在給定數(shù)據(jù)集的基礎(chǔ)上,采用大語(yǔ)言模型來(lái)提取實(shí)體、事件、概念和關(guān)系,構(gòu)建知識(shí)圖譜 KGf。
采用的大語(yǔ)言模型可以是無(wú)需微調(diào)的大型語(yǔ)言模型(LLM)(如 GPT-3.5、DeepSeek、QWen 等)或微調(diào)的小尺寸大模型 Hum。
然后,構(gòu)建 KGfr 與 RC 之間的互索引結(jié)構(gòu),實(shí)現(xiàn)跨文檔的實(shí)體和關(guān)系鏈接。分為三個(gè)步驟:
? 首先,逐塊提取實(shí)體集 E={e1, e2, e3, …};
? 其次,提取與所有實(shí)體相關(guān)聯(lián)的事件集 EV={ev1, ev2, ev3, …},并迭代提取實(shí)體集 E 中所有實(shí)體之間的關(guān)系集 R={r1, r2, r3, …};
? 最后,完成實(shí)例與其 spgClass 之間的所有上位關(guān)系。
為了后續(xù)的知識(shí)對(duì)齊階段提供便利,并解決 Wikidata和 ConceptNet等知識(shí)短語(yǔ)識(shí)別度低的問(wèn)題,在實(shí)體提取階段,使用 LLMs 為每個(gè)實(shí)例 e 生成內(nèi)置屬性描述、摘要、semanticType、spgClass、描述 semanticType,根據(jù) e.description、e.summary 的結(jié)構(gòu)將它們存儲(chǔ)在 e 實(shí)例存儲(chǔ)中,并按照<e, belongTo, semanticType>和<e, hasClass, spgClass>的結(jié)構(gòu)進(jìn)行組織。
2.2.3 領(lǐng)域知識(shí)注入和約束
當(dāng)開(kāi)放信息抽?。╫penIE)應(yīng)用于專(zhuān)業(yè)領(lǐng)域時(shí),可能會(huì)引入不相關(guān)的噪聲。這些噪聲和不相關(guān)的語(yǔ)料庫(kù)可能會(huì)顯著降低 LLMs 的性能。因此將提取的信息與領(lǐng)域知識(shí)對(duì)齊是一個(gè)難題。
KAG 中的領(lǐng)域知識(shí)對(duì)齊能力包括:
? 1)領(lǐng)域術(shù)語(yǔ)和概念注入。采用迭代提取方法:
? 首先將領(lǐng)域概念和術(shù)語(yǔ)及其描述存儲(chǔ)在 KG 存儲(chǔ)中。
? 然后,通過(guò) openIE 提取文檔中的所有實(shí)例,執(zhí)行向量檢索以獲得所有可能的概念和術(shù)語(yǔ)集。
? 最后,將概念和術(shù)語(yǔ)集添加到提取提示中,并進(jìn)行另一次提取,以獲得與領(lǐng)域知識(shí)大部分對(duì)齊的集合。
? 2)模式約束提取。在垂直專(zhuān)業(yè)領(lǐng)域中,如藥品說(shuō)明書(shū)、體檢報(bào)告、政務(wù)、在線訂單數(shù)據(jù)、結(jié)構(gòu)化數(shù)據(jù)表等,文檔之間的數(shù)據(jù)結(jié)構(gòu)具有強(qiáng)烈的一致性,更適合采用模式約束進(jìn)行信息提取,結(jié)構(gòu)化提取也便于知識(shí)管理和質(zhì)量提升。對(duì)于同一實(shí)體類(lèi)型,如 Person,可以預(yù)定義屬性和關(guān)系,如 name、gender、placeOfBirth、(Person, hasFather, Person)、(Person, hasFriend, Person),也可以直接通過(guò) openIE 提取三元組,如(Jay Chou, spgClass, Person)、(Jay Chou, constellation, Capricorn)、(Jay Chou, record company, Universal Music Group)。
? 3)按文檔類(lèi)型預(yù)定義知識(shí)結(jié)構(gòu)。專(zhuān)業(yè)文件如藥品說(shuō)明書(shū)、政務(wù)文件和法律定義通常具有相對(duì)標(biāo)準(zhǔn)化的文檔結(jié)構(gòu)。每種類(lèi)型的文檔可以定義為一個(gè)實(shí)體類(lèi)型,不同的段落代表實(shí)體的不同屬性。
? 以政務(wù)為例,可以預(yù)定義 GovernmentAffair EntityType 及其屬性,如行政區(qū)劃、服務(wù)程序、所需材料、服務(wù)地點(diǎn)和目標(biāo)群體。
劃分的塊是不同屬性的值。
如果用戶詢問(wèn)“在西湖區(qū)申請(qǐng)住房公積金需要哪些材料?
”,可以直接提取對(duì)應(yīng)屬性所需材料的塊來(lái)回答這個(gè)問(wèn)題,避免 LLM 重新生成可能引起的幻覺(jué)。
2.2.4 文本塊向量與知識(shí)結(jié)構(gòu)的互索引
KAG 的互索引機(jī)制遵循 LLMFriSPG 的語(yǔ)義表示,是一套知識(shí)管理和存儲(chǔ)方案。涵蓋四個(gè)核心數(shù)據(jù)結(jié)構(gòu):
? 1、共享模式,作為項(xiàng)目層面預(yù)設(shè)的 SPG 類(lèi)別,囊括了實(shí)體類(lèi)型、概念類(lèi)型和事件類(lèi)型,它們作為高層分類(lèi),例如人物、組織、地理位置、日期、生物、作品、事件。
? 2、實(shí)例圖,囊括了 KGcs 和 KGfr 中的所有事件和實(shí)體實(shí)例,無(wú)論是通過(guò)無(wú)模式的開(kāi)放信息抽取還是通過(guò)模式約束的結(jié)構(gòu)化抽取得到的實(shí)例,均存儲(chǔ)于 KG 存儲(chǔ)中。
? 3、文本塊,是一種特殊的實(shí)體節(jié)點(diǎn),符合塊實(shí)體類(lèi)型的定義。
? 4、概念圖,作為知識(shí)對(duì)齊的核心,由一系列概念及其關(guān)系構(gòu)成,概念節(jié)點(diǎn)代表了實(shí)例的細(xì)粒度類(lèi)型。通過(guò)關(guān)系預(yù)測(cè),實(shí)例節(jié)點(diǎn)能夠與概念節(jié)點(diǎn)相連,從而獲得其細(xì)粒度的語(yǔ)義類(lèi)型。
此外,還有兩種存儲(chǔ)結(jié)構(gòu):
? 1、KG 存儲(chǔ),將 KG 數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)于 LPG(Labeled Property Graph) 數(shù)據(jù)庫(kù)中,例如 TuGraph、Neo4J。
? 2、向量存儲(chǔ),將文本和向量存儲(chǔ)于向量存儲(chǔ)引擎中,如 ElasticSearch、Milvus,或是 LPG 引擎內(nèi)置的向量存儲(chǔ)。
2.3 邏輯形式求解器
在攻克復(fù)雜問(wèn)題的道路上,通常遵循三大核心步驟:規(guī)劃、推理和檢索。
? 規(guī)劃:將問(wèn)題拆解是一種規(guī)劃行為,旨在明確接下來(lái)的解題方向。
? 推理:包括基于拆解后的問(wèn)題檢索相關(guān)信息,根據(jù)檢索結(jié)果推導(dǎo)出問(wèn)題的答案,或者在現(xiàn)有信息不足以解答時(shí),對(duì)子問(wèn)題進(jìn)行進(jìn)一步的拆解。
? 檢索,為了尋找能夠作為原始問(wèn)題或拆解后的子問(wèn)題參考依據(jù)的內(nèi)容。
在傳統(tǒng) RAG 中,由于各模塊間的互動(dòng)基于自然語(yǔ)言的向量表達(dá),因此常常出現(xiàn)偏差。借鑒知識(shí)圖譜問(wèn)答中常用的邏輯形式,設(shè)計(jì)了一種具備推理與檢索功能的可執(zhí)行語(yǔ)言。這種語(yǔ)言能夠?qū)?wèn)題拆解為多個(gè)邏輯表達(dá)式,每個(gè)表達(dá)式都可能涵蓋檢索或邏輯運(yùn)算的功能。這一過(guò)程通過(guò)互索引機(jī)制實(shí)現(xiàn)。
同時(shí),受到 ReSP 的啟發(fā),設(shè)計(jì)了一種基于反思和全局記憶的多輪解題機(jī)制。
? 首先將當(dāng)前問(wèn)題分解為一系列邏輯形式的子問(wèn)題 list,然后通過(guò)混合推理來(lái)逐一解決。
? 如果能夠通過(guò)結(jié)構(gòu)化知識(shí)的多跳推理直接得到確切答案,系統(tǒng)將直接返回結(jié)果。
? 若非如此,系統(tǒng)將進(jìn)行反思:將與 list 相關(guān)的答案和檢索結(jié)果存入全局記憶,并判斷問(wèn)題是否已解決。
? 如果問(wèn)題仍未解決,系統(tǒng)將生成額外問(wèn)題并進(jìn)入下一輪迭代。
圖片
上圖展示了該過(guò)程。左側(cè)展示了知識(shí)圖譜構(gòu)建過(guò)程,右側(cè)則展示了整個(gè)推理和迭代流程。
這種邏輯形式語(yǔ)言具有以下三大優(yōu)勢(shì):
? 采用符號(hào)語(yǔ)言,增強(qiáng)了問(wèn)題拆解和推理的嚴(yán)謹(jǐn)性與可解釋性。
? 充分利用 LLMFriSPG 的層次化表示,通過(guò)符號(hào)圖結(jié)構(gòu)引導(dǎo)事實(shí)和文本知識(shí)的檢索。
? 整合問(wèn)題拆解與檢索流程,簡(jiǎn)化了系統(tǒng)復(fù)雜度。
圖片
上圖展示了一個(gè)該框架下的多輪對(duì)話情景。
? 首輪對(duì)話中,盡管無(wú)法精確得知瘟疫發(fā)生的次數(shù),但提取的信息顯示:“威尼斯,這位音樂(lè)巨匠維瓦爾第的誕生地,曾遭受過(guò)毀滅性的黑死病侵襲,也就是人們常說(shuō)的大瘟疫。這場(chǎng)由鼠疫桿菌引發(fā)的瘟疫在歐亞大陸造成了 7500 萬(wàn)至 2 億人的死亡,尤其在 1347 至 1351 年的歐洲達(dá)到了頂峰。這場(chǎng)瘟疫給歐洲帶來(lái)了劇烈的動(dòng)蕩。雖然威尼斯沒(méi)有詳細(xì)的瘟疫發(fā)生記錄,但可以肯定的是,這座城市在 14 世紀(jì)中期受到了沖擊?!?。
? 經(jīng)過(guò)兩輪迭代后,最終確定瘟疫在威尼斯發(fā)生了 22 次。
2.3.1 邏輯形式規(guī)劃
圖片
如上表所示,邏輯函數(shù)是一系列執(zhí)行動(dòng)作表示。通過(guò)精心規(guī)劃這些表達(dá)式的組合,可以將復(fù)雜問(wèn)題拆解,進(jìn)而推理出精細(xì)的解決方案。
? 檢索:依據(jù)SPO檢索所得的知識(shí)和信息,同一表達(dá)式中不應(yīng)重復(fù)出現(xiàn)s、p、o。查詢時(shí)可對(duì)s、p、o施加約束。多跳查詢需要多次檢索。若當(dāng)前變量指向之前提及的變量,則變量名需與所引用變量名一致,僅需提供變量名。首次引用時(shí)指定知識(shí)類(lèi)型和名稱(chēng)。
? 排序:對(duì)檢索結(jié)果進(jìn)行排序。A代表檢索到的SPO(主體-謂語(yǔ)-賓語(yǔ))的變量名(si, oi, 或 s.prop, p.prop, o.prop)。direction定義排序方向,direction = min表示升序,direction = max表示降序。limit = n表示輸出前N個(gè)結(jié)果。
? 數(shù)學(xué):執(zhí)行數(shù)學(xué)運(yùn)算。expr使用LaTeX語(yǔ)法,可對(duì)檢索結(jié)果(集合)或常數(shù)進(jìn)行計(jì)算。mathi表示計(jì)算結(jié)果,可用作后續(xù)操作中的變量名。
? 推理:根據(jù)檢索或計(jì)算結(jié)果回答問(wèn)題。A、B可以是檢索到的SPO的變量名或常數(shù)。運(yùn)算符op = entailment|greater|less|equal分別表示A蘊(yùn)含B、A大于B、A小于B和A等于B。
2.3.2 推理的邏輯形式
當(dāng)自然語(yǔ)言表述的查詢語(yǔ)句用于搜索時(shí),往往存在邏輯上的模糊性,比如“尋找含有蔬菜或水果的圖片”與“尋找含有蔬菜和水果的圖片”。不論是文本搜索還是向量搜索,這兩類(lèi)查詢的相似度極高,但它們的答案卻可能截然不同。
對(duì)于包含邏輯推理過(guò)程的問(wèn)題,如涉及“與”、“或”、“非”以及交集和差集的情況,也是同樣的道理。
因此,采用邏輯形式來(lái)表達(dá)問(wèn)題,以便能夠清晰地描述語(yǔ)義關(guān)系。與 IRCOT 類(lèi)似,把復(fù)雜的原始問(wèn)題拆解,并規(guī)劃出多種執(zhí)行動(dòng)作,包括多步驟的信息檢索、數(shù)值計(jì)算、邏輯推理和語(yǔ)義推導(dǎo)。每個(gè)子問(wèn)題都通過(guò)邏輯形式函數(shù)來(lái)表達(dá),子問(wèn)題之間的聯(lián)系則通過(guò)變量引用來(lái)建立。
在此過(guò)程中,GraphRetrieval 模塊依據(jù)邏輯形式子句執(zhí)行知識(shí)圖譜結(jié)構(gòu)檢索,獲取結(jié)構(gòu)化的圖結(jié)果。另一個(gè)關(guān)鍵模塊 HybridRetrieval 則結(jié)合自然語(yǔ)言表述的子問(wèn)題和邏輯函數(shù),全面檢索文檔和子圖信息。
圖片
上圖展示了該過(guò)程的一個(gè)案例。
2.3.3 檢索的邏輯形式
在傳統(tǒng)的 RAG 模型中,通過(guò)計(jì)算問(wèn)題與文檔片段嵌入之間的相似度(如余弦相似度)來(lái)實(shí)現(xiàn)信息檢索,其中嵌入模型的語(yǔ)義表達(dá)能力至關(guān)重要。這通常包括稀疏編碼器(如 BM25)和密集檢索器(基于 BERT 架構(gòu)的預(yù)訓(xùn)練語(yǔ)言模型)。稀疏與密集嵌入方法各自捕捉不同的關(guān)聯(lián)特征,通過(guò)利用彼此的互補(bǔ)信息,相得益彰。
目前,將這兩種方法結(jié)合的常見(jiàn)做法是將兩種搜索方式的得分進(jìn)行集成,但在實(shí)際操作中,不同問(wèn)題可能需要不同的搜索策略,尤其是在需要多跳推理的問(wèn)題上。當(dāng)查詢包含專(zhuān)有名詞、人物、地點(diǎn)、時(shí)間、數(shù)字和坐標(biāo)時(shí),預(yù)訓(xùn)練模型的表現(xiàn)力可能受限,此時(shí)需要更精確的文本索引。而對(duì)于更接近文本段落表達(dá)的查詢,如場(chǎng)景描述、行為動(dòng)作和抽象概念,這兩種方法可能會(huì)在某些問(wèn)題中結(jié)合使用。
在設(shè)計(jì)邏輯形式時(shí),可以有效地融合這兩種檢索方法。當(dāng)需要將關(guān)鍵字信息作為明確的過(guò)濾條件時(shí),可以在檢索函數(shù)中指定選擇條件,實(shí)現(xiàn)結(jié)構(gòu)化檢索。
例如,對(duì)于查詢“在杭州西湖區(qū)申請(qǐng)殘疾證需要哪些文件?”,檢索函數(shù)可以表示為:
??Retrieval(s=s1:Event[applying for a disability certificate], p=p1:support_chunks, o=o1:Chunk, s.locatinotallow=West Lake, Hangzhou)?
?
這種方法利用建立不同的索引(稀疏或密集)來(lái)支持精確搜索或根據(jù)需求進(jìn)行模糊搜索。
此外,當(dāng)無(wú)法使用邏輯函數(shù)檢索以 SPO 形式存在的結(jié)構(gòu)化知識(shí)時(shí),可以采用其他方法。
包括半結(jié)構(gòu)化檢索,即利用邏輯函數(shù)搜索信息塊,以及非結(jié)構(gòu)化檢索。
非結(jié)構(gòu)化檢索涵蓋了如增強(qiáng)型檢索(RAG),通過(guò)自然語(yǔ)言表達(dá)的子問(wèn)題來(lái)檢索相關(guān)的文本塊。
2.4 知識(shí)對(duì)齊
利用信息提取構(gòu)建知識(shí)圖譜索引和基于向量相似度的檢索在知識(shí)對(duì)齊方面存在三個(gè)主要缺陷:
? 知識(shí)間語(yǔ)義關(guān)系錯(cuò)位:正確答案與查詢之間通常需要特定的語(yǔ)義關(guān)系,例如“包含”、“導(dǎo)致”和“屬于”。然而,檢索過(guò)程所依賴的相似性是一種缺乏屬性和方向的弱語(yǔ)義度量,可能導(dǎo)致內(nèi)容檢索不精確。
? 知識(shí)粒度不一致:開(kāi)放信息抽取帶來(lái)的知識(shí)粒度差異、噪聲和不相關(guān)性問(wèn)題對(duì)知識(shí)管理構(gòu)成了巨大挑戰(zhàn)。語(yǔ)言的多樣性導(dǎo)致了眾多的同義詞或類(lèi)似節(jié)點(diǎn),使得知識(shí)元素間的連通性降低,檢索召回率不完整。
? 與領(lǐng)域知識(shí)結(jié)構(gòu)不匹配:特定領(lǐng)域內(nèi)缺乏有組織、系統(tǒng)化的知識(shí)。本應(yīng)相互關(guān)聯(lián)的知識(shí)呈現(xiàn)碎片化,導(dǎo)致檢索內(nèi)容缺乏專(zhuān)業(yè)性。
為解決這些問(wèn)題,作者提出了一種解決方案:通過(guò)語(yǔ)義推理利用概念圖來(lái)增強(qiáng)離線索引和在線檢索。
包括知識(shí)實(shí)例標(biāo)準(zhǔn)化、實(shí)例到概念的鏈接、語(yǔ)義關(guān)系完善和領(lǐng)域知識(shí)注入等任務(wù)。
? 在提取階段我們?yōu)槊總€(gè)實(shí)例、概念或關(guān)系添加了描述性文本信息,以提高其可解釋性和上下文相關(guān)性。
? KAG 支持注入領(lǐng)域概念和術(shù)語(yǔ)知識(shí),以減少垂直領(lǐng)域中知識(shí)粒度不匹配造成的噪聲問(wèn)題。
概念推理的目標(biāo)是充分利用向量檢索和概念推理,基于前述知識(shí)結(jié)構(gòu)完成概念關(guān)系,提高領(lǐng)域知識(shí)圖譜的準(zhǔn)確性和連通性。
圖片
如上表所示,總結(jié)了檢索和推理通常需要的六種語(yǔ)義關(guān)系。
2.4.1 增強(qiáng)索引
通過(guò)語(yǔ)義推理增強(qiáng)索引的過(guò)程,實(shí)際是利用大型語(yǔ)言模型預(yù)測(cè)索引項(xiàng)之間的語(yǔ)義關(guān)系或相關(guān)知識(shí)元素,涵蓋四種策略:
? 知識(shí)實(shí)例的消歧和融合:首先利用實(shí)體的直接關(guān)聯(lián)和描述信息來(lái)預(yù)測(cè)同義詞關(guān)系,從而獲得實(shí)體的同義詞實(shí)例集。接著,從同義詞集中確定目標(biāo)實(shí)體。最終,應(yīng)用實(shí)體融合規(guī)則,將同義詞集中剩余實(shí)例的屬性和關(guān)系復(fù)制到目標(biāo)實(shí)體,并將其名稱(chēng)添加為目標(biāo)實(shí)體的同義詞,同時(shí)立即刪除這些剩余實(shí)例。
? 預(yù)測(cè)實(shí)例與概念間的關(guān)系:對(duì)于每個(gè)知識(shí)實(shí)例(例如事件、實(shí)體),預(yù)測(cè)其對(duì)應(yīng)的概念,并添加推導(dǎo)出的三元組<ei, belongTo, cj>到知識(shí)索引中。比如:<Chamber, belongTo, Legislative Body>意味著Chamber在分類(lèi)中屬于Legislative Body。
? 完善概念及其相互關(guān)系:在提取過(guò)程中,利用概念推理來(lái)完善語(yǔ)義類(lèi)型和spgClass之間的所有上位詞和isA關(guān)系。比如,可以在提取階段得知Chamber的語(yǔ)義類(lèi)型是Legislative Body,其spgClass是Organization。通過(guò)語(yǔ)義完善,能夠得出<Legislative Body, isA, Government Agency>, <Government Agency, isA, Organization>。這樣的語(yǔ)義完善使得KGfr空間的三元組信息更加完整,節(jié)點(diǎn)之間的連通性也更加緊密。
2.4.2 增強(qiáng)檢索
在檢索階段,使用語(yǔ)義關(guān)系推理根據(jù)邏輯形式中的短語(yǔ)和類(lèi)型來(lái)搜索知識(shí)圖譜索引。對(duì)于邏輯形式中提到的類(lèi)型或關(guān)系,采用結(jié)合語(yǔ)義關(guān)系推理與相似度檢索的方法,以替代傳統(tǒng)的相似度檢索方法。
這種檢索方法使檢索路徑更加專(zhuān)業(yè)和邏輯化,從而獲得正確答案。
圖片
? 首先,混合推理進(jìn)行精確的類(lèi)型匹配和實(shí)體鏈接。
? 如果類(lèi)型匹配失敗,則進(jìn)行語(yǔ)義推理。如上圖所示,如果類(lèi)型 Political Party 匹配失敗,則使用語(yǔ)義推理預(yù)測(cè) Political Party 包含 Political Faction,并從 Political Faction 開(kāi)始進(jìn)行推理或路徑計(jì)算。
2.5 KAG 模型
KAG 涵蓋了兩個(gè)核心計(jì)算流程:
? 離線構(gòu)建索引
? 在線處理查詢與生成答案
在小規(guī)模語(yǔ)言模型盛行的時(shí)代,這些任務(wù)通常需要兩個(gè)獨(dú)立的處理流程,每個(gè)流程都包含多個(gè)特定任務(wù)的 NLP 模型。這種設(shè)計(jì)不僅增加了應(yīng)用系統(tǒng)的復(fù)雜性,提高了搭建成本,還因?yàn)槟K間的錯(cuò)誤傳播而不可避免地帶來(lái)了級(jí)聯(lián)損失。與此相對(duì),大型語(yǔ)言模型作為一種能力復(fù)合體,有潛力將這些流程統(tǒng)一為一個(gè)集成的、同步的端到端推理過(guò)程。
圖片
如上圖,索引構(gòu)建和問(wèn)答生成的過(guò)程包含相似的步驟。這兩個(gè)流程都可以概括為分類(lèi)、實(shí)體識(shí)別、實(shí)體關(guān)系識(shí)別、語(yǔ)義對(duì)齊、嵌入以及信息塊、實(shí)例或查詢聚焦的摘要。
? 分類(lèi)、實(shí)體識(shí)別和實(shí)體關(guān)系識(shí)別可以歸為自然語(yǔ)言理解(NLU)
? 語(yǔ)義對(duì)齊和嵌入可以歸類(lèi)為自然語(yǔ)言推理(NLI)
? 信息塊、實(shí)例或查詢聚焦的摘要可以歸入自然語(yǔ)言生成(NLG)
一個(gè) RAG 系統(tǒng)依賴的自然語(yǔ)言處理的三大核心能力是 NLU、NLI 和 NLG。
為了減少將模型串聯(lián)成流水線所帶來(lái)的級(jí)聯(lián)損失,將多個(gè)推理過(guò)程融合為單一推理過(guò)程
2.5.1 NLU(自然語(yǔ)言理解)
NLU 自然語(yǔ)言處理的基石之一,涵蓋了文本分類(lèi)、命名實(shí)體識(shí)別、關(guān)系抽取、主賓語(yǔ)提取、觸發(fā)詞識(shí)別、事件論元抽取、事件抽取以及機(jī)器閱讀理解等多個(gè)方面。
為提升模型的理解力:
? 搜集了超過(guò) 30 個(gè)公共數(shù)據(jù)集
? 進(jìn)行了大規(guī)模的指令重構(gòu),設(shè)計(jì)了多種指令合成策略
利用此數(shù)據(jù)集對(duì)選定的基礎(chǔ)模型進(jìn)行監(jiān)督式微調(diào)后,模型在下游任務(wù)中表現(xiàn)出更強(qiáng)的 NLU 能力。指令重構(gòu)策略主要包括以下三種類(lèi)型:
? 標(biāo)簽打包:此策略關(guān)注于標(biāo)簽引導(dǎo)任務(wù),旨在根據(jù)標(biāo)簽提取文本或?qū)⑽谋居成涞教囟?biāo)簽,涵蓋分類(lèi)、NER、RE 和 EE 等任務(wù)。如果數(shù)據(jù)集中的標(biāo)簽在訓(xùn)練集內(nèi)頻繁共同出現(xiàn),模型可能會(huì)學(xué)習(xí)到這一模式,從而過(guò)度擬合數(shù)據(jù)集,無(wú)法獨(dú)立理解每個(gè)標(biāo)簽的含義。因此,在指令合成過(guò)程中,采用投票策略,每個(gè)訓(xùn)練樣本僅指定一個(gè)標(biāo)簽作為桶的一部分。同時(shí),鑒于某些標(biāo)簽語(yǔ)義相近且易混淆,將這些易混淆的標(biāo)簽歸入同一桶中,幫助模型更有效地學(xué)習(xí)這兩個(gè)標(biāo)簽之間的語(yǔ)義差異。
? 靈活多樣的輸入輸出格式:LLM 通過(guò)遵循指令進(jìn)行推理,若輸入輸出格式過(guò)于一致,可能導(dǎo)致模型過(guò)度擬合特定任務(wù),缺乏對(duì)未知格式的泛化能力。因此,對(duì)輸入輸出格式進(jìn)行了靈活處理。輸出被設(shè)計(jì)為五種不同的格式化指令和兩種自然語(yǔ)言指令。此外,輸出格式可以動(dòng)態(tài)指定為 markdown、JSON、自然語(yǔ)言或示例中指定的任何格式。
? 帶有任務(wù)指南的指令:傳統(tǒng) NLP 訓(xùn)練常采用“問(wèn)題海洋”策略,訓(xùn)練集中包含大量數(shù)據(jù),使模型在學(xué)習(xí)過(guò)程中理解任務(wù)需求,例如在提取人名時(shí)是否包括職位。在 LLM 訓(xùn)練中,讓模型像專(zhuān)業(yè)標(biāo)注員一樣,通過(guò)理解任務(wù)描述來(lái)執(zhí)行任務(wù)。
因此,對(duì)于收集到的 NLU 任務(wù),通過(guò) LLM 內(nèi)的自省過(guò)程總結(jié)任務(wù)描述,創(chuàng)建包含任務(wù)描述的訓(xùn)練數(shù)據(jù)。為增強(qiáng)任務(wù)多樣性,還采用啟發(fā)式策略改寫(xiě)任務(wù)描述和答案,使模型能更準(zhǔn)確地理解不同任務(wù)描述之間的差異,并根據(jù)指令完成任務(wù)。
對(duì)六個(gè)基礎(chǔ)模型進(jìn)行了微調(diào):qwen2、llama2、baichuan2、llama3、mistral、phi3,并使用 OpenCompass 上記錄的六個(gè)理解基準(zhǔn)進(jìn)行性能驗(yàn)證。下表展示了模型微調(diào)后的對(duì)比效果。
圖片
2.5.2 自然語(yǔ)言推理
NLI 任務(wù)旨在推斷特定短語(yǔ)間的語(yǔ)義聯(lián)系,包括實(shí)體鏈接、消除歧義、分類(lèi)體系擴(kuò)展、上位詞識(shí)別和文本蘊(yùn)含等。
在知識(shí)庫(kù)問(wèn)答系統(tǒng)中,自然語(yǔ)言的多樣性和模糊性,以及短語(yǔ)間微妙的語(yǔ)義聯(lián)系,常常需要依靠 NLU 基礎(chǔ)上的 NLI 任務(wù)來(lái)進(jìn)一步對(duì)齊或檢索相關(guān)信息。
圖片
在 KAG 過(guò)程中,語(yǔ)義推理是一項(xiàng)核心能力。通過(guò) NLI 任務(wù)和通用推理問(wèn)答任務(wù)來(lái)評(píng)估模型性能,如上圖。評(píng)估結(jié)果顯示,KAG 模型在語(yǔ)義推理相關(guān)任務(wù)上取得顯著提升:
? 在上位詞識(shí)別任務(wù)中(這與語(yǔ)義增強(qiáng)索引和檢索中所需的推理形式一致),微調(diào)的 KAG-llama 模型明顯優(yōu)于 Llama3 和 ChatGPT-3.5。
? 在 CMNLI、OCNLI 和 SIQA 上的表現(xiàn)超越了 Llama3,證明模型在通用邏輯推理方面同樣表現(xiàn)出色。
2.5.3 自然語(yǔ)言生成
開(kāi)發(fā)了兩種高效率的微調(diào)方法,專(zhuān)為特定領(lǐng)域場(chǎng)景設(shè)計(jì),以期生成的內(nèi)容能夠更貼近實(shí)際場(chǎng)景的需求:即 K-LoRA 和 AKGF(Alignment with KG Feedback)。
K-LoRA 預(yù)訓(xùn)練:利用知識(shí)生成答案與從文本中提取知識(shí)是相反的過(guò)程。通過(guò)逆向操作前述的提取流程,能夠創(chuàng)建一個(gè)“三元組到文本”的生成任務(wù)。經(jīng)過(guò)大量實(shí)例的深入微調(diào),模型學(xué)會(huì)識(shí)別知識(shí)圖譜注入的信息格式,并能夠習(xí)得目標(biāo)文本的特定領(lǐng)域語(yǔ)言風(fēng)格。為提高效率,繼續(xù)采用基于 LoRA 的 SFT 策略,并將此步驟中獲得的 LoRA 稱(chēng)為 K-LoRA。
與 KG 反饋的對(duì)齊:模型在回答中可能因過(guò)擬合等原因產(chǎn)生錯(cuò)誤。借鑒了 RLHF 方法,希望 KG 充當(dāng)自動(dòng)評(píng)估器,對(duì)當(dāng)前回答的知識(shí)準(zhǔn)確性提供反饋,引導(dǎo)模型進(jìn)一步優(yōu)化。通過(guò)不同的輸入格式或隨機(jī)種子為每個(gè)查詢生成多種回答。然后,利用 KG 對(duì)這些回答進(jìn)行評(píng)分和排序。評(píng)分過(guò)程通過(guò)比較生成的答案與 KG 中的知識(shí)來(lái)判斷其正確性。獎(jiǎng)勵(lì)由正確匹配的知識(shí)三元組數(shù)量決定。
選取兩個(gè)生物醫(yī)學(xué)問(wèn)答數(shù)據(jù)集 CMedQA 和 BioASQ 來(lái)評(píng)估模型性能。
圖片
如上圖,生成性能顯著提升。
2.5.4 單次推理
大多數(shù)檢索增強(qiáng)型系統(tǒng)由一系列展示模型、檢索器和生成模型組成,導(dǎo)致系統(tǒng)復(fù)雜度高、構(gòu)建成本昂貴,以及由于模塊間錯(cuò)誤傳播而不可避免的級(jí)聯(lián)損失。
因此,作者提出了一種高效的單次統(tǒng)一生成和檢索(OneGen)模型,允許任何大型語(yǔ)言模型(LLM)在單次前向傳遞中同時(shí)進(jìn)行生成和檢索。受到大型語(yǔ)言模型在文本嵌入方面最新進(jìn)展的啟發(fā),通過(guò)增加特殊標(biāo)記(即檢索標(biāo)記)擴(kuò)展了原有詞匯表,并將檢索任務(wù)分配給自回歸生成的檢索標(biāo)記。
在訓(xùn)練過(guò)程中,檢索標(biāo)記僅通過(guò)對(duì)比學(xué)習(xí)參與表示微調(diào),其他輸出標(biāo)記則按語(yǔ)言模型目標(biāo)進(jìn)行訓(xùn)練。在推理階段,利用檢索標(biāo)記進(jìn)行高效的按需檢索。不同于以往至少需要兩個(gè)模型分別負(fù)責(zé)檢索和生成的流水線方法,OneGen 將這兩者統(tǒng)一在一個(gè)模型中,從而省去了單獨(dú)的檢索器需求,大幅降低了系統(tǒng)復(fù)雜性。
圖片
實(shí)驗(yàn)結(jié)果如上表所示:
?1、OneGen 在 R→G 任務(wù)中展現(xiàn)了出色的效果,聯(lián)合訓(xùn)練的檢索和生成在 RAG 任務(wù)上實(shí)現(xiàn)了性能提升。Self-RAG 賦予 LLMs 自我評(píng)估和自適應(yīng)檢索的能力,而 OneGen 進(jìn)一步增加了自我檢索的功能。在所有數(shù)據(jù)集上均優(yōu)于原始的 Self-RAG,特別是在 Pub 數(shù)據(jù)集上提升了 3.1 個(gè)百分點(diǎn),在 ARC 數(shù)據(jù)集上提升了 2.8 個(gè)百分點(diǎn),證明了聯(lián)合訓(xùn)練的優(yōu)勢(shì)。
2、OneGen 在訓(xùn)練上極為高效,經(jīng)過(guò)指令微調(diào)的 LLMs 展現(xiàn)出強(qiáng)大的檢索能力,而且只需極少的額外調(diào)整。它需要的檢索數(shù)據(jù)更少且質(zhì)量要求更低,即使僅用 6 萬(wàn)個(gè)噪聲樣本和不完整的文檔,也能實(shí)現(xiàn)與合成數(shù)據(jù)相當(dāng)?shù)男阅堋?/p>
3. 效果評(píng)估
3.1 總體效果
圖片
上表展示了問(wèn)答系統(tǒng)的端到端性能。在基于 ChatGPT-3.5 作為核心模型的 RAG 框架中,HippoRAG 的表現(xiàn)超過(guò)了 NativeRAG。
HippoRAG 采用了仿人類(lèi)長(zhǎng)期記憶的策略,促進(jìn)了外部文檔中的知識(shí)與 LLMs 的持續(xù)融合,顯著提升了問(wèn)答性能。然而,考慮到使用 ChatGPT-3.5 的高昂經(jīng)濟(jì)成本,選擇了 DeepSeek-V2 API 作為替代方案。
平均來(lái)看,結(jié)合 DeepSeek-V2 API 的 IRCoT + HippoRAG 配置在性能上略勝 ChatGPT-3.5 一籌。
KAG 框架與 IRCoT + HippoRAG 相比,在 HotpotQA、2WikiMultiHopQA 和 MuSiQue 數(shù)據(jù)集上的 EM 分別提升了 11.5%、19.8%和 10.5%,F(xiàn)1 分?jǐn)?shù)分別提高了 12.5%、19.1%和 12.2%。
這些性能上的飛躍主要?dú)w功于框架中更高效的索引構(gòu)建、知識(shí)對(duì)齊和混合解題庫(kù)的開(kāi)發(fā)。
圖片
上表中展示了單步和多步檢索器的檢索性能。實(shí)驗(yàn)結(jié)果顯示,多步檢索器通常比單步檢索器表現(xiàn)更佳。分析發(fā)現(xiàn):
? 單步檢索器檢索的內(nèi)容相似度極高,導(dǎo)致無(wú)法利用其結(jié)果推導(dǎo)出需要進(jìn)行推理的問(wèn)題的答案。
? 多步檢索器解決了這一問(wèn)題。KAG 框架直接采用了多步檢索器,并通過(guò)互索引、邏輯形式解題和知識(shí)對(duì)齊等策略顯著提升了檢索性能。
3.2 消融實(shí)驗(yàn)
3.3.1 知識(shí)圖譜索引消融實(shí)驗(yàn)
在圖譜索引構(gòu)建階段,提出以下兩種替代方案:
? 互索引法(Mutual Indexing Method,M_Indexing):作為 KAG 框架的基準(zhǔn)方法,利用信息提取技術(shù)(例如 OpenIE)從文檔片段中提取短語(yǔ)和三元組,根據(jù) LLMFriSPG 的層級(jí)表示構(gòu)建圖結(jié)構(gòu)與文本片段之間的互索引關(guān)系,并將其存入知識(shí)圖譜庫(kù)。
? 知識(shí)對(duì)齊增強(qiáng)法(Knowledge Alignment Enhancement,K_Alignment):利用知識(shí)對(duì)齊技術(shù)來(lái)增強(qiáng)知識(shí)圖譜的互索引能力和邏輯形式引導(dǎo)的推理及檢索效率。主要完成實(shí)例與概念的分類(lèi)、概念的上下位詞預(yù)測(cè)、概念間語(yǔ)義關(guān)系的完善、實(shí)體的消歧和整合等任務(wù),從而增強(qiáng)知識(shí)的語(yǔ)義清晰度和實(shí)例間的連接性,為之后的邏輯形式引導(dǎo)的推理和檢索打下堅(jiān)實(shí)基礎(chǔ)。
3.3.2 推理與檢索消融實(shí)驗(yàn)
多輪自省機(jī)制。引入了 ReSP的多輪自省機(jī)制,以評(píng)估邏輯形式求解器是否已經(jīng)充分回答了問(wèn)題。如果答案不盡完善,系統(tǒng)將迭代產(chǎn)生補(bǔ)充問(wèn)題,直至全局記憶中的信息充足。對(duì)最大迭代次數(shù) n 的影響進(jìn)行了分析,記作 refn。當(dāng) n=1 時(shí),意味著自省機(jī)制未啟動(dòng)。在推理和檢索階段,我們?cè)O(shè)計(jì)了以下三種替代方案:
? 片段檢索器(ChunkRetri)。借鑒 HippoRAG的檢索功能,為 KAG 設(shè)定了基線檢索策略,旨在回憶起能夠支持回答當(dāng)前問(wèn)題的 top_k 片段。片段得分通過(guò)權(quán)衡向量相似度和個(gè)性化 PageRank 得分來(lái)計(jì)算。
? 邏輯形式求解器啟用圖檢索(LFrefn):采用邏輯形式求解器進(jìn)行推理,該方法利用預(yù)定義的邏輯形式解析并回答問(wèn)題。首先,它深入挖掘 KGcs 和 KGfr 空間內(nèi)的知識(shí)圖譜結(jié)構(gòu),在推理過(guò)程中注重準(zhǔn)確性與嚴(yán)謹(jǐn)性。如果前面的推理步驟未得出結(jié)果,它將利用 RC 中的 supporting_chunks 進(jìn)行補(bǔ)充檢索。
? 邏輯形式求解器啟用混合檢索(LFSHrefn)。對(duì) LFrefn 進(jìn)行了修改,關(guān)閉了直接推理的圖檢索功能,轉(zhuǎn)而全部采用混合檢索方法生成答案。能夠評(píng)估圖檢索對(duì)推理性能的貢獻(xiàn)。
3.3.3 消融實(shí)驗(yàn)結(jié)果
圖片
知識(shí)圖譜索引效果
將知識(shí)對(duì)齊整合到知識(shí)圖譜互索引中后,CRref3 的前 5 個(gè)召回率分別提升了 9.2%,28.4%和 9.5%,平均增幅達(dá)到 15.7%。經(jīng)過(guò)知識(shí)對(duì)齊增強(qiáng),關(guān)系密度顯著增加,頻率-出度圖整體右移。
1 跳圖譜明顯右移,說(shuō)明加入的語(yǔ)義結(jié)構(gòu)增加了每個(gè)節(jié)點(diǎn)的鄰接節(jié)點(diǎn)數(shù),提高了圖譜的密集度。
2 跳和 3 跳圖譜呈現(xiàn)不均勻分布,左側(cè)稀疏,右側(cè)密集。K_Alignment 優(yōu)化前后的對(duì)比顯示,數(shù)據(jù)集中的節(jié)點(diǎn)普遍右移,左側(cè)變得更為稀疏,表明原本鄰接節(jié)點(diǎn)較少的節(jié)點(diǎn)獲得了新的連接,導(dǎo)致了這一現(xiàn)象。
表明新增的語(yǔ)義關(guān)系有效增強(qiáng)了圖譜的連通性,進(jìn)而提升了文檔的召回率。
圖譜推理分析
在召回率方面,LFSHref3 在同一圖譜索引的基礎(chǔ)上相較于 CRref3 有顯著提升,前 5 個(gè)召回率分別提高了 15%,32.2%和 12.7%,平均增長(zhǎng) 19.9%。這一改進(jìn)主要?dú)w功于兩個(gè)因素:
圖片
? LFSHref3 將查詢分解為多個(gè)可執(zhí)行步驟,每個(gè)子查詢獨(dú)立檢索信息片段。上圖的時(shí)間分析顯示,無(wú)論是 LFSHref3 還是 LFref3,其計(jì)算時(shí)間都超過(guò) LFSHref3 一倍以上,說(shuō)明計(jì)算時(shí)間的增加是提高召回率的必要代價(jià)。
? LFSHref3 不僅檢索信息片段,還將執(zhí)行過(guò)程中的 SPO 三元組整合到片段計(jì)算中。與 LFSHref3 相比,它檢索到了更多與查詢相關(guān)的聯(lián)系。
由于 LFref3 基于子圖進(jìn)行查詢回答,無(wú)法直接與 LFSHref3 在召回率上進(jìn)行比較,但可以通過(guò) F1 分?jǐn)?shù)來(lái)衡量。與 LFSHref3 相比,LFref3 基于檢索到的子圖回答問(wèn)題的比例分別為 33%,34%和 18%。LFref3 的 F1 分?jǐn)?shù)下降了 2.2%,0.1%和 0.5%,而計(jì)算時(shí)間分別減少了 12%,22%和 18%。
性能下降的案例分析揭示了構(gòu)建階段的錯(cuò)誤或不完整的 SPO 導(dǎo)致子查詢答案出錯(cuò),最終導(dǎo)致錯(cuò)誤答案。這一問(wèn)題將在案例研究中詳細(xì)討論。計(jì)算時(shí)間的減少主要是由于 SPO 的檢索效率比文檔片段更高。
在工業(yè)應(yīng)用中,計(jì)算時(shí)間是一個(gè)至關(guān)重要的指標(biāo)。盡管 LFrefn 可能引入一些錯(cuò)誤,但這些錯(cuò)誤可以通過(guò)圖譜的糾正和完善來(lái)改善。值得注意的是,在當(dāng)前實(shí)驗(yàn)中,我們?yōu)榱藴p少計(jì)算時(shí)間,接受了度量標(biāo)準(zhǔn)的輕微下降,這為工業(yè)應(yīng)用提供了一個(gè)可行的改進(jìn)方向。
為了分析最大迭代次數(shù)參數(shù) n 對(duì)結(jié)果的影響,比較了 LFref1 與 LFref3,發(fā)現(xiàn) F1 分?jǐn)?shù)分別下降了 0.6%,1.6%和 4.8%。
基于 LFref3 的實(shí)驗(yàn)數(shù)據(jù)顯示,迭代 1 次的比例為 97.2%,94.8%和 87.9%;LFSHref1 與 LFSHref3 相比,F(xiàn)1 分?jǐn)?shù)分別下降了 0.2%,1.2%和 4.4%。
基于 LFSHref3 的實(shí)驗(yàn)數(shù)據(jù)顯示,迭代 1 次的比例為 98.3%,95.2%和 84.1%,顯示出與 F1 分?jǐn)?shù)降低的正相關(guān)性。
圖片
本文轉(zhuǎn)載自??大語(yǔ)言模型論文跟蹤??
