国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30

這篇具有很好參考價(jià)值的文章主要介紹了KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理

摘要

大型語言模型(LLM)在自然語言處理領(lǐng)域展現(xiàn)出了令人印象深刻的影響,但它們?nèi)匀辉趲讉€(gè)方面存在問題,例如完整性、及時(shí)性、忠實(shí)度和適應(yīng)性。盡管最近的研究工作集中在將LLM與外部知識(shí)源進(jìn)行連接,但知識(shí)庫(KB)的整合仍然研究不足且面臨多個(gè)挑戰(zhàn)。
本文介紹了KnowledGPT,這是一個(gè)全面的框架,用于將LLM與各種知識(shí)庫連接起來,促進(jìn)知識(shí)的檢索和存儲(chǔ)。

檢索過程采用了思維啟發(fā)程序,它以代碼格式生成用于KB的搜索語言,并具有預(yù)定義的KB操作功能。
除了檢索,KnowledGPT還提供了將知識(shí)存儲(chǔ)在個(gè)性化知識(shí)庫中的能力,以滿足個(gè)體用戶的需求。

通過廣泛的實(shí)驗(yàn)證明,通過將LLM與KB整合,KnowledGPT能夠比純粹的LLM更好地回答需要世界知識(shí)的更廣泛的問題,利用廣為人知的知識(shí)庫中已有的知識(shí)以及提取到個(gè)性化知識(shí)庫中的知識(shí)

引言

大型語言模型(LLMs)在各種自然語言處理(NLP)任務(wù)中取得了重大影響,如翻譯,摘要和問答,同時(shí)還處理了來自現(xiàn)實(shí)世界用戶的各種請(qǐng)求。它們卓越的能力源于不斷增加的參數(shù)和訓(xùn)練數(shù)據(jù),這使得它們具有龐大的知識(shí)和新興能力,如思維鏈推理和上下文學(xué)習(xí)。然而,LLMs在處理事實(shí)知識(shí)方面仍然存在困難,包括完整性、及時(shí)性、忠實(shí)性和適應(yīng)性等問題。

  1. LLMs在及時(shí)更新和領(lǐng)域?qū)I(yè)知識(shí)方面存在局限性。
  2. 這些模型可能生成不忠實(shí)或“幻覺”知識(shí),引發(fā)可靠性和倫理方面的擔(dān)憂。
  3. 由于成本和可訪問性等限制,LLMs幾乎無法通過持續(xù)訓(xùn)練來納入新知識(shí),這妨礙了調(diào)整這些模型以適應(yīng)特定知識(shí)需求的能力。

因此,這些知識(shí)需求鼓勵(lì)對(duì)將LLMs與外部知識(shí)源進(jìn)行整合的全面研究。

為解決這個(gè)問題,最近已經(jīng)做出了一些努力,使LLMs能夠訪問插拔式知識(shí)源,如知識(shí)庫(KBs),搜索引擎,文檔記憶和數(shù)據(jù)庫,以為L(zhǎng)LMs提供世界知識(shí),通常通過LLM生成的API調(diào)用。本文專注于知識(shí)庫(KBs),這是一種特殊形式的知識(shí)源,具有以實(shí)體為中心的知識(shí),如關(guān)系三元組和實(shí)體描述。

一方面,已經(jīng)構(gòu)建了各種知識(shí)庫,以實(shí)現(xiàn)其在應(yīng)用程序中的實(shí)際有效性以及其表示的簡(jiǎn)潔性、表達(dá)性、可解釋性和可見性。另一方面,以前的方法主要集中在文檔語料庫上,但在應(yīng)用于知識(shí)圖譜時(shí)顯示出一些缺陷,如圖1所示(從文檔語料庫和知識(shí)庫中檢索結(jié)果的比較。在這種情況下,從語料庫中檢索的文檔沒有提供足夠的知識(shí)來回答查詢,而從知識(shí)庫中可以檢索到足夠相關(guān)的知識(shí))。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
因此,將LLMs與知識(shí)庫連接起來具有重要意義,但仍然未經(jīng)充分探索。

最近,一些工作嘗試將LLMs與知識(shí)庫連接起來。Toolformer查詢維基百科以獲取感興趣實(shí)體的描述信息以回答相關(guān)問題。Graph-Toolformer和ToolkenGPT使LLMs對(duì)知識(shí)圖譜(如Freebase)進(jìn)行推理。RET-LLM通過從過去的對(duì)話中提取的關(guān)系三元組構(gòu)建個(gè)性化的知識(shí)圖譜內(nèi)存,供將來使用,與LangChain的KG Index和Llama Index的實(shí)際工作并行進(jìn)行。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
然而,在這個(gè)方向上仍然存在許多挑戰(zhàn),如圖2所示。

  1. LLMs在復(fù)雜和各種問題中瀏覽知識(shí)庫的過程仍然是一個(gè)問題,特別是對(duì)于需要跨多個(gè)和嵌套的KB條目獲取信息的多跳問題而言。
  2. 在知識(shí)庫中將實(shí)體和關(guān)系與文本提及對(duì)齊是一項(xiàng)具有挑戰(zhàn)性的任務(wù),因?yàn)樗鼈冃枰成涞綇V泛的自然語言表達(dá),并考慮到知識(shí)庫中的嚴(yán)重歧義。
  3. 雖然基于三元組的知識(shí)圖譜表示整潔且可解釋,但與自然語言相比,它只涵蓋有限的信息,這表明需要新的知識(shí)庫表示形式來供LLMs使用。

