自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

螞蟻集團 KAG:知識增強生成如何革新專業(yè)領(lǐng)域大模型應(yīng)用?萬字深入解讀!

人工智能
螞蟻集團提出KAG(Knowledge Augmented Generation)框架,充分利用知識圖譜和RAG技術(shù)的互補優(yōu)勢。不僅將圖結(jié)構(gòu)整合到知識庫,還將知識圖譜的語義類型、關(guān)系以及知識圖譜問答(KGQA)整合到KAG中。通過知識圖譜與 RAG 的深度融合,為專業(yè)領(lǐng)域的 LLMs 應(yīng)用帶來了新的突破。

在大語言模型(LLMs)的應(yīng)用浪潮中,檢索增強生成(RAG)技術(shù)得到廣泛運用,利用外部檢索系統(tǒng),顯著提升大語言模型的時效性,并大幅減少模型幻覺。為了進一步提升RAG在多跳任務(wù)、跨段落任務(wù)的性能,研究人員引入了知識圖譜,包括GraphRAG、DALK、SUGRE、ToG 2.0 和 HippoRAG 等。

盡管 RAG 及其優(yōu)化方案已經(jīng)解決了因知識缺乏和更新導(dǎo)致的大部分幻覺問題,但生成的文本仍然缺乏連貫性和邏輯性,難以產(chǎn)生正確且有價值的答案,尤其是在法律、醫(yī)學(xué)和科學(xué)等需要分析推理的專業(yè)領(lǐng)域:

  • 首先,真實場景的業(yè)務(wù)流程一般需要基于知識片段之間特定關(guān)系的推理來收集與回答問題相關(guān)的信息。但RAG 通常依賴于文本或向量的相似性來檢索參考信息,會可能導(dǎo)致搜索結(jié)果不完整和重復(fù)。
  • 其次,真實場景往往涉及邏輯或數(shù)值推理,例如確定一組數(shù)據(jù)在時間序列中的增減情況,而語言模型使用的下一個標記預(yù)測機制在處理這類問題上仍然顯得力不從心。

為解決上述問題,螞蟻集團提出KAG(Knowledge Augmented Generation)框架,充分利用知識圖譜和RAG技術(shù)的互補優(yōu)勢。不僅將圖結(jié)構(gòu)整合到知識庫,還將知識圖譜的語義類型、關(guān)系以及知識圖譜問答(KGQA)整合到KAG中。通過知識圖譜與 RAG 的深度融合,為專業(yè)領(lǐng)域的 LLMs 應(yīng)用帶來了新的突破。

項目地址:https://github.com/OpenSPG/KAG
論文地址:https://arxiv.org/abs/2409.13731

1、模型架構(gòu)

KAG 架構(gòu)由三大核心組成:KAG-Builder、KAG-Solver 和 KAG-Model。

圖片

  • KAG-Builder:負責構(gòu)建離線索引,是整個框架的基礎(chǔ)。傳統(tǒng)知識圖譜面臨兩大困境:專業(yè)領(lǐng)域構(gòu)建成本高(需專家定義嚴格模式)、開放領(lǐng)域信息損失大(丟棄原始文本上下文),在這個模塊中,提出了一個對LLM友好的知識表示框架(LLMFriSPG),支持無模式信息抽取和有模式專家知識構(gòu)建,并實現(xiàn)知識結(jié)構(gòu)和原始文本塊之間的互索引表示。這種設(shè)置有助于基于圖結(jié)構(gòu)的倒排索引的構(gòu)建,以及邏輯形式的統(tǒng)一表示、推理和檢索。
  • KAG-Solver:KAG框架中的核心組件,引入了一個由邏輯形式引導(dǎo)的混合求解和推理引擎。這個引擎包括三種類型的算子:規(guī)劃、推理和檢索。它將自然語言問題轉(zhuǎn)化為結(jié)合語言和符號的問題解決過程,每一步都可以利用不同的算子,如精確匹配檢索、文本檢索、數(shù)值計算或語義推理,從而實現(xiàn)檢索、知識圖譜推理、語言推理和數(shù)值計算四種不同問題解決過程的集成。
  • KAG-Model:為了支持KAG框架的操作所需的能力,如索引構(gòu)建、檢索、問題理解、語義推理和摘要生成,KAG-Model增強了通用LLM的三個特定能力:自然語言理解(NLU)、自然語言推理(NLI)和自然語言生成(NLG)。通過這些增強,KAG-Model在索引構(gòu)建、檢索、問題理解、語義推理和摘要生成等方面都表現(xiàn)出色。

2、KAG-Builder LLMFriSPG

圖片

為了定義一個對大語言模型更友好的知識語義表達方式,KAG對 SPG (Semantic-enhanced Programmable Graph,語義增強可編程知識圖譜)進行了三大方面的升級:深化文本上下文意識、動態(tài)屬性和知識分層,并將其命名為 LLMFriSPG。

深入的文本上下文意識

在傳統(tǒng)的知識表示方法中,文本內(nèi)容通常被視為簡單的字符串集合,缺乏對文本中實體、事件及其相互關(guān)系的深入理解。LLMFriSPG通過深化文本上下文意識,賦予文本更深層次的語義理解能力。這意味著系統(tǒng)可以捕捉到文本中的實體、事件及其相互關(guān)系,并根據(jù)這些信息進行推理。

  • 示例:對于“Jay Chou”的描述,LLMFriSPG不僅可以識別他是一位歌手(Person),還可以關(guān)聯(lián)出他的星座是摩羯座(constellation: Capricorn),以及他的唱片公司是環(huán)球音樂集團(record company: Universal Music Group)。這種深入的理解讓系統(tǒng)能夠更好地解析文本背后的含義,從而為用戶提供更加精準和有意義的回答。

動態(tài)屬性

