姜惠杰 查青林



摘? 要:針對中醫醫案中編碼實體深層語義關系錯綜復雜,因不能充分發掘文本間的語義信息而無法完成匹配任務以及文本特征稀疏使得計算精確度較低的問題,提出一種基于語義增強的中醫醫案主訴文本匹配推薦模型,構建基于注意力機制的文本深層語義信息學習網絡,充分吸收可能存在于句子中各實體之間的深層語義關系信息,再通過向量重構的方式進行語義選擇與增強,得到匹配推薦結果。將ERNIE模型和深度網絡模型相結合,用自編碼器實現對句向量的特征選擇和降維,更好地匹配中醫醫案領域實際任務場景,從而使匹配推薦結果更準確有效。實驗表明,相比其他模型,所提出的方法具有更高的匹配準確率。
關鍵詞:ERNIE模型;深度學習;文本匹配;自然語言處理;預訓練模型
中圖分類號:TP391? 文獻標識碼:A? 文章編號:2096-4706(2023)24-0142-05
A Semantic Enhancement-Based Matching Method for Main Complaints in Traditional Chinese Medicine Cases
JIANG Huijie, ZHA Qinglin
(College of Computer Science, Jiangxi University of Chinese Medicine, Nanchang? 330004, China)
Abstract: In response to the complex deep semantic relationships of coding entities in traditional Chinese medicine cases, the inability to complete matching tasks due to insufficient exploration of semantic information between texts, and the low computational accuracy caused by sparse text features, a semantic enhancement-based recommendation model for main complaint text matching in traditional Chinese medicine cases is proposed, and an attention mechanism-based deep semantic information learning network for texts is constructed, fully absorb the deep semantic relationship information that may exist among entities in the sentence, and then perform semantic selection and enhancement through vector reconstruction to obtain matching recommendation results. Combining the ERNIE model with the deep network model, an auto-encoder is used to achieve feature selection and dimensionality reduction of sentence vectors, better matching the actual task scenarios in the field of traditional Chinese medicine cases, and thus making the matching recommendation results more accurate and effective. Experiments have shown that the proposed method has higher matching accuracy compared to other models.
Keywords: ERNIE model; Deep Learning; text matching; natural language processing; pre-training model
0? 引? 言
中醫體系是中華民族歷經數千年時光不斷摸索得到的理論體系[1],時至今日仍是守護人民群眾健康的重要力量,在人類醫學史中發揮了不可磨滅的作用并具有牢不可破的地位。在現如今這個知識爆炸式增長的年代,中醫亟須將計算機相關技術引入中醫研究領域來對中醫學加以深入探索,從而將以往的中醫臨床實踐經驗快速轉化成具有臨床實用價值的知識,這也是中醫現代化進程中不可或缺的組成部分。文本信息是知識記錄的重要載體之一,也是最廣泛保存和最容易獲取的一種數據類型[2]。現存的大量中醫醫案就是其中最具代表性的一種文本,是蘊含著極為豐富知識的寶貴財富,從這些中醫醫案文本中提取到有用的知識并應用于中醫臨床診療中,對中醫臨床數字化具有非常重要的意義。
隨著硬件技術和人工智能算法水平的不斷發展進步,使對名老中醫在行醫過程中不斷積累的中醫醫案數據的分析處理與知識挖掘變成可能。名老中醫的醫案數據中包含了許多行醫中的詳細內容,具有極高的專業價值,是中醫領域內的寶貴財富。新一代的中醫醫生可以從相識的案例中了解和學習名老中醫的行醫思路與處理方法,對自身的學習成長有著較高的參考價值。然而,由于現存中醫醫案的存量巨大,結構和內容也不盡相同,人工翻閱學習所花費的時間太長,難以高效利用大量中醫醫案文本的醫學思想價值。
本文從現有的大量名老中醫醫案數據出發,分析醫案主訴特點,選擇較好的匹配方法。為實現相似醫案匹配這一重要任務,將文本匹配問題轉換為二分類問題來處理,將ERNIE和經典深度學習模型相結合,來充分提取并學習兩段醫案文本的特征并計算出兩段短文本的相似程度,最終給出匹配結論。經過實驗分析,多模型結果融合的中醫醫案主訴文本匹配方法所達到的精確率可以滿足中醫臨床診療需求,是一種具有充分可行性的解決方案。
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,通過對句子文本中的語義信息進行遮蓋,使得模型能夠獲取到更加完整的語義特征信息,ERNIE 1.0模型在中文語言處理中采用了以詞為基礎的嵌入處理,可以使在中文文本中學習到的語義信息更加完整。此后,ERNIE 3.0[18]等更優的模型也爭相問世。預訓練模型領域也逐漸百花齊放。
雖然深度神經網絡模型在中文語言環境下的文本匹配任務上發展已經日漸成熟,但是能夠深度理解并結合中醫醫案文本的語言特點,可以很好地適用于中醫醫案領域的文本匹配研究卻很少。
2? 模型介紹
2.1? ERNIE模型
2019年誕生的ERNIE(enhanced representation through knowledge integration)模型。這一模型在很多方面有了改進和提升,模型的主要特點是語義增強策略和多階段持續學習,可以分階段多次訓練來適配不同的訓練數據和預訓練任務。能夠通過海量通用文本的預訓練來獲得提取文本中語義關系的能力,并能夠簡單作為一個編碼器來使用,將初始輸入文本處理成可以進入模型計算的語義嵌入向量。它通過引入三種級別的Knowledge Masking來幫助模型學習語言知識,在多項下游任務的效果上超越了BERT。在模型結構方面,它依舊采用了Transformer的Encoder部分作為模型主干進行訓練。
延續了ERNIE 2.0的部分語言學習思路,ERNIE 3.0同樣期望通過設置多種預任務的方式輔助模型全面學習語言的各方面知識,比如詞法知識、句法知識和語義信息。ERNIE 3.0期望能夠在這三種任務模式(task paradigm)中均能獲得比較好的效果,因此提出了一個通用的多模式預訓練框架,這就是ERNIE 3.0,如圖1所示。
圖1? ERNIE框架圖
ERNIE 3.0的框架依舊沿用了12層Transformer編碼層作為基本模型結構,但與BERT有所區別的是,前六層采用與BERT相同的Transformer層,但在第七層自定義知識融合層BertLayerMix,首次對經過對齊的實體向量和指稱向量求和,并將其分別傳輸給知識編碼模塊和文本編碼模塊,在剩下5層自定義知識編碼層BertLayer,分別對經過融合了兩者信息的實體序列和文本序列使用自注意力機制編碼。模型的前五層可整體看作一個通用語義表示網絡,該網絡學習數據中的基礎和通用的知識。模型的后面七層可整體看作一個任務語義表示網絡,該網絡基于通用語義表示,學習與各種特定任務相關的知識。在學習過程中,任務語義表示網絡只學習對應類別的預訓練任務,而通用語義表示網絡會學習所有的預訓練任務,兩者有機結合使模型性能有了一些提升。
ERNIE 3.0的整體架構包含兩個部分:
通用表示模塊:使用多層的Transformer-XL,作為通用語義特征抽取器,其中的參數在所有類型的任務范例之間共享。
任務特定表示模塊:也是使用的多層Transformer-X結構;其中對于NLU任務為雙向Encoder層。
模型的具體處理過程可以表示為:
output = Norm(x + R(x))
MultiHead(Q,K,V) = Concat(head1,…,headH)W 0
headi = Attention(,,)
式中,R為上一個Encode層的殘差,Norm為歸一化函數;Q為查詢矩陣,K為鍵矩陣,V為值矩陣;W為矩陣的變換矩陣;H為注意力頭數,并行多個注意力頭同時捕獲文本中的特征子空間信息。
2.2? 自編碼模型
自編碼模型(Auto-encoding Model, AE),是一種有效的數據維度壓縮算法。通過破壞的文本向量序列來重建原始數據進行訓練,使輸出層盡可能如實地重構輸入樣本信息。具體過程表示如下:
hi = σe(Wi x + bi)
yj = σd(Wj x + bj)
式中,Wi、bi為編碼層的權重和偏置,Wj、bj為解碼層的權重和偏置。
將上一小節中ERNIE 3.0等模型編碼的句向量分別輸入自編碼層,并經過本模型特征篩選和池化等處理操作,輸出最終向量,經過全連接層連接和Softmax分類器,輸入到輸出層得到計算結果,最后就可以輸出匹配結果。其結構如圖2所示。
圖2? 自編碼器結構
2.3? ERNIE-AE模型建立過程
ERNIE-AE模型如圖3所示。
圖3? ERNIE-AE模型圖
模型的處理過程如下:
1)數據加工。對自建的名老中醫醫案數據集主訴數據進行數據處理。
2)輸入嵌入層。先分別將句子對中的字或詞處理成編碼序列,再經過輸入層的映射得到輸入向量輸入到不同的特征提取層。
3)ERNIE模型的特征提取層。將前一部分所得到的詞嵌入向量分別輸入到改進的BERT和ERNIE模型中,融合淺層或深層知識,得到文本的特征表示向量。
4)特征選擇與池化層。將ERNIE預訓練網絡層得到的特征表示輸入到自編碼器中,通過對特征的降維重構來進行重要特征選擇,提升預測效果。
5)匹配和輸出層。將上一部分經過全連接層得到的句向量輸入到匹配層Softmax分類器中,經過模型計算完成匹配,并經過輸出層得到最終的推薦結果。
3? 實驗及結果分析
3.1? 實驗數據
為了評估模型性能,本文將提出的模型在自建的名老中醫醫案主訴數據集上進行相應的實驗與評估。該數據集是由名老中醫醫案數據集是根據全國名老中醫真實臨床診斷的醫案,包括2萬余個病例的中醫醫案文本共計6萬余診次,均為UTF-8編碼格式的純文本。
數據集中共生成了69 181對文本的相似性標簽作為基礎實驗數據,其中49 180條作為訓練集,14 001條作為驗證集,6 000條作為測試集,文本長度在7到128之間。
如表1所示為名老中醫醫案數據集的統計信息。
表1? 名老中醫醫案數據集信息? ? ?單位:條
數據集劃分 訓練集 驗證集 測試集
數量 49 180 14 001 6 000
3.2? 實驗環境
所有實驗均使用同一云計算環境。實驗環境如表2所示,實驗文本編碼格式為UTF-8。
表2? 實驗環境配置
實驗環境 環境配置
CPU Intel Xeon CPU E5-2680 v4 @ 2.40 GHz
內存容量 32 GB
算力卡型號 NVIDIA Tesla V100
顯存容量 32 GB
深度學習框架 PaddlePaddle、PyTorch
Python版本 3.7.4
模型的部分超參數如表3所示。
3.3? 評價指標
實驗用了文本分類中常用的評價指標:精確率(Precision)、召回率(Recall)、F1值,計算式為:
式中,TP為實際值和預測值均為1時數據的數量,FP為實際值為0、預測值為1時的數據數量,FN為實際值為1、預測值為0時數據的數量,P為精確率,R為召回率。
3.4? 實驗結果及分析
為貼合實際應用場景,從初診的醫案主訴中共選擇7 698條人工標注的ICPC-3標簽達到兩個及以上的醫案,按標簽取出20%的醫案用作推薦測試。為了模擬推薦情景,訓練集和驗證集采用數據集中剩下的80%醫案主訴數據生成,而測試集由作推薦測試的部分與參與訓練和驗證的部分按標簽組合生成,適當調整以保證各數據集標簽分布均勻。
將數據集分別輸入模型中進行訓練,統一設置訓練輪次為5。訓練結束后使用測試集進行測試并輸出實驗結果。模型迭代準確率如圖4所示。
BERT、ERNIE-GRAM、ERNIE-AE和S-LSTM四個模型在名老中醫醫案數據集上的語義匹配評測結果如表4所示,使用的主要指標是精確率及F1值。
從最終實驗結果中可以看出,ERNIE-AE模型的精確率及F1值結果相較于BERT模型、ERNIE-GRAM模型更優。ERNIE-AE模型的性能優于BERT模型,主要原因是ERNIE-AE模型優化了語義學習網絡結構的同時增加了預訓練的樣本數量,ERNIE模型本身就是在BERT模型的基礎上進行改進的結果,擁有許多BERT模型所沒有的優勢。ERNIE-AE模型的性能優于ERNIE-GRAM模型,主要原因是ERNIE-AE模型采取了更先進的預訓練模式,使用了改進的學習網絡,相較于之前的訓練方式有著更好的效果。
4? 結? 論
在解決中醫醫案匹配推薦任務存在的難點時,提出一種基于ERNIE-AE的醫案匹配推薦模型,利用ERNIE預訓練模型初步提取醫案中的淺層及深層語義信息,將輸出的稀疏特征結果作為自編碼器的輸入進行二次提取,可以將稀疏的特征向量簡化,使匹配結果更加準確。
實驗結果表明,ERNIE-AE模型在中醫醫案數據集上比其他對比模型具更高的準確率和穩定性,匹配性能也更強。能夠有效輔助基層醫生進行臨床治療,是一種行之有效的解決方案。
參考文獻:
[1] 曹軍.面向中醫藥文本的實體識別與關系抽取方法研究 [D].南昌:江西中醫藥大學,2022.
[2] 杜小勇.數據科學與大數據技術導論 [M].北京:人民郵電出版社,2021.
[3] 龐亮,蘭艷艷,徐君,等.深度文本匹配綜述 [J].計算機學報,2017,40(4):985-1003.
[4] 劉新靜.基于改進BERT模型的短文本分類方法研究 [J].山東:曲阜師范大學,2021,17(27):13-14+20.
[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 International Conference on Computational Linguistics.Osaka:[s.n.],2016.
[9] PAUL R,ARKIN J,AKSARAY D,et al. Efficient Grounding of Abstract Spatial Concepts for Natural Language Interaction with Robot Manipulators [EB/OL].[2023-03-28].https://www.roboticsproceedings.org/rss12/p37.pdf.
[10] HUANG P S,HE X D,GAO J F,et al. Learning deep structured semantic models for web search using clickthrough data: Proceedings of the 22nd ACM international conference on Information & Knowledge Management [C]//CIKM'13: Proceedings of the 22nd ACM international conference on Information & Knowledge Management.San Francisco:Association for Computing Machinery,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].[2023-03-28].https://arxiv.org/abs/1810.04805v2.
[15] RADFORD A,NARASIMHAN K,SALIMANS T,et al. Improving Language Understandingby Generative Pre-Training [EB/OL].[2023-03-28].https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf.
[16] VASWANI A,SHAZEER N,PARMAR N,et al. Attention Is All You Need [J/OL].arXiv:1706.03762 [cs.CL].[2023-03-29].https://arxiv.org/abs/1706.03762.
[17] SUN Y,WANG S H,LI Y K,et al. ERNIE 3.0: Large-scale Knowledge Enhanced Pre-training for Language Understanding and Generation [J/OL].arXiv:1904.09223 [cs.CL].[2023-03-29].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].[2023-03-29].https://arxiv.org/abs/2107.02137.
作者簡介:姜惠杰(1996—),男,漢族,山東煙臺人,碩士研究生在讀,研究方向:自然語言處理;通訊作者:查青林(1973—),男,漢族,江西上饒人,教授,碩士生導師,碩士研究生,研究方向:中醫信息學。
收稿日期:2023-04-28
基金項目:江西省科技廳重點研發計劃項目(20171ACG70011)