如何使用LLM建立行業(yè)KG(知識圖)
1 KG與LLM完美結(jié)合
大語言模型(LLM)在各種應(yīng)用領(lǐng)域中已經(jīng)取得了顯著的成功,但是它常常無法捕捉和掌握最新的事實(shí)知識。而另一方面,知識圖(Knowledge Graph,簡稱:KG)則擁有豐富的專家知識和事實(shí)知識,但它很難以構(gòu)建,又又不足以處理現(xiàn)實(shí)世界知識圖譜的動態(tài)變化性質(zhì)和因果推論功能等。因此,自然而然地將KG 和LLM結(jié)合起來,各自發(fā)揮優(yōu)勢,相輔相成,締造完美組合。
2 KG協(xié)助LLM:降低LLM幻覺
大家都知道,LLM 常有幻覺(Hallucination)現(xiàn)象,這是源于LLM 缺乏:準(zhǔn)確性、可解釋性和可控性。那么,如何才能有效降低LLM 的幻覺風(fēng)險(xiǎn)呢?其中,知識圖(Knowledge Graph,簡稱:KG)與LLM 的結(jié)合,藉由KG 來建立的行業(yè)或企業(yè)的數(shù)據(jù)地圖,來將各數(shù)據(jù)與其涵意(Semantics)連結(jié)起來,化解上述LLM 的三項(xiàng)缺點(diǎn),因而有效減少LLM 的幻覺現(xiàn)象。
LLM 天生非常善解文句和人意,可以簡化知識圖中的復(fù)雜數(shù)據(jù)的查詢或檢索。由于知識圖是實(shí)體(Entity)相互關(guān)聯(lián)的描述的集合,提供了有關(guān)知識圖中數(shù)據(jù)的重要上下文(Context)和內(nèi)容涵意,以便增強(qiáng)其響應(yīng)速度和準(zhǔn)確性。因而讓LLM 產(chǎn)生更精確、準(zhǔn)確且與上下文相關(guān)的輸出,同時(shí)防止偏見和幻覺。
其典型的途徑是:使用RAG(檢索增強(qiáng)生成)技術(shù)。亦即,LLM 使用RAG 先檢索KG 來找到與用戶查詢最相關(guān)的知識。也可透過 基于圖的搜索(Graph Traversal) 或基于圖的嵌入檢索(Graph Embedding Retrieval) 來檢索KG內(nèi)的信息。然后,把檢索到的KG知識作為上下文,反饋給LLM,于是LLM 就實(shí)現(xiàn)基于企業(yè)(或行業(yè))內(nèi)知識而生成響應(yīng)了,有效降LLM幻覺,提高AI在企業(yè)應(yīng)用的可信度。
3 LLM 協(xié)助KG:加速建構(gòu)KG
剛才提到了,KG 是明確儲存豐富事實(shí)知識的數(shù)據(jù)結(jié)構(gòu),然而KG 的構(gòu)建是費(fèi)力又耗時(shí)的工作。于是,利用AI 模型(含LLM 等)來協(xié)助和加速建立KG,是一項(xiàng)高效的策略。例如,使用BERTopic 模型來從自由文本(Text)中萃取主題(Topic)作為候選實(shí)體(Entity);接著,使用 LLM(如ChatGPT)來抽取實(shí)體之間的關(guān)系(Links)。這種策略是充分利用LLM 的強(qiáng)大上下文理解能力來識別實(shí)體之間的語義關(guān)系,尤其在無監(jiān)督式學(xué)習(xí)或少量標(biāo)注數(shù)據(jù)的情況下,其效果特別好。
4 LLM加速建構(gòu)KG的范例
典型的KG建構(gòu)流程如下:
Step-1:識別實(shí)體(Entity)利用預(yù)訓(xùn)練的AI 模型(例如BERTopic 等)從文本中識別出實(shí)體,例如食材、菜品、供貨商、烹飪方法等。尤其在缺乏充足的標(biāo)注數(shù)據(jù)的應(yīng)用情境中,BERTopic這種無監(jiān)督式學(xué)習(xí)的模型能夠自動從文本中發(fā)掘隱含的語義結(jié)構(gòu)。而且BERTopic 結(jié)合了Transformer 編碼器和聚類算法,更有利于捕捉文本中的語義關(guān)系,來生成較具可解釋性的主題,其更能夠映像到業(yè)務(wù)中具有代表性的概念或?qū)嶓w。經(jīng)由AI 模型萃取出的候選實(shí)體只需要少許的人工審核,來確保候選實(shí)體符合業(yè)務(wù)需求,讓KG的建構(gòu)更容易、更高效。簡而言之,此步驟的任務(wù)是,使用BERTopic 預(yù)訓(xùn)練模型來提取種子實(shí)體列表,以指導(dǎo)KG 最相關(guān)的實(shí)體。這些種子實(shí)體保證了實(shí)體提取的高相關(guān)性,并為后續(xù)的三元組提取提供了較高精確度。
Step-2:抽取關(guān)系(Link)
LLM(如ChatGPT)具有強(qiáng)大上下文理解能力,可以精準(zhǔn)識別出實(shí)體之間的語義關(guān)系。所以,LLM 很擅長基于上下文,而抽取實(shí)體之間的關(guān)系。例如:< 菜品包含某種食材> 或< 供貨商供應(yīng)特定食材> 等。所以,使用LLM 來抽取實(shí)體之間的關(guān)系是可行且有效的,但為了提升準(zhǔn)確度,可以設(shè)計(jì)提示詞(Prompt)限定關(guān)系類別,來提升準(zhǔn)確性。還可以使用LoRA 等微調(diào)技術(shù)來讓LLM 更適合于企業(yè)(或行業(yè))應(yīng)用情境。此策略特別適合應(yīng)用于企業(yè)KG 的構(gòu)建,例如餐飲業(yè)的食材知識圖譜,能幫助企業(yè)從大量文本中自動化發(fā)掘菜品、食材、供貨商、烹飪方式等關(guān)系,從而提升數(shù)據(jù)結(jié)構(gòu)化與應(yīng)用價(jià)值。簡而言之,此步驟的任務(wù)是,使用LLM 進(jìn)行候選三元組擷取。
Step-3:建構(gòu)KG
接著,將抽取出的實(shí)體和關(guān)系轉(zhuǎn)化為知識圖譜的節(jié)點(diǎn)(Node)與邊(Edge),形成初步的KG。也可以考慮使用圖數(shù)據(jù)庫(如Neo4j)來存儲和查詢它。簡而言之,此步驟的任務(wù)是,進(jìn)一步整理并存儲萃取的三元組,并且運(yùn)用圖數(shù)據(jù)庫(如 Neo4j)來查詢和可視化。
Step-4:KG融合
接著,將抽取出的實(shí)體和關(guān)系轉(zhuǎn)化為知識圖譜的節(jié)點(diǎn)(Node)與邊(Edge),形成初步的KG。也可以考慮使用圖數(shù)據(jù)庫(如Neo4j)來存儲和查詢它。最后,針對不同數(shù)據(jù)來源中同一實(shí)體的重復(fù)或歧義問題,需要利用實(shí)體對齊技術(shù)進(jìn)行融合,確保知識圖譜的準(zhǔn)確性和一致性。兩個(gè)實(shí)體之間提取的關(guān)系可能是沖突的、多樣化的或不正確的,這需要透過融合步驟來解決的。融合方法有助于調(diào)和沖突關(guān)系,有效地整合不同或不正確的關(guān)系,例如針對相同實(shí)體的不同表達(dá)進(jìn)行融合和標(biāo)準(zhǔn)化,例如「西紅柿」和「西紅柿」歸為同一食材。并且可考慮與外部知識庫(如企業(yè)內(nèi)部庫)連接,進(jìn)行實(shí)體消歧或補(bǔ)全。簡而言之,此步驟的任務(wù)是,設(shè)計(jì)了新穎的融合模塊,該模塊提供了提取的知識的全局視圖,優(yōu)化三元組、提升KG 質(zhì)量。
5 結(jié)語
本文說明運(yùn)用LLM 來協(xié)助建構(gòu)KG 的目的及其典型的流程。例如,從自由文本(如食譜)中自動構(gòu)建KG,包含:
● 實(shí)體(Entities):使用 BERTopic 萃取候選實(shí)體(Entities)。自動從文本中發(fā)現(xiàn)核心概念,例如食材、菜品名稱、烹飪方法等。
● 關(guān)系(Links):使用LLM 萃取關(guān)系(Links)?;谖谋旧舷挛?,讓LLM自動識別實(shí)體間的關(guān)系。例如,食材與菜品的關(guān)系、烹飪方式與食材的關(guān)系等。
● 三元組(Triples):整理并存儲萃取的三元組(實(shí)體1,關(guān)系,實(shí)體2),構(gòu)建KG,并運(yùn)用圖數(shù)據(jù)庫來查詢和可視化。
綜上所述,使用BERTopic 來從無標(biāo)注的文本自動提取主題,作為候選實(shí)體,能大幅減少人工成本。接著,LLM 來透過上下文理解來自動抽取關(guān)系,也減少手動標(biāo)注需求。這種AI 模型的組合策略,能適用于建構(gòu)不同領(lǐng)域的KG,如餐飲、醫(yī)療、供應(yīng)鏈等。也具有可擴(kuò)展性,若需要增添新類型的實(shí)體或關(guān)系,只需調(diào)整LLM 的提示詞或進(jìn)行微調(diào)即可,也可以節(jié)省模型的訓(xùn)練成本。所以,這是一種頗具有成本效益的AI 模型組合策略。
(本文來源于《EEPW》202503)
評論