傳統(tǒng)知識表示中的屬性通常是靜態(tài)定義的,一旦設(shè)定就不會輕易改變。然而,現(xiàn)實世界中的事物是動態(tài)變化的,這種靜態(tài)屬性的表示方式限制了知識圖譜的靈活性和實時性。LLMFriSPG引入動態(tài)屬性的概念,允許屬性值隨時間或條件變化。這意味著對于同一個實體或事件,其屬性可以在不同的時間點有所不同,或者根據(jù)特定情況下的條件而變化。這一特性極大地增強了系統(tǒng)的靈活性,使其能夠反映現(xiàn)實世界中事物的真實狀態(tài)和發(fā)展。

  • 示例:考慮一個運動員的職業(yè)生涯。隨著時間推移,這位運動員可能更換了俱樂部、獲得了新的獎項或更新了個人記錄。通過動態(tài)屬性的支持,LLMFriSPG可以實時反映這些變化,確保信息始終是最新的并且符合實際情況。

知識分層

知識分層是LLMFriSPG的另一個重要特性。它通過將信息按照不同的層次組織,從具體到抽象,更好地模擬人類的認知過程,從而提高LLM處理復(fù)雜問題的能力。

  • 示例:以法律文件為例,其中包含了許多專業(yè)術(shù)語和規(guī)則。使用知識分層的方法,可以將具體的條款歸類為更廣泛的法律原則或概念,這樣既便于檢索也利于推理。例如,“合同法”作為一個高層次的概念,包含了多個具體的合同條款;而在討論某一特定合同時,則可以深入到具體的條文細節(jié)。

形式化定義

LLMFriSPG的形式化定義如下:

圖片

  • 圖片:表示LLMFriSPG中所有類型的集合。涵蓋了實體類型(EntityType)、事件類型(EventType)類以及所有與LPG(帶標簽的屬性圖,Labeled Property Graph)語法聲明兼容的預(yù)定義屬性。
  • 圖片:表示所有的實體類型(如Person、Organization等)和事件類型類,以及所有預(yù)定義的屬性。這些類型定義了可以存在于知識圖譜中的不同種類的對象及其特性,是構(gòu)建具體實例的基礎(chǔ)。
  • 圖片:表示所有概念類型(ConceptType)類、概念和概念之間的關(guān)系。每個概念樹的根節(jié)點是一個與LPG語法兼容的概念類型類(例如TaxoOfPerson),而每個概念節(jié)點都有一個唯一的概念類型類。通過這種方式,LLMFriSPG能夠組織和分類信息,使得概念層次結(jié)構(gòu)清晰,并且有助于理解實例之間的抽象關(guān)系。
  • ρ :表示實例到概念的歸納關(guān)系。這種關(guān)系將具體的實例歸類到更廣泛的類別下,從而實現(xiàn)從具體實例到抽象概念的映射。這對于提高知識圖譜的理解深度非常重要,因為它可以幫助我們識別模式并做出更復(fù)雜的推理。
  • 圖片:表示所有定義在邏輯關(guān)系和邏輯概念上的可執(zhí)行規(guī)則。這些規(guī)則指導(dǎo)如何處理和操作圖中的數(shù)據(jù),支持查詢解析、推理和其他高級功能。它們確保了知識圖譜內(nèi)部邏輯的一致性和正確性。

對于圖片,圖片表示類型t的所有屬性和關(guān)系:

  • 圖片代表領(lǐng)域?qū)<翌A(yù)定義部分,包含類型的核心特征和重要屬性,反映對該類型的深入理解和專業(yè)知識。
  • 圖片代表根據(jù)需要臨時添加的屬性,增加了系統(tǒng)的靈活性??梢杂脕硌a充或修改現(xiàn)有屬性,以適應(yīng)特定的應(yīng)用場景或用戶需求。
  • 圖片代表系統(tǒng)內(nèi)置屬性,比如支持的文本塊(supporting_chunks)、描述(description)、總結(jié)(summary)等。這些屬性增強實例的語義豐富度,幫助LLM更好地理解每個實例的具體內(nèi)容和背景信息。

信息和知識的層次表示

為了更準確地定義信息和知識的層次表示,KAG將知識圖譜(KG)分為三個層次:

圖片

圖片:知識層,表示符合領(lǐng)域模式約束并經(jīng)過總結(jié)、整合和評估的領(lǐng)域知識。

圖片:圖信息層,表示通過信息提取獲得的實體和關(guān)系等圖數(shù)據(jù)。

圖片:原始塊層,表示經(jīng)過語義分段的原始文檔塊。

3、KAG-Builder 互索引

現(xiàn)有圖譜的一些問題:

  • 高質(zhì)量的知識圖譜構(gòu)建門檻高,需要大量人力;
  • 信息損失大,知識圖譜中只包含了實體、關(guān)系、屬性等,相對信息豐富的原始文本,信息損失較大可閱讀性差,生成的答案包含關(guān)鍵事實,上下文信息較少。

通過互索引,能夠有效解決信息損失大的問題,實現(xiàn)高質(zhì)量圖譜構(gòu)建。

互索引機制通過構(gòu)建圖結(jié)構(gòu)與原始文本塊之間的雙向索引,為知識圖譜和大語言模型之間的高效信息檢索和推理提供了基礎(chǔ)。通過語義分塊、帶有更多描述性上下文的信息提取、領(lǐng)域知識注入和約束,以及文本塊向量與知識結(jié)構(gòu)之間的互索引,KAG框架能夠更有效地管理和利用知識,提高問答任務(wù)的準確性和效率?;ニ饕膶崿F(xiàn)如下:

語義分塊

