












摘 要:對醫學書籍等領域文本與患者自述等患者相關文本結構化解析,能夠為問診系統構建提供結構化資源支撐,有助于輔助醫生診斷。為此,提出一種文本結構化解析方法。該方法利用工程方式獲取領域先驗知識與訓練數據;基于BERT模型,通過掩碼語言模型與實體排序任務將醫學領域先驗知識融入模型,獲得先驗知識增強的MedReBERT模型;設計文本生成模板構造概念標引模型與概念關系標引模型,實現概念及關系的標引,并提出一種工程處理與算法協同學習框架。實驗證明該方法能夠實現問診系統文本的結構化解析。提出的方法框架能夠建立各算法間的接口,實現問診系統文本結構化解析相關算法的低門檻迭代應用。
關鍵詞:先驗知識;結構化解析;問診系統
中圖分類號:TP182"" 文獻標志碼:A""" 文章編號:1001-3695(2025)04-024-1143-07
doi: 10.19734/j.issn.1001-3695.2024.07.0263
Research on structured parsing of medical consultation system text based on prior knowledge
Liu Yao1, Zhai Yu2, Zhou Jiahui1
(1.Information Technology Support Center, Institute of Scientific amp; Technical Information of China, Beijing 100038, China; 2. Dept. of Chinese amp; Bilingual Study, The Hong Kong Polytechnic University, Hong Kong 999077, China)
Abstract:Structured parsing of domain texts such as medical books and patient-related texts such as patients’ statements can provide structured resource support for the construction of medical consultation system, which can help assist doctors in diagnosis. Therefore, this paper proposed a method for structured parsing. The method used engineering approaches to obtain domain-specific prior knowledge and training data. Based on the BERT model, the method integrated medical prior knowledge into the model through masked language model and entity ranking tasks to obtain the MedReBERT model enhanced by the prior knowledge. The method designed the text generation template to train concept indexing and concept relationship indexing mo-dels, to realize the indexing of concepts and relationships. This paper proposed a collaborative framework that combined engineering processes with algorithmic learning. The experimental results show that the method can realize the structured parsing of the text. The proposed framework can establish interfaces between algorithms and realize the low-threshold iterative application of algorithms related to the structured parsing of text in the consultation system.
Key words:prior knowledge; structured parsing; medical consultation system
0 引言
隨著信息化進程推進,越來越多的醫療機構走上智慧化進程,開通線上問診渠道,促進醫療資源下沉。問診業務涉及的醫學知識體系龐雜,知識間關系復雜多樣,需建立一種框架機制,實現對書籍等醫學權威文本和患者自述、問診記錄等患者信息的結構化解析和存儲,實現領域知識更新迭代。對問診系統相關資源的結構化解析包括概念抽取和關系抽取兩大任務,實際工程中大多采用人工輔助規則方法、傳統機器學習算法等管線式方法抽取概念及其關系。人工輔助成本高、耗時長,基于規則的抽取泛化性較差;管線法涉及算法多、流程長,存在誤差傳播、召回率低等問題。因此,本文提出一種工程處理與算法協同學習框架,首先通過工程方法對醫學書籍、患者自述等問診領域的資源進行處理與存儲,構建先驗詞典、先驗規則等獲取先驗知識。基于先驗知識獲取訓練數據以訓練概念標引模型和概念關系標引模型,實現對領域書籍與患者自述中概念及概念關系的標引,對問診系統中文本資源的結構化解析,如圖1所示。最后設計以接口層為重點的算法服務功能,將算法通過接口形式統一迭代維護管理,實現解析資源的再利用與算法迭代更新的完整閉環。
1 相關研究
對問診系統相關文本的結構化解析包括概念抽取和概念關系抽取兩個方面。
領域概念抽取方法包括規則方法、機器學習方法和深度學習方法[1]?;谝巹t的醫學概念抽取方法目的是匹配知識庫中的術語,如統一醫學語言系統UMLS和Meta Map[2]。規則方法需要醫學專家手動抽取特征,成本高、耗時長、回報低。之后BiLSTM-CRF等深度學習方法成為主流,陳雪松等人[3]通過Lattice LSTM融合詞匯信息和字符信息,利用條件隨機場實現中文醫學命名實體識別。林致中等人[4]通過設計標簽感知模塊、全局感知模塊和交互指導模塊構建聯合信息抽取模型抽取醫患對話中的信息。
隨著BERT[5]等預訓練模型的提出,一些研究開始基于預訓練模型進行概念抽取。Krishna等人[6]使用基于BERT的模型識別醫患對話中的診斷和器官異常情況,模型表現超過了傳統機器學習方法。問診系統中常出現醫學問詢對話,既有口語化日常語言,又有醫學術語,當海量語料輸入深度神經網絡時,難以判斷神經網絡能否學到預期知識,有學者提出將先驗知識融入到語言模型中。K-BERT[7]將知識圖譜的邊和節點融入到模型輸入中,提出位置編碼和可見矩陣機制,解決了句子順序擾動和額外信息擾動問題。韓普等人[8]在BiLSTM-CRF的基礎上,引入BERT模型實現外部醫學資源的知識遷移,實現中文醫學實體的抽取。趙珍珍等人[9]將字向量和與其高度關聯的詞特征進行融合,增強文本局部語義信息,在嵌入層融入學習了醫療知識的MedBERT,在編碼層添加圖注意力模塊以增強對醫學語法的學習。陳夢萱等人[10]通過BioBERT得到語素表示信息,通過BiLSTM獲取語素的前后序列信息,通過注意力機制增強關聯信息,最終基于BiLSTM-CRF實現生物醫學的命名實體識別。Fei等人[11]將BERT分為輸入層、詞法層和語義層,使用網絡表示學習獲得醫學領域的實體嵌入并將嵌入層融合到BERT中。羅歆然等人[12]通過雙線性注意力機制將詞匯信息融入到文本序列中的每個字符中,實驗表明使用BERT的預訓練嵌入層具有語義信息增強的效果。
概念關系抽取方法可以分為管道法和聯合法。管道法保證了實體識別和關系抽取任務的獨立性,但會受到錯誤傳播的影響;一些聯合方法[13]通過共享參數或序列標記一次性抽取實體和關系;較多研究者已成功使用基于BERT的模型提取醫學文本中的關系。Wei等人[14]使用Finetuned BERT和Feature CombinedBERT解決臨床關系抽取,這兩個模型的表現優于基于CNN的模型。一些專用領域深度學習算法如PubMedBERT[15]使用來自醫學專業領域文獻的數據進行知識增強,其表現優于同期的深度學習算法。景慎旗等人[16]構建融入醫學領域知識的遠程監督醫學實體關系抽取模型,使用MedicalBERT編碼遠程監督標注文本,提高對醫學實體語義編碼的準確性。Mondal[17]將藥物嵌入與基于BioBERT的關系抽取模型相結合,該模型在Macro F1得分上優于其他基于BERT的模型,提高了3.4%。
傳統機器學習方法對眾包標注數據高度依賴,為實現較高的模型性能,需要大量人力物力標注樣本?,F有研究較多聚焦于概念抽取或關系抽取的具體算法的優化改進,其訓練數據大多依賴外部數據集或知識庫,較少針對研究需求構建知識庫,從工程和算法一體化的角度獲取先驗知識、生成訓練語料訓練模型,完成對概念及概念關系的抽取,實現工程算法協同優化。
2 領域先驗知識獲取與資源存儲
問診領域先驗知識能夠為問診系統概念及概念關系抽取算法研究提供語義與結構經驗,不僅能夠使算法模型學習領域內與疾病癥狀相關的特征,實現對問診系統文本的結構化解析,還可以為智能問診系統的構建提供先驗資源。本文在缺乏公開可用本體資源的基礎上,利用管線方式生成問診領域詞典、知識網絡等先驗資源,利用領域先驗詞典對數據進行遠程監督標注,能夠為概念標引模型提供訓練語料;知識網絡中的三元組能夠為概念關系標引模型提供訓練語料。通過構建問診業務資源庫模型、書籍資源庫模型,實現對原始資源以及解析資源的結構化存儲,構建問診領域知識體系,為問診領域概念知識再利用、算法服務提供資源支撐。
2.1 資源獲取與資源庫模型構建
資源庫模型構建能夠使問診文本資源按照特定格式存儲,本文選用可擴展標記語言(extensible markup language, XML)作為結構化數據的存儲格式。XML通過XML schema描述和規范XML文檔的結構,使文檔結構更清晰。
以糖尿病領域為例,本文從中華醫學知識庫人工下載相關書籍資源,根據原文格式信息,結合正則表達式對其解析,得到初步結構化數據,將解析后的文本使用樹狀結構保存,樹狀結構的根目錄為權威書籍標題,根據原文的層次結構將各級內容保存為節點,并設計疾病問診書籍對應的schema,按照其篇章結構的層級關系進行解析與存儲。除領域書籍資源外,問診業務還包括患者自述等和癥狀高度相關的資源,此類資源包括網絡爬取的患者自述文本、醫生回答文本和醫學百科的癥狀等。通過構建問診業務資源庫模型、設計對應的schema,實現患者陳述、醫患對話及解析結果等資源的存儲。
2.2 領域先驗詞典構建
通過工程方法抽取問診領域相關概念,構建先驗詞典,獲取先驗知識,為模型優化、遠程監督[18]標注訓練數據提供所需的支撐資源。
以糖尿病領域為例,本文基于《常用臨床醫學名詞(2019年版)》《漢英診斷學大辭典》等術語資源以及尋醫問藥百科、快速問醫生百科等半結構化資源,抽取糖尿病相關詞匯集合。首先,將上述半結構化或高度結構化的資源統一轉換成txt、csv、xml等便于計算機處理的文本格式;其次,對其中一些特殊字符進行處理和清洗;再次,對于術語間隔不明的資源,設計正則表達式進行規則抽取;最后,根據類別將上述詞匯去重后存入txt格式的文檔,形成詞典集合。
對于《漢英診斷學大辭典》,取其“內科”一章,使用正則表達式提取癥狀、實驗室檢查類概念。《常用臨床醫學名詞》按照科室將臨床術語劃分為疾病診斷名詞、癥狀體征名詞、手術操作名詞和臨床檢查名詞四類。由于選取糖尿病作為問診領域的示例領域,選取腎內科和內分泌科兩科室的四類臨床術語作為權威術語集合。一些開放爬蟲獲取的醫學百科網站積累了大量可直接在線獲取的癥狀百科,包括相關藥品、檢查、就診科室等字段,選取癥狀、疾病、檢查、藥品、食物這五種界限較為清晰的字段進行術語抽取。通過撰寫網站爬取規則,爬取百科頁面內容,分字段入庫,通過字段信息抽取不同類別的概念術語。
由于患者陳述主要是對自身癥狀和病史等的描述,為更好地提取患者陳述中涉及的對問診有用的概念需要增設字段。參考電子病歷書寫標準及爬取語料特征,經過與醫學專家的討論,將問診陳述中的癥狀分為一般癥狀、否認癥狀、癥狀部位、癥狀條件、癥狀程度、既往信息等,構造如表1所示的先驗詞典。先驗詞典主要來自內分泌和糖尿病相關內容,并對概念詞匯進行一定程度的精簡和人工添加。
利用構建好的先驗詞典,通過基于雙向最大匹配算法進行遠程監督標注語料,生成標注數據,能夠用于訓練概念標引模型。
2.3 知識網絡生成
本文利用管線方式獲取問診領域文本的三元組,生成概念關系網絡,作為先驗知識,為概念關系標引模型訓練提供訓練數據。
2.3.1 領域先驗關系規則構建
在醫學領域專家參考領域書籍輔助指導下,本文構建了50條先驗關系規則,并將其轉換成JSON格式作為參數。以癥狀和疾病兩個主要概念為例,其概念、關系、值域示例如表2所示。
2.3.2 先驗關系抽取方法
本文提出關系共現方法,根據兩概念之間的距離區間長度與構建的先驗關系規則抽取概念之間的先驗關系,形成三元組。在實驗中發現,癥狀與疾病、藥物、病程之間的關系跨度通常不是定值,若使用定長區間,概念一般會在一個區間內發生不同程度的改變,或在當前區間遍歷結束后,下一個區間中某個概念其實仍然是主體,因此無法檢測到此概念在下一個區間中的關系。將區間設置成大小可變的狀態,針對待抽取的序列,不劃分固定的區間長度,而是根據概念1(CLS1)與概念2(CLS2)的關系類別靈活劃分區間長度,并將區間內的關系根據先驗規則進行匹配,抽取概念間的關系,構建三元組,本文將該方法命名為dynamic window algorithm for relation extraction(DWARE)。具體步驟如下:a)輸入待處理的文檔T,并對其進行分句,得到句子集合{S1,S2,…,Sn}。b)對文檔中每一個句子S進行分詞,得到分詞結果{w1,w2,…,wn}。c)對文檔中每一個句子S以及每一個單詞w,使用概念標引模型對其進行概念抽取,得到概念集合{c1,c2,…,cn}。
d)初始化概念1的跨度窗口C1w,概念2的跨度窗口C2w以及固定窗口Fw。
e)對于文檔T中的每一個概念c,若c=CLS1,則將其索引添加到C1w中;若c=CLS2,則將其索引添加到C2w中。初始化HEAD為CLS1。f)對于C1w中的每一個概念c,計算其與HEAD之間的關系并輸出結果。將HEAD初始化為CLS2。g)對于C2w中的每一個概念c,計算其與HEAD之間的關系并輸出。初始化HEAD。h)對于W中的每一個概念c,將其作為HEAD,然后取下一個概念c+1,計算其與HEAD之間的關系并輸出,重復此過程,直到處理完W中的所有概念。
2.3.3 問診領域知識網絡構建
問診系統領域知識網絡由概念及其關系組成,概念為知識網絡中的節點,概念關系為知識網絡中的邊。本文對概念關系的設置默認是無向的,每一個知識網絡單元都可以表示成{概念實體,關系,概念實體}的三元組形式。圖2為部分三元組的JSON編碼格式,其中,“血糖升高”和“糖尿病”分別隸屬于“癥狀”和“疾病”的概念,作為“headConcept”記錄在鍵的位置,其關系由英文表示,關系后保存的是“tailConcept”即尾概念。
3 先驗知識增強的文本結構化解析模型
對問診系統文本的結構化解析分為概念抽取和概念關系抽取兩大任務。對于概念抽取任務,本文設計概念標引模型,基于預訓練語言模型通過構造模板的方式將概念類別判斷問題轉換為完形填空概念類別生成問題,通過讓模型預測被遮罩詞實現對模型的微調,使預訓練任務與下游任務實現平滑過渡,更好地利用模型在預訓練過程中學到的知識,實現在小樣本條件下的概念標引;設計概念關系標引模型,將概念關系檢測任務轉換為文本生成任務,進行概念關系一體化抽取,縮短算法流程,防止誤差傳播的出現。開放領域數據訓練的中文BERT模型對醫學領域的表征能力有限,無法較好地理解醫學領域知識完成下游任務,本文提出先驗知識增強的優化算法,基于BERT模型將先驗概念實體信息通過實體排序的方式融入模型中,得到先驗知識增強的MedReBERT模型,增強算法的領域語言表征能力,更好地應用于下游任務。
3.1 先驗知識增強的MedReBERT
3.1.1 MedReBERT模型
BERT是一種基于Transformer的預訓練語言模型,采用Transformer編碼器部分,通過遮罩任務得到雙向表示,基本策略是隨機使用特殊掩碼字符對句子中待預測字符遮罩,通過被遮罩詞的前后語境預測被遮罩詞,該雙向表示能更合理高效地利用語境信息,得到更好的序列表示。Transformer單個編碼器由多頭注意力子層和前饋網絡組成。多頭注意力可以獲取多個子空間的特征表示,該機制通過三個權重矩陣Q、K、V實現。如式(1)所示,詞嵌入x會分別與三個權重矩陣相乘得到q(查詢,query)、k(鍵,key)和v(值,value),通過計算Q與K的點積計算注意力權重,將該權重除以向量維度d的平方根,最后通過softmax函數對權重歸一化處理,這樣一組QKV權重矩陣稱為一個注意力頭,多頭注意力機制針對不同相關性計算不同注意力權重。
attention(Q,K,V)=softmaxQKT(dk)v
(1)
本文采用與BERT相同的掩碼策略,利用醫學文本基于BERT中文基礎模型繼續訓練,獲得適用于醫學問診領域的MedReBERT模型。
3.1.2 先驗知識增強的MedReBERT
為提高算法模型對問診系統領域文本理解能力,在預訓練模型基礎上,增加與概念實體相關的訓練任務,使用聯合訓練的框架,將詞典中的先驗概念知識融入模型中[19]?;贛edReBERT,在掩碼語言模型任務的基礎上,增加實體排序任務,利用構建的先驗詞典,模型隨機將訓練語料中的概念替換為錯誤概念,由MarginRankingLoss為模型提供正確概念信息,如式(2)所示。x1為模型預測向量與原句正確概念向量之間的相似度、x2為模型預測向量與隨機替換的錯誤概念向量之間的相似度,使用MarginRankingLoss損失函數訓練模型,使模型預測的向量更接近原句正確實體向量,以此提取句子中的實體信息。
loss(x1,x2)=max(0,-(x1-x2)+margin)
(2)
聯合MarginRankingLoss函數和掩碼語言模型任務中的CrossEntropyLoss函數作為損失函數進行訓練,見算法1,將詞典中的先驗概念知識融入模型,獲得先驗知識增強的MedReBERT模型。
算法1 聯合MarginRankingLoss與CrossEntropyLoss的損失函數計算
輸入:輸入文本標記編碼,注意力掩碼,句子位置編碼,正確概念編碼id,錯誤概念編碼id。
輸出:結合MLM損失和實體排序損失的總損失,實體排序任務的損失。
a)使用BERT模型進行MLM任務的前向傳播,得到序列輸出。
b)獲取正確概念輸入id對應的概念嵌入,并通過線性變換將其投影到與BERT輸出相同的維度。
c)通過BERT的MLM生成預測結果,并使用交叉熵損失函數計算MLM任務的損失。
d)若提供了錯誤概念編碼id,則獲取錯誤概念的嵌入,分別計算模型預測向量嵌入與正確概念、錯誤概念嵌入向量的余弦相似度,并使用 MarginRankingLoss 計算損失。若沒有提供錯誤概念編碼id,則將 margin_loss 設置為0。
e)將MLM損失和實體排名損失按權重求和,根據設定權重計算最終的總損失。
f)返回結合MLM損失和實體排名損失的總損失、實體排序任務的損失。
本文從好大夫網站獲取約5萬條患者陳述,對其清洗后切分段落,作為基礎訓練語料,實體排序部分語料使用優化后的概念集合。本文使用Huggingface模型庫中的BERT中文基礎模型,參數設置與原參數相同,設置batch_size為4,微調訓練epoch為3。
3.2 概念標引模型
為利用模型學習到的先驗知識,在預訓練模型的基礎上,設計完形填空微調任務,進行小樣本學習,實現對概念類別的標引。假設原句輸入為P={S1,S2…,Sn},其中Si為原句中的長短概念。對于概念Si,設計模板“P+Si,+這是前文的[MASK][MASK]”,“[MASK][MASK]”表示概念類別,通過掩碼部分獲得概念類別的標注標簽。通過預訓練時的掩碼語言模型遮罩學習方式,基于設計的掩碼提示模板,將序列分類任務轉換為文本生成任務,使預訓練和微調兩任務實現平滑過渡,當訓練樣本不足時,能夠充分利用預訓練模型中學習到的知識,實現在小樣本條件下的標簽預測。通過構造字符到標簽的轉換器預測待標引內容的標簽概率,對于待標引字串對ci,其標簽為tk(k=1,…,n)的概率如式(3)所示,其中,Prtk為掩碼標記的預測字符映射到標簽tk的概率,即標簽為tk的置信度。
Pr(tk|ci)=exp(Prtk)∑nj=1exp(Prtj)
(3)
3.3 概念關系標引模型
在預訓練模型的基礎上,將關系抽取視作文本生成任務,基于預訓練掩碼機制,從關系和概念的位置出發,根據遮罩位置設計三種模板,分別是“概念a,概念b,兩者的關系是[MASK][MASK]”“概念a+的[MASK][MASK]是+概念b”“符合[MASK][MASK]關系的有,概念a,概念b”。模型訓練時將“[MASK][MASK]”部分替換為掩碼標記,表示要預測的關系標簽,同樣使用字符到標簽的轉換器預測待標引內容的標簽概率。通過構建概念關系標引模型直接對兩概念關系預測,不依據概念標注的類別,減少概念標注錯誤,使用先驗規則抽取概念關系導致的誤差傳導,提高關系預測的準確性。
本文概念關系統一抽取的構建過程如下:
a)選取問診領域書籍或問診系統患者陳述中的單篇文本D,將其劃分為長句S={S1,S2,…,Sn}。
b)利用概念標引模型和基于規則的關系檢測從語料中發現概念對Cpair及其之間的關系R,組成三元組(Cpair, R)并將其作為訓練數據的支撐資源。
c)判斷先驗概念關系的置信度,其中置信度P=P1×P2,其中,P1和P2分別是概念標引的置信度。選擇上一步得分高于閾值的三元組數據作為關系訓練數據,保證訓練數據的質量。
d)利用本文構建的概念關系標引模型,設計模板生成任務。使用先驗知識中的概念對和關系名稱設計模板,并在目標數據中將模板中的關系掩碼,生成測試需要的字符。
4 工程處理與算法協同學習框架構建
4.1 工程處理與算法協同學習框架
問診系統文本結構化解析涉及醫學書籍、患者自述等先驗知識獲取,概念標引模型、概念關系標引模型的訓練、部署服務等眾多業務流程,算法迭代門檻高、周期長。若建立一種框架機制,通過接口化的方式解決算法模型的語料獲取、格式轉換、訓練和模型部署等業務流程,將會降低模型迭代成本,提高問診系統文本結構化解析效率,降低算法生命周期的維護門檻和維護成本。本文將工程算法管理機制、工程資源處理手段與算法訓練進行融合,提出一種工程處理與算法協同學習框架,搭建算法服務平臺集中管理問診系統中文本結構化解析過程中產生的算法模型,實現算法流程自動化、語料訓練接口化,如圖3所示,以達到工程處理與算法協同促進、共同優化的效果。
資源獲取平臺能夠提供爬蟲接口爬取所需要的原始語料,通過設置先驗詞典和先驗關系規則,利用資源加工平臺插件對原始語料進行處理,能夠獲得先驗知識與模型訓練語料,平臺提供訓練語料導出功能,如圖4所示。通過算法訓練接口對模型進行訓練,利用訓練好的模型能夠實現對問診系統文本的結構化解析,用算法解析結果與插件解析結果對比,找到插件處理錯誤,優化插件工具處理結果。
問診業務面向的疾病千變萬化,在線問診數據每天都在積累,基于該框架能夠實現對新增書籍、問診記錄等的結構化解析以擴充領域知識庫,提供更多結構化資源支撐,實現知識存儲與再利用,能夠為概念標注模型和概念關系抽取模型的自訓練[20]提供可能。
4.2 基于FastAPI的RESTful風格HTTP服務
工程處理與算法協同學習框架基于RESTful API思想建立各個算法之間的接口,實現模型訓練應用的接口化,加強對算法語料標注、算法訓練和服務的管理,降低算法維護成本與門檻,提升算法在不同業務間的移植能力;采用B/S架構實現,用戶可以通過網頁端向服務器發送HTTP請求,依次進行語料獲取、算法訓練、領域知識服務等操作。
基于HTTP協議的Web在線服務是目前互聯網服務提供商最普遍的服務接口解決方案。HTTP協議,即超文本傳輸協議,是一種基于TCP連接的通信協議;RESTful是一種Web應用程序的設計開發方式,它在HTTP協議的基礎上,通過JSON或XML等結構化格式來進行定義。它要求客戶端與服務器之間的交互請求是無狀態的;客戶端到服務器間的每個請求必須包含服務端所需的必要信息;服務器與客戶端之間無強綁定關系,若服務器出現故障或重啟,客戶端不會得到通知;無狀態的請求可用任何服務器回應;每一個URI代表一個資源,資源的表現形式是HTML或XML,客戶端通過請求操作資源的表現形式來操作資源。
在Python語言生態下,本文選擇基于Starlette架構的FastAPI框架作為本文RESTful風格服務接口的實現方案技術選型。FastAPI是一款開源、快速、高性能的Web框架,能夠快速構建API。使用Java撰寫語料解析插件和算法接口請求插件,存儲原格式語料或清洗提取后的符合算法格式的語料;使用Python 3.6+撰寫算法接口,將算法訓練過程編寫為數據接口,便于遷移學習和多次算法數據訓練迭代,算法服務示例如圖5所示。
5 實驗
5.1 概念標引模型實驗
5.1.1 數據獲取
問診系統患者陳述中,細粒度的概念識別不能很好地覆蓋所有概念,有些概念以短句形式出現。對于患者陳述文本,除了利用詞典進行基于雙向最大匹配算法遠程標注外,還根據句中標點進行分句標注,分句時判斷句首到句尾長度。如果句長小于中位數則被列入待標注數據進行粗粒度人工標注概念類別,構建了每個標簽30個樣本的小型數據集,部分數據如圖6所示,第一列為標簽數字,不同數字對應不同概念類別標簽,第二列為待標注概念,第三列為該概念所在句子。根據設計的概念標引模型模板“P+Si,+這是前文的[MASK][MASK]”,可以構造“該概念所在句子+待標注概念,+這是前文的類別標簽”形式的訓練數據,用于概念標引模型訓練。
5.1.2 實驗與結果分析
利用基于先驗知識增強的患者陳述MedReBERT模型,進行概念標引模型的小樣本學習。為驗證模型的有效性,選擇兩種方式進行對比,結果如表3所示。
對比策略1:基于基礎BERT模型通過softmax預測概念標引類別。
對比策略2:基于詞匯級別的掩碼策略預訓練模型通過softmax預測概念標引類別。ERNIE[21]是一種面向開放領域的知識增強模型,因此將其作為對比。
在使用少樣本進行訓練時,基礎BERT模型和ERNIE模型使用數字對標簽進行編碼,并進一步通過softmax函數進行預測的方法,無法有效利用標簽中所包含的語義知識與模型中包含的領域知識,所給出的預測結果并沒有大幅度更新與提升;本文通過在模型訓練過程中增加與概念實體相關的聯合訓練任務,能夠有效地將概念知識融入模型中,從而使模型能夠更好地對文本中的知識建模,并將下游任務轉換為完形填空任務,在樣本較少時,能夠有效利用模型中的知識對概念進行標引。
5.2 概念關系標引模型實驗
5.2.1 數據獲取
利用構建的知識網絡,獲得基于書籍權威語料的三元組數據共4 856條,作為概念關系標引模型訓練數據。分別從書籍和患者陳述中隨機選擇三條數據,人工標注三元組作為測試集,如表4所示。
5.2.2 實驗與結果分析
訓練時選擇基于患者陳述知識增強的MedReBERT作為基礎模型,根據設計的模板進行訓練,batch_size為128,epoch為10。模型訓練結束后,從三種模板中取分數最高者作為最終結果展示,實驗結果如表5所示,對于患者陳述的概念關系抽取效果較差,手冊書籍的概念關系抽取效果較好,這是由患者陳述這種非專業性文本的概念關聯稀疏導致的。
為比較先驗知識增強的MedReBERT在患者陳述概念關系抽取上的表征能力,本文抽檢了10條患者自述數據,對比先驗規則+DWARE關系抽取方法及基于MedReBERT的概念關系標引模型結果如表6所示。
先驗規則+DWARE方法出于對先驗規則的依賴,得到的結果普遍較差,其中一些較好的結果僅限于“疾病-癥狀(癥狀)”“類別-類別(并發)”等規則設置較為明顯的三元組。此外,規則方法得到的三元組數據,概念間關系跨度不大,由于概念識別精度和窗口設置的原因,有一些關系被忽略。而訓練方式未經過調整的MedReBERT缺乏先驗知識,對患者陳述的表征能力較弱。先驗知識增強的MedReBERT能夠學習到醫學相關領域知識,將概念關系抽取任務轉換為文本生成任務,縮短算法流程,減少誤差。
6 結束語
本文首先通過工程方法構建糖尿病領域的先驗詞表,構建先驗規則抽取概念關系,生成問診領域的知識網絡,為問診系統中的概念標引模型與關系標引模型提供先驗知識與訓練數據。通過設計完形填空模板的方式構建概念標引模型和關系標引模型,以獲取問診系統相關文本的概念及其之間的關系。改進基于中文BERT預訓練腳本訓練機制,將先驗知識融入模型中,加強對問診系統的語義表征,實驗證明融合先驗知識、使用領域文本微調的訓練方式對患者陳述的概念提取的有效性。最后本文提出一種工程處理與算法協同學習框架,建立算法輸入、訓練、測試和迭代的RESTful API接口機制,充分利用工程數據和算法再生數據,協同學習迭代算法模型,提高算法在工程操作中的便捷性與可迭代性。
本文雖提出了基于先驗知識的概念關系聯合構建算法,實現了概念關系的抽取,但是僅局限于內分泌科的糖尿病問診記錄和相關書籍,在真正的問診系統中,需要信息抽取的不僅有患者陳述,還有電子病歷、病程記錄等關鍵數據。本文提出的算法對于長文本連貫語義內容的理解有一定的局限性,一些大規模預訓練模型能夠打破輸入長度限制,能夠更加適應文本生成任務,后續可以利用大規模預訓練模型進行概念體系構建的研究。
參考文獻:
[1]王思麗, 祝忠明, 劉巍, 等. 基于深度學習的領域本體概念自動獲取方法研究 [J]. 情報理論與實踐, 2020, 43(3): 145-152, 144. (Wang Sili, Zhu Zhongming, Liu Wei, et al. Method of domain ontology concept automatic extraction based on deep learning [J]. Information Studies: Theory amp; Application, 2020, 43(3): 145-152, 144.)
[2]Aronson A R, Lang F M. An overview of MetaMap: historical perspective and recent advances [J]. Journal of the American Medical Informatics Association, 2010, 17(3): 229-236.
[3]陳雪松, 朱鑫海, 王浩暢. 基于PMV-LSTM的中文醫學命名實體識別 [J]. 計算機工程與設計, 2022, 43(11): 3257-3263. (Chen Xuesong, Zhu Xinhai, Wang Haochang. Chinese medical named entity recognition based on PMV-LSTM [J]. Computer Engineering and Design, 2022, 43(11): 3257-3263.)
[4]林致中, 王華珍. 基于Transformer交互指導的醫患對話聯合信息抽取方法 [J]. 計算機應用研究, 2024, 41(8): 2315-2321. (Lin Zhizhong, Wang Huazhen. CT-JIE: collaborative Transformer for joint information extraction from patient-doctor dialogues [J]. Application Research of Computers, 2024, 41(8): 2315-2321.)
[5]Devlin J, Chang Mingwei, Lee K, et al. BERT: pre-training of deep bidirectional Transformers for language understanding[C]// Proc of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg: Association for Computational Linguistics, 2019: 4171-4186.
[6]Krishna K, Pavel A, Schloss B, et al. Extracting structured data from physician-patient conversations by predicting noteworthy utterances [M]// Shaban-Nejad A, Michalowski M, Buckeridge D L. Explainable AI in Healthcare and Medicine. Cham: Springer International Publishing, 2020: 155-169.
[7]Liu Weijie, Zhou Peng, Zhao Zhe,et al. K-BERT: enabling language representation with knowledge graph [C]// Proc of AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2020: 2901-2908.
[8]韓普, 顧亮. 基于混合深度學習的中文醫學實體抽取研究 [J]. 圖書情報工作, 2022, 66(14): 119-127. (Han Pu, Gu Liang. Research on extraction of Chinese medical entities based on hybrid deep learning [J]. Library and Information Service, 2022, 66(14): 119-127.)
[9]趙珍珍, 董彥如, 劉靜, 等. 融合詞信息和圖注意力的醫學命名實體識別 [J]. 計算機工程與應用, 2024, 60(11): 147-155. (Zhao Zhenzhen, Dong Yanru, Liu Jing, et al. Medical named entity recognition incorporating word information and graph attention [J]. Computer Engineering and Applications, 2024, 60(11): 147-155.)
[10]陳夢萱, 陳艷平, 扈應, 等. 基于詞義增強的生物醫學命名實體識別方法 [J]. 計算機工程, 2023, 49(10): 305-312. (Chen Mengxuan, Chen Yanping, Hu Ying, et al. Biomedical named entity recognition method based on word meaning enhancement [J]. Computer Engineering, 2023, 49(10): 305-312.)
[11]Fei Hao, Ren Yafeng, Zhang Yue,et al. Enriching contextualized language model from knowledge graph for biomedical information extraction [J]. Briefings in Bioinformatics, 2021, 22(3): bbaa110.
[12]羅歆然, 李天瑞, 賈真. 基于自注意力機制與詞匯增強的中文醫學命名實體識別[J]. 計算機應用, 2024, 44(2): 385-392. (Luo Xinran, Li Tianrui, Jia Zhen. Chinese medical named entity recognition based on self-attention mechanism and lexicon enhancement[J]. Journal of Computer Applications, 2024, 44(2): 385-392.)
[13]Wei Zhepei, Su Jianlin, Wang Yue,et al. A novel cascade binary tagging framework for relational triple extraction [C]// Proc of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: Association for Computational Linguistics, 2020: 1476-1488.
[14]Wei Qiang, Ji Zongcheng, Si Yuqi,et al. Relation extraction from clinical narratives using pre-trained language models [C]// Proc of AMIA Annual Symposium. 2020: 1236-1245.
[15]Gu Yu, Tinn R, Cheng Hao, et al. Domain-specific language model pretraining for biomedical natural language processing [J]. ACM Trans on Computing for Healthcare, 2021, 3(1): 1-23.
[16]景慎旗, 趙又霖. 基于醫學領域知識和遠程監督的醫學實體關系抽取研究 [J]. 數據分析與知識發現, 2022, 6(6): 105-114. (Jing Shenqi, Zhao Youlin. Extracting medical entity relationships with domain-specific knowledge and distant supervision [J]. Data Analysis and Knowledge Discovery, 2022, 6(6): 105-114.)
[17]Mondal I. BERTChem-DDI: improved drug-drug interaction prediction from text using chemical structure information [C]// Proc of Knowledgeable NLP: the 1st Workshop on Integrating Structured Knowledge and Neural Networks for NLP. Stroudsburg, PA: Association for Computational Linguistics, 2020: 27-32.
[18]Smirnova A, Cudré-Mauroux P. Relation extraction using distant supervision: a survey [J]. ACM Computing Surveys, 2018, 51(5): 1-35.
[19]李冠霖. 中醫古籍單篇文本知識結構全解析關鍵技術研究[D]. 北京: 北京大學, 2021. (Li Guanlin. Research on knowledge structure parsing from Chinese medical book [D]. Beijing: Peking University, 2021.)
[20]Du Jingfei, Grave E, Gunel B, et al. Self-training improves pre-training for natural language understanding [C]// Proc of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, PA: Association for Computational Linguistics, 2021: 5408-5418.
[21]Zhang Zhengyan, Han Xu, Liu Zhiyuan,et al. ERNIE: enhanced language representation with informative entities [C]// Proc of the 57th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: Association for Computational Linguistics, 2019: 1441-1451.