





摘 "要:大語言模型在智能問答、文本生成、語言翻譯、輔助編程等創造性的場景應用十分廣泛,但是在需求精確性的場景下應用卻受到諸多限制。該文主要研究采用大語言模型,在知識圖譜和向量知識庫的加持下,結合Prompt提示工程、微調、LangChain等技術,融合結構化數據和非結構化數據,實現在限定知識范圍內的精確查詢,探索大語言模型應用的新方式。
關鍵詞:大語言模型;異構數據;知識圖譜;向量知識庫;融合查詢
中圖分類號: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)蓬勃發展的新時代,依托Transformer[1]等技術架構和海量的訓練數據,大模型在自然領域和多模態領域的發展十分迅速,尤其是對于非結構化數據的處理。然而在大模型的實際應用過程中卻存在大量的限制,例如:①缺乏解釋性,難以解釋其決策的過程,限制了其在某些領域的可靠性和可信度[2];②大模型雖然具有廣泛的語言能力和知識體系,但對特定領域的專業知識了解有限,可能無法提供準確或深入的理解和分析;③新技術、新理念和新知識層出不窮,異構數據無處不在,信息時代每時每刻都會產生大量的數據,其中既包含信息化系統產生的結構化數據,也包括語音、圖片、視頻和文檔等大量的非結構化數據,根據IDC的預測,全球產生的數據在2025年將達到179.6 ZB,其中絕大部分數據(約80%~90%)為非結構化的數據[3]。
在企業的核心資產中,數據占據著至關重要的地位。其中,結構化數據雖然僅占20%,但因其可被標準化處理和存儲,一直受到企業的重視。然而,非結構化數據,如文本、圖像、音頻和視頻等,雖然占據了數據總量的80%,卻因其多樣性和復雜性而常常被企業所忽視[4]。
當前解決該問題的主流方法為NLP技術和SQL檢索。對于非結構化數據的查詢,NLP技術發揮了重要作用。NLP通過詞法分析、句法分析、語義理解等技術手段,將非結構化文本轉化為計算機可理解的結構化信息,從而實現對這些數據的查詢和檢索。然而,NLP技術在處理非結構化數據時面臨著語義理解的局限性,難以完全準確地捕捉文本的深層含義。對于結構化數據的查詢,SQL語言是最常用的工具。SQL語言提供了豐富的查詢語句和操作符,可以高效地對關系型數據庫中的數據進行查詢、過濾、聚合等操作。企業可以通過編寫SQL查詢語句,實現對結構化數據的精確查詢和分析。然而,SQL語言對非結構化數據的處理能力有限,無法直接應用于非結構化文本的檢索和查詢。
為了綜合處理結構化數據和非結構化數據,企業通常需要結合使用NLP技術和SQL語言。這意味著,企業需要開發復雜的查詢系統或集成多個獨立的工具,以實現對異構數據的統一查詢。然而,這種解決方案往往存在效率不高、維護困難等問題。大模型的出現給這個場景提供了新的解決思路,與傳統的NLP技術和SQL查詢相比,大模型具有更高的靈活性和可擴展性。它們不需要復雜的系統集成和維護,只需通過簡單的微調即可適應不同的查詢需求。此外,大模型還可以結合其他先進技術(如知識圖譜、圖像識別等),實現更加全面和多樣的數據處理和分析功能。
然而,僅僅依靠增量預訓練和模型微調均不能從根本上解決大模型在精確場景應用中出現的問題,即“一本正經的胡說八道”。筆者嘗試從異構數據融合查詢的角度出發,從數據層面上解決大模型的泛化問題,獲取準確性高和可靠性強的答案。
1 技術方案研究
為了解決大模型在精確場景不可靠的問題,一個行之有效的方案是,給大模型提供針對結構化和非結構化數據的外掛知識系統,當用戶提問的內容與外掛知識系統產生交互且具備一定的關聯度時,將相關的知識作為Prompt提示工程傳遞給大模型,大模型基于匹配到的限定范圍的知識進行理解和重新組合,即可形成具有較高的準確性和較為穩定的知識問答。
1.1 總體架構
大模型作為核心能力貫穿了整個處理環節,用到了知識圖譜、向量知識庫、Prompt提示工程[5-6]、微調[7]、LangChain[8-9]等技術,在外掛知識體系的加持下,通過對特定知識的組合,從而最大限度地提高了大模型在處理相關問題的可靠性。具體架構如圖1所示。
1.2 知識圖譜
通過構建知識圖譜,能夠給大模型提供結構化的數據支持,改善語義理解和推理能力并拓展領域知識的范圍,從而達到改善問題回答和信息檢索能力的效果。知識圖譜以圖的形式組織和表示知識,可以將實體、關系和屬性以結構化的方式存儲。
在這個過程中,知識圖譜可以起到以下2個方面的作用。
1)對于結構化數據,可以將數據(節點、關系)的標簽、字段等schema用圖譜的形式來表示,從而幫助大模型能夠理解整個數據架構。
2)對于非結構化數據,可以將段落、上下文引用、圖表和文檔間調用等用節點和關系連接起來,從而使得大模型能夠整體掌握非結構化文本的大綱、行文結構和多模態信息。
1.3 "向量知識庫
構建向量知識庫,可以將文本數據,包括互聯網上的網頁、書籍、新聞文章等,按照段落/文字長度等方式進行切片,將文本片段映射到向量空間中的向量,為大模型提供了語義上的表示,這些向量表示捕捉了詞語之間的語義關系和上下文信息,從而可以進行語義匹配、相似性分析等任務[10-12]。此外,向量知識庫可以用于知識補全和推薦任務,通過匹配查詢向量與知識庫中的向量表示,推薦相關實體或相關知識,大模型可以利用向量知識庫中的向量表示,與用戶提問的向量化片段進行距離計算,返回與用戶問題最接近的N個知識文本片段,最終作為提示工程交給大模型組合輸出。
1.4 "提示工程
大模型的Prompt提示工程是指在使用大語言模型時,通過設計和構造合適的Prompt(提示語)來引導模型的輸出以實現特定的功能或獲取特定的知識。Prompt提示工程的作用包括以下幾點。
1)引導模型生成特定類型的輸出。例如假如想要讓大模型具備翻譯的能力,那么會在提示工程中,引導大模型在輸出答案時僅僅輸出翻譯后的內容,而不要引申或者拓展回答的內容,獲得相對準確的回答效果。
2)指導模型獲取特定領域的知識。例如對于比較專業的知識領域,大模型回答時會產生認知偏差,通過提示工程,可以補充特定支持,引導大模型得到正確的結果。
3)解決大模型輸出的穩定性問題。大模型的輸出存在不確定性和隨機性,提示工程可以在一定程度上解決該問題。
1.5 "微調
大模型使用微調技術的目的是為了進一步優化和適應特定任務或領域的數據。微調是指在預訓練的大模型基礎上,使用任務特定的數據進行有監督的訓練,以調整模型的參數和權重,使其更好地適應具體任務的要求。微調可以應用在各個層面,例如:訓練大模型在某些知識領域的能力,理解某些知識、指令或者定義,對大模型回答格式進行調整等。
2 "案例分析
基于以上的技術架構,本文在人力資源管理領域對大模型與異構數據融合查詢流程進行了案例實踐和驗證。
2.1 "知識圖譜和向量知識庫的構造
對于人力資源管理系統,主要的數據分為2類:①結構化的數據,主要包含人員、部門、履歷等信息;②非結構化數據,主要包括關于人力資源管理的各項規章制度,例如考勤管理辦法、考核管理辦法、績效管理辦法等。
2.1.1 "結構化數據
結構化數據處理最核心的方法是梳理圖結構(schema),如圖2所示,可以將與人員相關的節點和關系的標簽(label)、字段名稱、字段屬性等相互關聯起來,之后按照這個架構將數據寫入圖數據庫進行存儲,同時,圖結構(schema)將轉換為Prompt提示工程語句,用于大模型對知識圖譜進行理解。
2.1.2 "非結構化數據
對于非結構化數據處理,主要分為以下3步:①處理文本,略去圖片等信息,將表格按行與表頭一起處理成文本等;②文本向量化,結構化的向量與非結構化的文本形成一一對應關系;③對于結構較為復雜的文本,需要構建知識圖譜,用以標準段落之間相互引用,文本之間相互引用等關系。如圖3所示,可以得到人力資源管理文檔的知識圖譜和向量知識庫。
2.2 "文本轉結構化查詢語句
要獲取結構化數據的信息,需要借助于數據庫查詢語言來執行,而為了處理現實條件下用戶的日常提問,我們需要借助于一個工具來進行一個文本轉換。實現這個功能的工具也有很多,包括但不限于:NLP語義理解(例如BERT模型)、正則化匹配填充、大模型Prompt提示工程和大模型微調等,各自有不同的試用場景。結合人力資源管理查詢系統的特點,本文采用的是Prompt提示工程的方式,針對用戶的提問,分析其所需的數據庫及其schema,之后采用大模型抽取用戶提問中的關鍵信息,配合Prompt提示中的相關信息(schema),從而生成滿足需求的查詢語句。
2.3 "文本轉非結構化文本檢索
將人力資源管理文件全部按照2.1.2的方法進行文本處理和文本結構圖譜化處理,從而獲取了經過向量化的知識庫和文本結構知識圖譜。針對用戶的提問,將其轉換為向量化的文本,通過向量匹配,從向量庫中獲取與提問最接近的N個文本段,并在知識圖譜中將其相關的文本段落也查詢出來,一起推給大模型進行組合輸出,效果如圖4所示。
圖4 人力資源融合查詢系統示意圖
2.4 意圖識別與融合查詢
由于處理結構化數據的檢索方式和處理非結構化數據的檢索方式不同,我們需要使用相關工具對用戶的提問做一個意圖識別。意圖識別可以采用的工具非常多,包括但不限于:NLP語義理解(例如BERT模型[13])、正則化匹配、模糊匹配、大模型Prompt提示工程等。通過這種方式可以確定數據查詢的邏輯和方式,本文人力資源查詢系統采用的是提示工程的方法,具體架構如圖1所示。
2.5 查詢系統效果
基于以上的技術方案,配合前后端功能,最終實現了一個基于大模型的異構數據融合查詢系統,針對經過知識掛載的數據庫和人力資源管理文本等相關內容進行提問,大模型都能夠較為準確地進行回答。
2.5.1 "結構化數據查詢的效果
為了驗證查詢效果,準備了一個由103項問答對組成的驗證集,在沒有采用本文的技術方案,僅用大模型的查詢準確項僅有53項,準確率為51.5%,具體錯誤原因見表1。
表1 "人力資源結構化數據查詢效果
采用本文的融合查詢技術之后,在驗證集中結構化數據查詢的錯誤數量從50項降低為19項,準確率提升到81.6%,較之前準確率大幅提升。
2.5.2 "非結構化數據查詢的效果
為了驗證查詢效果,準備了一個由35項問答對組成的驗證集,在沒有采用本文的融合查詢技術方案,僅用大模型的查詢回答準確的僅有20項,準確率為57.1%,具體錯誤原因見表2。
表2 "人力資源非結構化數據查詢效果
采用本文的融合查詢技術之后,在驗證集中非結構化數據查詢的錯誤數量從15項降低為6項,準確率提升到82.9%,較之前準確率也有較大提升。
3 "結束語
本文針對大模型在精確場景難以滿足需求的問題,結合Prompt提示工程、知識圖譜和向量知識庫等相關技術,以統一的技術架構實現了針對結構化和非結構化異構數據的統一查詢的系統,并且在人力資源管理項目上進行了驗證。從結果上來看,該技術架構能夠滿足相關的需求,并且由于涉及的知識類型較為廣泛,該系統具備了較強的遷移能力,在限定知識范圍的精確查詢場景,均能取得較好的查詢和問答效果。
大模型技術的應用仍處于一個高速發展和日趨成熟的階段,盡管大模型在結構化和非結構化異構數據查詢方面已經展現出了強大的潛力,并在某些場景下取得了顯著的成果,但仍存在一些待解決的問題和挑戰,主要包括以下3個方面:模型的魯棒性和泛化性;知識的更新與維護;隱私保護與數據安全等,在這些方面還需要不斷地進行技術發展和理論創新。
參考文獻:
[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大模型發展綜述[J].通信技術,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.