語義分塊是互索引機制的第一步,旨在將原始文檔分割成具有語義一致性的文本塊。這些文本塊不僅符合長度限制(特別是為了適應(yīng)大型語言模型LLM的上下文窗口大小),還具有語義一致性,確保每個塊內(nèi)的內(nèi)容在主題上是連貫的。

  • 定義Chunk EntityType:在RC(原始塊層)中定義了Chunk EntityType,包含字段如id、summarymainText。每個經(jīng)過語義分割后的塊將被寫入一個Chunk實例中。
  • 生成唯一標識符:id是一個復(fù)合字段,由articleID、paraCodeidInPara通過連接符#拼接而成。這確保連續(xù)的塊在id空間中也相鄰。具體來說:articleID表示全局唯一的文章ID;paraCode表示文章中的段落代碼;idInPara是段落內(nèi)每個塊的順序編碼。
  • 維護文檔與塊的雙向關(guān)系:在原始文檔和其分段塊之間建立并維護雙向關(guān)系,便于在不同粒度的文檔內(nèi)容之間進行導(dǎo)航和上下文理解。

帶有更多描述性上下文的信息提取

在給定數(shù)據(jù)集的基礎(chǔ)上,使用LLM從數(shù)據(jù)集中提取實體、事件、概念和關(guān)系,構(gòu)建圖片,并構(gòu)建圖片與 RC 之間的互索引結(jié)構(gòu),通過實體和關(guān)系實現(xiàn)跨文檔鏈接。

  • 實體提?。褐饓K提取實體集合圖片
  • 事件提?。禾崛∨c所有實體相關(guān)聯(lián)的事件集合圖片,并迭代提取所有實體之間的關(guān)系集合圖片。
  • 超類關(guān)系提?。和瓿蓪嵗c其spgClass之間的所有超類關(guān)系。
  • 生成內(nèi)置屬性:為了后續(xù)的知識對齊階段提供便利,并解決 Wikidata和 ConceptNet等知識短語識別度低的問題,在實體提取階段,使用 LLMs 為每個實例 e 生成內(nèi)置屬性描述、摘要、semanticType、spgClass、描述 semanticType,根據(jù) e.description、e.summary 的結(jié)構(gòu)將它們存儲在 e 實例存儲中,并按照<e, belongTo, semanticType>和<e, hasClass, spgClass>的結(jié)構(gòu)進行組織。

領(lǐng)域知識注入和約束

當開放信息抽?。╫penIE)應(yīng)用于專業(yè)領(lǐng)域時,可能會引入不相關(guān)的噪聲。這些噪聲和不相關(guān)的語料庫可能會顯著降低LLMs的性能。KAG通過以下方法解決這一問題:

  • 領(lǐng)域術(shù)語和概念注入:首先將存儲領(lǐng)域概念和術(shù)語及其描述到KG存儲中。然后,通過openIE提取文檔中的所有實例,并通過向量檢索獲取所有可能的概念和術(shù)語集合圖片。最后,將圖片添加到提取提示中,再次提取以獲得與領(lǐng)域知識更對齊的實例集合圖片。
  • 模式約束提取:在垂直專業(yè)領(lǐng)域中,如藥品說明書、體檢報告、政務(wù)、在線訂單數(shù)據(jù)、結(jié)構(gòu)化數(shù)據(jù)表等,文檔之間的數(shù)據(jù)結(jié)構(gòu)具有強烈的一致性,更適合進行有模式約束的信息提取,并且結(jié)構(gòu)化提取也便于知識管理和質(zhì)量提升。對于同一實體類型,如 Person,可以預(yù)定義屬性和關(guān)系,如 name、gender、placeOfBirth、(Person, hasFather, Person)、(Person, hasFriend, Person),也可以直接通過 openIE 提取三元組,如(Jay Chou, spgClass, Person)、(Jay Chou, constellation, Capricorn)、(Jay Chou, record company, Universal Music Group)。
  • 按文檔類型預(yù)定義知識結(jié)構(gòu):針對標準化的專業(yè)文檔(如藥品說明書、政務(wù)文件、法律定義等),每種類型的文檔可以定義為一個實體類型,不同段落作為該實體的不同屬性。例如,政務(wù)文件可以預(yù)定義GovernmentAffair EntityType及其屬性,如行政區(qū)劃、服務(wù)流程、所需材料、服務(wù)地點和目標群體等。這樣,在回答特定問題時可以直接提取對應(yīng)屬性的塊來避免LLMs重新生成可能導(dǎo)致的幻覺。

文本塊向量與知識結(jié)構(gòu)的互索引

KAG的互索引是一種符合LLMFriSPG語義表示的知識管理和存儲機制,包括四個核心數(shù)據(jù)結(jié)構(gòu)和兩個存儲結(jié)構(gòu):

核心數(shù)據(jù)結(jié)構(gòu):

  • Shared Schemas共享模式:在項目級別預(yù)定義的粗粒度類型,包括EntityTypes、ConceptTypes和EventTypes,作為高級分類,如Person、Organization、GEOLocation等。
  • Instance Graph實例圖:包括圖片圖片中所有事件和實體實例,通過無模式或有模式約束的openIE構(gòu)建的實例都存儲在KG存儲中。
  • Text Chunks文本塊:符合Chunk EntityType定義的特殊實體節(jié)點。
  • Concept Graph概念圖:知識對齊的核心組件,由一系列概念和概念關(guān)系組成,概念節(jié)點也是實例的細粒度類型。通過關(guān)系預(yù)測,實例節(jié)點可以鏈接到概念節(jié)點,獲取其細粒度語義類型。

存儲結(jié)構(gòu):

  • KG Store:在LPG數(shù)據(jù)庫(如TuGraph、Neo4J)中存儲KG數(shù)據(jù)結(jié)構(gòu)。
  • Vector Store:在向量存儲引擎(如ElasticSearch、Milvus或LPG引擎嵌入的向量存儲)中存儲文本和向量。

4、KAG-Builder Pipeline

KAG-Builder主要目標:1)在圖結(jié)構(gòu)與文本塊之間構(gòu)建互索引,為圖結(jié)構(gòu)提供更豐富的描述性上下文;2)利用概念語義圖對不同粒度的知識進行對齊,減少噪聲,增強圖的連通性。

KAG-Builder在處理領(lǐng)域非結(jié)構(gòu)化文檔的pipeline如下,由三個連貫步驟組成:結(jié)構(gòu)化信息獲取、知識語義對齊和圖存儲寫入。

