文章編號:2096-1472(2024)03-00011-04
DOI:10.19644/j.cnki.issn2096-1472.2024.003.003
摘"要:針對醫(yī)療問答系統(tǒng)在處理復(fù)雜問題時面臨上下文語義理解的局限,提出一種基于BERT-BiGRU的模型。通過預(yù)訓(xùn)練語言模型BERT和雙向門控循環(huán)單元BiGRU建立醫(yī)療問答系統(tǒng),其中BERT提取文本語義特征,BiGRU學(xué)習(xí)文本的順序依賴信息,進而全面表示文本語義結(jié)構(gòu)信息。在CBLUE醫(yī)療問答數(shù)據(jù)集上與基準方法相比,該模型在意圖識別任務(wù)上的精確率提高到79.22%,召回率提高到81.23%,F(xiàn)1值(精確率和召回率的調(diào)和平均值)提高到79.82%。研究表明,結(jié)合BERT和BiGRU的模型可以更好地理解醫(yī)療問句的語義和結(jié)構(gòu)信息,顯著地提升了醫(yī)療問答系統(tǒng)的性能。
關(guān)鍵詞:BERT;BiGRU;知識圖譜;意圖識別;醫(yī)療問答系統(tǒng)
中圖分類號:TP391.1""文獻標志碼:A
An Intelligent Medical Qamp;A System Based on BERT-BiGRU Model
HUANG Yong, XI Juanxia, GUAN Chengbin
(School of Information Management and Engineering, Guangdong Neusoft University, Foshan 528000, China)
1427217679@qq.com; xijuanxia@nuit.edu.cn; guanchengbin@nuit.edu.cn
Abstract: This paper proposes a model based on BERT-BiGRU to address the limitations of contextual semantic understanding in medical question answering (Qamp;A) systems when dealing with complex problems. A pre-trained language model BERT and a Bidirectional Gated Recurrent Unit (BiGRU)are used to establish a medical Qamp;A system, where BERT extracts semantic features of the text, while BiGRU learns the order dependency information of the text, thereby comprehensively representing the semantic structure information of the text. Compared with the benchmark method on the CBLUE medical Qamp;A dataset, the proposed model achieves an accuracy improvement of 79.22%, a recall improvement of 81.23%, and an F1 value (harmonic mean of accuracy and recall) improvement of 79.82% in intention recognition tasks. Research has shown that combining BERT and BiGRU models can better understand the semantic and structural information of medical questions, significantly improving the performance of medical Qamp;A systems.
Key words: BERT; BiGRU; knowledge mapping; intention recognition; medical Qamp;A system
0""引言(Introduction)
智慧醫(yī)療已成為緩解醫(yī)療資源短缺的重要手段,智慧醫(yī)療通過人工智能[1]、大數(shù)據(jù)[2]、云計算等技術(shù)手段對醫(yī)療信息進行深度挖掘和分析,可以提高醫(yī)療服務(wù)的效率和質(zhì)量,并緩解醫(yī)療資源短缺的問題。知識圖譜作為智慧醫(yī)療的核心技術(shù)之一,能夠?qū)⒉煌瑏碓础⒉煌Y(jié)構(gòu)、散亂復(fù)雜的醫(yī)療數(shù)據(jù)聯(lián)合起來[3],構(gòu)建一個結(jié)構(gòu)化和標準化的醫(yī)療知識網(wǎng)絡(luò)。
與前人研究不同,本研究構(gòu)建了基于BERT和BiGRU的智慧醫(yī)療問答系統(tǒng)。該系統(tǒng)充分利用BERT學(xué)習(xí)語義特征,利用BiGRU學(xué)習(xí)序列特征的優(yōu)勢,可以更準確地表示文本語義和結(jié)構(gòu)信息。在語義和序列特征表達的基礎(chǔ)上,本研究構(gòu)建了醫(yī)療領(lǐng)域知識圖譜,通過知識圖譜支持問答系統(tǒng)的知識查詢和推理,從而增強問答的覆蓋面和準確性。
1""基于BERT-BiGRU模型的智慧醫(yī)療問答系統(tǒng)(Intelligent medical Qamp;A system based on BERT-BiGRU model)
1.1""智慧醫(yī)療問答系統(tǒng)的構(gòu)建與實現(xiàn)
本文構(gòu)建的智慧醫(yī)療問答系統(tǒng)包括以下4個模塊:人機交互模塊、問句語法分析模塊、醫(yī)療意圖識別模塊和知識圖譜檢索模塊。用戶通過交互界面輸入文本,輸入的文本會經(jīng)過自然語言處理的處理流程,包括問句語法分析模塊和醫(yī)療意圖識別模塊。在這個流程中,系統(tǒng)能夠自動識別問句中的實體信息和意圖信息,從而準確地理解用戶的需求[4]。隨后,這些信息被整合轉(zhuǎn)化為知識圖譜的識別語句,并輸入知識圖譜中進行查詢,最終輸出結(jié)果。圖1展示了基于BERT-BiGRU模型的智慧醫(yī)療問答系統(tǒng)的組成部分[5]。
1.2""知識圖譜的搭建
知識圖譜是一種基于圖的數(shù)據(jù)結(jié)構(gòu),用于組織和表示知識領(lǐng)域中的信息,并以結(jié)構(gòu)化的方式描述概念、實體和屬性之間的連接。為了構(gòu)建知識圖譜,采用爬蟲技術(shù)從專業(yè)醫(yī)療數(shù)據(jù)網(wǎng)站獲取大量的非結(jié)構(gòu)化醫(yī)療數(shù)據(jù),并使用自然語言處理技術(shù)對數(shù)據(jù)進行清洗、命名實體識別、結(jié)構(gòu)化組織和分類。將處理后的數(shù)據(jù)存儲在圖數(shù)據(jù)庫中,并進行驗證、校正和清理,確保數(shù)據(jù)的準確性、完整性和一致性[6]。
表1描述了使用Neo4j開源圖數(shù)據(jù)庫平臺構(gòu)建醫(yī)療知識圖譜的方法和結(jié)果。本研究使用py2neo庫和Python腳本,構(gòu)建了一個Neo4j圖數(shù)據(jù)庫,成功地提取了7類實體和10類關(guān)系,并且每個疾病實體都包含8種屬性。最終的知識圖譜由44 111個節(jié)點和294 149對關(guān)系組成。通過Neo4j構(gòu)建的醫(yī)療知識圖譜部分節(jié)點的展示如圖2所示。
2.1""BERT-BiGRU模型
BERT-BiGRU模型架構(gòu)如圖3所示,該模型包含輸入層、BERT層、雙向GRU層和Softmax輸出層。
輸入層:使用預(yù)訓(xùn)練BERT模型加載詞Embedding,學(xué)習(xí)語言的語義與語法知識,將輸入文本序列映射為語義向量序列。由于輸入文本的高級語義信息尚未學(xué)習(xí)序列信息,所以這時加入GRU層,可以更方便地學(xué)習(xí)序列特征。GRU層負責(zé)學(xué)習(xí)序列特征,通過循環(huán)神經(jīng)網(wǎng)絡(luò)獲得最終隱狀態(tài),將其輸入Softmax層,確定最終的關(guān)系類型[7]。
BERT層:BERT預(yù)訓(xùn)練模型的輸出,獲得輸入文本序列的語義表達。BERT可以學(xué)習(xí)語言的語義與語法知識,為GRU層提供語義豐富的初始化[8]。
雙向GRU層:通過接收BERT層的輸出,學(xué)習(xí)輸入序列的語義和順序特征,并為關(guān)系分類判斷提供重要信息。GRU層為輸入序列每個元素提供長距離依賴,最終得出隱狀態(tài)。
Softmax輸出層:接收GRU層的結(jié)果隱狀態(tài),通過Softmax函數(shù)輸出最終的關(guān)系類型。通過Attention機制優(yōu)化分類任務(wù)的輸入表示,優(yōu)化后的GRU輸出被傳入Softmax分類層,以輸出最終的多分類判斷結(jié)果。
2.2""BERT-BiGRU模型的結(jié)構(gòu)
本研究提出了一種基于BERT-BiGRU的醫(yī)療意圖識別方法。BERT是一個具有Transformer結(jié)構(gòu)的預(yù)訓(xùn)練語言表示模型,它利用雙向注意力機制學(xué)習(xí)輸入序列的上下文語義信息。BERT可以動態(tài)生成輸入詞的向量表示,更好地表示同一詞在不同上下文中的不同含義。與靜態(tài)詞向量模型(Word2Vec)相比,BERT具有更強的上下文感知和詞義消歧能力。BERT可以根據(jù)輸入序列的上下文動態(tài)調(diào)整每個詞的向量表示,從而在處理多義詞和短語時表現(xiàn)更佳[9]。
BERT通過在大規(guī)模未標記語料上進行預(yù)訓(xùn)練,學(xué)習(xí)到通用的語言知識和語義表示能力,使BERT可以進行遷移學(xué)習(xí),大大減少任務(wù)對專有數(shù)據(jù)的需求,提高模型性能和訓(xùn)練效率[10]。
BERT-BiGRU模型在BERT的基礎(chǔ)上加入GRU層。GRU可以更深入地學(xué)習(xí)序列的上下文依賴關(guān)系,增強模型的語義理解能力。BERT的詞向量輸入被用作GRU輸入,GRU輸出用于各下游任務(wù)(如文本分類和序列標注)。
BERT-BiGRU模型結(jié)合BERT強大的上下文語義表示學(xué)習(xí)能力和GRU對長距離依賴關(guān)系的建模優(yōu)勢,它先用BERT進行預(yù)訓(xùn)練學(xué)習(xí)泛化語言知識,然后將GRU參數(shù)初始化為BERT輸出權(quán)重。在下游任務(wù)中微調(diào)GRU,以實現(xiàn)有效的遷移學(xué)習(xí)。
首先,定義一個問句文本序列X,在其前后加入特殊標記[CLS]和[SEP],具體如公式(1)所示:
X=[CLS]x1x2…xn[SEP](1)
其次,將X輸入BERT模型中得到句子的上下文語義,表示為h。其中:xn表示句子長度,具體如公式(2)所示:
h=BERT(X)(2)
最后,在BERT模型的基礎(chǔ)上添加GRU層,并用于各個下游任務(wù),如文本分類、序列標注等。這種做法可以進一步增強模型對長距離依賴關(guān)系的建模能力和語義理解能力。同時,由于BERT提供了輸入詞向量并學(xué)習(xí)到了泛化語言知識和語義表示能力,因此可以有效地進行遷移學(xué)習(xí)以獲得更好的效果。
2.3""Encoder層和Decoder層
Encoder和Decoder結(jié)構(gòu)圖如圖4所示。
使用Transformer模型對BERT模型的編碼層進行編碼,具體為使用多層的Self-Attention和前饋神經(jīng)網(wǎng)絡(luò)模塊實現(xiàn)對輸入序列的高級語義信息的抽象和壓縮。通過嵌入層和分段/位置嵌入層,將輸入序列映射為詞向量序列,并為每個詞賦予語義信息和位置信息。這種做法可以更好地利用詞匯之間的語義相關(guān)性,并提高模型對序列中不同部分的理解能力。使用LayerNorm層對詞向量序列進行歸一化,使其均值為0、標準差為1,從而讓模型更易于訓(xùn)練和收斂。使用Self-Attention層實現(xiàn)序列內(nèi)部的注意力機制,獲得整個序列的上下文信息和詞與詞之間的依賴關(guān)系。Self-Attention層的輸出會經(jīng)過GELU函數(shù)激活,引入非線性,之后使用Add amp; Norm層將Self-Attention層的輸出與輸入序列相加,并重新歸一化,以便模型學(xué)習(xí)輸入序列的殘差信息。使用前饋神經(jīng)網(wǎng)絡(luò)模塊進一步抽象序列信息,得到輸入序列的高級語義表達。通過重復(fù)使用Self-Attention和前饋神經(jīng)網(wǎng)絡(luò)模塊,一般為12~24層,實現(xiàn)了多層抽象和壓縮,從而獲得輸入序列的高級語義信息和上下文表示。這種基于Transformer模型的編碼層設(shè)計,可以有效地提高BERT模型的性能和泛化能力,并在自然語言處理領(lǐng)域等任務(wù)中取得了重要的進展。
2.4""雙向GRU層
GRU通過重置門和更新門控制信息的存儲與遺忘,可以有效解決RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))的梯度彌散問題,它僅需要保留隱狀態(tài)和候選隱狀態(tài)兩個向量,計算簡單、高效。所以,GRU非常適用于序列建模,可以學(xué)習(xí)長距離依賴關(guān)系。GRU只包含重置門和更新門兩個門控機制,LSTM包含遺忘門、輸入門和輸出門三個門控機制,但是GRU簡單且高效,只需要維護兩個向量,計算過程簡單[9]。
GRU單元結(jié)構(gòu)如圖5所示。GRU的更新門和重置門對應(yīng)于“z”門和“r”門。
更新門控制前一隱狀態(tài)的信息流入當(dāng)前隱狀態(tài)ht的量。更新門的值越大,表示前一隱狀態(tài)的信息對當(dāng)前隱狀態(tài)的影響越大。更新門可以有效地存儲與傳遞長期依賴信息,但也可能導(dǎo)致歷史無關(guān)信息的累積。
重置門控制先前隱狀態(tài)信息被忽略的量。重置門的值越小,表示更多無關(guān)歷史信息被忽略。重置門可以有效地遺忘歷史無關(guān)信息,但也可能割斷長期依賴關(guān)系。
通過更新門和重置門的協(xié)同工作,GRU可以在遺忘無關(guān)歷史信息和維持長期依賴信息之間達到平衡。更新門確保重要歷史信息得以保留和傳遞,重置門確保遺忘無關(guān)歷史信息,使隱狀態(tài)僅保留相關(guān)信息。更新門和重置門之間的比例關(guān)系決定了歷史信息在當(dāng)前隱狀態(tài)中的比例,實現(xiàn)了對信息的精細控制。公式(3)至公式(6)說明了GRU單元的計算過程。
重置門:
rt=σ(Wr·[ht-1,xt])(3)
更新門:
zt=σ(Wz·[ht-1,xt])(4)
候選隱狀態(tài):
ht=tanh(Wh·[ht-1·rt,xt])(5)
隱狀態(tài):
ht=(1-zt)·ht-1+zt·h′t(6)
3""實驗與結(jié)果分析(Experiment and result analysis)
3.1""實驗數(shù)據(jù)集選擇
為了評估本文提出的模型的性能,使用CBLUE中的QIC數(shù)據(jù)集對意圖識別模型進行實驗。意圖識別模型使用的是一個包含病情診斷、病因分析、治療方案、就醫(yī)建議、指標解讀、疾病描述、后果表述、注意事項、功效作用和醫(yī)療費用等數(shù)據(jù)的中文醫(yī)學(xué)意圖數(shù)據(jù)集。該數(shù)據(jù)集總共包含6 931個樣本,涵蓋醫(yī)學(xué)領(lǐng)域的很多知識。
3.2""評價指標
為了客觀地評價意圖識別模型與槽位填充模型的性能,本研究采用了三個廣泛應(yīng)用的評價指標:精確率(Precision)、召回率(Recall)與F1值。
精確率是正確識別的標簽數(shù)與識別出的總標簽數(shù)之比,反映模型識別結(jié)果的準確度,其計算公式如下:
F1值同時考量了精確率與召回率,它是評價模型性能的重要指標。一般來說,性能優(yōu)異的模型具有較高的精確率、召回率與F1值,因此本研究采用這三個指標評估意圖識別模型的性能。
3.3""實驗設(shè)置及結(jié)果分析
在實驗中,采用BERT Base預(yù)訓(xùn)練模型,該模型包含12層的編碼器、768個隱藏單元、12個注意頭、110 MB個參數(shù)。在PyTorch框架下,通過采用GPU加速來搭建意圖分類模型,以提升模型訓(xùn)練的速度和效率。在模型參數(shù)設(shè)置環(huán)節(jié),將序列長度設(shè)定為128。為了進一步優(yōu)化模型的訓(xùn)練效果,選用了Adamax優(yōu)化算法,并設(shè)定學(xué)習(xí)率為2.5e-5,權(quán)重衰減為1e-4。此外,在訓(xùn)練過程中,還采用了線性學(xué)習(xí)率調(diào)度器,旨在提高模型的最終效果。
為了評估本文提出的BERT-BiGRU模型在意圖分類任務(wù)上的性能,選擇多種文本分類模型作為基準,包括FastText、LSTM和Text-CNN,與本文的BERT-BiGRU模型在相同數(shù)據(jù)集上進行比較。表2展示了本文提出的模型和其他基線模型在Question Intent Classification(QIC)數(shù)據(jù)集上的實驗結(jié)果[7]。
從表2可以看出,在醫(yī)療短文本的意圖識別任務(wù)上,LSTM模型和Text-CNN模型的評價指標相近,表現(xiàn)較為穩(wěn)定。其中,LSTM模型的精確率和召回率分別達到72.72%和68.63%,F(xiàn)1值為70.61%;Text-CNN模型的精確率和召回率分別達到73.40%和70.23%,F(xiàn)1值稍高,達到71.78%。
基于BERT-BiGRU模型的意圖識別模型效果要顯著優(yōu)于LSTM模型和Text-CNN模型。BERT-BiGRU模型的召回率高達81.23%,精確率達到79.22%,F(xiàn)1值最高時達到79.82%。這是因為BERT-BiGRU模型在大規(guī)模通用數(shù)據(jù)集上進行預(yù)訓(xùn)練,學(xué)習(xí)到通用的語言知識和豐富的語義信息。在Domain Adaptation階段,BERT-BiGRU模型通過添加分類器和進行微調(diào),有效遷移預(yù)訓(xùn)練的知識用于下游的意圖識別任務(wù),明顯提高了模型的泛化能力和語義理解效果。
對于醫(yī)療領(lǐng)域的意圖識別任務(wù),BERT-BiGRU模型具有高召回率。高召回率就意味著模型可以正確識別出更多的正樣本,減少漏報的樣本數(shù),這對于醫(yī)療領(lǐng)域的應(yīng)用而言至關(guān)重要,因為只有盡可能識別出所有的潛在醫(yī)療意圖,才能最大限度地避免遺漏任何醫(yī)療相關(guān)的詞匯或短語。同時,BERT-BiGRU模型通過其強大的語言表達能力和豐富的上下文語義信息,可以最大限度地識別出給定文本中的所有醫(yī)療相關(guān)信息,進而實現(xiàn)更高的召回率。
實驗證明,本文提出的融合模型相比其他基線模型性能更優(yōu),即能更好地表示文本的語義信息和應(yīng)用于醫(yī)療領(lǐng)域的意圖識別任務(wù)。
基于BERT-BiGRU模型的智慧醫(yī)療問答系統(tǒng)輸出結(jié)果展示圖(部分)如圖6所示,通過頭痛問題的舉例來看,該系統(tǒng)顯示出較強的理性分析和知識運用能力。首先,系統(tǒng)準確地識別和概括了兩種主要類型的頭痛及其特征,展現(xiàn)出對頭痛的準確分類,且對其成因有深入的理解;其次,針對不同的頭痛類型,智慧醫(yī)療問答系統(tǒng)提出了具有系統(tǒng)性和針對性的預(yù)防和治療方案。總之,智慧醫(yī)療問答系統(tǒng)在解答頭痛相關(guān)問題時表現(xiàn)出較強的知識支撐能力和理性思維能力。這為該系統(tǒng)解答更加復(fù)雜的問題提供了基礎(chǔ)與保障。
4""結(jié)論(Conclusion)
本研究構(gòu)建了一個基于知識圖譜的醫(yī)療問答系統(tǒng)。通過網(wǎng)絡(luò)爬蟲技術(shù)采集相關(guān)數(shù)據(jù),建立醫(yī)療領(lǐng)域知識圖譜,為問答系統(tǒng)提供知識來源。該系統(tǒng)利用語義分析技術(shù)識別問題的意圖和命名實體,鑒于醫(yī)療領(lǐng)域訓(xùn)練數(shù)據(jù)有限,采用深度學(xué)習(xí)與規(guī)則相結(jié)合的方法,應(yīng)用BERT-BiGRU模型處理意圖識別,應(yīng)對問題的變化;應(yīng)用規(guī)則模型和詞典進行命名實體識別,準確地抽取實體。在獲得意圖與實體后,系統(tǒng)在知識圖譜中查詢,為用戶生成恰當(dāng)?shù)捻憫?yīng),完成問答過程。
實驗表明,深度學(xué)習(xí)模型具有更強的泛化能力,規(guī)則模型的性能更為穩(wěn)定。兩者相結(jié)合,可發(fā)揮各自的優(yōu)勢,在少量的醫(yī)療領(lǐng)域訓(xùn)練數(shù)據(jù)下,提高問答系統(tǒng)的整體準確率。
未來,將繼續(xù)探索結(jié)合其他技術(shù)與方法,進一步提高系統(tǒng)的準確率和實用性。期待更多研究者參與醫(yī)療領(lǐng)域的語言理解研究工作,推動該領(lǐng)域的進一步發(fā)展。
參考文獻(References)
[1] RONG G G,MENDEZ A,ASSI E B,et al. Artificial intelligence in healthcare: review and prediction case studies[J]. Engineering,2020,6(3):291-301.
[2] 侯夢薇,衛(wèi)榮,陸亮,等. 知識圖譜研究綜述及其在醫(yī)療領(lǐng)域的應(yīng)用[J]. 計算機研究與發(fā)展,2018,55(12):2587-2599.
[3] 張元博. 醫(yī)療知識圖譜構(gòu)建與應(yīng)用[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2018.
[4] 魏澤林,張帥,王建超. 基于知識圖譜問答系統(tǒng)的技術(shù)實現(xiàn)[J]. 軟件工程,2021,24(2):38-44.
[5] 孫斌,常開志,李樹濤. 面向醫(yī)療咨詢的復(fù)雜問句意圖智能理解[J]. 中文信息學(xué)報,2023,37(1):112-120.
[6] 王智悅,于清,王楠,等. 基于知識圖譜的智能問答研究綜述[J]. 計算機工程與應(yīng)用,2020,56(23):1-11.
[7] 趙丹丹,黃德根,孟佳娜,等. 基于BERT-GRU-ATT模型的中文實體關(guān)系分類[J]. 計算機科學(xué),2022,49(6):319-325.
[8] 徐建飛,吳躍成. 基于BERT-BiLSTM-CNN模型的新聞文本分類研究[J]. 軟件工程,2023,26(6):11-15.
[9] 郝婷,王薇. 融合Bert和BiLSTM的中文短文本分類研究[J]. 軟件工程,2023,26(3):58-62.
[10] 吳俊,程垚,郝瀚,等. 基于BERT嵌入BiLSTM-CRF模型的中文專業(yè)術(shù)語抽取研究[J]. 情報學(xué)報,2020,39(4):409-418.
作者簡介:
黃"涌(2002-),男,本科生。研究領(lǐng)域:大數(shù)據(jù)與人工智能。
葸娟霞(1992-),女,碩士,助教。研究領(lǐng)域:智能信息處理。
關(guān)成斌(1979-),男,碩士,教授。研究領(lǐng)域:大數(shù)據(jù)技術(shù)。
收稿日期:2023-07-12
基金項目:2021年度廣東省普通高校重點領(lǐng)域?qū)m棧ㄐ乱淮畔⒓夹g(shù))項目“基于大數(shù)據(jù)的公共交通決策支持技術(shù)研究”(2021ZDZX3020)