在這篇論文中提出了一個(gè)全面的框架——KnowledGPT,有效地將LLMs與各種知識(shí)庫連接起來,提高處理復(fù)雜問題、消歧和知識(shí)表示的能力。KnowledGPT實(shí)現(xiàn)了一個(gè)統(tǒng)一的訪問接口,用于在不同的知識(shí)庫上進(jìn)行操作,包括廣泛使用的公共知識(shí)庫和個(gè)性化知識(shí)庫存儲(chǔ)。KnowledGPT訪問以實(shí)體為導(dǎo)向的知識(shí),包括實(shí)體描述和關(guān)系三元組。
對(duì)于給定的查詢,KnowledGPT通過三個(gè)步驟進(jìn)行知識(shí)庫搜索:

  1. 搜索代碼生成、
  2. 搜索執(zhí)行
  3. 答案生成。

KnowledGPT采用了“思維程序”(PoT)提示的方式,通過生成委托搜索步驟并執(zhí)行的Python代碼與知識(shí)庫交互。該代碼封裝了用于訪問知識(shí)庫的函數(shù),例如實(shí)體鏈接。之后,KnowledGPT整合檢索到的知識(shí)生成響應(yīng)。如果KnowledGPT判斷問題不需要來自知識(shí)庫的知識(shí),或者檢索到的知識(shí)不足或不存在,問題將由LLM直接回答。此外,KnowledGPT還可以從以各種形式表示的非結(jié)構(gòu)化文本中提取知識(shí),以豐富個(gè)性化知識(shí)庫。

總的來說,本文的貢獻(xiàn)可以總結(jié)如下:

  1. 提出了KnowledGPT,一個(gè)全面的框架,使LLMs能夠從知識(shí)庫中檢索知識(shí)。它在處理復(fù)雜搜索和消歧等重要實(shí)際挑戰(zhàn)方面顯著推進(jìn)了LLMs和知識(shí)庫之間的協(xié)作。
  2. 提出了使用個(gè)性化知識(shí)庫作為L(zhǎng)LMs的符號(hào)記憶,將以實(shí)體為導(dǎo)向的知識(shí)封裝成三種形式的表示。與僅包含三元組的知識(shí)庫相比,這擴(kuò)大了符號(hào)記憶中的知識(shí)范圍。
  3. 通過實(shí)驗(yàn)證明了我們提出的方法的有效性。結(jié)果突出了將知識(shí)庫作為L(zhǎng)LMs的符號(hào)記憶的實(shí)用性和潛力。

2 相關(guān)研究

LLMs的外部知識(shí)和記憶 大型語言模型(LLMs),如GPT-4和LLaMA,在各種應(yīng)用中展示了令人印象深刻的性能。然而,它們?cè)诳紤]完整性、及時(shí)性、真實(shí)性和適應(yīng)性方面仍然存在困難。因此,最近的許多工作都致力于為L(zhǎng)LMs提供外部知識(shí)?;ヂ?lián)網(wǎng)增強(qiáng)語言模型,以及新的Bing和ChatGPT“Browse with Bing”插件,允許LLMs通過搜索引擎或網(wǎng)絡(luò)瀏覽器訪問最新信息。像REALM這樣的檢索增強(qiáng)方法,,RAG通過文檔語料庫增強(qiáng)LLMs,這也越來越多地被最近流行的LLMs(如ChatGPT)采用作為記憶單元。ChatDB通過數(shù)據(jù)庫作為符號(hào)記憶來增強(qiáng)LLMs。