圖片

結(jié)構(gòu)化信息獲取

目標:從非結(jié)構(gòu)化的文本數(shù)據(jù)中提取出結(jié)構(gòu)化的信息,如實體、關(guān)系及事件等。

方法:首先使用信息抽取技術(shù)(例如開放信息抽取OpenIE)來識別文本中的短語和三元組(subject-predicate-object)。這一步驟生成了初步的知識表示,為后續(xù)處理奠定了基礎(chǔ)。

知識語義對齊

目標:確保提取的信息能夠在語義層面正確地映射到現(xiàn)有的知識體系中,解決歧義問題并整合冗余信息。

方法:接下來,進行語義對齊以消除多義詞或同義詞帶來的混淆,并將不同來源的數(shù)據(jù)融合成統(tǒng)一的知識表示。此階段還包括對提取信息的質(zhì)量控制,減少噪聲,提高圖的連通性和一致性。

圖存儲寫入

目標:最終將經(jīng)過處理的知識表示保存下來,以便后續(xù)查詢和應(yīng)用。

方法:完成上述兩步后,構(gòu)造的知識圖譜會被寫入持久化存儲系統(tǒng)中,形成可以被高效訪問的知識庫。

下圖是一個 KAG Builder 的示例:

5、KAG-Solver

圖片

邏輯形式求解器(Logical Form Solver)是KAG框架中用于解決復(fù)雜問題的關(guān)鍵組件,通過三個核心步驟——規(guī)劃、推理和檢索,將自然語言問題轉(zhuǎn)化為可以由系統(tǒng)處理的邏輯表達式,并通過多輪迭代機制確保對問題的全面解答。

邏輯形式語言的優(yōu)勢

克服傳統(tǒng)RAG(Retrieval-Augmented Generation)中模塊間互動依賴于自然語言向量表示帶來的偏差,邏輯形式求解器引入了一種具備推理與檢索功能的可執(zhí)行語言。這種語言具有以下三大優(yōu)勢:

  • 增強嚴謹性和可解釋性:采用符號語言,增強了問題拆解和推理過程的嚴格性和透明度。
  • 充分利用層次化表示:利用LLMFriSPG的層次化表示,通過符號圖結(jié)構(gòu)引導(dǎo)事實和文本知識的檢索,提高了信息獲取的精準度。
  • 簡化系統(tǒng)復(fù)雜度:整合了問題拆解與檢索流程,減少了系統(tǒng)設(shè)計的復(fù)雜性,降低了錯誤傳播的風險。

圖片

下圖是一個該框架下的多輪對話情景示例:

  • 首輪對話中,盡管無法精確得知瘟疫發(fā)生的次數(shù),但提取的信息顯示:“威尼斯,這位音樂巨匠維瓦爾第的誕生地,曾遭受過毀滅性的黑死病侵襲,也就是人們常說的大瘟疫。這場由鼠疫桿菌引發(fā)的瘟疫在歐亞大陸造成了 7500 萬至 2 億人的死亡,尤其在 1347 至 1351 年的歐洲達到了頂峰。這場瘟疫給歐洲帶來了劇烈的動蕩。雖然威尼斯沒有詳細的瘟疫發(fā)生記錄,但可以肯定的是,這座城市在 14 世紀中期受到了沖擊?!?。
  • 經(jīng)過兩輪迭代后,最終確定瘟疫在威尼斯發(fā)生了 22 次。

圖片

邏輯形式規(guī)劃

邏輯形式規(guī)劃(Logical Form Planning)是將復(fù)雜問題分解為多個邏輯表達式的過程,每個邏輯表達式代表一個子問題,可以通過執(zhí)行特定的函數(shù)來解決。其主要任務(wù)包括定義問題結(jié)構(gòu)、明確每個子問題的邏輯形式,并建立子問題之間的依賴關(guān)系。目的是將復(fù)雜問題拆解成一系列可執(zhí)行步驟,以便后續(xù)推理和檢索過程可以逐一解決這些子問題。

如表所示,邏輯函數(shù)是一系列執(zhí)行動作表示。通過精心規(guī)劃這些表達式的組合,可以將復(fù)雜問題拆解,進而推理出精細的解決方案。

圖片

  • 檢索:用于從知識圖譜中檢索實體或事件實例。接受主體(s)、謂詞(p)和客體(o)作為參數(shù),還可以指定屬性值來進行更精確的搜索。
    示例:
Retrieval(s=s1:Event[applying for a disability certificate], p=p1:support_chunks, o=o1:Chunk, s.locatinotallow=West Lake, Hangzhou)
  • 排序:用于對檢索結(jié)果進行排序,可以選擇限制返回的結(jié)果數(shù)量。A代表檢索到的SPO(主體-謂語-賓語)的變量名(si, oi, 或 s.prop, p.prop, o.prop)。direction定義排序方向,direction = min表示升序,direction = max表示降序。limit = n表示輸出前N個結(jié)果。
    示例:
Sort(A=si, directinotallow=min, limit=5)
  • 數(shù)學(xué):支持基于LaTeX語法的表達式,可用于對集合執(zhí)行計數(shù)、求和等操作。
    示例:
Math(expressinotallow="sum(x_i)", set={x_1, x_2, ..., x_n})
  • 推理:根據(jù)檢索或計算結(jié)果回答問題。A、B可以是檢索到的SPO的變量名或常數(shù)。運算符op = entailment|greater|less|equal分別表示A蘊含B、A大于B、A小于B和A等于B。
    示例:
Reasoning(A=si, B=oi, op=entailment)

邏輯形式推理

邏輯形式推理(Logical Form Reasoning)利用邏輯形式表達的問題進行推理和檢索。其主要任務(wù)是根據(jù)邏輯表達式中的信息,從知識圖譜中檢索相關(guān)知識,并進行邏輯推理,最終生成答案。它關(guān)注如何通過邏輯函數(shù)和知識圖譜中的信息來解決每個子問題,并整合這些結(jié)果以生成最終答案。

