



摘要:文章提出了一種基于大語言模型(LLM) 的校園聊天機器人Navigator,旨在幫助大學新生適應校園環境。該系統通過多渠道數據采集和多種過濾方法構建語料庫,結合檢索增強生成(RAG) 技術和few-shot提示學習,實現了更準確、更自然的問答功能。實驗結果表明,Navigator能夠有效提升答案的準確性和表達能力。文章研究的方法不僅限于幫助大學新生適應校園環境的場景,還可遷移至其他領域,構建專業問答系統。
關鍵詞:大語言模型;聊天機器人;檢索增強生成;提示學習;校園信息服務
中圖分類號:TP391" "文獻標識碼:A
文章編號:1009-3044(2025)12-0018-04
開放科學(資源服務) 標識碼(OSID)
0 引言
大學新生在適應校園環境時常面臨各種挑戰。為應對這些挑戰,國內許多教育機構引入了聊天機器人,為新生提供生活、學習等多方面的幫助。當代年輕人相較于面對面交流,更傾向于基于文本的信息溝通方式,因此通過基于文本的聊天機器人系統提供信息對新生更為友好和有效,同時也能減輕教職員工的工作負擔。相關研究提出了多種校園聊天機器人的構建方法,然而傳統的規則化校園聊天機器人在處理復雜問題和提供個性化信息方面存在局限,且生成式AI在校園信息服務領域的研究較少,缺乏針對新生所需實用數據的研究。
隨著大語言模型(LLM) [1]的發展,構建智能化校園聊天機器人變得可行。本研究旨在研發一個名為Navigator的聊天機器人系統,該系統基于新生校園生活及教育信息,通過數據處理技術構建領域知識庫,并整合檢索增強生成(RAG) [2]、LLM和提示工程[3],以提升問答能力,為大學新生提供智能化、實用的幫助,助其快速適應校園新環境。
本文主要貢獻包括以下幾個方面。
1) 數據集構建方法。結合在線社區數據與校內數據對聊天機器人進行訓練和研究,擴展聊天機器人系統的數據源。
2) 數據過濾方法。提出基于LLM的問題過濾及Stacking模型的答案過濾方法,為系統提供高質量語料和知識庫。
3) 智能問答能力。整合當前自然語言處理技術,包括文本嵌入的知識庫構建、大語言模型與few-shot學習,基于語料知識庫提出一種QA-RAG模式,以提升問答準確性。
1 相關工作
聊天機器人是一種模擬人類對話的程序,通過自然語言處理等技術實現對話功能。作為核心功能,當前基于Transformer架構的大語言模型在生成式對話技術方面取得巨大進展,例如GPT-3[4],在知識推理、摘要、翻譯等多種任務上以zero-shot方式表現出強大能力。
為提高LLM回答問題的準確率及在專業領域的知識檢索能力,解決LLM幻覺和時效性問題,諸多研究者探索了RAG技術。RAG的核心包括索引、檢索和生成三個階段。研究表明,RAG技術能夠以較低成本提升大語言模型在特定領域的應用能力。
2 系統架構
Navigator校園聊天機器人系統架構圖如圖1所示。
系統架構由用戶接口模塊、問題解析模塊、檢索管理模塊、知識庫模塊、提示詞構建模塊和答案生成模塊6個主要部分組成。
1) 用戶接口模塊:提供H5網頁前端,接收用戶輸入并拼接成特定請求格式,包括問題分類及具體問題內容。
2) 問題解析模塊:負責處理用戶會話,包括登錄驗證、用戶身份信息管理、內容上下文保存等,并合并相關信息構建檢索請求。
3) 檢索管理模塊:基于Python語言提供問答接口能力,負責聊天會話請求與響應的流程管理。
4) 知識庫模塊:對語料問題完成嵌入處理,并將向量化數據存儲于向量數據庫中,涵蓋考試信息、學習資源、課程信息等,供檢索管理模塊查詢使用。
5) 提示詞構建模塊:基于檢索到的文檔、問題與答案,以及用戶個人信息,構建few-shot學習提示詞,引導語言模型生成更準確的答案。
6) 答案生成模塊:利用經微調的大型語言模型,結合提示詞構建模塊提供的提示詞,生成自然流暢的答案,并完成答案格式化處理。
系統請求執行流程如下所示。
1) 用戶提出查詢時,H5客戶端接收查詢內容,移交給Java后端。Java后端核驗用戶身份,整合請求后調用Python API。
2) Python后端將請求文本向量化,并在向量數據庫中執行相似度檢索,獲取最相似的top N答案作為提示詞語料。
3) 提示詞構建模塊根據檢索結果以QA對形式構建few-shot提示詞,并結合用戶身份信息作為角色(Role) 構建完整提示詞。
4) 將構建好的提示詞發送給微調模型,通過微調模型生成連貫且符合人類閱讀習慣的答案。如向量數據庫中未檢索到合適內容,則直接調用微調模型獲取次優解。
5) 答案經后端傳輸至前端,最終送達用戶。
3 設計與實現
本研究基于大模型和QA-RAG技術,設計并實現了一種校園知識庫智能問答系統,該系統旨在為新生提供高效、準確的校園知識服務,同時提升校園管理的效率。關鍵技術實現主要包括數據采集、數據預處理、模型微調和知識檢索四個方面。
3.1 數據采集
本系統從校園內部數據與外部數據兩方面進行數據采集。校園內部數據為各類已發布的公告、章程等官方文件、網站數據以及校園BBS。校內數據準確性高但覆蓋面較低,因此筆者以校外數據源作為補充。校園外部數據為互聯網社交平臺中與校園相關的數據,包括多個在線社交服務平臺(例如小紅書、脈脈、貼吧等) ,這些平臺能夠構建社區并促進同一社區內的信息共享。部分平臺還提供驗證過程以確認用戶的身份,學生驗證后就可以參與所在社區的各種討論板塊,發布問題并獲得社區其他成員的回復。針對外部數據,筆者采用網絡爬蟲技術進行數據采集。通過結合校園內外部數據源,得到了系統所需的全部原始數據。
3.2 數據預處理
數據處理包括數據分類、數據清洗、數據過濾三種方式。
3.2.1 數據分類
為了提升查詢問題的精準度,針對語料進行分類,主要包括以下幾類。
1) 學習類:包括課程信息、考試信息、學習資源信息等。
2) 校園生活類:包括社團信息、生活服務、娛樂休閑信息等。
3) 心理情感類:包括人際關系、心理健康、婚戀情感信息等。
4) 就業類:包括招聘信息、職業規劃、面試信息等。
3.2.2 數據清洗
為了提升數據質量,筆者做了數據清洗,包括以下幾個步驟。
1) 數據清洗:過濾格式信息(XML字符,網頁標識符、CSS樣式等) 、去除停用詞與亂碼。
2) 冗余去重:去掉重復數據,包括重復的帖子和回復。
3) 敏感詞過濾:剔除政治敏感詞等。
4) 隱私保護:將文本中相關的人名做脫敏。
5) 格式轉換:將數據統一規范化,整理成Json格式。
3.2.3 數據過濾
對于語料中海量數據,需要完成數據過濾,以提升數據的質量。數據的過濾包括兩個步驟:主題過濾和答案過濾。
1) 主題過濾。原始語料中除了學校生活外,還有很多無關主題。針對這些主題,筆者使用LLM過濾,這個過程將采集的總數據量減少到1/30。主題過濾過程如下:
① 構建提示詞:“{發帖問題} 是否屬于校園相關主題?請回答是或者否。”
② 將提示詞傳給大語言模型。
③ 按照大語言模型的回復,判斷回答是否符合輸出格式(“是”或者“否”) ,不符合則重新提問“{發帖問題} 是否屬于校園相關主題?請回復是或者否,不用解釋。”這一步的原因是LLM會對答案進行解釋,影響后續結構化的處理。
④ 根據回復判斷是否需要過濾。
2) 答案過濾。在手動標記數據以確定問題是否提供有效答案過程中,筆者發現手動標記過程效率過低。為了解決低效問題,筆者基于人工標注數據,設計了一種基于模型的數據過濾方法,其靈感來自垃圾郵件/業余電子郵件過濾中使用的二元分類任務[5]。過程如下,① 人工標注:此步驟主要是為基于模型的數據過濾方法提供標注數據,標注人員閱讀內容并標記它們,以確定答案是否提供了有用的信息,將信息分為有用和無用兩類。對于無用條目,直接過濾掉,不納入微調模型的語料集中。由于人力有限,僅標記1‰的內容,并確保每個主題分類都有一定數量的人工標注內容。② 文本嵌入:利用嵌入模型,對問題和答案數據進行文本嵌入。經過模型評測,最終選擇gte-Qwen2-7b模型。③ 構建Stacking分類模型:研究表明大語言模型具備文本分類的zero-shot能力,使用Qwen2對非人工標注數據進行判斷,結果通過stacking的方式,完成拼接文本嵌入后,放入邏輯回歸函數承接下游分類模型的輸出,然后以交叉熵損失函數的學習目標,輸出每個樣本屬于“有用”或“無用”類別的概率。
本文使用2 000條人工標注的數據構建訓練集,包括1 200條被標記為有用的數據和800條被標記為無用的數據構建訓練集。同時,本文使用400條人工標注的數據構建測試集,包括200條被標記為有用的數據和200條被標記為無用的數據。從Huggingface的MTEB榜單中挑選針對分類任務能力較強的嵌入模型進行訓練,包括m3e-base、gte-Qwen2-7b和text-embedding-3。模型效果見表1。
通過表1可以發現,針對中文的gte-Qwen2-7b嵌入模型在分類任務中的效果最佳。
3.3 模型微調
大型語言模型目前在自然語言處理領域展現了SOTA的能力,能夠理解人類語言并生成相應響應。為提升校園聊天場景的表現,選用Qwen2進行LoRA[6]微調訓練,生成Qwen2-LoRA微調模型。LoRA微調方法通過使用低秩矩陣實現接近全量微調的效果,具體流程如下所示。
1) 數據集構建:數據清洗階段已完成語料處理,將其構建為如下指令微調數據格式。
{
“Instruction”:“提供大一新生關于{分類}的建議。”
“Input”:“{問題}”
“Output”:“{答案}”
};
2) 詞元切分:采用與Qwen2相同的BPE(字節對編碼) 編碼方法構建微調模型的token輸入。
3) 微調:使用Peft框架完成LoRA微調,任務類型設置為TaskType.CAUSAL_LM,lora_r為50,縮放系數為32,丟棄率為0.1。
3.4 知識檢索
RAG技術提供文本檢索增強生成能力,擴展大語言模型的領域知識邊界,將大語言模型與檢索系統結合,為大語言模型提供查詢領域知識的能力,并通過模型的語言能力生成連貫且語法正確的表達。
為提升問題識別能力,本文所用QA-RAG處理方法將問題與答案分離,RAG知識庫以問題構建,每個問題作為一個分塊。經驗證,僅使用問題進行嵌入效果更佳,問題與答案共同嵌入會對結果產生負面影響,因此本文采用問題集構建索引。
本文的QA-RAG技術包含以下步驟。
1) 構建知識庫:將預處理數據切分為問題-答案對,問題通過嵌入模型向量化,將向量及完整的問題-答案對存入向量數據庫;
2) 知識檢索:用戶輸入的問題被轉換為嵌入向量,利用余弦相似度和向量數據庫查詢功能,檢索與輸入問題最相關的N個文檔,結果集合用于大模型few-shot學習的語料。本文設定N=5,選用多個文檔以提升信息檢索的召回率。
3) 生成答案:將原問題及檢索到的信息按QA對形式構建提示詞,輸入大語言模型,大語言模型基于輸入信息與內部知識,生成連貫且符合人類理解的答案。
4 系統性能評估
4.1 評估指標
本研究采用BLEU和ROUGE-L兩個指標來評估系統性能,以驗證微調模型的提升效果。
1) BLEU
BLEU分數通過測量機器生成結果與人工參考結果之間單詞或短語的一致程度,評估生成語言模型句子的適用性。BLEU的計算公式如下所示。
[BLEU=BP*exp (n=1Nwnlogpn)] (1)
式中:BP為短句懲罰,當機器翻譯結果長度小于人工翻譯結果長度時,將引入短句懲罰。Pn為不同n-gram的精確度,即機器翻譯結果中與人工翻譯結果匹配的n-gram數量占機器翻譯結果中總n-gram數量的比例。wn為各n-gram的權重。
2) ROUGE-L
ROUGE-L基于最長公共子序列(LCS) 評估生成文本與參考文本之間的相似度。ROUGE-L的計算公式如下所示。
[RLCS= LCS(C,S)len(S)] (2)
[PLCS= LCS(C,S)len(C)] (3)
[ROUGE-L= (1+β2)RLCSPLCSRLCS+β2PLCS] (4)
式中:RLCS為召回率,PLCS為精確率,LCS(C,S)為參考摘要與生成摘要的最長公共子序列長度,β默認為1。
4.2 測試用例
為了評估模型,本文基于采集的文本創建了2 000個測試用例,涵蓋20個主題分類,每個主題分類約包含100個測試用例,以確保測試結果的全面性。測試用例結構見表2。
4.3 評測結果
基于構建的測試集,挑選了兩個最熱門的主題分類(課程信息和生活服務類) ,以及整體數據進行了評測,采用ROUGE-L和BLEU指標評估性能。評估結果見表3。
由結果可見,Qwen2在原始模型中性能最佳,推測是因為Qwen2針對中文的訓練語料更為豐富和全面。基于Qwen2的Qwen2-LoRA模型由于采用了針對領域數據的指令微調,除課程信息分類外,相較其他模型表現出更優性能,說明LoRA微調在領域微調中起到了有效補充作用,同時驗證了微調數據集構建的有效性。課程信息分類性能下降,可能是微調過程中出現了模型在特定領域的遺忘現象。最終,選擇Qwen2-LoRA作為基座模型。
5 結論
本文提出的Navigator系統,基于LLM和QA-RAG技術,為大學新生提供了一種更加智能的校園信息服務。未來研究將重點優化數據過濾方法、提升知識檢索效率,并探索更高效的LLM微調策略。
參考文獻:
[1] ZHAO W X, ZHOU K, LI J, et al. A survey of large language models[EB/OL].[2024-12-10].arXiv preprint arXiv:2303. 18223.
[2] GAO Y F,XIONG Y,GAO X Y,et al.Retrieval-augmented generation for large language models:a survey[EB/OL].[2024-12-10].https://arxiv.org/abs/2312.10997v5.
[3] LIU P F,YUAN W Z,FU J L,et al.Pre-train,prompt,and predict:a systematic survey of prompting methods in natural language processing[J].ACM Computing Surveys,2023,55(9):1-35.
[4] 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.
[5] GHOURABI A,ALOHALY M.Enhancing spam message classification and detection using transformer-based embedding and ensemble learning[J].Sensors,2023,23(8):3861.
[6] HU E J, SHEN Y, WALLIS P, et al. Lora: Low-rank adaptation of large language models[EB/OL].[2024-12-10].arXiv preprint arXiv:2106.09685.
【通聯編輯:唐一東】