LLMs的知識(shí)庫 一些最近的研究致力于通過外部KB增強(qiáng)LLMs的知識(shí),或者將KB作為符號(hào)記憶使用,通常是通過讓LLMs生成KB操作的API調(diào)用。Toolformer訓(xùn)練LLMs搜索維基百科中的實(shí)體文本。Graph-Toolformer使LLMs能夠在知識(shí)圖譜上進(jìn)行推理。然而,它跳過了實(shí)體鏈接步驟,因此需要實(shí)體id(如/m/053yx)作為輸入,而不是它們的名稱。ToolkenGPT保持LLMs凍結(jié),并為KB中的關(guān)系訓(xùn)練工具嵌入以支持關(guān)系查詢。RETTLLM與LangChain和Llama-Index的KG記憶類似,從用戶輸入中提取關(guān)系三元組并將其存儲(chǔ)在符號(hào)KG記憶中。與以前的工作相比,KnowledGPT支持各種知識(shí)表示以及公共和私有知識(shí)庫,如表1所示。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
基于知識(shí)的問答(KBQA) 是針對(duì)特定KG的自然語言查詢搜索答案實(shí)體或關(guān)系?,F(xiàn)有的KBQA系統(tǒng)主要基于語義解析或信息抽取,其中越來越多地涉及語言模型。語義解析方法利用語義解析器將自然語言查詢轉(zhuǎn)換為中間邏輯形式,如SPARQL和程序,然后在知識(shí)庫上執(zhí)行這些形式以獲取答案。然而,生成的邏輯形式通常是不可執(zhí)行的,因此無法得到正確的答案。Pangu訓(xùn)練了一個(gè)語言模型鑒別器來評(píng)估候選計(jì)劃的概率。信息抽取方法通常結(jié)合檢索和推理。這些方法在處理單跳檢索方面表現(xiàn)出有效性。然而,它們?cè)谔幚矶嗵鴻z索時(shí)面臨存儲(chǔ)和計(jì)算成本的挑戰(zhàn),其中每個(gè)添加的跳數(shù)關(guān)系數(shù)量呈指數(shù)增長(zhǎng)。

KnowledGPT與KBQA方法在兩個(gè)方面不同。
1)許多KBQA方法是專為關(guān)于知識(shí)圖譜中關(guān)系三元組的特定查詢而設(shè)計(jì)的,而KnowledGPT通過從知識(shí)庫中以各種形式增強(qiáng)LLMs來響應(yīng)各種用戶查詢。
2)KBQA方法通常在特定的數(shù)據(jù)集和知識(shí)圖譜上進(jìn)行訓(xùn)練,而KnowledGPT不需要訓(xùn)練,并且可以輕松適應(yīng)不同的LLMs和知識(shí)庫。

3方法

本節(jié)介紹了KnowledGPT,這是一個(gè)將LLMs與知識(shí)庫集成的綜合框架。首先給出了KnowledGPT的兩個(gè)任務(wù)的定義,即知識(shí)檢索和知識(shí)存儲(chǔ)(第3.1節(jié))。然后,詳細(xì)介紹了KnowledGPT的檢索過程(第3.2節(jié))和存儲(chǔ)過程(第3.3節(jié))的細(xì)節(jié)。

3.1 任務(wù)定義

KnowledGPT通過各種知識(shí)庫(包括個(gè)性化知識(shí)庫作為可寫入的符號(hào)記憶)為L(zhǎng)LMs提供外部知識(shí)。給定一個(gè)自然語言的用戶輸入,KnowledGPT承擔(dān)兩個(gè)主要任務(wù),即知識(shí)檢索和知識(shí)存儲(chǔ)。在知識(shí)檢索任務(wù)中,模型通過提供的知識(shí)庫搜索相關(guān)知識(shí)來回答用戶查詢。在知識(shí)存儲(chǔ)任務(wù)中,模型從用戶輸入中提取知識(shí)并將其插入個(gè)性化知識(shí)庫。

3.2 知識(shí)檢索

KnowledGPT采用了一個(gè)三步驟的過程來利用知識(shí)庫中的知識(shí)回答用戶查詢,如圖3所示。首先,它生成一段查詢特定知識(shí)庫訪問的搜索代碼作為邏輯形式。然后,執(zhí)行搜索代碼以檢索相關(guān)知識(shí)。最后,KnowledGPT讀取檢索到的知識(shí)并回答查詢。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
采用了思維程序(PoT)提示方法,它使用由LLMs生成的Python代碼作為搜索語言。在本文中,使用GPT-4作為L(zhǎng)LMs。代碼被封裝在一個(gè)搜索函數(shù)中,如圖3中的黃色部分所示,其中包括內(nèi)置的Python函數(shù)和三個(gè)自定義的KB函數(shù),用于促進(jìn)LLMs與知識(shí)庫的交互:

  1. get_entity_info:接受一個(gè)實(shí)體作為輸入,并返回其百科描述。
  2. find_entity_or_value:接受一個(gè)由實(shí)體和關(guān)系組成的查詢作為輸入,并輸出相應(yīng)實(shí)體或值的列表。
  3. find_relationship:接受兩個(gè)實(shí)體作為輸入,并返回它們之間的關(guān)系列表。

特別地,每個(gè)實(shí)體或關(guān)系都表示為候選別名的列表,而不是單個(gè)名稱,以有效處理同義詞。除了上述輸出之外,這些KB函數(shù)還返回一個(gè)記錄函數(shù)調(diào)用和結(jié)果的消息。然后,搜索函數(shù)的整體輸出是通過連接各個(gè)KB函數(shù)調(diào)用的消息獲得的。在第7節(jié)中顯示了提示信息。

然后,執(zhí)行搜索函數(shù)以從知識(shí)庫中檢索所需的知識(shí)。在執(zhí)行之前,代碼可能會(huì)進(jìn)行裝飾,例如添加try-except語句和特定于知識(shí)庫的訪問器對(duì)象,這在第3.2.1節(jié)中詳細(xì)說明。分別為每個(gè)知識(shí)庫執(zhí)行搜索函數(shù),并將它們的結(jié)果連接起來。