解決邏輯模糊性:當自然語言表述的查詢語句用于搜索時,往往存在邏輯上的模糊性,例如“尋找含有蔬菜或水果的圖片”與“尋找含有蔬菜和水果的圖片”。這兩類查詢雖然相似度極高,但它們的答案可能截然不同。對于涉及邏輯運算符(如“與”、“或”、“非”以及交集和差集)的問題,邏輯形式推理能夠準確區(qū)分不同邏輯條件下的查詢意圖,確保檢索結(jié)果符合用戶的真實需求。

圖片

在此過程中,GraphRetrieval 模塊依據(jù)邏輯形式子句執(zhí)行知識圖譜結(jié)構(gòu)檢索,獲取結(jié)構(gòu)化的圖結(jié)果。另一個關(guān)鍵模塊 HybridRetrieval 則結(jié)合自然語言表述的子問題和邏輯函數(shù),全面檢索文檔和子圖信息。

圖片

邏輯形式檢索

傳統(tǒng)的檢索方法依賴于計算問題和文檔片段之間的相似度,通常采用稀疏編碼(如BM25)和稠密編碼(如基于BERT架構(gòu)的預(yù)訓(xùn)練語言模型)。這兩種方法在捕獲的相關(guān)特征上有所不同,因此可以在實踐中相互補充,提高檢索效果。

目前,將這兩種方法結(jié)合的常見做法是將兩種搜索方式的得分進行集成,但在實際操作中,不同問題可能需要不同的搜索策略,尤其是在需要多跳推理的問題上。當查詢包含專有名詞、人物、地點、時間、數(shù)字和坐標時,預(yù)訓(xùn)練模型的表現(xiàn)力可能受限,此時需要更精確的文本索引。而對于更接近文本段落表達的查詢,如場景描述、行為動作和抽象概念,這兩種方法可能會在某些問題中結(jié)合使用。

在設(shè)計邏輯形式時,可以有效地融合這兩種檢索方法。當需要將關(guān)鍵字信息作為明確的過濾條件時,可以在檢索函數(shù)中指定選擇條件,實現(xiàn)結(jié)構(gòu)化檢索。

例如,對于查詢“在杭州西湖區(qū)申請殘疾證需要哪些文件?”,檢索函數(shù)可以表示為:

Retrieval(s=s1:Event[applying for a disability certificate], p=p1:support_chunks, o=o1:Chunk, s.locatinotallow=West Lake, Hangzhou)

這種方法利用建立不同的索引(稀疏或密集)來支持精確搜索或根據(jù)需求進行模糊搜索。

此外,當無法使用邏輯函數(shù)檢索以 SPO 形式存在的結(jié)構(gòu)化知識時,可以采用其他方法。包括半結(jié)構(gòu)化檢索,即利用邏輯函數(shù)搜索信息塊,以及非結(jié)構(gòu)化檢索。非結(jié)構(gòu)化檢索涵蓋了如增強型檢索(RAG),通過自然語言表達的子問題來檢索相關(guān)的文本塊。

多輪解題機制

受ReSP(Reflective Solving Process)啟發(fā),邏輯形式求解器設(shè)計了一個基于反思和全局記憶的多輪解題機制。這個機制的工作流程如下:

初始化:將當前問題分解為一系列邏輯形式的子問題列表(list),并通過混合推理逐一嘗試解決問題。

多跳推理:如果可以通過結(jié)構(gòu)化知識的多跳推理直接得到確切答案,則立即返回結(jié)果。

反思和存儲:若無法直接獲得答案,系統(tǒng)會將與子問題列表相關(guān)的答案和檢索結(jié)果存入全局記憶,并評估是否已經(jīng)解決了原始問題。

迭代提問:如果問題仍未完全解決,系統(tǒng)將基于現(xiàn)有信息生成新的補充問題,并進入下一輪迭代,直到找到滿意的答案為止。

6、知識對齊

傳統(tǒng)方法如信息提取與基于向量相似度的檢索在知識對齊方面存在三個主要缺陷:

  • 知識間語義關(guān)系錯位:正確答案與查詢之間通常需要特定的語義關(guān)系,例如“包含”、“導(dǎo)致”和“屬于”。但檢索過程依賴的相似性是一種缺乏屬性和方向的弱語義度量,這可能導(dǎo)致內(nèi)容檢索不精確。
  • 知識粒度不一致:開放信息抽取帶來的知識粒度差異、噪聲和不相關(guān)性問題對知識管理構(gòu)成了巨大挑戰(zhàn)。語言多樣性導(dǎo)致眾多同義詞或類似節(jié)點,降低了知識元素間的連通性,影響了檢索召回率。
  • 與領(lǐng)域知識結(jié)構(gòu)不匹配:特定領(lǐng)域內(nèi)缺乏有組織、系統(tǒng)化的知識,使得本應(yīng)相互關(guān)聯(lián)的知識呈現(xiàn)碎片化,導(dǎo)致檢索內(nèi)容缺乏專業(yè)性和連貫性。

為了解決這些問題,KAG提出通過語義推理利用概念圖來增強離線索引和在線檢索的方法,具體包括以下任務(wù):

  • 知識實例標準化:確保每個實例都有統(tǒng)一的標準表示,減少因表達方式不同而產(chǎn)生的歧義。
  • 實例到概念的鏈接:將具體實例鏈接到更廣泛的概念類型,提高系統(tǒng)的理解和推理能力。
  • 語義關(guān)系完善:通過引入更多類型的語義關(guān)系(如上位詞、下位詞等),豐富KG中的連接,使知識更加連貫。
  • 領(lǐng)域知識注入:針對特定領(lǐng)域,添加專業(yè)術(shù)語和概念,以減少垂直領(lǐng)域中知識粒度不匹配造成的噪聲問題,并提升專業(yè)知識的覆蓋范圍。

