??『?武鈺智
摘要:【目的】探究ERNIE模型 (Enhanced Language Representation with Informative Entities)和雙向門限循環(huán)單元(BiGRU)在醫(yī)療疾病名稱科室分類中的效果及差異。【方法】以醫(yī)療疾病名稱為訓練樣本,以BERT(Bidirectional Encoder Representation from Transformers)為對比模型并在模型之后加入不同網(wǎng)絡層進行訓練探究?!窘Y(jié)果】ERNIE模型在分類效果上優(yōu)于BERT模型,精度約高4%,其中精確度可達79.48%,召回率可達79.73%,F(xiàn)1分數(shù)可達79.50%?!揪窒蕖績H對其中的八個科室進行分類研究,其他類別由于數(shù)據(jù)量過少而未納入分類體系中。【結(jié)論】ERNIE-BiGRU分類效果較好,可應用于醫(yī)療導診系統(tǒng)或者衛(wèi)生統(tǒng)計學中。
關(guān)鍵詞:文本分類;醫(yī)療導診系統(tǒng);利用知識增強語義表示模型;雙向門限循環(huán)單元;人工神經(jīng)網(wǎng)絡與計算
中圖分類號:TP183? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)01-0101-04
1引言
Hinton在1986年提出了分布式表示(Distributed Representation)的思想,分布式表示以其擁有非常強大的特征表達能力而受到學術(shù)界的廣泛關(guān)注。Bengio在2003年提出了神經(jīng)網(wǎng)絡語言模型(NNLM)[1],之后在google Mikolov 2013年發(fā)表的兩篇有關(guān)詞向量的文章[2]大放異彩,在語義維度上得到了充分驗證,使文本分析的進程有了極大的提高;Mikolov在2016年7月提出了fastText[3] 的思想,把句子中所有的詞向量進行平均化處理然后直接向 softmax 層進行輸出,fastText 中的網(wǎng)絡模型完全沒有考慮詞的順序信息對結(jié)果所帶來的影響,而它使用的語言模型(N-Gram)卻充分說明了局部序列信息對實驗結(jié)果所產(chǎn)生的重要意義。卷積神經(jīng)網(wǎng)絡CNN[4](Convolutional Neural Network)不僅在圖像處理領(lǐng)域取得了巨大成功,在語音識別、文本分類等多個領(lǐng)域也發(fā)揮著重要的作用,但CNN存在一個問題是特征尺寸的視野為固定的,一方面較長的序列信息無法建模,另一方面特征尺寸的超參調(diào)節(jié)也很煩瑣。近年來在自然語言處理領(lǐng)域中,比較常用的網(wǎng)絡模型是遞歸神經(jīng)網(wǎng)絡RNN[5](Recurrent Neural Network),它的獨特性是能夠更加充分地表達上下文信息。CNN和RNN用在文本分類任務中雖然都發(fā)揮著巨大的功效,但其模型理解不夠直觀,可解釋性不好的缺點也成為學者們研究的熱點。近幾年將注意力機制[6-7](Attention)應用在自然語言處理領(lǐng)域能夠把每個詞對結(jié)果的貢獻很直觀地表達出來,其強大的功能在自然語言處理領(lǐng)域也引發(fā)了對注意力機制的各種加工和改進。BERT[8-10](Bidirectional Encoder Representation from Transformers)模型是谷歌公司AI團隊在2018年 10 月發(fā)布的一種基于深度學習的新的語言表示模型,即基于轉(zhuǎn)換器的雙向編碼表征模型,在當時基本刷新了很多NLP任務的最好性能,其具備廣泛的通用性也受到廣泛好評,在當時自然語言處理領(lǐng)域引起了極大的轟動,是NLP領(lǐng)域極為重要的一次突破。ERNIE[11-12]模型是繼BERT模型提出后做出的進一步提升,預訓練過程以大量的中文數(shù)據(jù)集為樣本,同時對BERT預訓練模型的邏輯過程進行了改進,ERNIE模型與BERT模型相比,其優(yōu)勢顯而易見,通過對訓練語料的擴展和對論壇語料的引入來增強模型對語義表示的能力,通過對實體概念知識的學習來進行真實世界完整概念的語義表示,在中文文本任務的使用中最具有廣泛性。
當今社會,物質(zhì)需求已經(jīng)基本被滿足,身心健康的精神需求也在融入生活中,巨大的生活壓力使很多人的身體狀況處于亞健康甚至不健康狀態(tài),當人們感覺到身體不適需要采用醫(yī)療手段來進行干預的時候,便是其就醫(yī)活動的開始,但在就醫(yī)流程中,存在著諸多影響就醫(yī)效率的問題:1)在醫(yī)院專家診治之前,需要先向相關(guān)的導診醫(yī)師咨詢,這樣無形間增加了就診時間;除此之外,絕大多數(shù)人診斷前在互聯(lián)網(wǎng)上的“自診”,從浩瀚如煙的互聯(lián)網(wǎng)數(shù)據(jù)中尋找導致自己不適的病因如同大海撈針一般,一方面檢索的效率較低,另一方面檢索結(jié)果的準確率也被人們所擔憂,容易出現(xiàn)選錯科室等一系列問題,導致不必要的花費等;2)掛號資源緊缺。在大中型城市中,“無論大病小病都要排隊掛號”的問題使本身掛號資源緊缺的情況雪上加霜,同時還浪費了患者寶貴的就診時間;3)對于現(xiàn)在網(wǎng)上許多在線問診的情況,不僅非常耗時耗力,還需要投入一小批專業(yè)性醫(yī)師來回答來自患者各種各樣的問題,比較占用醫(yī)生資源。
具體而言,本文通過醫(yī)療疾病名稱數(shù)據(jù)集,采用ERNIE_BiGRU模型與其他對比模型設(shè)計相應的分類實驗,探究各種模型的分類效果,并分析分類效果的影響因素。
2數(shù)據(jù)及模型介紹
2.1數(shù)據(jù)集介紹
本文的數(shù)據(jù)主要來源于中國科學院軟件研究所劉煥勇老師在2018年搭建的有關(guān)醫(yī)藥領(lǐng)域的知識圖譜[13],該項目以疾病為中心,立足于醫(yī)藥領(lǐng)域,以垂直型醫(yī)藥網(wǎng)站為數(shù)據(jù)來源,包含7類規(guī)模為4.4萬的知識實體,11類規(guī)模約30萬實體關(guān)系的知識圖譜,該項目的數(shù)據(jù)來自垂直類醫(yī)療網(wǎng)站,主要包括診斷項目檢查、醫(yī)療科目、疾病、藥品、食物、癥狀等多個部分,除此之外,本文還選取了有關(guān)醫(yī)療疾病及健康知識相關(guān)的專業(yè)互聯(lián)網(wǎng)網(wǎng)站獲取相關(guān)的醫(yī)療知識信息,如尋醫(yī)問藥網(wǎng)( http://jib.xywy.com/)以及39健康網(wǎng)(http://www.39.net/),從中獲取如疾病名稱、所屬科室、常用藥品、推薦食物等相關(guān)信息,將兩部分數(shù)據(jù)經(jīng)過數(shù)據(jù)清洗、數(shù)據(jù)去重、數(shù)據(jù)打散打亂[14]等一系列處理從中抽取需要的數(shù)據(jù),數(shù)據(jù)的部分結(jié)構(gòu)如圖1所示。
其中,0~7分別代表腫瘤科、皮膚病科、婦產(chǎn)科、五官科、兒科、內(nèi)科、外科和其他科室,每類數(shù)據(jù)的樣本在1000條左右,總共包含了一萬余種常見疾病名稱和疑難雜癥名稱;除以上科室外,還有急診科、中醫(yī)科、精神科、男科、傳染科、肝病等科室,由于其數(shù)據(jù)量較少,容易造成樣本間數(shù)據(jù)不平衡從而影響實驗結(jié)果,故將其放入其他科室中。本文采用隨機抽取的形式,從該醫(yī)療疾病名稱數(shù)據(jù)集中按2:2:6的比例劃分為訓練集train_data、開發(fā)集dev_data和測試集test_data。
2.2模型介紹
ERNIE模型基于字特征輸入建模,不需要依賴其他信息,具備較強的通用性和可擴展性,此外,ERNIE的訓練語料引入了多源數(shù)據(jù)知識,除了對百科類文章進行建模,還對新聞資訊類、論壇對話類等數(shù)據(jù)進行學習,通過對實體概念知識的學習以及訓練語料的擴展,增強了模型的語義表示的能力,ERNIE的模型結(jié)構(gòu)圖如圖2所示。為了能夠更加充分地提取上下文信息的特征,在ERNIE模型的基礎(chǔ)之上加入BiGRU[15](雙向門限循環(huán)單元),ERNIE模型將醫(yī)療疾病名稱數(shù)據(jù)訓練為詞向量的形式輸入到BiGRU中來進行更深層次的特征提取。
ERNIE模型的結(jié)構(gòu)主要由抽取知識信息和訓練語言模型兩個部分構(gòu)成,在抽取知識信息中,為了得到結(jié)構(gòu)化的知識編碼使用Transformer[16]作為模型的基本編碼器,保留了詞在文本中的上下文信息,生成對應的詞向量表示,transformer編碼器使用的是全attention機制,注意力機制可以提高訓練模型的速度,通過對句子中關(guān)鍵節(jié)點來把控句子的整體意思,其原理為:
[attention(Q,K,V)=softmaxQKTdkV]? ? ? ? ? ? ? ? ? ? (1)
式中:[Q,K,V]代表輸入字向量矩陣;[dk]代表輸入向量維度。
在常見的神經(jīng)網(wǎng)絡結(jié)構(gòu)中,按傳播方向可以分為單向傳播和雙向傳播,在單向的神經(jīng)網(wǎng)絡結(jié)構(gòu)中,狀態(tài)一般是從前往后輸出的,雖然可以得到前向的上下文信息,但是忽略了后文的上下文信息所產(chǎn)生的影響。在自然語言處理任務中,如果當前時刻的輸出不僅能夠與后一時刻的狀態(tài)產(chǎn)生聯(lián)系,還能與前一時刻的狀態(tài)建立聯(lián)系,即從兩個方向同時獲取上下文信息對文本分析的特征提取將會帶來很有力的影響。雙向門限循環(huán)單元就可以建立這種聯(lián)系,且具有對詞向量的依賴性小、復雜系數(shù)低、響應時間快的優(yōu)點。BiGRU模型的輸入是由兩個單向的、方向相反的GRU組成,輸出由這兩個GRU[17]的狀態(tài)共同決定,BiGRU的模型結(jié)構(gòu)如圖3所示。
由圖3可以看出,BiGRU當前的隱藏層狀態(tài)由當前的輸入[xt]、[t-1]時刻前向的隱藏層狀態(tài)的輸出[ht-1]和反向的隱藏層狀態(tài)的輸出[ht-1]三個部分共同決定。BiGRU由兩個單向的、方向相反的GRU組成,輸出由這兩個GRU的狀態(tài)共同決定,所以BiGRU在t時刻的隱藏層狀態(tài)通過前向隱藏層狀態(tài)[ht-1]和反向隱藏層狀態(tài)[ht-1]加權(quán)求和得到:
[ht=GRUxt,ht-1]? ? ? ? ? ? ? ? ? ?(2)
[ht=GRUxt,ht-1]? ? ? ? ? ? ? ? ? ? (3)
[ht=wtht+vtht+bt]? ? ? ? ? ? ? (4)
其中,[GRU()]函數(shù)表示對輸入的詞向量的非線性變換,把詞向量編碼成對應的GRU隱藏層狀態(tài)。[wt]、[vt]分別表示t時刻雙向GRU所對應的前向隱藏層狀態(tài)[ht]和反向隱藏層狀態(tài)[ht]所對應的權(quán)重,[bt]表示t時刻隱藏層狀態(tài)所對應的偏置。
模型通過對數(shù)據(jù)的處理最終將會以詞向量表示進行輸出,此時的每個詞向量表示[T1,T2,T3,…,Tn]都包含了文本的上下文信息。在進行多層雙向訓練的同時,它既與后一時刻的狀態(tài)產(chǎn)生聯(lián)系又與前一時刻的狀態(tài)產(chǎn)生聯(lián)系,就會使得需要預測的詞在上下文之間被“提前觀測”,造成信息的泄露,BERT模型為了解決這一問題將模型輸入序列進行隨機遮掩,將對應位置的輸入變成[mask]標記,通過序列中其他未被標記的詞來預測這些被屏蔽的詞,ERNIE模型在此基礎(chǔ)上進行了進一步的優(yōu)化,將字的遮蔽上升為短語和實體層面的遮蔽,對海量數(shù)據(jù)中的實體概念等先驗語義知識進行建模,使得模型學習完整概念的語義表示。模型的整體結(jié)構(gòu)圖如圖4所示。
3實驗及結(jié)果分析
3.1實驗環(huán)境
為了驗證該醫(yī)療疾病名稱在BERT模型和ERNIE模型中的普適性和可行性及分析各模型的效果,本實驗在運行速度較快的v100上進行訓練,具體的實驗環(huán)境及配置如表1所示。
3.2實驗過程
該分類任務主要分為兩種訓練模式:一種是通過調(diào)整數(shù)據(jù)集構(gòu)成,分別是從八種分類中按比例隨機抽取和從總樣本中按比例抽取,然后再將打散后的數(shù)據(jù)放入模型中進行試驗;另一種是不斷調(diào)整模型的參數(shù)來獲得模型的最佳效果參數(shù)值。為了驗證模型的可靠性,本文在以下模型上進行對比實驗探究。
1)BERT;2)BERT_CNN;3)BERT_RCNN;4)ERNIE;5)ERNIE_BiGRU。
3.3評價指標
在文本分類任務中,最普遍最常見的評估指標[18]是包括精準率P(Precision)、召回率R(Recall)以及F1值(F1-Score)。精準率又稱查準率,是針對預測結(jié)果而言的一個評價指標,在模型判定為正樣本的結(jié)果中,真正是正樣本所占的百分比。召回率又稱為查全率,是針對原始樣本而言的一個評價指標,在實際為正樣本中,被預測為正樣本所占的百分比,具體計算公式如下:
[P=TPTP+FP]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
[R=TPTP+FN]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(6)
[F1=2PRP+R]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7)
式中 TP:預測為正,實際為正;
FP:預測為正,實際為負;
TN :預測為負,實際為負;
FN :預測為負,實際為正。
3.4實驗參數(shù)
在網(wǎng)絡模型改進的基礎(chǔ)上,還需要對參數(shù)進行調(diào)整來提升模型的效果,在本實驗中使用的主要模型參數(shù)如表2所示。
3.5實驗結(jié)果
為了能夠更加直觀地反映數(shù)據(jù)集在每個模型的好壞程度,每5個epoch后使用驗證集進行一次測試來得到訓練的效果,通過驗證集的準確率[vacc]和損失值[vlocc]的變化來分析每個模型經(jīng)過一次訓練后性能的變化,其中,準確率[vacc]變化曲線如圖5所示,損失值[vlocc]變化曲線如圖6所示。
由圖5可以發(fā)現(xiàn),這五個模型的準確率從第一次訓練后,整體呈上升然后趨于平緩。其中ERNIE_BiGRU模型的準確率從第一次開始訓練就明顯高于其他四個模型且呈繼續(xù)上升的趨勢,說明ERNIE_BiGRU模型在特征提取方面效果較好,可以充分提取一個詞前后文的信息,提高分類的準確率。繼續(xù)提高epoch,ERNIE模型的準確率還會繼續(xù)上漲,還有繼續(xù)學習的空間,但是繼續(xù)調(diào)大epoch,最終的分類準確率仍然沒有ERNIE_BiGRU的高。模型的收斂情況具體可以通過損失值的大小來加以說明。當損失值比較大時,模型出現(xiàn)過擬合的可能性比較高,當損失值比較小時,模型出現(xiàn)欠擬合的可能性比較高,在圖6中,五個模型的損失值呈下降的趨勢然后趨于平緩,ERNIE_BiGRU在10個epoch之后的損失值一直處于較低的平穩(wěn)狀態(tài),說明該模型具有良好的收斂效果。如果繼續(xù)將epoch調(diào)大,訓練集的損失值還會繼續(xù)減小,但是驗證集的損失幾乎不變,說明數(shù)據(jù)的特征不是特別明顯,模型無法充分提取到它的特征。上述結(jié)果表明,在該醫(yī)療數(shù)據(jù)集中,ERNIE_BiGRU模型的分類效果最好。
使用測試集對經(jīng)過25個epoch后的訓練模型進行測試,得到8個類別的精確率、召回率和[F1]分數(shù)如表3所示。其中兒科、婦產(chǎn)科、五官科的評估指標略高于其他科室,原因是兒科中“小兒”“嬰兒”、婦產(chǎn)科中“子宮”“卵巢”、五官科中“眼”“鼻”等特征比較明顯,所以模型可以更加充分地提取到它的特征,提高該類別的分類效果。
4結(jié)束語
本文通過對比分析了ERNIE_BiGRU和BERT的幾種分類模型對醫(yī)療科室分類效果的影響及產(chǎn)生效果差異的原因,根據(jù)以上的實驗結(jié)果可以得到以下結(jié)論,并分析可以進一步提升分類效果的方法。
1)本文的數(shù)據(jù)為醫(yī)療疾病名稱,字符量偏短,樣本量較少,導致特征提取不夠明顯??蛇x用長文本模型對其特征描述進行特征提取可能會有更好的分類效果。
2)有些科室的樣本數(shù)量較少,可采用過采樣欠采樣(Undersampling)、對原數(shù)據(jù)的權(quán)值進行改變、組合集或者特征選擇的方式解決。
3)有些科室由于樣本量過少未納入分類體系中,可以以本文分類模型為例重新構(gòu)建一個分類器對其進行分類。
在后續(xù)的研究工作中,將進一步完成更大樣本量的分類模型實驗,考慮在句子級、段落級、文檔級等不同粒度[19-20]中使用不同的分類模型所產(chǎn)生的效果和差異,來解決實際問題,促進模型的應用。
參考文獻:
[1] Bengio Y,Schwenk H,Senécal J S,et al.Neural probabilistic language models[M]//Innovations in Machine Learning.Berlin/Heidelberg:Springer-Verlag,2006:137-186.
[2] Mikolov T, Chen K, Corrado G, et al. Efficient Estimation of Word Representations in Vector Space[C]//Proceedings of the International Conference on Learning Representations (ICLR 2013), Scottsdale, 2013: 1-12.
[3] Joulin A, Grave E, Bojanowski P, et al. Bag of tricks for efficient text classification[C]//Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics,,2017:427-431.
[4] Kalchbrenner N,Grefenstette E,Blunsom P.A convolutional neural network for modelling sentences[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 1:Long Papers).Baltimore,Maryland.Stroudsburg,PA,USA:Association for Computational Linguistics,2014.
[5] Liu P F, Qiu X P, Huang X J. Recurrent Neural Network for Text Classification with Multi-Task Learning [C]//International Joint Conference on Artificial Intelligence.AAAI Press,2016:2873-2879.
[6] Du J C,Gui L,Xu R F,et al.A convolutional attention model for text classification[M]//Natural Language Processing and Chinese Computing.Cham:Springer International Publishing,2018:183-195.
[7] Pappas N, Popescu-Belis A. Multilingual Hierarchical Attention Networks for Document Classification[C]//Proceedings of the The 8th International Joint Conference on Natural Language Processing, 2017:1015-1025.
[8] Devlin J, Chang M W, Lee K, et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding[C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies,2019:4171-4186.
[9] Sun C,Qiu X P,Xu Y G,et al.How to fine-tune BERT for text classification?[M]//Lecture Notes in Computer Science.Cham:Springer International Publishing,2019:194-206.
[10] Wang Z N,Huang Z L,Gao J L.Chinese text classification method based on BERT word embedding[C]//Proceedings of the 2020 5th International Conference on Mathematics and Artificial Intelligence.Chengdu China.New York,NY,USA:ACM,2020.
[11] Sun Y,Wang S H,Li Y K,et al.ERNIE 2.0:acontinual pre-training framework for language understanding[J].Proceedings of the AAAI Conference on Artificial Intelligence,2020,34(5):8968-8975.
[12] Wang Y S,Zhang H H,Shi G,et al.A model of text-enhanced knowledge graph representation learning with mutual attention[J].IEEE Access,2020,8:52895-52905.
[13] Farrugia D.Exploring stigma:medical knowledge and the stigmatisation of parents of children diagnosed with autism spectrum disorder[J].Sociology of Health & Illness,2009,31(7):1011-1027.
[14] Erhan D, Bengio Y, Courville A, et al. Why Does Unsupervised Pre-training Help Deep Learning[J]. Journal of Machine Learning Research, 2010, 11(3):625-660.
[15] Ning W, Shi-Lin L I, Tang-Liang L, et al. Attention-Based BiGRU on Tendency Analysis of Judgment Results[J]. Computer Systems & Applications, 2019.
[16] Zhang Y,Ding X,Liu Y,et al.An artificial neural network approach to transformer fault diagnosis[J].IEEE Transactions on Power Delivery,1996,11(4):1836-1841.
[17] Dey R,Salem F M.Gate-variants of Gated Recurrent Unit (GRU) neural networks[C]//2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS).August 6-9,2017,Boston,MA,USA.IEEE,2017:1597-1600.
[18] Aggarwal C C,Zhai C X.A Survey of Text Classification AlgorithmsMining Text Data,2012.
[19] Nigam K,McCallum A K,Thrun S,et al.Text classification from labeled and unlabeled documents using EM[J].Machine Learning,2000,39(2/3):103-134.
[20] Qian C, Wen L, Long M S, et al. Extracting Process Graphs from Texts via Multi-Granularity Text Classification[EB/OL].[2020-12-20].https://arxiv.org/abs/1906.02127v2.
【通聯(lián)編輯:唐一東】
收稿日期:2021-10-15
作者簡介:??『溃?997—),男,山西臨汾人,碩士,研究方向為自然語言處理;武鈺智(1997—),男,山西臨汾人,碩士,研究方向為自然語言處理。
3806500338212