最后,將檢索到的知識(shí)提供給LLMs,并要求LLMs根據(jù)檢索到的知識(shí)回答用戶的查詢。在LLMs判斷問題不需要外部知識(shí)或檢索到的知識(shí)不足以回答查詢的情況下,LLMs將忽略檢索到的信息并獨(dú)立回答用戶查詢。

3.2.1 代碼實(shí)現(xiàn)

接下來,介紹執(zhí)行生成代碼的KB函數(shù)的實(shí)現(xiàn)。在兩個(gè)級(jí)別上實(shí)現(xiàn)這些函數(shù):統(tǒng)一級(jí)別和KB特定級(jí)別。

統(tǒng)一級(jí)別的函數(shù)提供了對(duì)不同KB的操作的統(tǒng)一接口。這些函數(shù)包括LLMs直接生成的三個(gè)KB函數(shù)(get_entity_info、find_entity_or_value、find_relationship),以及一個(gè)entity_linking函數(shù),用于將LLMs生成的實(shí)體別名與KB中的實(shí)體對(duì)齊。

在KB特定級(jí)別上的函數(shù)通過調(diào)用相應(yīng)的API對(duì)每個(gè)特定的KB執(zhí)行操作?;旧希恍枰獮槊總€(gè)KB實(shí)現(xiàn)三個(gè)函數(shù):_get_entity_info、_entity_linking和_get_entity_triples。在本文中,用下劃線在這些函數(shù)前面表示。

在執(zhí)行之前,對(duì)生成的代碼進(jìn)行裝飾。用try-except語句包裝代碼,這樣如果代碼在后續(xù)步驟中出現(xiàn)故障,搜索函數(shù)仍然可以返回成功步驟中的有價(jià)值的結(jié)果。此外,將用戶查詢作為全局變量傳遞給搜索函數(shù)。

3.2.2 實(shí)體鏈接

實(shí)體鏈接是將自然語言中的實(shí)體提及與知識(shí)庫中的實(shí)體對(duì)齊的重要步驟,對(duì)于將 LLMs 與知識(shí)庫集成起來是必不可少的。這是至關(guān)重要的,因?yàn)橐粋€(gè)實(shí)體可能會(huì)被不同的提及方式所引用(例如,Donald Trump 和 President Trump),而一個(gè)名詞短語也可以指代不同的實(shí)體(例如,the fruit apple 和 the tech company Apple)。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
entity_linking函數(shù)包括三個(gè)步驟,如圖4所示。
首先,調(diào)用KB特定的_entity_linking函數(shù)來獲取候選實(shí)體。它基本上以查詢和實(shí)體別名作為輸入,并利用對(duì)應(yīng)KB提供的實(shí)體鏈接API(同時(shí)包含實(shí)體名稱和上下文)和搜索API(僅包含實(shí)體名稱)來進(jìn)行操作。
其次,調(diào)用_get_entity_info函數(shù)(在第3.2.3節(jié)中介紹)來收集候選實(shí)體的信息。每個(gè)實(shí)體信息將被截?cái)酁樽畲箝L(zhǎng)度。
最后,向LLMs提供函數(shù)輸入(包括查詢、實(shí)體和關(guān)系的別名)以及候選實(shí)體及其信息,并讓LLMs確定最合適的實(shí)體。

3.2.3 獲取實(shí)體信息

get_entity_info函數(shù)用于檢索特定實(shí)體的信息。它首先使用entity_linking函數(shù)將實(shí)體別名鏈接到KB中的實(shí)體。隨后,它調(diào)用KB特定的_get_entity_info函數(shù),該函數(shù)返回KB中給定實(shí)體的信息,包括實(shí)體描述和三元組信息。調(diào)用_get_entity_triples函數(shù)來收集它的三元組信息。KB特定的_get_entity_info函數(shù)嵌套在entity_linking函數(shù)中,使其成為統(tǒng)一級(jí)別所有KB函數(shù)的一個(gè)組成部分。

3.2.4 查找實(shí)體或值

KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
給定一個(gè)由實(shí)體和關(guān)系組成的查詢,find_entity_or_value函數(shù)旨在檢索相應(yīng)的實(shí)體或?qū)傩灾?。該函?shù)經(jīng)歷了幾個(gè)步驟,如算法1所示。它首先調(diào)用entity_linking函數(shù)將實(shí)體別名與KB中的相應(yīng)實(shí)體關(guān)聯(lián)起來。然后,它調(diào)用內(nèi)部的_find_entity_or_value函數(shù),其中包括一個(gè)KB特定的_get_entity_triples函數(shù),用于檢索與實(shí)體相關(guān)的所有三元組。隨后,根據(jù)它們與輸入關(guān)系別名的相似性對(duì)這些三元組中的關(guān)系進(jìn)行排序。在這里,我們使用句子嵌入的余弦相似度來衡量相似性,而不是使用符號(hào)度量,這考慮了關(guān)系的同義詞。然后,我們選擇具有最高相似度分?jǐn)?shù)的關(guān)系,并從所有相應(yīng)的三元組中返回實(shí)體或?qū)傩灾?。為了提高我們方法的魯棒性,如果找不到三元組,我們將在實(shí)體描述中進(jìn)一步搜索關(guān)系。如果描述中存在該關(guān)系,我們返回相應(yīng)的句子。否則,我們返回整個(gè)描述,該描述可能仍然提供LLMs所需的相關(guān)細(xì)節(jié)。