概念推理旨在充分利用向量檢索和邏輯形式推理的優(yōu)勢,結(jié)合前述知識結(jié)構(gòu)完成概念關(guān)系,從而提高領(lǐng)域知識圖譜的準確性和連通性。下表總結(jié)了檢索和推理通常需要的六種語義關(guān)系。

增強索引

通過語義推理增強索引的過程,實際是利用大語言模型預(yù)測索引項之間的語義關(guān)系或相關(guān)知識元素,涵蓋四種策略:

  • 知識實例的消歧和融合:利用實體的直接關(guān)聯(lián)和描述信息預(yù)測同義詞關(guān)系,形成實體的同義詞實例集。從同義詞集中確定目標實體,并應(yīng)用實體融合規(guī)則,將剩余實例的屬性和關(guān)系復(fù)制到目標實體,同時將其名稱添加為目標實體的同義詞,然后刪除這些剩余實例。
  • 預(yù)測實例與概念間的關(guān)系:對于每個知識實例(如事件、實體),預(yù)測其對應(yīng)的概念,并添加推導(dǎo)出的三元組<ei, belongTo, cj>到知識索引中。例如:<Chamber, belongTo, Legislative Body>表示Chamber屬于Legislative Body類別。
  • 完善概念及其相互關(guān)系:在提取過程中,利用概念推理來完善語義類型和spgClass之間的所有上位詞和isA關(guān)系。例如,得知Chamber的語義類型是Legislative Body,其spgClass是Organization后,通過語義完善可以得出<Legislative Body, isA, Government Agency>, <Government Agency, isA, Organization>,從而增強KGfr空間的三元組信息完整性和節(jié)點間的緊密連通性。
  • 描述性文本信息添加:在提取階段為每個實例、概念或關(guān)系添加詳細的描述性文本信息,以提高其可解釋性和上下文相關(guān)性,便于后續(xù)的推理和理解。

增強檢索

在檢索階段,使用語義關(guān)系推理根據(jù)邏輯形式中的短語和類型來搜索知識圖譜索引。對于邏輯形式中提到的類型或關(guān)系,采用結(jié)合語義關(guān)系推理與相似度檢索的方法,替代傳統(tǒng)的單純相似度檢索方法。這種檢索方法使檢索路徑更加專業(yè)和邏輯化,從而獲得更正確的答案。

  • 混合推理進行精確的類型匹配和實體鏈接:如果類型匹配失敗,則進行語義推理。例如,如果類型Political Party匹配失敗,則使用語義推理預(yù)測Political Party包含Political Faction,并從Political Faction開始進行推理或路徑計算。
  • 邏輯形式求解器的應(yīng)用:使用邏輯形式求解器解析自然語言查詢,將其轉(zhuǎn)化為一系列邏輯表達式,并通過多輪迭代機制確保全面解答問題。例如,對于查詢“在杭州西湖區(qū)申請殘疾證需要哪些文件?”,首先嘗試直接檢索相關(guān)文檔;若未找到確切答案,則生成新的子問題(如“杭州市有關(guān)殘疾證申請的規(guī)定有哪些?”),繼續(xù)迭代直至找到滿意的答案。

7、KAG Model

KAG 涵蓋了兩個核心計算流程:離線構(gòu)建索引和在線處理查詢與生成答案

  • 離線構(gòu)建索引:涉及對大量非結(jié)構(gòu)化數(shù)據(jù)進行處理,提取實體、關(guān)系等信息,并將其轉(zhuǎn)換為結(jié)構(gòu)化的知識表示。
  • 在線處理查詢與生成答案:接收用戶的自然語言查詢,解析查詢意圖,檢索相關(guān)知識,并生成最終答案。

在小規(guī)模語言模型盛行的時代,這些任務(wù)通常需要兩個獨立的處理流程,每個流程都包含多個特定任務(wù)的 NLP 模型。這種設(shè)計不僅增加了應(yīng)用系統(tǒng)的復(fù)雜性,提高了搭建成本,還因為模塊間的錯誤傳播而不可避免地帶來了級聯(lián)損失。與此相對,KAG利用大語言模型(LLM)的能力,將多個推理過程融合為一個統(tǒng)一的、同步的端到端推理過程,從而提高了系統(tǒng)的效率和準確性。

這兩個流程都可以概括為以下幾個步驟:

  • 分類、實體識別和實體關(guān)系識別:屬于自然語言理解(NLU),用于解析文本內(nèi)容。
  • 語義對齊和嵌入:歸類為自然語言推理(NLI),用于捕捉短語間的語義聯(lián)系。
  • 信息塊、實例或查詢聚焦的摘要:歸入自然語言生成(NLG),用于創(chuàng)建連貫的回答或總結(jié)。

自然語言理解

自然語言理解涵蓋了多個方面如文本分類、命名實體識別(NER)、關(guān)系抽取(RE)、事件抽取(EE)以及機器閱讀理解等。為了提升模型的理解力,KAG 收集了超過30個公共數(shù)據(jù)集,并進行了大規(guī)模指令重構(gòu),設(shè)計了多種指令合成策略來增強模型的表現(xiàn):

  • 標簽打包:此策略關(guān)注于標簽引導(dǎo)任務(wù),旨在根據(jù)標簽提取文本或?qū)⑽谋居成涞教囟撕?,涵蓋分類、NER、RE 和 EE 等任務(wù)。如果數(shù)據(jù)集中的標簽在訓(xùn)練集內(nèi)頻繁共同出現(xiàn),模型可能會學(xué)習到這一模式,從而過度擬合數(shù)據(jù)集,無法獨立理解每個標簽的含義。因此,在指令合成過程中,采用投票策略,每個訓(xùn)練樣本僅指定一個標簽作為桶的一部分。同時,鑒于某些標簽語義相近且易混淆,將這些易混淆的標簽歸入同一桶中,幫助模型更有效地學(xué)習這兩個標簽之間的語義差異。
  • 靈活多樣的輸入輸出格式:LLM 通過遵循指令進行推理,若輸入輸出格式過于一致,可能導(dǎo)致模型過度擬合特定任務(wù),缺乏對未知格式的泛化能力。因此,對輸入輸出格式進行了靈活處理。輸出被設(shè)計為五種不同的格式化指令和兩種自然語言指令。此外,輸出格式可以動態(tài)指定為 markdown、JSON、自然語言或示例中指定的任何格式。
  • 帶有任務(wù)指南的指令:傳統(tǒng) NLP 訓(xùn)練常采用“問題海洋”策略,訓(xùn)練集中包含大量數(shù)據(jù),使模型在學(xué)習過程中理解任務(wù)需求,例如在提取人名時是否包括職位。在 LLM 訓(xùn)練中,讓模型像專業(yè)標注員一樣,通過理解任務(wù)描述來執(zhí)行任務(wù)。

