張鶴譯,王 鑫+,韓立帆,李 釗,陳子睿,陳 哲
1.天津大學(xué) 智能與計(jì)算學(xué)部,天津 300354
2.天津中醫(yī)藥大學(xué) 循證醫(yī)學(xué)中心,天津 301617
問(wèn)答系統(tǒng)(question answering,QA)能夠自動(dòng)回答用戶(hù)提出的自然語(yǔ)言問(wèn)題,是信息檢索和自然語(yǔ)言處理的交叉研究方向。將知識(shí)圖譜(knowledge graph,KG)與問(wèn)答系統(tǒng)融合,正確理解用戶(hù)語(yǔ)義是一大挑戰(zhàn)[1]。雖然知識(shí)圖譜問(wèn)答能夠通過(guò)對(duì)問(wèn)題進(jìn)行分析理解,最終獲取答案,但面對(duì)自然語(yǔ)言的靈活性與模糊性,如何處理復(fù)雜問(wèn)題的語(yǔ)義信息,如何提高復(fù)雜推理問(wèn)答的高效性仍是研究難點(diǎn)[2]。
近年來(lái),大語(yǔ)言模型(large language models,LLM)在多種自然語(yǔ)言處理任務(wù)[3-4]上取得了顯著的成果,并表現(xiàn)出若干涌現(xiàn)能力[5]。InstructGPT[6]、ChatGPT(https://openai.com/blog/chatgpt/)、GPT4[7]等自回歸大語(yǔ)言模型[8]通過(guò)預(yù)訓(xùn)練、微調(diào)(fine-tuning)等技術(shù)理解并遵循人類(lèi)指令,使其能夠正確理解并回答復(fù)雜問(wèn)題。LLM 在各種自然語(yǔ)言處理任務(wù)上表現(xiàn)卓越,甚至能夠?qū)ξ匆?jiàn)過(guò)的任務(wù)表現(xiàn)出不錯(cuò)的性能,這為正確處理復(fù)雜問(wèn)題展示了能夠提供統(tǒng)一解決方案的潛力。然而,這些模型都存在一些固有的局限性,包括處理中文能力較差,部署困難,無(wú)法獲得關(guān)于最近事件的最新信息以及產(chǎn)生有害幻覺(jué)事實(shí)(halluci-natory fact)[9]等。由于這些局限性,將大語(yǔ)言模型直接應(yīng)用于專(zhuān)業(yè)領(lǐng)域問(wèn)答仍然存在諸多問(wèn)題。一方面難以滿足大語(yǔ)言模型對(duì)于硬件資源的要求;另一方面,面對(duì)專(zhuān)業(yè)領(lǐng)域,大語(yǔ)言模型的能力仍然有所不足。
面對(duì)專(zhuān)業(yè)領(lǐng)域的問(wèn)題,大語(yǔ)言模型的生成結(jié)果可能缺乏真實(shí)性和準(zhǔn)確性,甚至?xí)a(chǎn)生“幻覺(jué)事實(shí)”。為了增強(qiáng)大語(yǔ)言模型應(yīng)對(duì)專(zhuān)業(yè)領(lǐng)域問(wèn)題的能力,很多工作采取數(shù)據(jù)微調(diào)的方式修改模型參數(shù),從而讓大模型具有更高的專(zhuān)業(yè)能力。然而一些文獻(xiàn)指出這些數(shù)據(jù)微調(diào)的方法會(huì)產(chǎn)生災(zāi)難性遺忘(catastrophic forgetting)[10],致使模型原始對(duì)話能力喪失,甚至在處理非微調(diào)數(shù)據(jù)時(shí)會(huì)出現(xiàn)混亂的結(jié)果。為了應(yīng)對(duì)這些問(wèn)題,本文結(jié)合大語(yǔ)言模型與知識(shí)圖譜,設(shè)計(jì)了一種應(yīng)用于專(zhuān)業(yè)領(lǐng)域的問(wèn)答系統(tǒng)。該問(wèn)答系統(tǒng)通過(guò)將知識(shí)庫(kù)(knowledge base,KB)中的文本知識(shí)、知識(shí)圖譜的結(jié)構(gòu)化知識(shí)、大語(yǔ)言模型中的參數(shù)化知識(shí)三者融合,生成專(zhuān)業(yè)問(wèn)答結(jié)果,因此無(wú)需使用數(shù)據(jù)微調(diào)的方式修改模型參數(shù),就能夠理解用戶(hù)語(yǔ)義并回答專(zhuān)業(yè)領(lǐng)域的問(wèn)題。同時(shí),通過(guò)采用類(lèi)似于ChatGLM-6B這樣對(duì)硬件資源要求較低的模型,以降低硬件對(duì)系統(tǒng)的約束。
另外,隨著大語(yǔ)言模型技術(shù)的發(fā)展,認(rèn)知智能范式的轉(zhuǎn)變將是接下來(lái)的研究重點(diǎn),如何將大語(yǔ)言模型與知識(shí)圖譜進(jìn)行有效結(jié)合是一個(gè)值得研究的課題。因此,本文參照研究問(wèn)答系統(tǒng)的形式,進(jìn)一步研究“大語(yǔ)言模型+知識(shí)圖譜”的智能信息系統(tǒng)新范式,探索知識(shí)圖譜與大語(yǔ)言模型的深度結(jié)合,利用專(zhuān)業(yè)性知識(shí)圖譜來(lái)增強(qiáng)LLM的生成結(jié)果,并利用LLM理解語(yǔ)義抽取實(shí)體對(duì)知識(shí)圖譜進(jìn)行檢索與增強(qiáng)。
本文的主要貢獻(xiàn)有兩點(diǎn):
(1)提出大語(yǔ)言模型+專(zhuān)業(yè)知識(shí)庫(kù)的基于提示學(xué)習(xí)(prompt learning)的問(wèn)答系統(tǒng)范式,以解決專(zhuān)業(yè)領(lǐng)域問(wèn)答系統(tǒng)數(shù)據(jù)+微調(diào)范式帶來(lái)的災(zāi)難性遺忘問(wèn)題。在提升大模型專(zhuān)業(yè)能力的同時(shí),保留其回答通用問(wèn)題的能力。在硬件資源不足的情況下,選擇較小的大模型部署專(zhuān)業(yè)領(lǐng)域的問(wèn)答系統(tǒng),實(shí)現(xiàn)能和較大的大模型在專(zhuān)業(yè)領(lǐng)域相媲美甚至更好的效果。
(2)探索了大語(yǔ)言模型和知識(shí)圖譜兩種知識(shí)范式的深度結(jié)合。實(shí)現(xiàn)了將大語(yǔ)言模型和知識(shí)圖譜的雙向鏈接,可以將易讀的自然語(yǔ)言轉(zhuǎn)換為結(jié)構(gòu)化的數(shù)據(jù),進(jìn)而和知識(shí)圖譜中的結(jié)構(gòu)化數(shù)據(jù)匹配,以增強(qiáng)回答專(zhuān)業(yè)性;可以將KG中的結(jié)構(gòu)化知識(shí)轉(zhuǎn)換為更易讀的自然語(yǔ)言知識(shí)來(lái)方便人們理解。
本文相關(guān)代碼開(kāi)源在https://github.com/zhangheyi-1/llmkgqas-tcm/。
隨著以ChatGPT 為代表的大語(yǔ)言模型表現(xiàn)出令人震驚的能力,國(guó)內(nèi)諸多廠商紛紛投入構(gòu)建中文大語(yǔ)言模型,并涌現(xiàn)出了一系列的模型,如百度的文心一言、阿里的通義千問(wèn)、華為的盤(pán)古大模型等。這些模型雖然具有一定的問(wèn)答能力,但是正如上文所言,它們?cè)趯?zhuān)業(yè)領(lǐng)域都有著巨大的局限性。GLM(general language model)[11]是清華提出的預(yù)訓(xùn)練語(yǔ)言模型,它的底層架構(gòu)是通用語(yǔ)言模型,在超過(guò)4 000億個(gè)文本標(biāo)識(shí)符上進(jìn)行預(yù)訓(xùn)練。本文系統(tǒng)的應(yīng)用示例同樣是基于GLM。
在垂直領(lǐng)域存在很多的工作,它們主要采用的方法仍然是數(shù)據(jù)+微調(diào)的范式,即使用不同的專(zhuān)業(yè)數(shù)據(jù)對(duì)預(yù)訓(xùn)練語(yǔ)言模型進(jìn)行微調(diào),如P-tuning[12]、Ptuning v2[13]等,以獲取語(yǔ)言模型在相應(yīng)領(lǐng)域的專(zhuān)業(yè)能力。通過(guò)更新少量參數(shù),減少了對(duì)硬件資源的要求。雖然減弱了微調(diào)產(chǎn)生的災(zāi)難性遺忘問(wèn)題,但是此問(wèn)題仍然存在。PMC-LLaMA[14]提出一種基于生物醫(yī)學(xué)文獻(xiàn)的預(yù)訓(xùn)練語(yǔ)言模型,通過(guò)對(duì)LLaMA模型進(jìn)行微調(diào),注入醫(yī)療知識(shí)以增強(qiáng)其在醫(yī)療領(lǐng)域?qū)I(yè)的能力,從而提高其在醫(yī)療問(wèn)答基準(zhǔn)測(cè)試中的表現(xiàn)。Med-PaLM[15]針對(duì)醫(yī)療領(lǐng)域,提出了MultiMedQA 醫(yī)學(xué)問(wèn)題回答基準(zhǔn),涵蓋了醫(yī)學(xué)考試、醫(yī)學(xué)研究和消費(fèi)者醫(yī)學(xué)問(wèn)題?;贔lan-PaLM 進(jìn)行指令微調(diào)(instruction tuning),在多個(gè)方面縮小了與臨床醫(yī)生的差距,證明了指令提示調(diào)整的有效性。ChatDoctor[16]使用醫(yī)療領(lǐng)域知識(shí)對(duì)LLaMA 模型進(jìn)行微調(diào)獲取醫(yī)療聊天模型,其根據(jù)在線醫(yī)療咨詢(xún)網(wǎng)站的10萬(wàn)真實(shí)世界患者-醫(yī)生對(duì)話,對(duì)模型進(jìn)行了微調(diào),添加了自主知識(shí)檢索功能,通過(guò)構(gòu)建適當(dāng)?shù)奶崾驹诖笳Z(yǔ)言模型中實(shí)現(xiàn)具體檢索功能。華佗(本草)[17]基于中文醫(yī)學(xué)知識(shí)的LLaMA 微調(diào)模型,采用了公開(kāi)和自建的中文醫(yī)學(xué)知識(shí)庫(kù),主要參考了中文醫(yī)學(xué)知識(shí)圖譜CMeKG(https://github.com/king-yyf/CMeKG_tools)。DoctorGLM[18]是基于ChatGLM-6B 的中文問(wèn)診模型,由ChatGPT生成與醫(yī)學(xué)知識(shí)內(nèi)容與邏輯關(guān)系相關(guān)的若干問(wèn)題構(gòu)建訓(xùn)練數(shù)據(jù),再通過(guò)“文本段-問(wèn)題”對(duì)的方式讓ChatGPT回答問(wèn)題,使ChatGPT生成含有醫(yī)學(xué)指南信息的回答,保證回答的準(zhǔn)確性。從以上工作可以總結(jié)出,垂直領(lǐng)域的范式還是通過(guò)不同來(lái)源的數(shù)據(jù)+不同的模型基座進(jìn)行微調(diào),仍然無(wú)法避免微調(diào)的固有缺陷,而本文使用的專(zhuān)業(yè)知識(shí)庫(kù)+大語(yǔ)言模型的新范式能夠解決這一問(wèn)題。
LangChain(https://www.langchain.com/)是一 個(gè)強(qiáng)大的框架,旨在幫助開(kāi)發(fā)人員使用語(yǔ)言模型構(gòu)建端到端的應(yīng)用程序,可以為L(zhǎng)LM 的開(kāi)發(fā)利用提供有力支撐。它提供了一套工具、組件和接口,可以簡(jiǎn)化創(chuàng)建由LLM 或聊天模型提供支持的應(yīng)用程序的過(guò)程。LangChain可以輕松管理與大語(yǔ)言模型的交互,將多個(gè)組件鏈接在一起,并集成額外的資源。利用LangChain,本文設(shè)計(jì)的問(wèn)答系統(tǒng)可以輕松建立知識(shí)庫(kù)與大語(yǔ)言模型間的鏈接,將知識(shí)注入到大語(yǔ)言模型當(dāng)中。
本文提出的專(zhuān)業(yè)問(wèn)答系統(tǒng)基于大語(yǔ)言模型與知識(shí)圖譜,旨在探索大語(yǔ)言模型+專(zhuān)業(yè)知識(shí)庫(kù)的問(wèn)答系統(tǒng)范式,探索大語(yǔ)言模型與知識(shí)圖譜的深度結(jié)合,以實(shí)現(xiàn)專(zhuān)業(yè)的垂直領(lǐng)域問(wèn)答效果,并為用戶(hù)提供專(zhuān)業(yè)問(wèn)答服務(wù)和友好交互服務(wù)。
基于以上目標(biāo)系統(tǒng)實(shí)現(xiàn)了以下功能:信息過(guò)濾、專(zhuān)業(yè)問(wèn)答、抽取轉(zhuǎn)化。
為了實(shí)現(xiàn)這些功能,系統(tǒng)基于專(zhuān)業(yè)知識(shí)與大語(yǔ)言模型,利用LangChain 將兩者結(jié)合,設(shè)計(jì)并實(shí)現(xiàn)了大語(yǔ)言模型與知識(shí)圖譜的深度結(jié)合新模式。
信息過(guò)濾模塊旨在減少大語(yǔ)言模型生成虛假信息的可能性,以提高回答的準(zhǔn)確性。專(zhuān)業(yè)問(wèn)答模塊通過(guò)將專(zhuān)業(yè)知識(shí)庫(kù)與大語(yǔ)言模型結(jié)合,提供專(zhuān)業(yè)性的回答。這種方法避免了重新訓(xùn)練大語(yǔ)言模型所需的高硬件要求和可能導(dǎo)致的災(zāi)難性遺忘后果。
抽取轉(zhuǎn)化是指從自然語(yǔ)言文本抽取出知識(shí)圖譜結(jié)構(gòu)化數(shù)據(jù),將知識(shí)圖譜結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化為自然語(yǔ)言文本,是為了進(jìn)一步探索問(wèn)答系統(tǒng)新范式而設(shè)計(jì)的。一方面基于大語(yǔ)言模型提取出專(zhuān)業(yè)知識(shí),將知識(shí)圖譜結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化為自然語(yǔ)言文本,易于用戶(hù)理解;另一方面利用知識(shí)抽取出三元組和知識(shí)圖譜對(duì)比驗(yàn)證,可以增強(qiáng)大語(yǔ)言模型回答的專(zhuān)業(yè)性,同時(shí)抽取出的三元組在經(jīng)專(zhuān)家驗(yàn)證后可以插入知識(shí)圖譜中以增強(qiáng)知識(shí)圖譜。除此之外,本系統(tǒng)還實(shí)現(xiàn)了用戶(hù)友好的交互服務(wù)。
如圖1所示,系統(tǒng)交互流程如下:(1)用戶(hù)向系統(tǒng)提出問(wèn)題,問(wèn)題通過(guò)信息過(guò)濾后,與知識(shí)庫(kù)中的相關(guān)專(zhuān)業(yè)知識(shí)組成提示,輸入到專(zhuān)業(yè)問(wèn)答模塊中得到答案;(2)信息抽取模塊從回答中提取出三元組,與知識(shí)圖譜進(jìn)行匹配,獲取相關(guān)節(jié)點(diǎn)數(shù)據(jù);(3)這些節(jié)點(diǎn)數(shù)據(jù)經(jīng)用戶(hù)選擇后,同樣以提示的形式輸入專(zhuān)業(yè)問(wèn)答模塊得到知識(shí)圖譜增強(qiáng)的回答。這種雙向交互實(shí)現(xiàn)了大語(yǔ)言模型和知識(shí)圖譜的深度結(jié)合。
圖1 問(wèn)答系統(tǒng)流程圖Fig.1 Flow chart of Q&A system
總而言之,本文提出的專(zhuān)業(yè)問(wèn)答系統(tǒng)通過(guò)大語(yǔ)言模型與知識(shí)圖譜深度結(jié)合,實(shí)現(xiàn)了專(zhuān)業(yè)的垂直領(lǐng)域問(wèn)答效果,并且提供用戶(hù)友好的交互服務(wù)。系統(tǒng)的信息過(guò)濾模塊減少了虛假信息生成的可能性,專(zhuān)業(yè)問(wèn)答模塊提供了專(zhuān)業(yè)性的回答,抽取轉(zhuǎn)化模塊進(jìn)一步增強(qiáng)了回答的專(zhuān)業(yè)性,并可以對(duì)結(jié)構(gòu)化數(shù)據(jù)進(jìn)行解釋?zhuān)档陀脩?hù)理解難度,同時(shí)可用專(zhuān)家確認(rèn)無(wú)誤的知識(shí)進(jìn)一步增強(qiáng)知識(shí)圖譜。這種新的問(wèn)答系統(tǒng)范式為用戶(hù)提供了更準(zhǔn)確、更專(zhuān)業(yè)的答案,同時(shí)保持了用戶(hù)友好的交互體驗(yàn)。
本文從數(shù)據(jù)構(gòu)造與預(yù)處理、信息過(guò)濾、專(zhuān)業(yè)問(wèn)答、抽取轉(zhuǎn)化四方面,以中醫(yī)藥方劑領(lǐng)域的應(yīng)用為例,介紹如何構(gòu)建系統(tǒng)。
本文針對(duì)專(zhuān)業(yè)領(lǐng)域,收集相關(guān)領(lǐng)域數(shù)據(jù)進(jìn)行預(yù)處理,設(shè)計(jì)流程來(lái)訓(xùn)練一套易于部署的專(zhuān)業(yè)領(lǐng)域問(wèn)答系統(tǒng),并探索大語(yǔ)言模型與知識(shí)圖譜的融合。
圖2 以中醫(yī)藥方劑專(zhuān)業(yè)領(lǐng)域?yàn)槔故玖嗽撓到y(tǒng)的問(wèn)答流程。首先,對(duì)輸入的中醫(yī)藥方劑相關(guān)問(wèn)題文本進(jìn)行信息過(guò)濾,即文本分類(lèi),判斷出該文本是否與中醫(yī)藥方劑相關(guān)。其次,通過(guò)LangChain在知識(shí)庫(kù)中檢索與文本相關(guān)的知識(shí),以提示的方式和問(wèn)題一起輸入大模型,如:ChatGPT、ChatGLM 等,大模型通過(guò)推理生成具備專(zhuān)業(yè)知識(shí)的答案。然后,對(duì)該回答進(jìn)行知識(shí)抽取,從回答中抽取出三元組。將抽取出的三元組和已有的方劑知識(shí)圖譜進(jìn)行匹配,以驗(yàn)證回答的專(zhuān)業(yè)性,同時(shí)將知識(shí)圖譜中的節(jié)點(diǎn)以問(wèn)題的形式輸入大模型,獲取易讀的自然語(yǔ)言解釋?zhuān)瑥亩鴮?shí)現(xiàn)了大模型和知識(shí)圖譜的雙向轉(zhuǎn)換。
圖2 大語(yǔ)言模型融合知識(shí)圖譜問(wèn)答流程示例Fig.2 Example of question-answer process for integrating knowledge graph in a large language model
本系統(tǒng)的實(shí)現(xiàn)需要收集整理專(zhuān)業(yè)數(shù)據(jù)集,以支持系統(tǒng)的實(shí)現(xiàn)。本文基于多種數(shù)據(jù)構(gòu)造系統(tǒng)所需的數(shù)據(jù)集、知識(shí)庫(kù),并對(duì)這些數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理。
(1)基于已有的專(zhuān)業(yè)領(lǐng)域數(shù)據(jù)集。本文直接搜集專(zhuān)業(yè)領(lǐng)域已有的相關(guān)數(shù)據(jù)集,參考其構(gòu)成,從中整理篩選出所需的數(shù)據(jù)。對(duì)于中醫(yī)藥方劑領(lǐng)域,參考MedDialog[19]、CBLUE[20]、COMETA[21]、CMeKG 數(shù) 據(jù)集,整理并構(gòu)建相關(guān)專(zhuān)業(yè)數(shù)據(jù)。相關(guān)介紹如表1所示。
表1 相關(guān)專(zhuān)業(yè)數(shù)據(jù)集Table 1 Related professional datasets
(2)權(quán)威數(shù)據(jù)。權(quán)威數(shù)據(jù)從專(zhuān)業(yè)書(shū)籍或權(quán)威網(wǎng)站收集。這部分?jǐn)?shù)據(jù)來(lái)自于相關(guān)領(lǐng)域的專(zhuān)業(yè)書(shū)籍和權(quán)威網(wǎng)站,用于構(gòu)建知識(shí)庫(kù),為大模型的回答提供專(zhuān)業(yè)知識(shí)支撐。對(duì)于中醫(yī)藥方劑領(lǐng)域,主要基于方劑學(xué)等專(zhuān)業(yè)書(shū)籍構(gòu)建了中醫(yī)藥方劑專(zhuān)業(yè)知識(shí)庫(kù),同時(shí)從NMPA(國(guó)家藥品監(jiān)督管理局)、藥融云-中醫(yī)藥數(shù)據(jù)庫(kù)群、TCMID中醫(yī)藥數(shù)據(jù)庫(kù)、中醫(yī)藥證候關(guān)聯(lián)數(shù)據(jù)庫(kù)等專(zhuān)業(yè)權(quán)威網(wǎng)站收集中醫(yī)藥方劑領(lǐng)域的相關(guān)數(shù)據(jù)知識(shí)。
(3)問(wèn)題數(shù)據(jù)。問(wèn)題數(shù)據(jù)用來(lái)訓(xùn)練信息過(guò)濾模型。由于某些專(zhuān)業(yè)領(lǐng)域存在問(wèn)題數(shù)據(jù)缺失的情況,本文設(shè)計(jì)了一種基于提示的方法,使用大模型生成問(wèn)題數(shù)據(jù)(圖3 所示)。首先從相關(guān)數(shù)據(jù)中選擇一條數(shù)據(jù)用來(lái)生成提示,將提示輸入大模型生成一條數(shù)據(jù),重復(fù)以上述步驟,直到相關(guān)數(shù)據(jù)被選完。
圖3 基于LLM生成數(shù)據(jù)方法Fig.3 Method for generating datasets based on LLM
算法1基于LLM生成數(shù)據(jù)
輸入:相關(guān)文本D,LLM(如ChatGPT)的API_KEY。
輸出:基于LLM生成的問(wèn)題數(shù)據(jù)R。
其中D表示所有的相關(guān)數(shù)據(jù),d表示一條相關(guān)數(shù)據(jù),R表示所有生成的問(wèn)題數(shù)據(jù),r表示一條生成的數(shù)據(jù)。create 根據(jù)用戶(hù)提供的API_KEY 創(chuàng)建與LLM(如ChatGPT)的鏈接,select表示選擇一條數(shù)據(jù),P表示根據(jù)數(shù)據(jù)生成合適的提示,llmresult表示獲取LLM 生成的回復(fù),abstract 表示從生成回復(fù)中提取出問(wèn)題數(shù)據(jù)并進(jìn)行匯總。
在中醫(yī)藥方劑領(lǐng)域,如表2中P1所示,將提示P1輸入LLM 中,生成相關(guān)問(wèn)題。中醫(yī)藥方劑領(lǐng)域問(wèn)答系統(tǒng)的問(wèn)題數(shù)據(jù),80%來(lái)自于現(xiàn)有的問(wèn)答數(shù)據(jù)集,如MultiMedQA[15]、CMRC2018[22]、CMedQA-System[23]、cMedQA2(https://github.com/zhangsheng93/cMedQA2)等,本文從中整理相關(guān)問(wèn)題,并按照是否為中醫(yī)藥方劑專(zhuān)業(yè)領(lǐng)域添加標(biāo)簽。20%的中醫(yī)藥方劑相關(guān)問(wèn)題使用大模型生成的方式構(gòu)建。
表2 提示示例Table 2 Prompt example
(4)激活知識(shí)抽取能力的微調(diào)數(shù)據(jù)。如圖3 所示,使用基于提示的方法,通過(guò)讓LLM 回答問(wèn)題,生成合適的微調(diào)數(shù)據(jù)。提示如表2 中P2所示,結(jié)合信息抽取示例,將P2輸入LLM 生成25 條微調(diào)數(shù)據(jù),利用這些數(shù)據(jù)微調(diào)大模型以激活大模型的信息抽取能力。
系統(tǒng)使用(1)、(2)中的數(shù)據(jù)構(gòu)建知識(shí)庫(kù),知識(shí)庫(kù)支持多種形式的數(shù)據(jù),包括txt、html、pdf 等格式。使用(3)中的數(shù)據(jù)訓(xùn)練信息過(guò)濾模型。使用(4)中的數(shù)據(jù)訓(xùn)練知識(shí)抽取模型。
針對(duì)專(zhuān)業(yè)領(lǐng)域的問(wèn)答,大語(yǔ)言模型無(wú)需回答其他領(lǐng)域的問(wèn)題,為此本系統(tǒng)添加了基于BERT(bidirectional encoder representations from transformers)[24]的文本過(guò)濾器對(duì)問(wèn)題進(jìn)行過(guò)濾,以限制大模型可以回答的問(wèn)題范圍。
其他模型在面對(duì)專(zhuān)業(yè)領(lǐng)域的邊界問(wèn)題或交叉問(wèn)題時(shí)往往會(huì)產(chǎn)生微妙的幻覺(jué)事實(shí),生成錯(cuò)誤文本。盡管使用微調(diào)的形式同樣也可以使得大模型具備一定的問(wèn)題甄別能力,但是這種能力在面對(duì)與微調(diào)數(shù)據(jù)集中相似的其他問(wèn)題時(shí),仍然會(huì)被迷惑,甚至對(duì)于原本可以正確回答的問(wèn)題也會(huì)生成錯(cuò)誤的答案。因此需要單獨(dú)設(shè)計(jì)文本過(guò)濾器以對(duì)信息進(jìn)行過(guò)濾。
假設(shè)可輸入大模型的所有的問(wèn)題集合為Q,大模型在某一專(zhuān)業(yè)領(lǐng)域可以回答的問(wèn)題集合為R,可以生成專(zhuān)業(yè)回答的問(wèn)題集合為D,顯然有Q>R>D。使用微調(diào)方式限制將使得R→D,會(huì)讓模型回答能力減弱1)>表示包含關(guān)系,若A>B,則A →B 表示集合A 的范圍向集合B 的范圍縮小。。而使用過(guò)濾器的形式,使得Q→R,將盡可能保證詢(xún)問(wèn)的問(wèn)題在R的范圍之內(nèi),雖然會(huì)有部分R之外的數(shù)據(jù)進(jìn)入大模型,但是由于本文設(shè)計(jì)的專(zhuān)業(yè)增強(qiáng)問(wèn)答系統(tǒng)仍然保留一定的通用能力,對(duì)R之外的問(wèn)題也可以進(jìn)行無(wú)專(zhuān)業(yè)驗(yàn)證的回答。
信息過(guò)濾將保證本系統(tǒng)盡可能回答在系統(tǒng)能力范圍以?xún)?nèi)的問(wèn)題,以減少產(chǎn)生幻覺(jué)事實(shí)的可能。
訓(xùn)練過(guò)程如圖4所示,將訓(xùn)練數(shù)據(jù)輸入BERT,再將BERT的結(jié)果輸入全連接層(fully connected layer,F(xiàn)CL)得到對(duì)本文的分類(lèi)結(jié)果[CLS]。根據(jù)數(shù)據(jù)集中的標(biāo)簽,訓(xùn)練時(shí)只需要更新全連接層的參數(shù)即可。
圖4 信息過(guò)濾模型的訓(xùn)練過(guò)程Fig.4 Training process of information filtering model
一般來(lái)說(shuō)使用BERT進(jìn)行文本分類(lèi)任務(wù),會(huì)采用BERT 結(jié)果的分類(lèi)詞向量H,基于softmax 做一個(gè)簡(jiǎn)單的分類(lèi)器,預(yù)測(cè)類(lèi)別的標(biāo)簽L的概率:
這里W是分類(lèi)任務(wù)的參數(shù)矩陣,最終通過(guò)最大化正確標(biāo)簽的對(duì)數(shù)概率來(lái)微調(diào)BERT 和W中的所有參數(shù)。將其修改為使用全連接層得到每個(gè)標(biāo)簽的概率:
訓(xùn)練時(shí)輸入全連接層的向量維度為768,具有兩個(gè)隱藏層,維度分別為384、768,輸出維度為類(lèi)別個(gè)數(shù),這里是一個(gè)二分類(lèi)任務(wù),因此為2。最終選擇概率更大的標(biāo)簽作為分類(lèi)的結(jié)果[CLS]。在中醫(yī)藥方劑學(xué)領(lǐng)域中,[CLS]為問(wèn)題是否與中醫(yī)藥方劑相關(guān),通過(guò)過(guò)濾問(wèn)題,減少生成幻覺(jué)事實(shí)的可能,并同檢索結(jié)果一起判斷能否進(jìn)行專(zhuān)業(yè)回答。
為了使得大模型知識(shí)圖譜問(wèn)答系統(tǒng)的回答更具備專(zhuān)業(yè)性,本文通過(guò)提示的方式注入知識(shí)庫(kù)中專(zhuān)業(yè)知識(shí),增強(qiáng)回答的專(zhuān)業(yè)性。通過(guò)檢索知識(shí)庫(kù),大模型可以回答其本身能力之外的專(zhuān)業(yè)問(wèn)題,使得大語(yǔ)言模型支持的問(wèn)題邊界擴(kuò)大。這種方式和引入專(zhuān)業(yè)數(shù)據(jù)的微調(diào)方法對(duì)比,無(wú)需重新訓(xùn)練就可以部署一個(gè)專(zhuān)業(yè)領(lǐng)域大語(yǔ)言模型。
如圖5 所示,在中醫(yī)藥方劑領(lǐng)域,本文使用LangChain+LLM,生成更具備專(zhuān)業(yè)知識(shí)的回答。本系統(tǒng)基于LangChain 在知識(shí)庫(kù)中檢索與問(wèn)題相關(guān)的專(zhuān)業(yè)知識(shí),然后專(zhuān)業(yè)知識(shí)和問(wèn)題文本一起構(gòu)成P4(表2 所示)輸入LLM,最終得到答案文本。這里可以選擇使用ChatGLM-6B、ChatGPT等作為大模型。
圖5 基于LangChain+LLM的問(wèn)答流程圖Fig.5 Question-answer flow chart based on LangChain+LLM
假設(shè)知識(shí)庫(kù)中的第i個(gè)文件為Fi(i=1,2,…,n),基于LangChain 進(jìn)行檢索會(huì)將各個(gè)文件中的文本進(jìn)行分塊,Dij(i=1,2,…,n;j=1,2,…,m)表示第i個(gè)文件的第j個(gè)文本塊。然后對(duì)每一塊文本建立向量索引Vi(i=1,2,…,n×m),在檢索時(shí)將問(wèn)題文本向量化,得到問(wèn)題文本向量Q,最后通過(guò)向量相似度計(jì)算出和Q最相似的k個(gè)向量索引,并返回對(duì)應(yīng)的文本塊。將匹配到的專(zhuān)業(yè)知識(shí)文本D和問(wèn)題文本以P4的形式拼接,最終輸入LLM 中得到大模型生成的專(zhuān)業(yè)回答。該過(guò)程的偽代碼如下所示:
算法2向量化索引檢索問(wèn)答
輸入:?jiǎn)栴}文本q,知識(shí)庫(kù)文件f。
輸出:大模型的回答文本result。
算法中q表示問(wèn)題文本,f表示知識(shí)庫(kù)文件,d表示知識(shí)文本塊,Q表示問(wèn)題文本向量,V表示文本塊的向量索引,split表示劃分文本塊的過(guò)程,trans表示從文本轉(zhuǎn)化為向量,de_trans表示從向量轉(zhuǎn)化為文本,score 將返回k個(gè)最相似的向量索引,model(P4(q,dk))表示將問(wèn)題文本和專(zhuān)業(yè)知識(shí)文本以P4形式輸入大模型ChatGLM-6B。
本節(jié)探索大語(yǔ)言模型和知識(shí)圖譜的深度結(jié)合。大模型的回答是易讀的自然語(yǔ)言數(shù)據(jù),而知識(shí)圖譜的數(shù)據(jù)是結(jié)構(gòu)化的知識(shí)。為了將兩者交互結(jié)合,需要實(shí)現(xiàn)兩者的相互轉(zhuǎn)換:(1)實(shí)現(xiàn)對(duì)自然語(yǔ)言的結(jié)構(gòu)化;(2)可將結(jié)構(gòu)化的知識(shí)轉(zhuǎn)換為自然語(yǔ)言。前者是信息抽取的任務(wù),后者可以通過(guò)提示的方式輸入大模型轉(zhuǎn)換成自然語(yǔ)言文本。
以中醫(yī)藥方劑領(lǐng)域的應(yīng)用為例進(jìn)行分析:
(1)對(duì)于信息抽取,使用P-tuning v2 微調(diào)的方式強(qiáng)化LLM 的信息抽取能力。具體來(lái)說(shuō),在語(yǔ)言模型的每一層上將l個(gè)可訓(xùn)練的注意力鍵和值嵌入連接到前綴上,給定原始的鍵向量K∈Rl×d和值向量V∈Rl×d,可訓(xùn)練的向量Pk、Pv將分別與K和V連接。注意力機(jī)制頭的計(jì)算就變?yōu)椋?/p>
其中,上標(biāo)(i)代表向量中與第i個(gè)注意力頭對(duì)應(yīng)的部分,本文通過(guò)這種方法來(lái)微調(diào)大語(yǔ)言模型,第3.1 節(jié)描述了如何構(gòu)建微調(diào)數(shù)據(jù)。如圖1所示,將大模型生成的自然語(yǔ)言答案文本,輸入經(jīng)過(guò)信息抽取增強(qiáng)微調(diào)后的大模型中,提取出結(jié)構(gòu)化的三元組信息,并與知識(shí)圖譜進(jìn)行匹配,在專(zhuān)家驗(yàn)證后,可以存儲(chǔ)到方劑知識(shí)圖譜中。
(2)對(duì)于結(jié)構(gòu)數(shù)據(jù)的易讀化,使用提示的方式(提示構(gòu)造如表2的P3所示),將知識(shí)圖譜相關(guān)節(jié)點(diǎn)轉(zhuǎn)換為P3后,再將P3輸入大模型得到自然語(yǔ)言的回答。
本文嘗試將專(zhuān)業(yè)知識(shí)圖譜與大語(yǔ)言模型結(jié)合,利用大模型生成自然語(yǔ)言回答,抽取出專(zhuān)業(yè)的結(jié)構(gòu)化知識(shí),并和已有的專(zhuān)業(yè)方劑知識(shí)圖譜進(jìn)行知識(shí)匹配,以進(jìn)行專(zhuān)業(yè)驗(yàn)證。同時(shí)可以將知識(shí)圖譜中的結(jié)構(gòu)化知識(shí)轉(zhuǎn)化成易讀的自然語(yǔ)言。
本章為系統(tǒng)的效果提供了實(shí)驗(yàn)證據(jù),分為三部分:(1)不同模型回答效果展示;(2)性能評(píng)估;(3)大語(yǔ)言模型和知識(shí)圖譜的相互轉(zhuǎn)換。本文實(shí)驗(yàn)?zāi)P筒捎肅hatGLM-6B 在MindSpore1.10.1 環(huán)境下,基于Ascend910硬件運(yùn)行。
表3 是不同模型對(duì)相同中醫(yī)藥方劑相關(guān)問(wèn)題的一些回答結(jié)果。ChatGPT沒(méi)有開(kāi)源,也沒(méi)有透露任何訓(xùn)練細(xì)節(jié),因此無(wú)法保證評(píng)估數(shù)據(jù)是否被用于訓(xùn)練它們的模型,從而它們的結(jié)果在這里只能作為參考,而不應(yīng)該被用來(lái)進(jìn)行公平的比較[14]。
表3 不同模型結(jié)果對(duì)比Table 3 Comparison of results of different models
對(duì)于問(wèn)題1,由于知識(shí)庫(kù)中存在相關(guān)的知識(shí),專(zhuān)家問(wèn)答系統(tǒng)可以進(jìn)行專(zhuān)業(yè)回答,ChatGLM 則無(wú)法生成方劑學(xué)的專(zhuān)業(yè)回答,相比于ChatGPT的回答,專(zhuān)家問(wèn)答系統(tǒng)更精細(xì),不僅有方劑名稱(chēng),適用范圍還有具體的方劑信息。對(duì)于問(wèn)題2,此問(wèn)題是數(shù)學(xué)和方劑學(xué)的交叉問(wèn)題,知識(shí)庫(kù)中并沒(méi)有相關(guān)信息,直接由ChatGLM 回答,會(huì)生成幻覺(jué)事實(shí)。專(zhuān)業(yè)問(wèn)答系統(tǒng)可以判斷無(wú)足夠?qū)I(yè)知識(shí)進(jìn)行回答,進(jìn)而避免生成幻覺(jué)事實(shí)。這些結(jié)果表明,本文設(shè)計(jì)的系統(tǒng)具備良好的專(zhuān)業(yè)回答能力,同時(shí)也能對(duì)自身無(wú)法專(zhuān)業(yè)回復(fù)的問(wèn)題表示拒絕。專(zhuān)業(yè)問(wèn)答系統(tǒng)仍然保留ChatGLM本身的能力,能對(duì)一些繞過(guò)信息過(guò)濾的問(wèn)題進(jìn)行回答,這種能力能夠保證在面對(duì)專(zhuān)業(yè)領(lǐng)域邊界問(wèn)題或交叉問(wèn)題時(shí)可以進(jìn)行較好的回答。
為了評(píng)估系統(tǒng)的性能,本節(jié)從主觀評(píng)估與客觀評(píng)估兩方面驗(yàn)證了在中醫(yī)藥方劑學(xué)領(lǐng)域的專(zhuān)業(yè)效果,并通過(guò)消融實(shí)驗(yàn)驗(yàn)證了各個(gè)模塊都具備相應(yīng)的提升系統(tǒng)性能的能力。
4.2.1 主觀評(píng)估
本實(shí)驗(yàn)請(qǐng)三個(gè)中醫(yī)藥方面的專(zhuān)家對(duì)不同模型的回答進(jìn)行評(píng)估,用以驗(yàn)證系統(tǒng)效果。將100個(gè)問(wèn)題分別輸入三個(gè)不同的模型生成答案,然后把來(lái)自不同模型的每個(gè)問(wèn)題的結(jié)果,交給專(zhuān)家進(jìn)行評(píng)估,比較對(duì)于同一個(gè)問(wèn)題,專(zhuān)家更喜歡哪一個(gè)模型的回答。如圖6所示,橫坐標(biāo)表示不同的專(zhuān)家,縱坐標(biāo)表示最滿意問(wèn)題所占問(wèn)題總數(shù)的比例。模型1 是本文所提專(zhuān)業(yè)問(wèn)答系統(tǒng),模型2表示ChatGLM,模型3表示ChatGPT。由于是對(duì)比三個(gè)模型的結(jié)果,因此只需專(zhuān)家最滿意比例大于總體1/3 就可以證明專(zhuān)業(yè)問(wèn)答系統(tǒng)的回答更好。專(zhuān)家們對(duì)模型1 的回答結(jié)果最滿意總個(gè)數(shù)分別是37、42、42,都超過(guò)總問(wèn)題個(gè)數(shù)的1/3,因此本文設(shè)計(jì)的系統(tǒng)更受專(zhuān)家喜歡。
圖6 專(zhuān)家評(píng)估Fig.6 Expert evaluation
實(shí)驗(yàn)過(guò)程中,問(wèn)題被分為兩類(lèi),一種是普通問(wèn)題,另一種是專(zhuān)業(yè)問(wèn)題,兩者分別有50個(gè)問(wèn)題,共100個(gè)問(wèn)題。普通問(wèn)題是相對(duì)常見(jiàn)的問(wèn)題,對(duì)專(zhuān)業(yè)知識(shí)需求較低;專(zhuān)業(yè)問(wèn)題是考驗(yàn)式問(wèn)題,類(lèi)似于考試題,回答專(zhuān)業(yè)問(wèn)題需要具備更多的知識(shí)。專(zhuān)家總體評(píng)估如圖6(a),簡(jiǎn)單問(wèn)題評(píng)估如圖6(b),專(zhuān)業(yè)問(wèn)題評(píng)估如圖6(c)。
在圖6(a)中,模型1 取得了最高的滿意率,可以看出本系統(tǒng)提出的方法更受中醫(yī)藥專(zhuān)家的喜歡。對(duì)于簡(jiǎn)單問(wèn)題,如圖6(b)所示,遠(yuǎn)遠(yuǎn)優(yōu)于其他兩個(gè)模型,對(duì)于專(zhuān)業(yè)問(wèn)題,如圖6(c)所示,雖然ChatGPT 取得最優(yōu)的結(jié)果,但是模型1相對(duì)于模型2仍更受專(zhuān)家喜歡。相對(duì)于其他模型,模型1 的回復(fù)更加詳細(xì),會(huì)補(bǔ)充更多專(zhuān)業(yè)知識(shí)。但是當(dāng)問(wèn)題難度上升,回答問(wèn)題需求知識(shí)更多,當(dāng)知識(shí)庫(kù)中沒(méi)有這部分知識(shí)時(shí),模型1 的回答專(zhuān)業(yè)性就不如ChatGPT。這可能是因?yàn)镃hatGPT 訓(xùn)練時(shí)所用的語(yǔ)料中涉及專(zhuān)業(yè)問(wèn)題,所以ChatGPT在回答專(zhuān)業(yè)問(wèn)題時(shí)更具備優(yōu)勢(shì)。
結(jié)果表明,總體上本文所提系統(tǒng)更受專(zhuān)家喜歡。雖然面對(duì)復(fù)雜問(wèn)題時(shí),表現(xiàn)不如ChatGPT,但是相對(duì)基線模型ChatGLM-6B仍保持更高的滿意率,表明了本文所提系統(tǒng)的有效性。
4.2.2 客觀性能評(píng)估
為了客觀驗(yàn)證系統(tǒng)的問(wèn)答性能,讓系統(tǒng)回答專(zhuān)業(yè)相關(guān)的選擇題,可以客觀驗(yàn)證系統(tǒng)性能。此實(shí)驗(yàn)收集并整理了50 條方劑學(xué)不同難度的選擇題,讓不同模型進(jìn)行回答,計(jì)算不同模型對(duì)不同問(wèn)題的得分情況,以評(píng)估系統(tǒng)的客觀性能。
實(shí)驗(yàn)過(guò)程中,問(wèn)題按照問(wèn)題的難度分為三類(lèi),分別為簡(jiǎn)單題(simple question,SQ)、中等題(medium question,MQ)、困難題(difficult question,DQ)。準(zhǔn)確率以正確問(wèn)題個(gè)數(shù)除以總問(wèn)題個(gè)數(shù)進(jìn)行計(jì)算。
在表4中,小括號(hào)中的數(shù)字表示正確回答問(wèn)題的個(gè)數(shù)。從其中結(jié)果看,顯然隨著問(wèn)題難度提升,回答的正確率依次下降。對(duì)于平均正確率而言,專(zhuān)業(yè)問(wèn)答系統(tǒng)顯著高于ChatGLM-6,略低于ChatGPT。說(shuō)明專(zhuān)業(yè)問(wèn)答系統(tǒng)能夠顯著提升大模型的專(zhuān)業(yè)能力,甚至能夠達(dá)到和ChatGPT相媲美的結(jié)果。
表4 選擇題客觀性能評(píng)估Table 4 Objective evaluation of multiple choice question
結(jié)果表明,和ChatGLM-6B相比專(zhuān)業(yè)問(wèn)答系統(tǒng)答對(duì)題目的數(shù)量更多,從客觀上驗(yàn)證了系統(tǒng)的性能。
4.2.3 消融實(shí)驗(yàn)
本文進(jìn)行消融實(shí)驗(yàn),進(jìn)一步驗(yàn)證信息過(guò)濾、專(zhuān)業(yè)問(wèn)答、知識(shí)抽取與知識(shí)圖譜相互轉(zhuǎn)換三個(gè)模塊的功能。
對(duì)于信息過(guò)濾模塊而言,其作用并非是增強(qiáng)回答專(zhuān)業(yè)性,而是對(duì)問(wèn)題進(jìn)行過(guò)濾,減少生成幻覺(jué)事實(shí)的可能性,因此為了驗(yàn)證其能力,需要使用問(wèn)題數(shù)據(jù)集單獨(dú)進(jìn)行測(cè)試;對(duì)于專(zhuān)業(yè)問(wèn)答模塊,其本質(zhì)是利用知識(shí)庫(kù)增強(qiáng)回答專(zhuān)業(yè)性,因此對(duì)該模塊需要測(cè)試性能;對(duì)于知識(shí)抽取與知識(shí)圖譜相互轉(zhuǎn)換模塊,可以通過(guò)去除和知識(shí)圖譜交互重新生成答案部分,以驗(yàn)證增強(qiáng)回答專(zhuān)業(yè)性,同樣需要測(cè)試性能。因此在消融實(shí)驗(yàn)中,對(duì)信息過(guò)濾模塊單獨(dú)使用問(wèn)題數(shù)據(jù)集驗(yàn)證其信息過(guò)濾能力,對(duì)后兩者使用客觀性能評(píng)估的數(shù)據(jù)集驗(yàn)證性能提升。
實(shí)驗(yàn)過(guò)程中,為了驗(yàn)證信息過(guò)濾模塊的能力,將輸入的問(wèn)題按照相關(guān)程度劃分為三種類(lèi)型的問(wèn)題,分別為無(wú)關(guān)問(wèn)題(completely unrelated question,CUQ)、部分相關(guān)問(wèn)題(some related question,SRQ)、完全相關(guān)問(wèn)題(completely related question,CRQ)。對(duì)于部分相關(guān)問(wèn)題,是在無(wú)關(guān)問(wèn)題的基礎(chǔ)上增加相關(guān)的信息或在相關(guān)問(wèn)題的基礎(chǔ)上增加無(wú)關(guān)信息,作為干擾。通過(guò)將無(wú)關(guān)信息和相關(guān)信息混合的方式制造部分相關(guān)問(wèn)題,可以驗(yàn)證信息過(guò)濾的魯棒性。準(zhǔn)確率使用正確過(guò)濾問(wèn)題個(gè)數(shù)除以問(wèn)題總個(gè)數(shù)進(jìn)行計(jì)算。
在表5 中,RIF(remove information filter)表示去除信息過(guò)濾,RKB(remove knowledge base)表示去除知識(shí)庫(kù),RKG(remove knowledge graph)表示去除知識(shí)圖譜交互。去除信息過(guò)濾模塊后,專(zhuān)業(yè)問(wèn)答系統(tǒng)可以通過(guò)合適的提示機(jī)制進(jìn)行信息過(guò)濾,從結(jié)果看,專(zhuān)業(yè)問(wèn)答-RIF的過(guò)濾準(zhǔn)確率低于專(zhuān)業(yè)問(wèn)答系統(tǒng)的過(guò)濾準(zhǔn)確率,說(shuō)明了去除信息過(guò)濾模塊后系統(tǒng)的信息過(guò)濾能力有所降低,驗(yàn)證了信息過(guò)濾模塊的有效性。對(duì)于簡(jiǎn)單問(wèn)題的回答,專(zhuān)業(yè)問(wèn)答-RKB的準(zhǔn)確率與ChatGLM-6B 基本相同,專(zhuān)業(yè)問(wèn)答-RKG 的準(zhǔn)確率與專(zhuān)業(yè)問(wèn)答系統(tǒng)基本相同,說(shuō)明對(duì)于SQ,大模型本身具備一定的回答能力,其增幅主要依靠知識(shí)庫(kù),知識(shí)圖譜進(jìn)行交互增強(qiáng)不明顯。對(duì)于困難問(wèn)題,專(zhuān)業(yè)問(wèn)答-RKB和專(zhuān)業(yè)問(wèn)答-RKG的準(zhǔn)確率低于專(zhuān)業(yè)問(wèn)答系統(tǒng),高于ChatGLM-6B,可見(jiàn)對(duì)于MQ、DQ,通過(guò)知識(shí)圖譜進(jìn)行交互發(fā)揮一定的作用,猜測(cè)這可能是因?yàn)橹R(shí)圖譜能夠注入相關(guān)知識(shí)或輔助大模型進(jìn)行推理,激活大模型的邊緣知識(shí)。總體來(lái)說(shuō)RKB、RKG都會(huì)使得專(zhuān)業(yè)問(wèn)答系統(tǒng)的回答準(zhǔn)確率下降,并且高于ChatGLM-6B的準(zhǔn)確率,由此驗(yàn)證了系統(tǒng)各個(gè)模塊均發(fā)揮作用。
對(duì)于簡(jiǎn)單問(wèn)題知識(shí)圖譜作用不明顯,這是由于回答問(wèn)題相對(duì)簡(jiǎn)單時(shí),所需要知識(shí)是孤立的,無(wú)需通過(guò)深度推理得出,當(dāng)不存在相應(yīng)知識(shí)時(shí),就無(wú)法通過(guò)知識(shí)圖譜輔助推理得到正確的答案,因此知識(shí)圖譜交互對(duì)回答的增強(qiáng)不明顯。
本實(shí)驗(yàn)通過(guò)展示系統(tǒng)的用戶(hù)界面截圖,體現(xiàn)了系統(tǒng)用戶(hù)交互服務(wù),同時(shí)還體現(xiàn)了本文所設(shè)計(jì)的系統(tǒng)具備的大語(yǔ)言模型與知識(shí)圖譜之間的交互能力。
本文實(shí)現(xiàn)了知識(shí)圖譜與大模型的雙向鏈接,探索了大語(yǔ)言模型和知識(shí)圖譜的深度結(jié)合。用戶(hù)向系統(tǒng)提出問(wèn)題,系統(tǒng)進(jìn)行回答,并通過(guò)圖的方式,展示知識(shí)圖譜相關(guān)數(shù)據(jù)節(jié)點(diǎn),用戶(hù)可以選擇其中相關(guān)節(jié)點(diǎn),再次輸入大模型得到更多的解釋。
圖7 來(lái)自系統(tǒng)界面截圖,展示了系統(tǒng)問(wèn)答、圖譜數(shù)據(jù)易讀化、自然語(yǔ)言回答結(jié)構(gòu)化的效果。左上角的問(wèn)答截圖是用戶(hù)向系統(tǒng)發(fā)出提問(wèn),系統(tǒng)生成答案,然后對(duì)答案進(jìn)行結(jié)構(gòu)化,生成三元組,并和已有的知識(shí)圖譜進(jìn)行匹配后,展示出右上角的知識(shí)圖譜節(jié)點(diǎn)。如圖7 右下角所示,用戶(hù)可以選擇相關(guān)節(jié)點(diǎn),系統(tǒng)將其轉(zhuǎn)化為問(wèn)題再次生成答案,最終兩個(gè)答案相結(jié)合就是系統(tǒng)的回復(fù)。這樣既為用戶(hù)提供了良好的交互服務(wù),也實(shí)現(xiàn)了大語(yǔ)言模型與知識(shí)圖譜的雙向交互。
圖7 中醫(yī)藥方劑大模型回答與知識(shí)圖譜相互轉(zhuǎn)換Fig.7 Mutual transformation between large model answer and knowledge graph of traditional Chinese medicine formulas
在中醫(yī)藥方劑領(lǐng)域,系統(tǒng)生成的回復(fù)有一定的參考價(jià)值,但是由于中醫(yī)藥方劑領(lǐng)域本身的一些特性,系統(tǒng)還具有很多可以改進(jìn)的地方,比如加入中醫(yī)如何開(kāi)方的數(shù)據(jù)和相關(guān)問(wèn)診的多模態(tài)數(shù)據(jù),如患者的舌苔、脈象、氣色等。該系統(tǒng)針對(duì)不同的領(lǐng)域,需有相應(yīng)的調(diào)整。
在大模型時(shí)代,激活大模型中的“涌現(xiàn)”能力并將其適配到具體領(lǐng)域場(chǎng)景是未來(lái)在垂直領(lǐng)域建立競(jìng)爭(zhēng)力的關(guān)鍵,其中高質(zhì)量領(lǐng)域數(shù)據(jù)與知識(shí)不可或缺。垂直領(lǐng)域的數(shù)據(jù)與知識(shí)可以有兩種利用方式:(1)在LLM預(yù)訓(xùn)練過(guò)程中,注入垂直領(lǐng)域知識(shí)并進(jìn)行相應(yīng)架構(gòu)與工程的優(yōu)化,或者使用微調(diào)方法修改模型參數(shù)向其中注入專(zhuān)業(yè)知識(shí);(2)結(jié)合垂直領(lǐng)域數(shù)據(jù)與知識(shí)圖譜,設(shè)計(jì)合適的提示機(jī)制,充分激發(fā)基座大模型的能力,實(shí)現(xiàn)垂直領(lǐng)域任務(wù)能力的“躍遷”。本文從第二種方式開(kāi)始,研究大語(yǔ)言模型+專(zhuān)業(yè)知識(shí)庫(kù)的問(wèn)答系統(tǒng)范式,探索將專(zhuān)業(yè)知識(shí)圖譜與大語(yǔ)言模型深度結(jié)合,實(shí)現(xiàn)了大語(yǔ)言模型與知識(shí)圖譜的雙向交互,同時(shí)實(shí)現(xiàn)了文本知識(shí)庫(kù)、知識(shí)圖譜、大語(yǔ)言模型三種知識(shí)的融合。
大模型知識(shí)圖譜問(wèn)答系統(tǒng)是對(duì)大模型與知識(shí)圖譜結(jié)合的探索工程,仍然存在著很多值得完善的部分。在該系統(tǒng)中目前僅實(shí)現(xiàn)了在中醫(yī)藥方劑領(lǐng)域的應(yīng)用,其設(shè)計(jì)思路還可以應(yīng)用在不同的領(lǐng)域,如法律、金融、教育等垂直領(lǐng)域。除此之外,在系統(tǒng)效果的驗(yàn)證方面還缺少一項(xiàng)標(biāo)準(zhǔn)的評(píng)估系統(tǒng)專(zhuān)業(yè)能力的基準(zhǔn),因此在后續(xù)工作中,將開(kāi)發(fā)一個(gè)專(zhuān)門(mén)用于評(píng)估垂直領(lǐng)域問(wèn)答系統(tǒng)性能的基準(zhǔn)。