3.2.5 查找關(guān)系

給定一個(gè)由兩個(gè)實(shí)體組成的查詢,find_relationship函數(shù)旨在檢索它們之間的關(guān)系。這個(gè)函數(shù)類似于find_entity_or_value。不同之處在于,在檢索第一個(gè)實(shí)體的三元組或?qū)嶓w信息后,find_relationship函數(shù)繼續(xù)搜索第二個(gè)實(shí)體,而不是關(guān)系。如果這次初始搜索失敗,函數(shù)會(huì)交換第一個(gè)實(shí)體和第二個(gè)實(shí)體,并再次進(jìn)行搜索。與關(guān)系相似度不同,我們通過Levenshitein距離d來衡量實(shí)體的相似性。如果兩個(gè)實(shí)體名稱有單詞重疊,實(shí)體相似性計(jì)算為100 - d,否則為0。

3.3 知識(shí)存儲(chǔ)

雖然公共知識(shí)庫提供了豐富的世界知識(shí),但仍無法涵蓋用戶感興趣的所有知識(shí)。為了滿足用戶的個(gè)人知識(shí)需求,KnowledGPT引入了個(gè)性化知識(shí)庫 (PKB),作為L(zhǎng)LMs的符號(hào)記憶,使用戶能夠存儲(chǔ)和訪問專業(yè)知識(shí)。PKB中的知識(shí)是從用戶提供的文檔中提取的。當(dāng)用戶想要將知識(shí)添加到PKB中時(shí),我們提示LLMs從提供的文檔中提取知識(shí),提示如Sec A所示。

考慮三種形式的知識(shí)表示,包括實(shí)體描述、關(guān)系三元組和實(shí)體-方面信息,如圖2所示。這與RET-LLM 、LangChain的KG-Index 和Llama Index中僅提取三元組的方法不同。實(shí)體描述和關(guān)系三元組在維基百科和維基數(shù)據(jù)等知識(shí)庫中得到了廣泛采用,但它們只代表了知識(shí)的一小部分。例如,當(dāng)想要了解蘇格拉底作為一名士兵的經(jīng)歷時(shí),蘇格拉底的維基百科頁面上的大部分內(nèi)容幾乎沒有幫助,也幾乎無法表示為三元組。因此,提出了額外的知識(shí)表示方法,稱為實(shí)體-方面信息,用于LLMs的符號(hào)記憶。它是三元組的變體,其中對(duì)象是一段長(zhǎng)文本,描述了一個(gè)實(shí)體和一個(gè)方面,可以通過實(shí)體和方面進(jìn)行檢索。例如,一個(gè)記錄可能以(“蘇格拉底”,“軍事服務(wù)”)索引,并對(duì)應(yīng)于描述"蘇格拉底曾擔(dān)任希臘重裝步兵…"。以這種形式表示的知識(shí)也可以通過 get_entity_or_value 函數(shù)進(jìn)行檢索。

考慮到PKB與公共知識(shí)庫相比規(guī)模較小,采用了不同的實(shí)體鏈接策略。主要有三個(gè)差異。
1)基于精確匹配和嵌入相似度定義了PKB的實(shí)體搜索API。嵌入相似度有助于識(shí)別廣為人知的實(shí)體別名,例如Chanelle Scott Calica和Shystie。
2)在提取過程中,提取的實(shí)體提及不會(huì)與PKB中的實(shí)體對(duì)齊。因此,一個(gè)實(shí)體可能在不同的文檔中被提取為不同的提及。因此,對(duì)于實(shí)體鏈接,KnowledGPT返回多個(gè)匹配的實(shí)體。
3)一個(gè)實(shí)體將被提取為一個(gè)別名列表,該列表將提供給LLMs進(jìn)行實(shí)體鏈接。

對(duì)于 get_entity_or_value 函數(shù),由于一個(gè)關(guān)系也可以被提取為不同的表達(dá)方式,選擇檢索相似度得分高于閾值的關(guān)系,而不是選擇得分最高的關(guān)系。

4 實(shí)驗(yàn)

在本節(jié)中,對(duì)KnowledGPT在不同設(shè)置下進(jìn)行了實(shí)驗(yàn),包括在流行的知識(shí)庫上手工創(chuàng)建多樣化的查詢(第4.2節(jié)),基于知識(shí)的問答(第4.3節(jié))以及將個(gè)性化知識(shí)庫作為L(zhǎng)LM的記憶(第4.4節(jié))。