對于收集到的 NLU 任務(wù),通過 LLM 內(nèi)的自省過程總結(jié)任務(wù)描述,創(chuàng)建包含任務(wù)描述的訓(xùn)練數(shù)據(jù)。為增強任務(wù)多樣性,還采用啟發(fā)式策略改寫任務(wù)描述和答案,使模型能更準確地理解不同任務(wù)描述之間的差異,并根據(jù)指令完成任務(wù)。六個基礎(chǔ)模型(qwen2、llama2、baichuan2、llama3、mistral、phi3)經(jīng)過微調(diào)后,在下游任務(wù)中表現(xiàn)出更強的NLU能力。性能驗證結(jié)果顯示,這些模型在六個理解基準上取得了顯著改進。

圖片

自然語言推理

自然語言推理任務(wù)專注于推斷特定短語間的語義聯(lián)系,包括但不限于實體鏈接、消除歧義、分類體系擴展、上位詞識別和文本蘊含等。KAG 中的語義推理是核心能力之一,特別是在知識庫問答系統(tǒng)中,需要依賴于自然語言推理任務(wù)來進一步對齊或檢索相關(guān)信息。評估結(jié)果顯示,KAG模型在語義推理相關(guān)任務(wù)上取得了顯著提升,例如在上位詞識別任務(wù)中明顯優(yōu)于Llama3和ChatGPT-3.5,在通用邏輯推理任務(wù)上的表現(xiàn)也超越了Llama3。

圖片

自然語言生成

為了使生成的內(nèi)容更加貼近實際場景需求,KAG開發(fā)了兩種高效的微調(diào)方法:

  • K-LoRA 預(yù)訓(xùn)練:通過逆向操作知識提取流程,創(chuàng)建“三元組到文本”的生成任務(wù),讓模型學(xué)會識別KG注入的信息格式并習得目標領(lǐng)域的語言風格。
  • 與KG反饋的對齊(AKGF):借鑒RLHF方法,利用KG作為自動評估器提供反饋,優(yōu)化模型生成的答案。評分過程基于生成答案與KG中知識的匹配程度,獎勵由正確匹配的知識三元組數(shù)量決定。

實驗結(jié)果表明,這兩種方法在生物醫(yī)學(xué)問答數(shù)據(jù)集CMedQA和BioASQ上的生成性能有顯著提升。

圖片

視覺語言下游任務(wù)

傳統(tǒng)的檢索增強型系統(tǒng)通常包含展示模型、檢索器和生成模型等多個組件,導(dǎo)致系統(tǒng)復(fù)雜度高且存在級聯(lián)損失問題。為此,KAG提出了一種名為OneGen的高效單次統(tǒng)一生成和檢索模型,允許任何大型語言模型在一次前向傳遞中同時進行生成和檢索,通過增加特殊標記(即檢索標記)擴展原有詞匯表,并將檢索任務(wù)分配給自回歸生成的檢索標記。

在訓(xùn)練過程中,檢索標記僅通過對比學(xué)習參與表示微調(diào),其他輸出標記則按語言模型目標進行訓(xùn)練。在推理階段,利用檢索標記進行高效的按需檢索。不同于以往至少需要兩個模型分別負責檢索和生成的流水線方法,OneGen 將這兩者統(tǒng)一在一個模型中,從而省去了單獨的檢索器需求,大幅降低了系統(tǒng)復(fù)雜性。

實驗結(jié)果如表所示:

  • OneGen 在 R→G 任務(wù)中展現(xiàn)了出色的效果,聯(lián)合訓(xùn)練的檢索和生成在 RAG 任務(wù)上實現(xiàn)了性能提升。Self-RAG 賦予 LLMs 自我評估和自適應(yīng)檢索的能力,而 OneGen 進一步增加了自我檢索的功能。在所有數(shù)據(jù)集上均優(yōu)于原始的 Self-RAG,特別是在 Pub 數(shù)據(jù)集上提升了 3.1 個百分點,在 ARC 數(shù)據(jù)集上提升了 2.8 個百分點,證明了聯(lián)合訓(xùn)練的優(yōu)勢。
  • OneGen 在訓(xùn)練上極為高效,經(jīng)過指令微調(diào)的 LLMs 展現(xiàn)出強大的檢索能力,而且只需極少的額外調(diào)整。它需要的檢索數(shù)據(jù)更少且質(zhì)量要求更低,即使僅用 6 萬個噪聲樣本和不完整的文檔,也能實現(xiàn)與合成數(shù)據(jù)相當?shù)男阅堋?/span>

8、實驗結(jié)果

主要結(jié)果

RAG框架性能比較:在使用ChatGPT-3.5作為骨干模型的RAG框架中,基于圖方法的HippoRAG的性能優(yōu)于NativeRAG。

KAG框架性能提升:KAG框架在EM和F1分數(shù)上均顯著優(yōu)于IRCoT + HippoRAG。這些提升主要歸功于KAG框架中更有效的索引、知識對齊和混合求解庫的開發(fā)。

