姜惠杰 查青林



摘? 要:針對中醫醫案匹配中文本語義關系交互性不足,不能充分利用文本間的語義信息來完成匹配任務和文本特征中噪音干擾難以去除使得計算精確度較低的問題,提出一種基于語義特征交互的中醫醫案主訴文本匹配模型,構建基于BERT模型的文本語義特征提取網絡,提取句子中存在的語義特征信息,再利用向量交互的方式進行特征降噪和特征增強,經由分類器得到匹配結果。可以更好地契合中醫醫案實際任務場景,從而使匹配結果更準確有效。實驗結果表明,所提出的方法對比其他對比模型具有更高的匹配準確率,是一種比較可行的解決方案。
關鍵詞:BERT模型;深度學習;文本匹配;自然語言處理
中圖分類號:TP391? 文獻標識碼:A? 文章編號:2096-4706(2023)23-0122-05
Matching Method for Main Complaint in Traditional Chinese Medicine Cases
Based on Siamese Neural Network
JIANG Huijie, ZHA Qinglin
(College of Computer Science, Jiangxi University of Chinese Medicine, Nanchang? 330004, China)
Abstract: Due to the lack of interactivity of Chinese text semantic relations in TCM medical case matching, the semantic information among texts cannot be fully used to complete the matching task, and the noise interference in text features is difficult to remove, which makes the calculation accuracy low, this paper proposes a TCM case main complaint text matching model based on semantic feature interaction. It constructs a text semantic feature extraction network based on the BERT model, extracts semantic feature information existing in sentences, and then uses vector interaction for feature denoising and enhancement. The matching results are obtained through a classifier. It can better fit the actual task scenarios of TCM medical cases, thereby making the matching results more accurate and effective. The experimental results show that the proposed method has higher matching accuracy compared to other comparative models, and is a relatively feasible solution.
Keywords: BERT model; Deep Learning; text matching; natural language processing
0? 引? 言
中醫體系是中華民族歷經數千年時光不斷摸索得到的理論體系[1],時至今日仍是守護人民群眾健康的重要力量,在人類醫學史中發揮了不可磨滅的作用并具有牢不可破的地位。在現如今這個知識爆炸式增長的年代,中醫亟須將計算機相關技術引入中醫研究領域來對中醫學加以深入探索,從而將以往的中醫臨床實踐經驗快速轉化成具有臨床實用價值的知識,這也是中醫現代化進程中不可或缺的組成部分。文本信息是知識記錄的重要載體之一,也是最廣泛保存和最容易獲取的一種數據類型[2]。現存的大量中醫醫案就是其中最具代表性的一種文本,是蘊含著極為豐富知識的寶貴財富,從這些中醫醫案文本中提取到有用的知識并應用于中醫臨床診療中,對中醫臨床數字化具有非常重要的意義。
隨著硬件技術和人工智能算法水平的不斷發展進步,使名老中醫在行醫過程中不斷積累的中醫醫案數據的分析處理與知識挖掘變成可能。名老中醫的醫案數據中包含了許多行醫中的詳細內容,具有極高的專業價值,是中醫領域內的寶貴財富。新一代的中醫醫生可以從案例中了解和學習名老中醫的行醫思路與處理方法,對自身的學習成長有著較高的參考價值。然而,由于現存中醫醫案的存量巨大,結構和內容也不盡相同,人工翻閱學習所花費的時間太長,難以高效利用大量中醫醫案文本的醫學思想價值。
中醫醫案作為記錄中醫醫師臨床診療過程和思想的主要載體,主要包括患者的基本信息、主訴、現病史、望聞問切四診、西醫診斷、治療史等基本內容,蘊含中醫師的診療思想與豐富的臨床診療經驗以及患者的各種病癥信息,難以做到中醫診療思想顯性表達與傳承。面向中醫醫案的主訴相似度計算是中醫臨床輔助診療的一種重要方法,旨在傳承名老中醫的行醫思想,體現名老中醫對醫案中患者疾病的臨床癥狀信息的臨床處理方法與思路,幫助新人醫生有效且高效地進行治療,對深入了解患者疾病當前的狀態和輔助中醫臨床治療有著十分重要的意義。
本文從現有的大量名老中醫醫案數據出發,分析醫案主訴特點,選擇較好的匹配方式。為實現相似醫案匹配,將文本匹配問題轉換為文本中的句對的二分類問題,以雙向編碼器編碼表示模型(Bidirectional Encoder Representation from Transformers, BERT)為基礎,搭建了一種醫案主訴文本匹配模型。模型可充分提取兩段文本的特征并計算出兩段短文本的相似程度,最終給出匹配結論。經過實驗分析,基于改進的BERT的醫案主訴匹配模型所達到的準確率可以滿足需求,是一種具有可行性的解決方案。
1? 綜述
文本匹配[3]一直都是自然語言處理(Natural Language Processing, NLP)領域一個基礎且重要的方向,其主要的研究內容是兩段文本之間的關系。在過去的十幾年間,基于神經網絡模型的處理方法在許多NLP任務中逐漸變得流行。相比于更早期常用的基于統計學的處理方法,深度神經網絡模型在訓練時不再需要人工介入確定特征表示,解放了人力的同時降低了研究門檻;可以端對端訓練得到結果,進一步減少了研究成本便于快速推廣應用,具有非常明顯的優勢。在基于神經網絡的模型研究方面,后續的大量研究的主要方向是在特征向量后面追加更多其他特征信息來提高神經網絡模型的效果。通常情況下,文本匹配任務有兩個主要的解決思路:做分類任務處理、作回歸問題處理。一些我們所熟知的自然語言處理下游任務都可以近似看作文本匹配任務。
文本匹配自從概念被提出以來就注定是一項非常重要且困難的自然語言處理技術,尤其是其與不同的具體應用領域相結合的遷移應用。十幾年來,這一自然語言處理技術已經在人們日常生活中各大常見領域都有了成熟發展和廣泛運用,而其與中醫領域的深度融合與應用仍處于較為初始的發展階段[4]。在國外的應用方面,Google公司將該技術應用到了其旗下的搜索引擎[5]產品服務中,從海量數據中檢索出與用戶的搜索內容相關的內容。在國內的應用方面,許多電商公司將其應用到智能客服[6,7]的服務中,優先對用戶提出的問題做相似問題匹配,并檢索該問題答案同時給用戶做出相應的回答,不但可以大大提升問題解決的效率,也能減少電商公司的人員成本,提升公司的利潤。伴隨著軟硬件條件的不斷完善,深度學習在算法層面也飛速發展,加上GPU算力的飛速提升,文本匹配相關技術也得以隨之迭代升級。根據神經網絡模型處理文本匹配任務的模型整體架構來劃分,可以將深度學習算法模型解決問題的模式歸納為兩個思路:基于表示的模型和基于交互的模型[8,9]。
其中,基于表示的模型處理這一問題的基本思路是:分別用兩個神經網絡學習兩段文本的特征向量表示,然后將兩段文本的特征向量進行拼接,并將拼接后的向量輸入到模型的分類器中進行一次二分類操作,就可以得到最終匹配結果。Huang[10]等人提出了一種類文本語義空間模型,利用兩個前饋神經網絡分別將兩段文本向量投影到潛在語義空間中,并分別計算得到兩段文本在空間中的表示向量,最終將計算結果向量接入到一個多層感知機中來處理并進行預測得到最終結論。范旭民[11]和梁圣[12]兩人分別使用CNN模型和RNN模型來分別學習兩段文本的低維特征表示向量,較之一般的前饋神經網絡模型,這些改進模型可以更好地學習兩段文本中的上下文信息。
此外,基于交互的模型處理這一問題的基本思路是:側重關注兩段文本之間的語義交互特征,生成文本匹配矩陣并提取出兩段文本的語義交互特征向量,再將結果輸入到一個全連接層中來計算得到文本匹配結果。金麗嬌等人[13]將兩段文本的低層文本匹配矩陣看作圖像進行處理,然后再利用CNN模型來進行逐層卷積計算,在此過程中就可以抽取到更多文本特征用以完成文本匹配任務。
近幾年來,在上述第二種處理思路的基礎之上,基于預訓練模型的文本匹配模型得到了更加廣泛的關注和應用。2018年,Devlin等人[14]提出了一種全新的語言模型預訓練方法BERT,在許多經典的自然語言處理下游任務中都得到了十分出色的效果,使神經網絡模型在各種任務中的效果有很大提升,極大地推動了自然語言處理技術的發展。該方法利用大規模的無監督文本語料訓練了一個通用的語義理解模型。這一預訓練模型相較于先前常用的文本表示方法效果更加優越,主要原因是BERT模型是第一個使用無監督、深度雙向編碼方法[15]的預訓練語言模型。不需要使用大量人力去標注訓練文本的同時模型可以從文本中獲取到更加豐富的語義特征和句法特征等文本底層知識。BERT模型中的重要特征獲取方法是一種被稱為Attention機制[16]的網絡模型結構,注意力機制相較于一般的深度學習方法有著更強大的特征提取能力。2019年,Sun等人[17]提出了一種知識增強的語義表示模型ERNIE,通過對句子文本中的語義信息進行遮蓋,使得模型能夠獲取到更加完整的語義特征信息,ERNIE1.0模型在中文語言處理中采用了以詞為基礎的嵌入處理,可以使在中文文本中學習到的語義信息更加完整。此后,ERNIE3.0[18]等更優的模型也爭相問世,預訓練模型領域也逐漸百花齊放。
雖然深度神經網絡模型在中文語言環境下的文本匹配任務上發展已經日漸成熟,但是能夠深度理解并結合中醫醫案文本的語言特點,可以很好地適用于中醫醫案領域的文本匹配研究卻很少。
2? 模型介紹
2.1? 孿生神經網絡模型
孿生神經網絡(Siamese Neural Network),又名雙生神經網絡,是一種基于兩個人工神經網絡建立的耦合構架。孿生神經網絡以兩個樣本為輸入,其兩個子網絡各自接收一個輸入,輸出其嵌入高維度空間的表征,通過計算兩個表征的距離,例如歐式距離,以比較兩個樣本的相似程度。
網絡架構通常由兩個結構相同,且權重共享的神經網絡拼接而成。孿生神經網絡的特征提取部分通常具有深度結構,可由卷積神經網絡、循環神經網絡等組成,其權重可以由能量函數或分類損失優化。
孿生網絡架構的優勢在于處理兩個輸入“比較類似”的情況。比如,兩個句子或者詞匯的語義相似度計算,指紋或人臉的比對識別等使用孿生網絡比較適合。
模型的整體框架如圖1所示。
其中,在表示層中可以根據任務需要選擇適合的特征提取模型進行特征提取進而完成對文本的表示;在特征拼接層進行增強文本間的關系交互,能夠有效降低文本特征中的噪聲,同時有利于提高模型性能。向量拼接的操作過程為:
L = Concat(U, V, | U - V |)
在有監督的情況中,網絡模型會最大化不同標簽的表征,并最小化相同標簽的表征。在自監督或無監督的情況中,網絡模型能最小化原輸入和干擾輸入間的表征。因此,比較適合各領域中的文本匹配任務。
孿生神經網絡架構可以用于小樣本學習(One-shot Learning)任務。同時模型架構具有較強的穩定性和魯棒性,可用于解決對結果精度要求極高的匹配問題,例如人臉識別、指紋識別、目標追蹤等任務。
此外,孿生網絡架構的應用不局限于二分類問題,還能夠用于完成類別數目固定,且每類下的樣本數也較多的分類任務。
2.2? BERT-we模型
BERT模型是2018年提出的一種經典預訓練模型,該模型一經誕生就表現出十分驚人的成績,成為NLP發展史上的一座里程碑。
BERT模型的網絡架構使用的是多層Transformer結構,有效地解決了NLP中棘手的長期依賴問題。Transformer的結構在NLP領域中已經得到了廣泛應用。
架構中的特征表示部分利用改進的BERT預訓練模型作為表示層的結構主體,BERT-we模型簡易結構如圖2所示。相較于基礎的BERT模型,增加了動態全局掩碼和整詞遮蓋,使模型可以更加契合中醫醫案文本場景。
根據BERT預訓練模型在不同的訓練任務中的模式在本章模型的框架中,架構需要分別將文本T和文本Q的序列{[CLS],t1,t2,…,tm,[SEP]}和{[CLS],q1,q2,…,qn,[SEP]}其中[CLS]和[SEP]表示在訓練過程中具有特殊意義的符號,分別標記訓練文本的開始和兩段文本之間的分割。序列經過處理后,輸入兩個相同的改進的BERT模型中。然后經過改進的BERT模型得到各token的embedding向量[r1,r2,…,rh]。
[o1,o2,…,on] = BERT-we ([h1,h2,…,hn])
式中,[o1,o2,…,on]表示各token最終的embedding向量,BERT-we(·)表示12層Transformer結構組成特征表示函數。
所有token的embedding向量組合得到最終的BERT詞向量VT和VQ,具體表示為:
VT = [o1,o2,…,om]
VQ = [o1,o2,…,on]
式中,L表示BERT模型中token的embedding向量o的維度大小為隱藏層的大小,m表示第一段文本T的長度,n表示第二段文本Q的長度。
2.3? 模型建立流程
S-BERT模型的整體結構如圖3所示。
圖3? 模型整體結構圖
模型的處理過程如下:
1)數據預處理。對自建的名老中醫醫案數據集主訴數據進行數據清洗等預處理。
2)輸入層。將句對拆分并分別將句子中的字或詞處理成編碼序列,再經過輸入層的映射得到輸入向量分別輸入到表示層。
3)表示層。將前一部分所得到的詞嵌入向量分別輸入到改進的BERT模型中,融合淺層或深層知識,得到文本的特征表示向量。
4)特征選擇與池化層。將經過改進的BERT模型得到的特征表示輸入到池化結構中,通過一個卷積層對特征來進行選擇,有助于去除冗余特征,提升預測效果。
5)拼接層。將上一部分經過全連接層得到的句向量輸入到拼接層得到交互向量,可以去除噪音,增加交互信息。
6)匹配和輸出層。將上一層得到的拼接向量輸入到匹配層Softmax分類器中,經過模型計算完成匹配,并經過輸出層輸出最終的預測結果。
3? 實驗結果及分析
3.1? 實驗數據
為了評估模型性能,本文將提出的基于孿生網絡和深度學習的中醫醫案主訴文本匹配模型在自建的名老中醫醫案主訴數據集上進行相應的實驗與評估。該數據集是由名老中醫醫案數據集是根據全國名老中醫真實臨床診斷的醫案,包括2萬余個病例的中醫醫案文本共計6萬余診次,均為UTF-8編碼格式的純文本。
為貼合實際應用場景,從初診的醫案主訴中共選擇7 698條人工標注的ICPC-3標簽達到兩個及以上的醫案,按標簽取出20%的醫案用作推薦測試。為了模擬推薦情景,訓練集和驗證集采用數據集中剩下的80%醫案主訴數據生成,而測試集由作推薦測試的部分與參與訓練和驗證的部分按標簽組合生成,適當調整以保證各數據集標簽分布均勻。共生成了69 181對文本的相似性標簽作為基礎實驗數據,其中49 180條作為訓練集,14 001條作為驗證集,6 000條作為測試集,文本長度在7到128之間。
名老中醫醫案數據集的統計信息如表1所示。
3.2? 實驗環境
所有實驗均使用同一云計算環境。實驗環境如表2所示,實驗文本編碼格式為UTF-8。
模型的部分超參數如表3所示。
3.3? 評價指標
實驗用了文本分類中常用的評價指標:精確率(Precision)、召回率(Recall)、F1值,計算式如下:
上述計算式中,TP表示實際值和預測值均為1時數據的數量,FP表示實際值為0、預測值為1時的數據數量,FN表示實際值為1、預測值為0時數據的數量,P表示精確率,R表示召回率。
3.4? 實驗結果及分析
將數據集分別輸入模型中進行訓練,統一設置訓練輪次為5。訓練結束后使用測試集進行測試并輸出實驗結果。模型迭代過程中的準確率如圖4所示。
S-BERT模型、BERT模型、S-LSTM模型、S-CNN模型、S-GRU模型在名老中醫醫案數據集上的文本匹配評測結果如表4所示,使用的主要指標是精確率和F1值。
從最終實驗結果中可以看出,S-BERT模型的結果相較于BERT模型、S-LSTM模型、S-CNN模型、S-GRU模型更優。S-BERT模型的性能優于BERT模型,主要原因是S-BERT模型使用了孿生架構的同時增加了特征向量的交互,可以極大地增強模型在匹配任務上的性能。表示模型本身就是在BERT模型的基礎上進行改進的結果,擁有許多BERT-base所沒有的優勢。而S-BERT模型的性能優于S-LSTM模型、S-CNN模型、S-GRU模型,則是因為表示模型的優勢,BERT的注意力機制對全局信息的提取和記憶能力要優于LSTM等傳統深度學習算法。
4? 結? 論
在解決中文醫案主訴短文本匹配存在的難點時,提出一種基于孿生網絡的中文短文本匹配方法,利用孿生架構處理輸入進模型的數據,將文本分別作為BERT模型的輸入進行訓練來提取文本特征信息,輸出詞向量,并最終依據模型結果給出匹配的結論。
從實驗結果可以看出,S-BERT模型在測試集上具更高的準確率,穩定性和匹配性能也更強,同時具備更好的可解釋性。
參考文獻:
[1] 曹軍.面向中醫藥文本的實體識別與關系抽取方法研究 [D].南昌:江西中醫藥大學,2022.
[2] 杜小勇. 數據科學與大數據技術導論 [M].北京:人民郵電出版社,2021.
[3] 龐亮,蘭艷艷,徐君,等.深度文本匹配綜述 [J].計算機學報,2017,40(4):985-1003.
[4] 徐傳杰.基于BERT模型的中醫疾病輔助診斷和處方推薦方法研究 [D].濟南:山東師范大學,2022.
[5] 趙一鳴,劉炫彤.中外文搜索引擎自然語言問答能力的比較與評價研究 [J].情報科學,2020,38(1):67-74.
[6] 鄭實福,劉挺,秦兵,等.自動問答綜述 [J].中文信息學報,2002(6):46-52.
[7] 劉明博.基于分布式的智能問答系統的設計與實現 [D].北京:北京郵電大學,2018.
[8] SHA L,CHANG B B,SUI Z F,et al. Reading and Thinking:Re-read LSTM Unit for Textual Entailment Recognition [C]//Proceedings of the 26th International Conference on Computational Linguistics.Osaka:ICCL,2016:2870-2879.
[9] PAUL R,ARKIN J,Aksaray D,et al. Efficient Grounding of Abstract Spatial Concepts for Natural Language Interaction with Robot Platforms [J].International Journal of Robotics Research,2018,37(10):1269-1299.
[10] HUANG P-S,HE X D,GAO J F,et al. Learning Deep Structured Semantic Models for Web Search Using Clickthrough Data [C]//Proceedings of the 22nd ACM International Conference on Information & Knowledge Management.San Francisco:ACM,2013:2333-2338.
[11] 范旭民.基于卷積神經網絡和注意力機制的文檔自動問答模型 [D].杭州:浙江大學,2018.
[12] 梁圣.基于RNN的試題相似性檢測與分類研究 [D].株洲:湖南工業大學,2018.
[13] 金麗嬌,傅云斌,董啟文.基于卷積神經網絡的自動問答 [J].華東師范大學學報:自然科學版,2017(5):66-79.
[14] DEVLIN J,CHANG M-W,LEE K,et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [J/OL].arXiv:1810.04805 [cs.CL].(2018-10-11).https://arxiv.org/abs/1810.04805.
[15] RADFORD A,NARASIMHAN K,SALIMANS T,et al. Improving Language Understanding with Unsupervised Learning [J/OL].(2018-06-11).https://openai.com/research/language-unsupervised.
[16] VASWANI A,SHAZEER N,PARMAR N,et al. Attention is All You Need [J/OL].arXiv:1706.03762 [cs.CL].(2017-06-12).https://arxiv.org/abs/1706.03762v3.
[17] SUN Y,WANG S H,LI Y K,et al. ERNIE:Enhanced Representation through Knowledge Integration [J/OL].arXiv:1904.09223 [cs.CL].(2019-04-19).https://arxiv.org/abs/1904.09223.
[18] SUN Y,WANG S H,FENG S K,et al. ERNIE 3.0:Large-scale Knowledge Enhanced Pre-Training for Language Understanding and Generation [J/OL].arXiv:2107.02137 [cs.CL].(2021-07-05).https://arxiv.org/abs/2107.02137.
作者簡介:姜惠杰(1996—),男,漢族,山東煙臺人,碩士研究生在讀,研究方向:自然語言處理;通訊作者:查青林(1973—),男,漢族,江西上饒人,教授,碩士生導師,碩士研究生,研究方向:中醫信息學。
收稿日期:2023-05-01
基金項目:江西省科技廳重點研發計劃項目(20171ACG70011)