4.1 實(shí)驗(yàn)設(shè)置

知識(shí)庫
KnowledGPT可以通過其統(tǒng)一的知識(shí)庫操作接口訪問各種知識(shí)庫。在本文中,我們主要考慮以下知識(shí)庫:

Wikipedia和Wikidata:Wikipedia提供了由全球志愿者維護(hù)的關(guān)于世界實(shí)體的豐富百科知識(shí)。Wikidata是對(duì)Wikipedia的補(bǔ)充,它以關(guān)系三元組的形式結(jié)構(gòu)化和組織這些百科知識(shí)。

CN-DBPedia:CN-DBPedia是一個(gè)大規(guī)模的、不斷更新的中文知識(shí)庫,從包括中文維基百科和百度百科在內(nèi)的多個(gè)來源中提取而來。CN-DBPedia既包含類似Wikipedia的實(shí)體描述,也包含類似Wikidata的關(guān)系三元組。

個(gè)性化知識(shí)庫:個(gè)性化知識(shí)庫被設(shè)計(jì)為L(zhǎng)LM的可寫入符號(hào)性記憶,用于存儲(chǔ)從用戶輸入中提取的即將到來的知識(shí)。

NLPCC 2016 KBQA知識(shí)庫:這個(gè)知識(shí)庫是為了評(píng)估模型在基于知識(shí)的問答任務(wù)方面而廣泛采用的。它包含4300萬個(gè)三元組。這個(gè)知識(shí)庫僅在第4.3節(jié)中使用。

在實(shí)際場(chǎng)景中,我們通過確定用戶查詢的語言來啟動(dòng)處理過程。對(duì)于英文查詢,我們使用Wikipedia、Wikidata和個(gè)性化知識(shí)庫。對(duì)于中文查詢,我們將CN-DBPedia與個(gè)性化知識(shí)庫結(jié)合使用。我們的方法也可以輕松擴(kuò)展到更多語言,并使用相應(yīng)語言的知識(shí)庫。

語言模型
在本文中,默認(rèn)使用強(qiáng)大的LLM GPT-4,通過OpenAI API進(jìn)行訪問。我們通過指令、要求和上下文示例來提示LLM,并要求LLM以json格式輸出。詳細(xì)的提示信息在附錄A中展示。對(duì)于句子嵌入,我們使用OpenAI的GPT text-embedding-ada-002模型。

4.2 流行知識(shí)庫上的查詢

為了評(píng)估KnowledGPT在涉及外部知識(shí)的真實(shí)用戶多樣化查詢方面的性能,針對(duì)CN-DBPedia的知識(shí)設(shè)計(jì)了11個(gè)問題。這些問題涵蓋了各種類型,包括單跳和多跳關(guān)系查詢、關(guān)系預(yù)測(cè)、多樣化指令、混合查詢和值比較。這些問題涉及流行實(shí)體和長(zhǎng)尾實(shí)體。具體示例請(qǐng)參見附錄B。使用GPT-4和ChatGPT作為基礎(chǔ)LLM對(duì)KnowledGPT進(jìn)行實(shí)驗(yàn),并以直接回答問題、生成代碼、實(shí)體鏈接和KnowledGPT答案的成功生成率進(jìn)行評(píng)估。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理

結(jié)果如表2所示。詳細(xì)的生成內(nèi)容請(qǐng)參見附錄B??梢杂^察到:

  • (1) GPT-4和ChatGPT本身在回答關(guān)于知名實(shí)體的查詢方面表現(xiàn)良好,但對(duì)于不常見的實(shí)體,它們經(jīng)常會(huì)產(chǎn)生幻覺。
  • (2) 使用GPT-4的KnowledGPT在代碼生成和實(shí)體鏈接等任務(wù)上表現(xiàn)出色,并最終用正確的知識(shí)回答用戶查詢,相比于GPT-4的普通回答有了顯著改進(jìn)。
  • (3) 然而,對(duì)于ChatGPT來說,中間步驟的成功率仍有待提高,這限制了KnowledGPT整體的效力。在代碼生成步驟中,ChatGPT有時(shí)會(huì)生成質(zhì)量較差的關(guān)系別名,尤其是對(duì)于多樣化或復(fù)雜的查詢。

這個(gè)比較表明,GPT-4在復(fù)雜指令理解、任務(wù)分解和代碼生成等方面明顯優(yōu)于ChatGPT。雖然還嘗試了像Llama-2-Chat-13B這樣的較小開源LLM,但它們難以直接提供準(zhǔn)確的答案,也無法生成格式良好的代碼并以JSON格式回應(yīng),這是KnowledGPT框架所要求的。

案例研究
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理

