摘 "要:大語言模型在智能問答、文本生成、語言翻譯、輔助編程等創(chuàng)造性的場景應用十分廣泛,但是在需求精確性的場景下應用卻受到諸多限制。該文主要研究采用大語言模型,在知識圖譜和向量知識庫的加持下,結(jié)合Prompt提示工程、微調(diào)、LangChain等技術(shù),融合結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),實現(xiàn)在限定知識范圍內(nèi)的精確查詢,探索大語言模型應用的新方式。
關(guān)鍵詞:大語言模型;異構(gòu)數(shù)據(jù);知識圖譜;向量知識庫;融合查詢
中圖分類號:TP312 " " "文獻標志碼:A " " " " "文章編號:2095-2945(2025)10-0001-05
Abstract: Large Language Models (LLMs), also known as big models, have extensive applications in creative scenarios such as intelligent question answering, text generation, language translation, and programming assistance. However, their application in precision-demanding contexts is often subject to various limitations. This paper primarily investigates the utilization of large language models, coupled with the support of Knowledge Graphs and Vector Knowledge Bases. By incorporating techniques such as Prompt Engineering, fine-tuning, and LangChain, we aim to fuse structured and unstructured data and achieve precise queries within a defined knowledge scope. This research explores new approaches for the application of large language models.
Keywords: Large Language Model (LLM); heterogeneous data; knowledge graph; vector knowledge base; fusion query
隨著ChatGPT的橫空出世,開啟了生成式大語言模型(Large Language Models,簡稱大模型或LLMs)蓬勃發(fā)展的新時代,依托Transformer[1]等技術(shù)架構(gòu)和海量的訓練數(shù)據(jù),大模型在自然領域和多模態(tài)領域的發(fā)展十分迅速,尤其是對于非結(jié)構(gòu)化數(shù)據(jù)的處理。然而在大模型的實際應用過程中卻存在大量的限制,例如:①缺乏解釋性,難以解釋其決策的過程,限制了其在某些領域的可靠性和可信度[2];②大模型雖然具有廣泛的語言能力和知識體系,但對特定領域的專業(yè)知識了解有限,可能無法提供準確或深入的理解和分析;③新技術(shù)、新理念和新知識層出不窮,異構(gòu)數(shù)據(jù)無處不在,信息時代每時每刻都會產(chǎn)生大量的數(shù)據(jù),其中既包含信息化系統(tǒng)產(chǎn)生的結(jié)構(gòu)化數(shù)據(jù),也包括語音、圖片、視頻和文檔等大量的非結(jié)構(gòu)化數(shù)據(jù),根據(jù)IDC的預測,全球產(chǎn)生的數(shù)據(jù)在2025年將達到179.6 ZB,其中絕大部分數(shù)據(jù)(約80%~90%)為非結(jié)構(gòu)化的數(shù)據(jù)[3]。
在企業(yè)的核心資產(chǎn)中,數(shù)據(jù)占據(jù)著至關(guān)重要的地位。其中,結(jié)構(gòu)化數(shù)據(jù)雖然僅占20%,但因其可被標準化處理和存儲,一直受到企業(yè)的重視。然而,非結(jié)構(gòu)化數(shù)據(jù),如文本、圖像、音頻和視頻等,雖然占據(jù)了數(shù)據(jù)總量的80%,卻因其多樣性和復雜性而常常被企業(yè)所忽視[4]。
當前解決該問題的主流方法為NLP技術(shù)和SQL檢索。對于非結(jié)構(gòu)化數(shù)據(jù)的查詢,NLP技術(shù)發(fā)揮了重要作用。NLP通過詞法分析、句法分析、語義理解等技術(shù)手段,將非結(jié)構(gòu)化文本轉(zhuǎn)化為計算機可理解的結(jié)構(gòu)化信息,從而實現(xiàn)對這些數(shù)據(jù)的查詢和檢索。然而,NLP技術(shù)在處理非結(jié)構(gòu)化數(shù)據(jù)時面臨著語義理解的局限性,難以完全準確地捕捉文本的深層含義。對于結(jié)構(gòu)化數(shù)據(jù)的查詢,SQL語言是最常用的工具。SQL語言提供了豐富的查詢語句和操作符,可以高效地對關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)進行查詢、過濾、聚合等操作。企業(yè)可以通過編寫SQL查詢語句,實現(xiàn)對結(jié)構(gòu)化數(shù)據(jù)的精確查詢和分析。然而,SQL語言對非結(jié)構(gòu)化數(shù)據(jù)的處理能力有限,無法直接應用于非結(jié)構(gòu)化文本的檢索和查詢。
為了綜合處理結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),企業(yè)通常需要結(jié)合使用NLP技術(shù)和SQL語言。這意味著,企業(yè)需要開發(fā)復雜的查詢系統(tǒng)或集成多個獨立的工具,以實現(xiàn)對異構(gòu)數(shù)據(jù)的統(tǒng)一查詢。然而,這種解決方案往往存在效率不高、維護困難等問題。大模型的出現(xiàn)給這個場景提供了新的解決思路,與傳統(tǒng)的NLP技術(shù)和SQL查詢相比,大模型具有更高的靈活性和可擴展性。它們不需要復雜的系統(tǒng)集成和維護,只需通過簡單的微調(diào)即可適應不同的查詢需求。此外,大模型還可以結(jié)合其他先進技術(shù)(如知識圖譜、圖像識別等),實現(xiàn)更加全面和多樣的數(shù)據(jù)處理和分析功能。
然而,僅僅依靠增量預訓練和模型微調(diào)均不能從根本上解決大模型在精確場景應用中出現(xiàn)的問題,即“一本正經(jīng)的胡說八道”。筆者嘗試從異構(gòu)數(shù)據(jù)融合查詢的角度出發(fā),從數(shù)據(jù)層面上解決大模型的泛化問題,獲取準確性高和可靠性強的答案。
1 技術(shù)方案研究
為了解決大模型在精確場景不可靠的問題,一個行之有效的方案是,給大模型提供針對結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的外掛知識系統(tǒng),當用戶提問的內(nèi)容與外掛知識系統(tǒng)產(chǎn)生交互且具備一定的關(guān)聯(lián)度時,將相關(guān)的知識作為Prompt提示工程傳遞給大模型,大模型基于匹配到的限定范圍的知識進行理解和重新組合,即可形成具有較高的準確性和較為穩(wěn)定的知識問答。
1.1 總體架構(gòu)
大模型作為核心能力貫穿了整個處理環(huán)節(jié),用到了知識圖譜、向量知識庫、Prompt提示工程[5-6]、微調(diào)[7]、LangChain[8-9]等技術(shù),在外掛知識體系的加持下,通過對特定知識的組合,從而最大限度地提高了大模型在處理相關(guān)問題的可靠性。具體架構(gòu)如圖1所示。
1.2 知識圖譜
通過構(gòu)建知識圖譜,能夠給大模型提供結(jié)構(gòu)化的數(shù)據(jù)支持,改善語義理解和推理能力并拓展領域知識的范圍,從而達到改善問題回答和信息檢索能力的效果。知識圖譜以圖的形式組織和表示知識,可以將實體、關(guān)系和屬性以結(jié)構(gòu)化的方式存儲。
在這個過程中,知識圖譜可以起到以下2個方面的作用。
1)對于結(jié)構(gòu)化數(shù)據(jù),可以將數(shù)據(jù)(節(jié)點、關(guān)系)的標簽、字段等schema用圖譜的形式來表示,從而幫助大模型能夠理解整個數(shù)據(jù)架構(gòu)。
2)對于非結(jié)構(gòu)化數(shù)據(jù),可以將段落、上下文引用、圖表和文檔間調(diào)用等用節(jié)點和關(guān)系連接起來,從而使得大模型能夠整體掌握非結(jié)構(gòu)化文本的大綱、行文結(jié)構(gòu)和多模態(tài)信息。
1.3 "向量知識庫
構(gòu)建向量知識庫,可以將文本數(shù)據(jù),包括互聯(lián)網(wǎng)上的網(wǎng)頁、書籍、新聞文章等,按照段落/文字長度等方式進行切片,將文本片段映射到向量空間中的向量,為大模型提供了語義上的表示,這些向量表示捕捉了詞語之間的語義關(guān)系和上下文信息,從而可以進行語義匹配、相似性分析等任務[10-12]。此外,向量知識庫可以用于知識補全和推薦任務,通過匹配查詢向量與知識庫中的向量表示,推薦相關(guān)實體或相關(guān)知識,大模型可以利用向量知識庫中的向量表示,與用戶提問的向量化片段進行距離計算,返回與用戶問題最接近的N個知識文本片段,最終作為提示工程交給大模型組合輸出。
1.4 "提示工程
大模型的Prompt提示工程是指在使用大語言模型時,通過設計和構(gòu)造合適的Prompt(提示語)來引導模型的輸出以實現(xiàn)特定的功能或獲取特定的知識。Prompt提示工程的作用包括以下幾點。
1)引導模型生成特定類型的輸出。例如假如想要讓大模型具備翻譯的能力,那么會在提示工程中,引導大模型在輸出答案時僅僅輸出翻譯后的內(nèi)容,而不要引申或者拓展回答的內(nèi)容,獲得相對準確的回答效果。
2)指導模型獲取特定領域的知識。例如對于比較專業(yè)的知識領域,大模型回答時會產(chǎn)生認知偏差,通過提示工程,可以補充特定支持,引導大模型得到正確的結(jié)果。
3)解決大模型輸出的穩(wěn)定性問題。大模型的輸出存在不確定性和隨機性,提示工程可以在一定程度上解決該問題。
1.5 "微調(diào)
大模型使用微調(diào)技術(shù)的目的是為了進一步優(yōu)化和適應特定任務或領域的數(shù)據(jù)。微調(diào)是指在預訓練的大模型基礎上,使用任務特定的數(shù)據(jù)進行有監(jiān)督的訓練,以調(diào)整模型的參數(shù)和權(quán)重,使其更好地適應具體任務的要求。微調(diào)可以應用在各個層面,例如:訓練大模型在某些知識領域的能力,理解某些知識、指令或者定義,對大模型回答格式進行調(diào)整等。
2 "案例分析
基于以上的技術(shù)架構(gòu),本文在人力資源管理領域?qū)Υ竽P团c異構(gòu)數(shù)據(jù)融合查詢流程進行了案例實踐和驗證。
2.1 "知識圖譜和向量知識庫的構(gòu)造
對于人力資源管理系統(tǒng),主要的數(shù)據(jù)分為2類:①結(jié)構(gòu)化的數(shù)據(jù),主要包含人員、部門、履歷等信息;②非結(jié)構(gòu)化數(shù)據(jù),主要包括關(guān)于人力資源管理的各項規(guī)章制度,例如考勤管理辦法、考核管理辦法、績效管理辦法等。
2.1.1 "結(jié)構(gòu)化數(shù)據(jù)
結(jié)構(gòu)化數(shù)據(jù)處理最核心的方法是梳理圖結(jié)構(gòu)(schema),如圖2所示,可以將與人員相關(guān)的節(jié)點和關(guān)系的標簽(label)、字段名稱、字段屬性等相互關(guān)聯(lián)起來,之后按照這個架構(gòu)將數(shù)據(jù)寫入圖數(shù)據(jù)庫進行存儲,同時,圖結(jié)構(gòu)(schema)將轉(zhuǎn)換為Prompt提示工程語句,用于大模型對知識圖譜進行理解。
2.1.2 "非結(jié)構(gòu)化數(shù)據(jù)
對于非結(jié)構(gòu)化數(shù)據(jù)處理,主要分為以下3步:①處理文本,略去圖片等信息,將表格按行與表頭一起處理成文本等;②文本向量化,結(jié)構(gòu)化的向量與非結(jié)構(gòu)化的文本形成一一對應關(guān)系;③對于結(jié)構(gòu)較為復雜的文本,需要構(gòu)建知識圖譜,用以標準段落之間相互引用,文本之間相互引用等關(guān)系。如圖3所示,可以得到人力資源管理文檔的知識圖譜和向量知識庫。
2.2 "文本轉(zhuǎn)結(jié)構(gòu)化查詢語句
要獲取結(jié)構(gòu)化數(shù)據(jù)的信息,需要借助于數(shù)據(jù)庫查詢語言來執(zhí)行,而為了處理現(xiàn)實條件下用戶的日常提問,我們需要借助于一個工具來進行一個文本轉(zhuǎn)換。實現(xiàn)這個功能的工具也有很多,包括但不限于:NLP語義理解(例如BERT模型)、正則化匹配填充、大模型Prompt提示工程和大模型微調(diào)等,各自有不同的試用場景。結(jié)合人力資源管理查詢系統(tǒng)的特點,本文采用的是Prompt提示工程的方式,針對用戶的提問,分析其所需的數(shù)據(jù)庫及其schema,之后采用大模型抽取用戶提問中的關(guān)鍵信息,配合Prompt提示中的相關(guān)信息(schema),從而生成滿足需求的查詢語句。
2.3 "文本轉(zhuǎn)非結(jié)構(gòu)化文本檢索
將人力資源管理文件全部按照2.1.2的方法進行文本處理和文本結(jié)構(gòu)圖譜化處理,從而獲取了經(jīng)過向量化的知識庫和文本結(jié)構(gòu)知識圖譜。針對用戶的提問,將其轉(zhuǎn)換為向量化的文本,通過向量匹配,從向量庫中獲取與提問最接近的N個文本段,并在知識圖譜中將其相關(guān)的文本段落也查詢出來,一起推給大模型進行組合輸出,效果如圖4所示。
圖4 人力資源融合查詢系統(tǒng)示意圖
2.4 意圖識別與融合查詢
由于處理結(jié)構(gòu)化數(shù)據(jù)的檢索方式和處理非結(jié)構(gòu)化數(shù)據(jù)的檢索方式不同,我們需要使用相關(guān)工具對用戶的提問做一個意圖識別。意圖識別可以采用的工具非常多,包括但不限于:NLP語義理解(例如BERT模型[13])、正則化匹配、模糊匹配、大模型Prompt提示工程等。通過這種方式可以確定數(shù)據(jù)查詢的邏輯和方式,本文人力資源查詢系統(tǒng)采用的是提示工程的方法,具體架構(gòu)如圖1所示。
2.5 查詢系統(tǒng)效果
基于以上的技術(shù)方案,配合前后端功能,最終實現(xiàn)了一個基于大模型的異構(gòu)數(shù)據(jù)融合查詢系統(tǒng),針對經(jīng)過知識掛載的數(shù)據(jù)庫和人力資源管理文本等相關(guān)內(nèi)容進行提問,大模型都能夠較為準確地進行回答。
2.5.1 "結(jié)構(gòu)化數(shù)據(jù)查詢的效果
為了驗證查詢效果,準備了一個由103項問答對組成的驗證集,在沒有采用本文的技術(shù)方案,僅用大模型的查詢準確項僅有53項,準確率為51.5%,具體錯誤原因見表1。
表1 "人力資源結(jié)構(gòu)化數(shù)據(jù)查詢效果
采用本文的融合查詢技術(shù)之后,在驗證集中結(jié)構(gòu)化數(shù)據(jù)查詢的錯誤數(shù)量從50項降低為19項,準確率提升到81.6%,較之前準確率大幅提升。
2.5.2 "非結(jié)構(gòu)化數(shù)據(jù)查詢的效果
為了驗證查詢效果,準備了一個由35項問答對組成的驗證集,在沒有采用本文的融合查詢技術(shù)方案,僅用大模型的查詢回答準確的僅有20項,準確率為57.1%,具體錯誤原因見表2。
表2 "人力資源非結(jié)構(gòu)化數(shù)據(jù)查詢效果
采用本文的融合查詢技術(shù)之后,在驗證集中非結(jié)構(gòu)化數(shù)據(jù)查詢的錯誤數(shù)量從15項降低為6項,準確率提升到82.9%,較之前準確率也有較大提升。
3 "結(jié)束語
本文針對大模型在精確場景難以滿足需求的問題,結(jié)合Prompt提示工程、知識圖譜和向量知識庫等相關(guān)技術(shù),以統(tǒng)一的技術(shù)架構(gòu)實現(xiàn)了針對結(jié)構(gòu)化和非結(jié)構(gòu)化異構(gòu)數(shù)據(jù)的統(tǒng)一查詢的系統(tǒng),并且在人力資源管理項目上進行了驗證。從結(jié)果上來看,該技術(shù)架構(gòu)能夠滿足相關(guān)的需求,并且由于涉及的知識類型較為廣泛,該系統(tǒng)具備了較強的遷移能力,在限定知識范圍的精確查詢場景,均能取得較好的查詢和問答效果。
大模型技術(shù)的應用仍處于一個高速發(fā)展和日趨成熟的階段,盡管大模型在結(jié)構(gòu)化和非結(jié)構(gòu)化異構(gòu)數(shù)據(jù)查詢方面已經(jīng)展現(xiàn)出了強大的潛力,并在某些場景下取得了顯著的成果,但仍存在一些待解決的問題和挑戰(zhàn),主要包括以下3個方面:模型的魯棒性和泛化性;知識的更新與維護;隱私保護與數(shù)據(jù)安全等,在這些方面還需要不斷地進行技術(shù)發(fā)展和理論創(chuàng)新。
參考文獻:
[1] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.
[2] 張乾君.AI大模型發(fā)展綜述[J].通信技術(shù),2023,56(3):255-262.
[3] RYDNING J. Worldwide global datasphere and global storagesphere structured and unstructured data forecast, 2021-2025[J]. 2021.
[4] TIMOTHY K. 80 Percent of Your Data Will Be Unstructured in Five Years[EB/OL].[2024-02-06]. https://solutionsreview.com/data-management/80-percent-of-your-data-will-be-unstructured-in-five-years/ChatGPT.
[5] BROWN T, MANN B, RYDER N, et al. Language models are few-shot learners[J]. Advances in neural information processing systems, 2020,33:1877-1901.
[6] LESTER B, AL-RFOU R, Constant N. The power of scale for parameter-efficient prompt tuning[J].2021.
[7] SCHICK T, SCH?譈TZE H. Exploiting cloze questions for few shot text classification and natural language inference[J].2020.
[8] ZHANG Z, ZHANG A, LI M, et al. Automatic chain of thought prompting in large language models[J].2022.
[9] WEI J, WANG X, SCHUURMANS D, et al. Chain-of-thought prompting elicits reasoning in large language models[J]. Advances in Neural Information Processing Systems, 2022, 35: 24824-24837.
[10] Vearch: A Distributed System for Embedding-based Retrieval[EB/OL].[2024-02-06]. https://github.com/vearch/vearch.
[11] LI J, LIU H, GUI C, et al. The design and implementation of a real time visual search system on JD E-commerce platform[C]//Proceedings of the 19th International Middleware Conference Industry,2018: 9-16.
[12] CHEN Q, WANG H, LI M, et al. SPTAG: A library for fast approximate nearest neighbor search[J]. 2018.
[13] DEVLIN J, CHANG M W, LEE K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[J].2018.