檢索性能比較:多步檢索器通常優(yōu)于單步檢索器。單步檢索器檢索到的內(nèi)容相似度很高,無法為需要推理的數(shù)據(jù)提供答案。多步檢索器緩解了這一問題。KAG框架直接使用多步檢索器,并通過互索引、邏輯形式求解和知識對齊等策略顯著提升了檢索性能。

圖片

消融實驗

先看結(jié)論:

  • 知識對齊:顯著提升了召回率和圖的連通性,增強了知識的語義區(qū)分和實例間的連通性。
  • 邏輯形式求解器:通過多步驟查詢分解和SPO三元組整合,顯著提高了召回率,但計算時間增加。
  • F1指標:LFSref3在計算時間減少的情況下,F(xiàn)1指標略有下降,但整體性能仍然優(yōu)于LFSHref3。
  • 迭代次數(shù):增加迭代次數(shù)可以提高解決方案的完整性和準確性,但會增加計算時間。

引入知識對齊(K_Alignment)后,各項評價指標均有大幅提升,說明知識對齊顯著增強了知識的語義區(qū)分。

圖片

圖片

通過圖9可以看到,知識對齊也提升了圖的連通性和實例間的連通性。1跳圖顯著右移,表明語義結(jié)構(gòu)的添加增加了每個節(jié)點的鄰居數(shù)量,增強了圖的密度。2跳和3跳圖分布不均,左側(cè)稀疏,右側(cè)密集,與增強知識對齊前相比,每個數(shù)據(jù)集的頂點都向右移動,左側(cè)變得更稀疏,表明節(jié)點獲得了新的多跳鄰居。

圖片

由圖8可以看到,CRref3在執(zhí)行時間上表現(xiàn)最佳,但在召回率和F1分數(shù)上不如LFSref3和LFSHref3。LFSHref3雖然在召回率上表現(xiàn)最好,但計算時間較長。LFSref3在提高召回率的同時,保持了相對較高的計算效率,是一個在工業(yè)應(yīng)用中較為可行的選擇。

圖片

注:

  • CRrefn (Chunks Retriever):為基線檢索策略,目標是召回能夠支持當前問題解答的前k個文檔片段,n為多輪反思迭代數(shù)。
  • LFSrefn(Logical Form Solver with Graph Retrieval):采用預(yù)定義的邏輯形式解析并回答問題。
  • LFSHrefn(Logical Form Solver with Hybrid Retrieval):為了充分利用KGfr和RC之間的互索引結(jié)構(gòu),進一步探索KG結(jié)構(gòu)對chunk檢索的增強作用,修改了LFSre fn以禁用直接推理的圖檢索功能,轉(zhuǎn)而全部答案均通過混合檢索方法產(chǎn)生。

9、總結(jié)

KAG 等 “圖譜 + RAG” 框架的本質(zhì),是通過知識圖譜的結(jié)構(gòu)性先驗彌補 LLM 的 “認知不確定性”,但其效果高度依賴場景特性:

  • 適合場景:需要多跳邏輯推理、結(jié)構(gòu)化知識查詢、長程依賴建模的任務(wù)(如法律條文解析、科學(xué)實驗設(shè)計);
  • 謹慎場景:純文本摘要、低復(fù)雜度事實問答(如 “天氣查詢”),此時輕量化 RAG 或更高效;
  • 禁忌場景:需實時動態(tài)知識(如股票行情)、強創(chuàng)意生成(如文學(xué)創(chuàng)作),圖譜的靜態(tài)結(jié)構(gòu)可能限制靈活性。

隨著DeepResearch的研究,這類框架同樣可以和深度搜索融合,也許是未來可以研究的方向。

最后借鑒老劉說NLP的思考,來對比目前比較火的各基于圖+RAG的方案:

  • GraphRAG(MS) 通過層次聚類實現(xiàn)段落摘要的逐級生成,更關(guān)注答案生成的可理解性、完整性、多視角多跳問答等評測集量化指標較差,未提供邏輯符號推理的能力,適用摘要生成類任務(wù);
  • LightRAG 通過rdf五元組(帶類型)抽取完成圖譜構(gòu)建 。問答階段,通過對query 中所包含實體、實體歸屬的概念實現(xiàn)Chunk召回,未利用語義、邏輯、符號等圖譜技術(shù)棧,適合摘要生成類任務(wù);
  • HippoRAG 通過rdf抽取+語義相似拉邊,完成圖譜構(gòu)建,問答階段,通過dpr+ppr實現(xiàn)Chunk召回。未利用語義、邏輯、符號等圖譜技術(shù)棧。適合事實問答類任務(wù);
  • OpenSPG-KAG 基于知識抽取、語義對齊、文本&圖互索引等完成圖譜知識庫構(gòu)建,基于邏輯符號引導(dǎo)的混合推理, 實現(xiàn)事實問答&邏輯推理類任務(wù)。適合事實問答類任務(wù)+邏輯推理類任務(wù)。
責任編輯:龐桂玉 來源: 小白學(xué)AI算法
相關(guān)推薦

2024-09-12 13:50:00

模型訓(xùn)練

2025-04-27 02:22:00

MCP大模型Agent

2024-05-28 09:24:32

2025-02-11 08:00:00

大語言模型檢索增強生成CAG

2024-12-23 11:31:05

大模型檢索人工智能

2023-06-08 09:37:44

模型自動駕駛

2024-11-26 07:53:07

2023-10-14 17:46:17

RAG提示工程GPT-3

2025-02-28 09:25:03

2021-01-18 10:52:55

谷歌AI人工智能

2024-10-21 08:43:16

2024-01-15 08:17:00

模型技術(shù)

2022-07-19 16:03:14

KubernetesLinux

2020-02-08 18:44:46

剖析應(yīng)用層原理

2024-05-20 08:31:33

檢索增強生成LLM大型語言模型

2023-03-31 09:34:37

深度學(xué)習算法

2020-11-16 10:47:14

FreeRTOS應(yīng)用嵌入式

2024-10-31 14:46:31

點贊
收藏

51CTO技術(shù)棧公眾號