圖3展示了使用KnowledGPT回答問題“誰寫了《靜夜思》?”的完整過程,這需要進(jìn)行多跳知識(shí)檢索和推理。GPT-4給出的原始答案包含不真實(shí)的信息,這表明需要用精確的外部知識(shí)增強(qiáng)LLM。KnowledGPT生成了一段優(yōu)秀的代碼,首先查找《靜夜思》的作者,然后搜索作者的作品名稱。這展示了使用代碼解決多跳知識(shí)檢索的有效性。執(zhí)行代碼時(shí),它高效地檢索相關(guān)信息。最后,KnowledGPT整合檢索到的知識(shí)來正確回答查詢。盡管在中間步驟中可能存在噪聲,但KnowledGPT能夠很好地過濾噪聲并給出正確的答案。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
圖5展示了KnowledGPT中實(shí)體鏈接步驟的三個(gè)實(shí)例。這些示例清楚地表明,從外部知識(shí)庫的實(shí)體鏈接和搜索API返回的原始候選實(shí)體沒有很好的排序,甚至可能不包含正確的實(shí)體。因此,僅僅選擇排名靠前的實(shí)體可能會(huì)引入嚴(yán)重的噪聲。使用GPT-4從提供了信息的候選實(shí)體中進(jìn)行選擇。結(jié)果表明,GPT-4能夠熟練地識(shí)別出查詢的正確實(shí)體,當(dāng)沒有合適的選項(xiàng)時(shí),也能夠拒絕所有選項(xiàng)。

4.3 基于知識(shí)的問題回答

在零樣本基于知識(shí)的問題回答(KBQA)上評(píng)估了KnowledGPT。KBQA是一個(gè)廣泛研究的領(lǐng)域,旨在回答與知識(shí)庫中特定關(guān)系三元組相關(guān)的自然語言問題。例如,要回答問題“《理想國(guó)》的作者是誰”,KBQA模型應(yīng)該檢索到三元組(《理想國(guó)》,作者,柏拉圖)并回答柏拉圖。

考慮到調(diào)用OpenAI API的費(fèi)用,我們編制了兩個(gè)簡(jiǎn)潔的數(shù)據(jù)集,即NLPCC-100用于單跳查詢和NLPCC-MH-59用于多跳查詢。NLPCC-100由NLPCC 2016 KBQA數(shù)據(jù)集(Duan, 2016)的測(cè)試集中的100個(gè)樣本組成,而NLPCC-MH-59由NLPCC-MH(Wang和Zhang, 2019)的測(cè)試集中的59個(gè)樣本組成,后者是一個(gè)多跳KBQA數(shù)據(jù)集。NLPCC-MH是通過擴(kuò)展NLPCC 2016數(shù)據(jù)集自動(dòng)構(gòu)建的,因此存在某種固有的噪聲。我們從NLPCC-MH數(shù)據(jù)集中手動(dòng)選擇了59個(gè)樣本,確保它們的質(zhì)量和知識(shí)庫中存在支持事實(shí)鏈。此外,我們糾正了這些樣本中存在的任何噪聲。在NLPCC-100和NLPCC-MH-59中,我們?cè)诒緦?shí)驗(yàn)中僅使用全面的NLPCC 2016 KBQA知識(shí)庫。

對(duì)KnowledGPT進(jìn)行了幾項(xiàng)修改,以適應(yīng)該數(shù)據(jù)集和知識(shí)庫。首先,在提供的知識(shí)庫中,三元組的尾實(shí)體可能包含由特殊符號(hào)分隔的多個(gè)實(shí)體,因此我們調(diào)整了搜索代碼生成的提示,要求LLMs在生成的代碼中包含一個(gè)分割機(jī)制。其次,為了更好地進(jìn)行實(shí)體鏈接,由于提供的知識(shí)庫不包含實(shí)體描述,我們修改了_get_entity_information的實(shí)現(xiàn),返回與實(shí)體相關(guān)的10個(gè)三元組,按查詢關(guān)系與三元組中關(guān)系之間的Jaccard相似度排序。第三,我們還修改了實(shí)體鏈接提示,要求LLMs也調(diào)整查詢關(guān)系別名以更好地與知識(shí)庫中的關(guān)系對(duì)齊。

將KnowledGPT與以下基線方法進(jìn)行比較:

基于嵌入相似性的檢索 將每個(gè)三元組視為一個(gè)文檔,并使用CoSENT模型進(jìn)行嵌入。根據(jù)嵌入相似性為每個(gè)查詢檢索一個(gè)文檔。對(duì)于多跳問題,將第一次檢索的結(jié)果添加到查詢中以促進(jìn)第二次檢索。
基于BM25的檢索。對(duì)于每個(gè)實(shí)體,我們將其所有三元組分組為一個(gè)文檔。使用BM25算法為每個(gè)搜索查詢檢索最相關(guān)的文檔,去除停用詞。如果檢索到的文檔包含相應(yīng)的三元組,則視為成功。對(duì)于多跳查詢,我們根據(jù)關(guān)系之間的Jaccard相似度從初始檢索的文檔中選擇一個(gè)三元組,并將該三元組整合到后續(xù)檢索的查詢中。
SPE。SPE使用嵌入相似性從簡(jiǎn)單問題中提取主謂對(duì)。它在NLPCC 2016 KBQA任務(wù)的比賽中獲得第一名。
我們報(bào)告了NLPCC-100和NLPCC-MH-59的平均F1值。平均F1是KBQA中廣泛采用的度量標(biāo)準(zhǔn),用于具有多個(gè)正確答案和預(yù)測(cè)的任務(wù)。然而,由于我們的數(shù)據(jù)集中每個(gè)樣本只有一個(gè)答案和一個(gè)預(yù)測(cè),因此平均F1實(shí)際上等同于準(zhǔn)確率。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理

