關(guān)鍵詞:大語言模型;知識(shí)圖譜;自動(dòng)化構(gòu)建
中圖分類號(hào):G250 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2025)03-0006-03 開放科學(xué)(資源服務(wù)) 標(biāo)識(shí)碼(OSID) :
0引言
隨著社會(huì)的發(fā)展和信息技術(shù)的進(jìn)步,人類社會(huì)面臨的各種突發(fā)事件愈發(fā)頻繁和復(fù)雜。群體性突發(fā)公共事件作為一種特殊的突發(fā)事件[1],其事件演化路徑錯(cuò)綜復(fù)雜,具有不確定性和多路性。突發(fā)事件通常以新聞文本和摘要等非結(jié)構(gòu)化形式存在,讀者在從文本中提取信息時(shí),由于篇幅限制及多義字詞的影響,難以準(zhǔn)確連貫地把握事件中的實(shí)體與關(guān)系演化。而對(duì)于事件及其關(guān)系演化,采用知識(shí)圖譜能夠更直觀地表示各實(shí)體之間的邏輯關(guān)系。
傳統(tǒng)實(shí)現(xiàn)自動(dòng)化實(shí)體關(guān)系抽取[2]的模型多采用深度學(xué)習(xí)的方式進(jìn)行實(shí)體識(shí)別、關(guān)系提取和知識(shí)融合。Socher等[3]運(yùn)用RNN分析標(biāo)記好的文本句子的句法結(jié)構(gòu),挖掘句法特征。Shen等[4]提出基于注意力機(jī)制的CNN模型,分別利用詞嵌入、詞性標(biāo)注嵌入和位置嵌入信息,能夠充分提取文本的潛在語義特征。Google提出的BERT模型[5]采用雙向Transformer編碼器來捕捉文本的上下文信息。然而,上述方法均需要大量文本語義標(biāo)注樣本,消耗大量人力和算力,且提取效果與標(biāo)注質(zhì)量和模型訓(xùn)練的各種參數(shù)密切相關(guān)。
近年來,大語言模型在NLP任務(wù)中展現(xiàn)了極大的潛力。馮志偉等[6]指出,大語言模型展現(xiàn)出掌握世界知識(shí)和理解自然語言的強(qiáng)大能力。田萍芳等[7]通過大語言模型實(shí)現(xiàn)了更精準(zhǔn)的實(shí)體及關(guān)系識(shí)別,并將其應(yīng)用于司法命名實(shí)體識(shí)別。通過為大語言模型提供少量的微調(diào)樣本,可簡化抽取模型中樣本標(biāo)注及訓(xùn)練的過程,從而有效解決非結(jié)構(gòu)化文本中實(shí)體泛化和實(shí)體關(guān)系正確推理的問題,這是圖譜構(gòu)建中的難點(diǎn)與重點(diǎn)。
基于大語言模型(LLM)的圖譜自動(dòng)化構(gòu)建系統(tǒng)充分利用其推理特性,實(shí)現(xiàn)了圖譜自動(dòng)化構(gòu)建的目標(biāo)。系統(tǒng)采用多輪Prompt提示工程,并結(jié)合少量模型微調(diào),提供抽取背景,充分提取海量非結(jié)構(gòu)化文本中的語義信息,同時(shí)融合特征進(jìn)行實(shí)體關(guān)系匹配,從而提高圖譜構(gòu)建過程中實(shí)體及關(guān)系抽取的準(zhǔn)確率。系統(tǒng)以Django為主要開發(fā)框架,實(shí)現(xiàn)了集請(qǐng)求預(yù)處理、服務(wù)響應(yīng)、數(shù)據(jù)清洗、前后端數(shù)據(jù)傳輸于一體的圖譜構(gòu)建流程。通過異步抽取機(jī)制,進(jìn)一步提高了圖譜數(shù)據(jù)抽取的效率。該系統(tǒng)實(shí)現(xiàn)了基于大語言模型的圖譜自動(dòng)化構(gòu)建過程,為圖譜構(gòu)建系統(tǒng)的實(shí)現(xiàn)提供了一種可行的新方案。
1系統(tǒng)架構(gòu)設(shè)計(jì)
基于大語言模型的圖譜自動(dòng)化構(gòu)建系統(tǒng),依據(jù)圖譜構(gòu)建流程進(jìn)行了系統(tǒng)架構(gòu)的設(shè)計(jì)。針對(duì)數(shù)據(jù)層面,需要實(shí)現(xiàn)非結(jié)構(gòu)化文本到結(jié)構(gòu)化文本的簡化映射及持久化存儲(chǔ);針對(duì)業(yè)務(wù)邏輯層面,需要實(shí)現(xiàn)多種大語言模型API的兼容管理及相關(guān)功能的交互;針對(duì)可視化層面,需要實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)動(dòng)態(tài)傳輸及動(dòng)態(tài)可視化的交互界面。
依據(jù)功能需求,系統(tǒng)劃分為應(yīng)用層、數(shù)據(jù)加載層、模型管理層和渲染控制層。其中,模型管理層是系統(tǒng)的核心模塊,通過對(duì)模型的管理,用戶可以靈活地進(jìn)行圖譜的自動(dòng)化構(gòu)建。其系統(tǒng)架構(gòu)如圖1所示。
1.1模型管理層
模型管理層負(fù)責(zé)實(shí)現(xiàn)大語言模型的對(duì)接,并聯(lián)合數(shù)據(jù)加載層為應(yīng)用層提供服務(wù)。其主要包括通用API模塊與模型微調(diào)模塊。通用API模塊提供基礎(chǔ)大語言模型API接口,用戶無須關(guān)注細(xì)節(jié)處理,只需完成不同模型的接入及部分參數(shù)調(diào)整,即可實(shí)現(xiàn)圖譜數(shù)據(jù)的獲取。模型微調(diào)模塊提供接口支持用戶自主部署模型,用戶可上傳特定數(shù)據(jù)集,對(duì)上傳的大模型進(jìn)行微調(diào)[8],以達(dá)到最佳的關(guān)系與實(shí)體抽取效果。在執(zhí)行圖譜自動(dòng)化抽取任務(wù)時(shí),采用異步流程,實(shí)現(xiàn)多個(gè)構(gòu)建任務(wù)的并發(fā)處理,從而提高構(gòu)建效率,并對(duì)圖譜構(gòu)建任務(wù)進(jìn)行進(jìn)一步的封裝與優(yōu)化。最終,任務(wù)執(zhí)行結(jié)果將被組合并返回給數(shù)據(jù)加載層。
1.2數(shù)據(jù)加載層
數(shù)據(jù)加載層主要面向?qū)崟r(shí)圖譜抽取過程中的數(shù)據(jù)任務(wù),包含數(shù)據(jù)清洗、數(shù)據(jù)切片[9]、Prompt嵌入和第三方擴(kuò)展模塊。數(shù)據(jù)清洗模塊負(fù)責(zé)對(duì)系統(tǒng)輸入的提示詞轉(zhuǎn)換及模型輸出數(shù)據(jù)的規(guī)范化處理,如剔除冗余數(shù)據(jù)等。數(shù)據(jù)切片模塊實(shí)現(xiàn)對(duì)用戶輸入的非結(jié)構(gòu)化長文本的切分與標(biāo)記,便于后續(xù)模型更精確地提取語義中的實(shí)體及關(guān)系。Prompt嵌入模塊支持在多輪Prompt中調(diào)整圖譜抽取策略,實(shí)現(xiàn)圖譜數(shù)據(jù)的漸進(jìn)式抽取。第三方擴(kuò)展模塊負(fù)責(zé)數(shù)據(jù)的持久化存儲(chǔ),并通過擴(kuò)展數(shù)據(jù)接口的方式支持批量圖譜抽取任務(wù)。數(shù)據(jù)加載層旨在對(duì)大語言模型抽取的圖譜原始數(shù)據(jù)進(jìn)行有效的接入、轉(zhuǎn)換、清洗和持久化存儲(chǔ)。通過數(shù)據(jù)加載層,系統(tǒng)能夠?qū)?shù)據(jù)流通進(jìn)行進(jìn)一步處理與封裝,為后續(xù)服務(wù)請(qǐng)求及數(shù)據(jù)資源管理提供可靠的數(shù)據(jù)基礎(chǔ)。
1.3應(yīng)用層應(yīng)用層
基于其他層的功能實(shí)現(xiàn)與用戶交互,是系統(tǒng)的應(yīng)用管理模塊。該層提供模型選擇、文件加載、可視化數(shù)據(jù)及圖譜生成服務(wù)。用戶通過鑒權(quán)認(rèn)證后,可手動(dòng)添加模型參數(shù)(如Key模型授權(quán)令牌、Tempera?ture生成結(jié)構(gòu)參數(shù)等)進(jìn)行調(diào)整。在執(zhí)行圖譜抽取任務(wù)時(shí),用戶可手動(dòng)輸入原始文本數(shù)據(jù),或通過文件加載的方式導(dǎo)入Word、TXT、PDF等格式文件,從而實(shí)現(xiàn)原始數(shù)據(jù)的輸入。系統(tǒng)隨后按照流程處理數(shù)據(jù)并生成可視化結(jié)果,供用戶查看與分析。
1.4渲染控制層
渲染控制層負(fù)責(zé)管理和控制圖譜渲染過程中的各種參數(shù)配置,以確保最終渲染結(jié)果符合預(yù)期的質(zhì)量和性能。該層基于Echarts和Bootstrap實(shí)現(xiàn)圖譜及原始圖表數(shù)據(jù)的可視化呈現(xiàn),并通過Ajax實(shí)現(xiàn)與后端的實(shí)時(shí)交互,保證系統(tǒng)的動(dòng)態(tài)性和實(shí)時(shí)性。用戶可通過交互式界面調(diào)整圖譜的可視化效果,例如節(jié)點(diǎn)大小、關(guān)系圖路徑樣式、交互按鈕的呈現(xiàn)等。通過參數(shù)配置,渲染控制層實(shí)現(xiàn)了系統(tǒng)的動(dòng)態(tài)界面及功能交互,并支持對(duì)關(guān)系實(shí)體圖譜的高質(zhì)量可視化呈現(xiàn)。
2系統(tǒng)流程實(shí)現(xiàn)
2.1請(qǐng)求服務(wù)的設(shè)計(jì)
2.1.1圖譜數(shù)據(jù)請(qǐng)求API設(shè)計(jì)
接口設(shè)計(jì)是構(gòu)建高效、穩(wěn)定和安全的Web服務(wù)的關(guān)鍵環(huán)節(jié)?;贒jango框架,利用通用API完成本系統(tǒng)的基礎(chǔ)服務(wù),通過API的形式簡化圖譜構(gòu)建流程,從而實(shí)現(xiàn)圖譜數(shù)據(jù)的實(shí)時(shí)獲取。其請(qǐng)求參數(shù)如表1所示。
2.1.2微調(diào)模型API設(shè)計(jì)
微調(diào)API旨在構(gòu)建更加專業(yè)化、領(lǐng)域化的知識(shí)圖譜。管理員可自主上傳大語言模型權(quán)重文件及數(shù)據(jù)集,選擇模型參數(shù),對(duì)模型進(jìn)行微調(diào)訓(xùn)練。通過自主模型訓(xùn)練,可以更好地適應(yīng)特定領(lǐng)域的圖譜任務(wù),滿足用戶的個(gè)性化需求。其API參數(shù)如表2所示。
2.2圖譜數(shù)據(jù)清洗
數(shù)據(jù)清洗是圖譜構(gòu)建過程中的重要環(huán)節(jié),主要目的是消除所獲取圖譜數(shù)據(jù)中的錯(cuò)誤、冗余和不完整部分,從而提高圖譜的質(zhì)量和準(zhǔn)確性。
2.2.1錯(cuò)誤類型定義
根據(jù)圖譜渲染框架與實(shí)體單一原則,我們將錯(cuò)誤劃分為數(shù)據(jù)異常類(如空值、1)、實(shí)體誤差類(如經(jīng)抽取后實(shí)體不一致)和匹配誤差類等錯(cuò)誤。在抽取過程中,我們依據(jù)錯(cuò)誤類型進(jìn)行一系列邏輯判斷,并采用相應(yīng)的策略對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步優(yōu)化,從而提高數(shù)據(jù)處理的準(zhǔn)確性,最終提升圖譜數(shù)據(jù)抽取的準(zhǔn)確性。
2.2.2數(shù)據(jù)處理
在圖譜構(gòu)建流程中,圖譜數(shù)據(jù)多以實(shí)體關(guān)系元組的形式存在,其定義如下所示:
式中:ID為唯一數(shù)據(jù)標(biāo)識(shí),S為源實(shí)體,T為目標(biāo)實(shí)體,R為兩者實(shí)體間的關(guān)系。依據(jù)數(shù)據(jù)處理流程,首先需對(duì)數(shù)據(jù)進(jìn)行去重處理,刪除重復(fù)記錄,保證實(shí)體的單一性。同時(shí)對(duì)數(shù)據(jù)進(jìn)行格式化處理,確保所有數(shù)據(jù)遵循相同的格式標(biāo)準(zhǔn),便于后期渲染及存儲(chǔ)。對(duì)于缺失值部分,采用回溯抽取的方法,重新抽取所缺失的實(shí)體或關(guān)系,并對(duì)數(shù)據(jù)中的非法字符進(jìn)行剔除。
2.3圖譜渲染
圖譜渲染基于Echarts框架實(shí)現(xiàn)。Echarts是一款基于JavaScript的數(shù)據(jù)可視化圖表庫,能夠提供直觀、生動(dòng)、可交互且可個(gè)性化定制的數(shù)據(jù)可視化圖表。通過其數(shù)據(jù)項(xiàng)及配置項(xiàng)的靈活配置,可滿足圖譜數(shù)據(jù)的可視化需求。在進(jìn)行圖譜渲染時(shí),我們對(duì)關(guān)系實(shí)體數(shù)據(jù)進(jìn)行進(jìn)一步清洗,將其作為數(shù)據(jù)項(xiàng)用于圖譜渲染。
3抽取模式設(shè)計(jì)
3.1提示詞設(shè)計(jì)
大語言模型具有強(qiáng)大的推理能力,其理想結(jié)果通常與用戶輸入的提示詞密切相關(guān)。本文針對(duì)關(guān)系和實(shí)體設(shè)計(jì)了提示詞,旨在實(shí)現(xiàn)實(shí)體關(guān)系的精準(zhǔn)抽取,其提示詞設(shè)計(jì)如表3所示。
3.2多輪提示詞實(shí)體關(guān)系匹配
多輪提示詞用于指導(dǎo)模型生成初始響應(yīng),并影響后續(xù)交互內(nèi)容的連貫性。這類提示詞通常需要包含足夠的上下文信息,以便模型能夠理解對(duì)話的整體脈絡(luò),并生成連貫的響應(yīng)。當(dāng)發(fā)起任務(wù)請(qǐng)求時(shí),系統(tǒng)將原始文本作為輸入,通過多輪提示詞抽取,最終獲取多組實(shí)體關(guān)系。其匹配模式流程如圖2所示。
在圖2中,語料數(shù)據(jù)通過實(shí)體和關(guān)系提取,生成實(shí)體和關(guān)系數(shù)據(jù)流,并將該數(shù)據(jù)流作為下一輪實(shí)體關(guān)系匹配融合的輸入。根據(jù)數(shù)據(jù)流所攜帶的序列標(biāo)識(shí),完成實(shí)體關(guān)系特征的匹配。最終,通過進(jìn)一步處理,得到實(shí)體關(guān)系(RE)元組。
3.3異步并發(fā)抽取
asyncio是Python標(biāo)準(zhǔn)庫中的一個(gè)模塊,用于支持異步編程和并發(fā)執(zhí)行。它提供了豐富的API,包括異步函數(shù)、異步I/O操作、異步任務(wù)調(diào)度等。本系統(tǒng)采用即時(shí)請(qǐng)求服務(wù)的方式來實(shí)現(xiàn)對(duì)圖譜數(shù)據(jù)的抽取及檢索,其任務(wù)具有實(shí)時(shí)性。然而,在多輪提示詞輸入推理過程中,使用同步大語言模型API往往需要耗費(fèi)大量時(shí)間成本。
通過asyncio異步方式,可以實(shí)現(xiàn)多個(gè)實(shí)體關(guān)系抽取任務(wù)的并發(fā)執(zhí)行。同時(shí),采用序列化的方式,將數(shù)據(jù)切片與背景原文進(jìn)行匹配,增強(qiáng)抽取語段的上下文語義,保證切片段文本的語義連續(xù)性,從而提高圖譜抽取過程中實(shí)體及關(guān)系的準(zhǔn)確性。通過序列化的方式匹配當(dāng)前被抽取語句的上下文語義,能夠進(jìn)一步確保圖譜數(shù)據(jù)的上下文語義連續(xù)性。
4結(jié)束語
知識(shí)圖譜自動(dòng)化構(gòu)建系統(tǒng)旨在利用大語言模型的推理能力,充分挖掘非結(jié)構(gòu)化文本中的實(shí)體關(guān)系數(shù)據(jù),實(shí)現(xiàn)圖譜的自動(dòng)化構(gòu)建流程。通過多級(jí)Prompt工程,明確任務(wù)指令,增強(qiáng)抽取結(jié)果的準(zhǔn)確性。同時(shí),系統(tǒng)將數(shù)據(jù)以可視化形式呈現(xiàn),為用戶提供簡潔的交互界面。
與傳統(tǒng)圖譜實(shí)現(xiàn)技術(shù)不同,本系統(tǒng)采用生成式模式構(gòu)建圖譜,用戶可以通過多輪交互實(shí)現(xiàn)圖譜的生成與構(gòu)建。在圖譜內(nèi)容生成方面,系統(tǒng)具有高度的彈性。
目前,大語言模型仍然被視為黑箱,其推理邏輯尚未完全明確。但未來,隨著對(duì)大語言模型研究的深入,它必將在圖譜構(gòu)建領(lǐng)域發(fā)揮更重要的作用。大語言模型技術(shù)的發(fā)展將推動(dòng)更加智能化、自動(dòng)化的圖譜構(gòu)建方法的出現(xiàn),這不僅為知識(shí)圖譜的普及和應(yīng)用奠定了堅(jiān)實(shí)基礎(chǔ),也將進(jìn)一步推動(dòng)人工智能技術(shù)在各個(gè)領(lǐng)域的廣泛應(yīng)用。