摘 要: [目的/ 意義] 科技文獻復雜知識對象對科技文獻中的深度知識內容進行細粒度、 全面的知識表示,可有效支撐數智驅動的科學發(fā)現與知識發(fā)現, 是重要的科技創(chuàng)新要素。 [方法/ 過程] 首先, 通過輕量級本體構建、 BRAT 知識標注和 Neo4j 知識存儲等步驟實現領域知識圖譜構建, 其次, 本地化部署大語言模型 ChatGLM2-6B 并通過低秩適應(Low-Rank Adaptation, LoRA)技術微調模型, 最后基于思維記憶(Memory of Thoughts, MOT)機制將知識圖譜中的復雜知識注入提示中, 通過與大語言模型的多輪問答從科技文獻中抽取出復雜知識對象。[結果/ 結論] 以有機太陽能電池(Organic Solar Cells, OSC)為例驗證方法的有效性, 結果表明融合知識圖譜與大語言模型的抽取方法優(yōu)于大語言模型單獨支撐的抽取方法, 在準確率 P、 召回率 R 和 F1 值 3 個指標上分別提升14 1%、 10 3%和 12 3%。 知識圖譜能夠增強大語言模型對科技文獻的復雜知識對象抽取能力, 提升 OSC 領域的科技文獻挖掘效率與準確性。
關鍵詞: 知識圖譜; 大語言模型; 科技文獻; 太陽能電池; 知識抽取; 提示構建
DOI:10.3969 / j.issn.1008-0821.2025.07.002
〔中圖分類號〕 G254 〔文獻標識碼〕 A 〔文章編號〕 1008-0821 (2025) 07-0014-12
科技文獻中蘊含大量 “可信、 專業(yè)、 規(guī)范” 的領域知識與科學數據組成的復雜知識對象, 是重要的科技創(chuàng)新要素[1]。 知識單元是揭示文獻知識內容的基本元素, 通常以三元組、 特征向量和屬性—值對等形式描述文獻的研究問題、 實驗原理和研究主題等特征[2]。 而科技文獻復雜知識對象是由若干知識單元關聯、 組織形成的統(tǒng)一知識結構, 以面向對象的視角對科技文獻中的深度知識內容進行細粒度、全面的知識表示。 例如, 科技文獻中實驗方案通常包括實驗原理、 實驗元素、 實驗步驟、 實驗結果等不同類型的知識。 其中, 實驗原理可由簡單的知識單元進行表示, 實驗元素通常是由實驗材料、 實驗試劑、 科學儀器等知識單元組成復合型知識對象,而實驗步驟包含科學實驗流程等時序性知識對象,實驗結果則是一種知識與數據融合性的知識對象。上述由實驗元素、 實驗步驟、 實驗結果構成的實驗方案就是一種典型的科技文獻復雜知識對象[3]。 通過對這些復雜知識對象進行抽取與分析, 能夠發(fā)現不同學科領域內潛在的、 深層次的知識關聯與傳遞,可有效支撐數智驅動的科學發(fā)現與知識發(fā)現[1]。 傳統(tǒng)的知識對象抽取關注從文本中提取簡單知識結構,如實體、 關系和簡單事實, 這些信息通常是扁平的,不需要復雜的結構化處理。 而科技文獻復雜知識對象抽取旨在識別和抽取科技文獻中的細粒度、 結構化的知識單元, 并將它們組織成更高層次的知識結構, 側重于揭示深層次的知識關聯和傳遞。 然而,以領域專家為核心的科技文獻知識抽取模式存在效率低下和主觀性強等缺陷, 難以支撐大規(guī)??萍嘉墨I的挖掘與建模。 因此, 如何從科技文獻中高效抽取復雜知識對象成為一個困難卻有價值的問題。
以 ChatGPT[4]為代表的大語言模型是一類使用大量文本數據訓練的深度神經網絡模型, 憑借其強大的涌現能力和零樣本遷移能力, 在知識抽取任務中得到廣泛應用[5]。 但大語言模型無法覆蓋所有領域的知識, 尤其是更新速度快、 專業(yè)性強的領域知識, 在適配特定研究領域時存在性能損失和推理能力不足的問題。 知識圖譜是一種描述客觀世界中各類實體和關系的大規(guī)模語義網絡, 通過本體描述實體的層次結構和關聯關系, 以三元組的形式表示具體知識, 可有效對科技文獻復雜知識對象進行精準的知識表示。 將知識圖譜蘊含的形式化知識作為先驗知識注入大語言模型, 可以有效提升大語言模型在專業(yè)領域知識的理解、 抽取方面的能力, 并增強模型推理結果的可解釋性, 如將知識三元組轉換為指令數據來微調預訓練模型以契合下游抽取任務,將領域知識或本體注入提示模版來引導模型對實體和關系類型的識別, 利用已有三元組輔助新三元組生成等[6]。
綜上, 本文旨在利用知識圖譜增強大語言模型對科技文獻復雜知識對象的知識抽取能力。 首先,利用輕量級本體建模方法完成知識圖譜模式層構建,通過知識標注工具和圖數據庫完成知識圖譜實例層構建; 然后, 針對調用 ChatGPT 在線服務接口存在數據與隱私泄露問題, 本地化部署了大語言模型ChatGLM2-6B[7]并利用 LoRA[8] 技術微調模型, 使其更適用于專業(yè)領域復雜知識對象抽取任務; 最后,為了緩解 ChatGLM2-6B 輸出結果不穩(wěn)定和存在幻覺的問題, 利用思維記憶(Memory of Thoughts, MOT)[9]和知識圖譜實現提示(Prompt)的領域知識注入, 以增強模型抽取結果的穩(wěn)定性和有效性。
1 研究現狀
現有的科技文獻知識抽取方法可以分為傳統(tǒng)抽取方法、 基于知識圖譜的抽取方法和基于大語言模型的抽取方法。 傳統(tǒng)抽取方法采用人工抽取、 規(guī)則構建和機器學習等手段, 對文獻內容進行分類和標注。 人工抽取通常利用專業(yè)的標注工具, 雖然準確率較高, 但要求標注者具有專業(yè)領域知識并且主觀性較強, 無法在短時間內完成大批量文獻數據的標引。 基于規(guī)則的抽取方法利用領域專家制定的線索詞來構建抽取規(guī)則或模版, 再通過模式匹配的方式從文本中抽取知識[10]。 葉光輝等[11] 通過 “人工標注—構建規(guī)則—模式識別—補充規(guī)則” 的流程構建知識規(guī)則庫, 從文獻中抽取出不同類型的知識單元并對其分布特征進行了分析。 鄭夢悅等[12]先構建了知識元本體模型, 然后統(tǒng)計句子的類型、 位置和線索詞建立規(guī)則庫, 最后基于本體模型和規(guī)則庫實現非結構化摘要的知識抽取。 這類方法在保證一定準確率的情況下提高了知識抽取的效率, 但需要人工參與規(guī)則的制定和維護, 難以移植到其他學科領域。為了提高知識抽取的效率和可移植性, 部分學者開始利用機器學習技術來實現知識對象的自動抽取,涵蓋了支持向量機、 條件隨機場和人工神經網絡等模型。 Liu X H 等[13]采用半監(jiān)督方式抽取實體, 先利用 k 鄰近算法進行實體分類, 然后通過條件隨機場模型標注實體邊界。 Lample G 等[14] 通過兩種神經網絡架構實現知識抽取, 一種結合雙向 LSTM(Long Short-Term Memory)和條件隨機場標注實體,另一種基于轉移分塊模型為句子分段和打標簽。 這類方法能夠極大緩解領域依賴性, 但仍存在需要大量標注樣本和準確率不高的問題。
除了科技文獻固有的文本信息外, 外部的知識圖譜可以為知識對象的抽取提供一些額外的先驗知識, 以幫助抽取模型更好地分析、 理解文獻中蘊含的深層語義信息。 Mintz M 等[15]最早通過遠程監(jiān)督的方式為知識抽取任務生成高質量訓練數據集, 首先對輸入文本進行分詞、 詞性標注和依存分析, 然后利用知識圖譜匹配出現的實體并提取其詞法特征和句法特征, 最后結合三元組信息和實體特征對文本中的句子進行自動標注以得到遠程監(jiān)督訓練數據。Han X 等[16]提出, 知識圖譜與文本之間的相互注意力機制, 在一個統(tǒng)一的語義空間中為知識圖譜和文本生成表示向量, 從而在知識抽取中能夠更好地區(qū)分噪聲數據和篩選有價值的三元組。 為了消除文本中的噪聲影響, Hu L M 等[17] 采用門控機制, 從實體描述信息和知識圖譜的結構信息中生成標簽, 再結合注意力機制篩選有效樣例以實現關系的分類。為解決長尾關系問題, Zhang N Y 等[18]利用句子編碼器和知識圖譜嵌入模型分別學習關系的隱性和顯性特征, 然后通過知識感知注意力機制增強長尾關系的預測能力。 這類方法存在錯誤傳播和長尾關系問題, 如何避免將知識圖譜中的錯誤或偏差傳播到知識抽取中并有效抽取低頻關系仍然是一個難題。
隨著大語言模型的出現與發(fā)展, 加上 BERT 和ChatGPT 等模型在自然語言任務上展現出的優(yōu)越性,有學者開始嘗試利用大語言模型進行知識對象抽取。 Tang X Y 等[19] 構建了一個多任務 BERT-BiL?STM-AM-CRF 模型, 利用 BERT 提取上下文信息中的動態(tài)詞向量, 接著將 BiLSTM 模塊訓練后的結果輸入 CRF 進行解碼, 最后利用 CRF 對觀測標注序列進行分類和提取得到知識抽取結果。 Wei X 等[20]通過與 ChatGPT 的多輪問答實現零樣本知識抽取,在第一輪問答識別句子中實體、 關系和事件的類型, 在后續(xù)幾輪問答中利用鏈式抽取模版識別句子中的細粒度知識。 Yuan C 等[21] 設計了零樣本提示、事件排序提示和思考鏈提示三類提示模版, 通過與ChatGPT 的三輪問答實現零樣本時序關系抽取。 張穎怡等[5] 利用 ChatGPT 通過實體識別、 訓練集生成和偽標簽生成等流程實現學術論文實體識別, 并從性能、 價格和時間 3 個維度進行了可行性分析。蘇杭等[22]提出了一個基于提示調優(yōu)的兩段式知識抽取方法, 第一階段微調預訓練模型進行關系分類,第二階段復用微調后的模型進行實體識別。 王震宇等[23]通過計算多模態(tài)樣本間的相似度生成高質量輔助知識, 然后將原始輸入與輔助知識輸入到大語言模型中實現關系抽取。 這類方法在零樣本和少樣本的知識抽取任務上取得了較優(yōu)性能, 但相關研究僅用于通用領域, 對于專業(yè)領域科技文獻挖掘的研究與探索較少。
以上方法只能從文本中抽取出實體、 關系和事件等細粒度、 離散化的簡單知識對象, 而復雜知識對象的抽取需要對領域知識有深入理解, 處理更加復雜的知識結構和語義關系, 如時序性、 層次性和多維度關系。 當前, 針對復雜知識對象抽取的研究較少, 仍處于探索階段。 對此, 本文旨在將知識圖譜中有效的專業(yè)領域知識注入大語言模型中, 通過與大模型的多輪問答實現復雜知識對象的抽取。
2 科技文獻復雜知識對象抽取
傳統(tǒng)的知識對象抽取關注從文本中提取實體、關系等簡單知識結構, 這些信息通常是扁平的, 不需要復雜的結構化處理。 而科技文獻復雜知識對象抽取旨在識別和抽取科技文獻中的細粒度、 結構化的知識單元, 并通過語義組織形成更高層次的知識結構, 側重于揭示深層次的知識關聯和傳遞。 本節(jié)描述了融合知識圖譜與大語言模型的科技文獻復雜知識對象抽取方法, 包括領域知識圖譜構建、 模型微調和復雜知識對象抽取 3 個階段, 如圖 1 所示。其中, 第一階段通過本體構建、 BRAT[24] 標注和Neo4j[25]存儲完成領域知識圖譜模式層與實例層構建; 第二階段基于實例層三元組構建指令數據集,利用 LoRA 技術實現大語言模型微調; 第三階段通過 MOT 機制選擇 Top-k 的問題答案(Question-An?swer, QA)對作為領域知識整合到提示中, 經過與模型的多輪問答實現復雜知識對象抽取。
2.1 領域知識圖譜構建
知識圖譜包括模式層和實例層兩部分, 前者定義實體、 關系和屬性的層次結構與語義關系, 后者以三元組的形式存儲具體的領域知識。 領域知識圖譜的構建分為模式層設計和實例層數據填充兩個步驟。 本體是概念體系的明確化和規(guī)范化的描述說明,將其作為模式層能夠更有效地支撐領域知識圖譜融合與復用, 以形成結構合理、 冗余度低和覆蓋全面的知識結構。 綜合研究國內外已有的本體構建方法,發(fā)現資源消耗低、 輕量化的本體建模方式更適用于特定學科領域的本體快速建立[26]。 因此, 本文首先利用兩階段式輕量級本體建模方法[26]實現知識圖譜模式層的設計, 在準備階段確定特定學科領域的范圍與界限, 在構建階段通過基本框架搭建、 知識結構完善和知識結構對齊三輪循環(huán)完成各種實體類型、實體之間的語義關系以及實體屬性的定義。 在本體模型中, 將知識實體分為語句級、 詞匯級和科學數據級 3 種類型, 語句級實體是具有特定語義的核心句, 詞匯級實體是領域術語或關鍵詞, 科學數據級實體是特定的評價指標、 統(tǒng)計量等。
在完成模式層設計后, 通過數據預處理、 知識抽取、 知識審核和知識存儲等步驟實現實例層數據填充。 其中, 數據預處理從專利和論文等科技文獻中提取出文本內容并分割成不同長度的句子。 知識抽取階段基于本體模型構建標簽體系結構, 利用標注工具 BRAT 實現科技文獻中知識實體及其屬性關系的標注。 BRAT 是一個基于 Web 的快速標注工具,具有高質量可視化頁面、 多功能標注支持和自然語言處理(Natural Language Processing, NLP) 模型集成等特性, 廣泛應用于知識抽取任務中。 知識審核階段先由標引人員對標注結果進行交叉驗證, 對標注出的實體進行統(tǒng)一、 規(guī)范化的表示, 再由領域專家完成最終審定。 知識存儲階段將標注結果轉換為三元組形式導入圖數據庫 Neo4j 完成實例層數據填充, Neo4j 內置的 Cypher 語句和圖數據科學模塊可以方便實現知識的關聯查詢與深度挖掘。
2.2 大語言模型微調
以 ChatGPT 為代表的大語言模型在零樣本和少樣本信息抽取任務上表現優(yōu)異, 但是這些模型僅能通過在線的 API 使用, 存在數據泄露和不可重復等問題[27]。 受限于實驗室硬件條件, 本文選擇能夠在消費級顯卡上部署的 ChatGLM2-6B 作為基礎模型。 相較于其他開源模型, ChatGLM2-6B 具備上下文理解和指令遵循能力, 可以更好地理解長文本和執(zhí)行用戶的微調指令, 靈活適配于不同的下游任務場景。 在數據規(guī)模較小時, ChatGLM2-6B 內置的微調模塊 P -Tuning v2 容易產生 “災難性遺忘” 現象, 并且會占用下游任務輸入序列的空間,而 LoRA 通過低秩適配器能夠簡單高效地微調大語言模型。 基于此, 本文本地化部署 ChatGLM2-6B 模型進行科技文獻挖掘, 利用知識圖譜實例層的三元組構建指令數據集, 再通過 LoRA 技術微調模型以適配特定學科領域的知識抽取任務。
知識抽取任務包括實體類型識別和實體抽取兩部分。 對于知識圖譜中的三元組(實體, 屬性, 屬性值), 首先, 利用屬性值所在文本和屬性構建 QA對(問題答案對), 用于微調實體類型識別任務; 隨后, 將屬性值所在文本和屬性構建為問題, 屬性值構建為答案, 用于微調實體抽取任務。 具體的微調流程如下:
1) 凍結 ChatGLM2 - 6B 的全部參數。 大語言模型的參數量巨大, 直接調整其參數效率低下且資源消耗高。
2) 通過構建秩分解矩陣 BA 來模擬 ChatGLM2-6B 參數的更新量 ΔW, 使得 ΔW=BA。 將微調指令數據集作為模型輸入, 模型訓練時僅更新降維矩陣A 和升維矩陣 B, 在極大壓縮所需更新參數量的同時達到模型微調的效果。