結(jié)果如表3所示,得出以下觀察結(jié)果:
(1)對(duì)于單跳查詢,KnowledGPT在檢索方法(基于BM25和嵌入相似性)方面表現(xiàn)顯著優(yōu)于,這表明與文檔語料庫相比,從符號(hào)知識(shí)庫中獲取知識(shí)相關(guān)的問題的檢索的有效性。
(2)零樣本的KnowledGPT在NLPCC-2016 KBQA數(shù)據(jù)集的完整訓(xùn)練集上訓(xùn)練的SPE方法(0.92 vs 0.85)表現(xiàn)更好,這表明KnowledGPT具有強(qiáng)大的零樣本性能。
(3)對(duì)于多跳查詢,KnowledGPT也取得了出色的性能,而基于BM25和嵌入相似性的檢索方法的性能顯著下降。

4.4 作為記憶的知識(shí)庫

我們進(jìn)行了一系列實(shí)驗(yàn),研究了當(dāng)KnowledGPT與一個(gè)可修改的個(gè)性化知識(shí)庫(PKB)配對(duì)時(shí)的有效性。KnowledGPT的任務(wù)是從提供的文檔中提取知識(shí)來構(gòu)建PKB,并研究是否能夠正確回答相關(guān)問題。圖6展示了一個(gè)示例,其中提供了關(guān)于蘇格拉底的文本。KnowledGPT從文本中提取知識(shí),并通過檢索提取的知識(shí)來回答相關(guān)問題。

我們進(jìn)一步將KnowledGPT應(yīng)用于HotpotQA(Yang等,2018),這是一個(gè)提供文檔的多跳問題回答數(shù)據(jù)集。我們從HotpotQA開發(fā)集(干擾項(xiàng))中選擇了25個(gè)問題,包括5個(gè)比較問題,如“Mimosa和Cryptocoryne中哪個(gè)是灌木?”和20個(gè)橋接問題,如“Erik Watts的父親是什么時(shí)候出生的?”每個(gè)問題都與10個(gè)文檔配對(duì),KnowledGPT從這些文檔中提取知識(shí)來構(gòu)建PKB。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
結(jié)果如表4所示。KnowledGPT成功回答了所有的比較問題,以及20個(gè)橋接問題中的15個(gè)。在未成功回答的案例中,有兩個(gè)橋接問題無法提取回答問題所需的知識(shí),還有一個(gè)橋接問題在實(shí)體鏈接階段失敗??傮w而言,這個(gè)實(shí)驗(yàn)顯示了利用PKB作為L(zhǎng)LMs的符號(hào)記憶的潛在前景。

我們進(jìn)一步研究了KnowledGPT在HotpotQA中100個(gè)文檔上的知識(shí)提取覆蓋率,考慮了不同的LLMs和應(yīng)用知識(shí)表示的多樣組合。為了量化覆蓋率,我們使用了單詞召回率進(jìn)行計(jì)算,計(jì)算公式如下:
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理
其中,| · | 表示集合的基數(shù)(元素個(gè)數(shù))。
Wextracted 和 Wdoc 分別表示經(jīng)過預(yù)處理(包括去除停用詞和詞形還原,使用NLTK工具包)后提取出的知識(shí)和文檔中的單詞集合。
KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30,論文,語言模型,人工智能,自然語言處理

結(jié)果如表5所示,我們得出以下觀察結(jié)果:
(1)當(dāng)僅限制知識(shí)表示為三元組時(shí),知識(shí)提取覆蓋率為0.53,這表明只有很小一部分的知識(shí)可以表示為三元組。因此,僅支持三元組的PKB無法充分包含真實(shí)用戶提供的知識(shí)。
(2)通過增加其他知識(shí)表示,如實(shí)體描述和實(shí)體-方面信息,我們觀察到知識(shí)提取覆蓋率顯著提高,這表明加入實(shí)體描述和實(shí)體-方面信息能夠使KnowledGPT填充PKB以包含更廣泛的知識(shí)。
(3)ChatGPT 和 GPT-4 在知識(shí)提取方面的表現(xiàn)相似。只有在包含實(shí)體-方面信息時(shí),GPT-4 的性能優(yōu)于 ChatGPT,這可能歸因于GPT-4在遵循復(fù)雜指令方面的增強(qiáng)能力。文章來源地址http://www.zghlxwxcb.cn/news/detail-739482.html

到了這里,關(guān)于KnowledgeGPT:利用檢索和存儲(chǔ)訪問知識(shí)庫上增強(qiáng)大型語言模型10.30的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包