









摘" 要:正確識別用戶意圖有助于提高醫療搜索的準確性,為醫療搜索系統的使用者提供便利。為了提高醫療搜索的意圖識別準確率,文章利用中文醫療信息處理評測基準中的醫療搜索檢索詞意圖分類數據集,對LERT預訓練模型(Chinese-LERT-base)和BERT預訓練模型(BERT-base-Chinese)進行了微調,并對微調后模型的意圖分類準確率進行了評估。微調后的LERT模型在“治療方案”“疾病表述”和“病因分析”類別的分類準確率較微調后的BERT模型分別提高了4.53%、8%和8.34%,在“其他”類別的分類準確率降低了9.45%,總體分類準確率提高了0.22%。
關鍵詞:信息系統;意圖識別;自然語言處理;大語言模型;醫療搜索
中圖分類號:TP391.1;R319" 文獻標識碼:A" 文章編號:2096-4706(2024)24-0044-06
Research on Medical Search Intention Recognition Based on LERT Pre-trained Model
ZENG Jiahui, TIAN Xiaoqiong, LIU Chaoyi
(Hunan Cancer Hospital, Changsha" 410013, China)
Abstract: Correct identification of user intention can help improve the accuracy of medical search and provide convenience for users of medical search systems. In order to improve the accuracy of intention recognition in medical search, this paper uses the KUAKE-Query Intent Criterion dataset in the Chinese Biomedical Language Understanding Evaluation to fine-tune the LERT pre-trained model (Chinese-LERT-base) and the BERT pre-trained model (BERT-base-Chinese), and evaluates the intention classification accuracy of the fine-tuned model. The classification accuracy of the fine-tuned LERT model in the “treatment plan” “disease description” and “etiological analysis” categories is improved by 4.53%, 8%, and 8.34%, respectively, compared with the BERT model after fine-tuning, and the classification accuracy in the “other” category is reduced by 9.45%. The overall classification accuracy is improved by 0.22%.
Keywords: information system; intention recognition; Natural Language Processing; Large Language Model; medical search
0" 引" 言
隨著信息系統和人工智能技術的發展,越來越多的就醫者在遇到醫療問題時,會先在互聯網上檢索相關信息以便做出下一步決策,如“頭暈掛什么科”“小孩流鼻血怎么處理”等。考慮到醫療搜索服務能為就醫者提供指導,不少醫院上線了專門的醫療搜索系統供就醫者使用。這些系統以人機對話或搜索框的形式,為就醫者提供醫療問題的自助查詢服務,方便就醫者在診前、診中、診后等各個階段了解醫療相關的就醫建議、注意事項等問題。而醫療搜索系統能否為就醫者提供精準的醫療信息,其關鍵之一在于該系統能否準確識別就醫者搜索問題的意圖,即判斷就醫者想要了解的具體內容。
近年來,自然語言處理迅速發展,相關技術被廣泛應用于機器翻譯、文本分類、對話系統、語音識別等領域。人們日常使用的許多產品也使用了自然語言處理技術,例如,手機、智能家居、汽車等產品中嵌入的智能對話系統。在智能對話系統中,準確識別用戶的意圖有助于提高系統反饋信息的相關性。隨著智能對話產品的普及,針對意圖識別的研究也越來越多。意圖識別又稱意圖分類,其方法主要有基于規則的方法、基于傳統機器學習的方法和基于深度學習的方法[1]。
基于規則的方法需要人為預先定義規則,這些規則通常源自人類語言體系既有的語法或詞法,因此規則的定義準確清晰,便于轉化為計算機能夠執行的代碼。但自然語言的表達方式多種多樣,相同的含義可以通過不同的方式表達,因此需要定義足夠多的規則去覆蓋盡可能多的場景。此外,自然語言本身是隨時代不斷發展的,會不斷涌現新的表達方式,這要求不斷增加新的規則以適應自然語言本身的發展。然而,規則數量的不斷增加會使規則庫的維護愈發困難,所以基于規則的方法在復雜的意圖識別場景下難以適用。基于傳統機器學習的方法需要先從語料中提取出關鍵特征,然后利用樸素貝葉斯[2-3]、支持向量機[4-5]、邏輯回歸[6]等機器學習算法和特征數據訓練分類器。在基于傳統機器學習的方法中,關鍵特征的構建和訓練數據的質量都會對結果產生重要影響。由于基于傳統機器學習的方法很難準確理解用戶文本的深層次語義信息[1],因此,不管是基于規則的方法還是基于傳統機器學習的方法,都難以滿足醫療信息檢索的需求。
隨著深度學習的發展,CNN[7-10]、RNN[11]、LSTM[12]、GRU[13]等神經網絡模型被逐漸應用到意圖識別任務中。與傳統機器學習的方法相比,基于深度學習的方法使意圖識別的性能有了進一步的提升[1]。2017年,Vaswani等人[14]提出了Transformer模型,該模型及其相關的變體在自然語言處理的任務中發揮了巨大的作用。在Transformer的基礎上,Google公司提出了基于Transformer結構的BERT模型[15],該模型適用于文本分類、情感分析、意圖識別等自然語言理解任務。2022年,哈工大訊飛聯合實驗室在BERT結構的基礎上提出了一種語言學信息增強的預訓練模型(Linguistically-motivated bidirectional Encoder Representation from Transformer, LERT),該模型引入了更多的語言學知識,在多個自然語言處理任務中取得了性能的提升[16]。鑒于BERT模型在意圖識別方面的優異表現[17-19],本研究將BERT模型和在BERT基礎上做了優化的LERT模型應用到醫療搜索問題的意圖識別任務中,以評估兩種模型在醫療搜索領域的意圖識別性能。
1" 數據與方法
1.1" 整體方案
本研究將LERT預訓練模型應用于醫療搜索的意圖識別任務中,整體方案流程如下:
1)原始數據集中,不同意圖類別標簽下的搜索問題數量差異較大,為了使訓練過程和測試過程覆蓋所有意圖類別,先將原始數據集中已標注了意圖類別標簽的搜索問題按照固定比例劃分到訓練集、驗證集和測試集中。
2)將訓練集和驗證集輸入LERT預訓練模型中進行微調,選擇訓練過程中在驗證集上分類準確率最高的模型作為微調后的模型。
3)用微調后的LERT模型對測試集中的數據進行分類,計算分類準確率,最后與對照模型進行對比。
1.2" 數據準備
1.2.1" 數據來源
本研究所用的數據來自中文醫療信息處理評測基準(Chinese Biomedical Language Understanding Evaluation, CBLUE)[20]中的醫療搜索檢索詞意圖分類數據集(KUAKE-Query Intent Criterion dataset, KUAKE-QIC)。其中,“檢索詞”指的是搜索問題的文本,該數據集由阿里夸克提供,并于2023年3月14日發布在阿里云天池平臺上。在KUAKE-QIC數據集中,已標注意圖類別標簽的搜索問題共有8 886個,搜索意圖的分類標簽共有11種,分別是“治療方案”“疾病表述”“病因分析”“注意事項”“功效作用”“病情診斷”“就醫建議”“醫療費用”“指標解讀”“后果表述”和“其他”。原始數據以JSON格式存儲在文件中,每條數據包含三個字段,數據結構如表1所示。
1.2.2" 數據預處理
KUAKE-QIC數據集中各意圖類別標簽下的搜索問題數量如表2所示,可以看到問題數量存在較大差異。標簽為“治療方案”的問題共有2 426個,而標簽為“指標解讀”的問題僅有169個,樣本分布不均會對訓練和測試結果造成影響。為了讓訓練過程和測試過程覆蓋所有類別的數據,在數據集劃分時,每個類別標簽下的搜索問題都按照60%、20%、20%的比例分別劃分到訓練集、驗證集、測試集中,若無法取整,則根據實際情況取上整數或下整數,從而確保各類別的數據能夠均勻分布到訓練集、驗證集和測試集中。
1.3" 預訓練模型LERT結構
LERT是哈工大訊飛聯合實驗室提出的一種語言學信息增強的預訓練模型。LERT模型除了使用掩碼語言模型(Masked Language Model, MLM)進行預訓練之外,還采用了詞性標注(Part-Of-Speech tagging, POS tagging)、命名實體識別(Named Entity Recognition, NER)、依存句法分析(Dependency Parsing, DEP)三種語言學任務進行訓練[16]。圖1以文本“岳麓山位于星城長沙市。”為例,展示了預訓練模型LERT的整體結構。MLM中每個被遮蔽的token需要預測原始token,而對于POS、NER和DEP任務,預訓練模型LERT使用了哈工大社會計算與信息檢索研究中心研制的語言技術平臺(Language Technology Platform, LTP)[21]對文本進行標注。
詞性標注會對每個輸入token標注一個詞性標簽,標注的詞性標簽包括名詞、動詞、助詞、副詞等28種類型。命名實體識別采用“BIEOS”標注方式對輸入token標注命名實體識別信息,命名實體識別的標簽包括人名、地名、機構名等13種類型。依存句法分析能夠分析輸入序列中各語言成分之間的依存關系,關系標簽包括定中關系、狀中結構、動賓關系、主謂關系等14種類型。通過這三類語言學任務的訓練,LERT引入了更多的語言學知識[16]。
1.4" 模型微調
LERT預訓練模型有3種,本研究使用的LERT預訓練模型是Chinese-LERT-base。Chinese-LERT-base的編碼器層數是12層,注意力頭的數量是12個,隱藏神經元的數量是768個。由于LERT模型的主體部分是BERT結構,本研究選擇編碼器層數同樣為12層的BERT-base-Chinese預訓練模型作為對照模型。原始的BERT-base-Chinese預訓練模型并未針對中文醫療搜索意圖識別任務進行過訓練,如果使用原始的BERT-base-Chinese預訓練模型進行意圖分類,準確率會非常低,從而失去對照的意義。所以在對照模型上也采用相同的訓練集和驗證集進行微調,然后再在同一個測試集上進行意圖分類。通過比較模型分類結果與正確結果間的差異,評估兩種模型在中文醫療搜索意圖識別任務上的性能表現。
針對預訓練模型Chinese-LERT-base和BERT-base-Chinese的微調流程如圖2所示。微調過程總共包含3次Epoch,批次大小設置為16。因為訓練集中有5 334個搜索問題,根據批次大小,訓練集可被分為334個批次。每完成1次Epoch需要訓練334步,3次Epoch全部完成則需要訓練1 002步。在每一步訓練中,先讀取本次訓練數據,并使用詞元分析器對數據進行預處理,獲得input_ids、attention_mask、token_type_ids等參數,然后將其和標簽等數據一并輸入模型進行訓練以獲取輸出。接著計算模型參數的梯度,優化器根據梯度更新模型參數,學習率調度器調整學習率。最后清空模型參數的梯度,更新全局訓練步數的計數值,至此當前步數的訓練就完成了。當前步數的訓練完成之后,會判斷是否到達評估點,如果到達了評估點,將在驗證集上評估當前微調模型的分類準確率。評估點是根據全局訓練步數設定的,評估間隔設置為200步,微調過程會在第200、400、600、800、1 000步時評估微調模型在驗證集上的分類準確率,并記錄下取得最高準確率的微調模型。微調過程中還采用了早停法,將早停法的步數上限設置為3。當連續3次評估的準確率未高于之前的最高準確率時,便提早結束訓練,以降低過擬合的可能性。
圖3和圖4分別展示了Chinese-LERT-base和BERT-base-Chinese模型微調過程中Loss值的變化情況。由圖可知,兩種模型Loss值隨訓練步數的變化趨勢基本一致,均表現為Loss值隨訓練步數的增長而震蕩下降的趨勢。具體來說,在訓練前期Loss值下降迅速,而在訓練后期Loss值下降速度放緩,逐漸在小范圍內震蕩。
圖5展示了Chinese-LERT-base和BERT-base-Chinese模型微調過程中在驗證集上的分類準確率變化趨勢。從圖中可以看到,兩種模型在微調前期,準確率均有較大提升,到了后期,LERT的準確率逐漸趨于平穩,而BERT的準確率出現了下降的情況,這可能是過擬合導致的。
2" 實驗評價及結果
2.1" 評價標準
本研究參考CBLUE,選用準確率作為評估指標。在本次研究中,共有11種意圖類別標簽,分別用L1、L2、L3、L4、L5、L6、L7、L8、L9、L10、L11表示,每個類別的分類準確率Pi的計算方法如式(1)所示:
(1)
其中,cii表示被正確分類到Li的條目數,ci表示參與分類的正確意圖類別標簽為Li的總條目數。所有類別總的準確率等于所有分類正確的條目數除以參與分類的總條目數,計算方法如式(2)所示:
(2)
其中,n表示意圖類別數,KUAKE-QIC數據集定義了11種醫療搜索意圖類別標簽,所以n = 11。
2.2" 結果及分析
微調后的Chinese-LERT-base模型和BERT-base-Chinese模型在測試集上的分類準確率如表3所示。
由表3可知,微調后的Chinese-LERT-base模型在測試集上的總體準確率高于微調后的BERT-base-Chinese模型。從各個類別的分類準確率可以看出,前者在“治療方案”“疾病表述”“病因分析”“注意事項”“病情診斷”“后果表述”6個類別中的分類準確率高于后者,在“醫療費用”和“指標解讀”2個類別中,兩者分類準確率相同,而在“功效作用”“就醫建議”“其他”3個類別中,微調后的Chinese-LERT-base模型分類準確率低于微調后的BERT-base-Chinese模型。
在這11個類別中,兩種模型分類準確率差距較大的類別有“治療方案”“疾病表述”“病因分析”和“其他”。其中,微調后的Chinese-LERT-base模型在“治療方案”“疾病表述”“病因分析”這3個類別的表現優于微調后的BERT-base-Chinese模型,而在“其他”這個類別則相反。微調后的Chinese-LERT-base模型把更多的“其他”類條目錯誤地分類為別的類別,導致其在“其他”類的分類準確率較微調后的BERT-base-Chinese模型大幅下降。但因其在分類“治療方案”“疾病表述”“病因分析”等多個類別的條目時取得了更高的準確率,所以總體上,微調后的Chinese-LERT-base模型較微調后的BERT-base-Chinese模型在測試集上有更高的分類準確性。
3" 結" 論
本研究利用KUAKE-QIC數據集分別對Chinese-LERT-base預訓練模型和BERT-base-Chinese預訓練模型進行微調,隨后比較了微調后的兩種模型在測試集上的分類表現。具體來說,Chinese-LERT-base模型在測試集上的總體分類準確率略高于BERT-base-Chinese模型,在“治療方案”“疾病表述”和“病因分析”等類別的分類準確率較BERT-base-Chinese模型有明顯提高,在“注意事項”“病情診斷”和“后果表述”等類別的分類準確率上略高于BERT-base-Chinese模型,而在“醫療費用”和“指標解讀”類別的分類中,兩種模型的準確率基本相同。但在“功效作用”“就醫建議”和“其他”類別的分類準確率上,Chinese-LERT-base模型較BERT-base-Chinese模型低。總體上,Chinese-LERT-base模型在KUAKE-QIC數據集上的意圖分類準確率高于BERT-base-Chinese模型。在“治療方案”“疾病表述”和“病因分析”這三類問題較多的醫療搜索場景下,可基于LERT預訓練模型開發針對性的意圖識別應用,以提高醫療搜索的準確性。
參考文獻:
[1] 劉嬌,李艷玲,林民.人機對話系統中意圖識別方法綜述 [J].計算機工程與應用,2019,55(12):1-7+43.
[2] MCCALLUM A,NIGAM K. A Comparison of Event Models for Naive Bayes Text Classification [C]//AAAI Conference on Artificial Intelligence.Santa Barbara:AAAI,1998:1-8.
[3] 邢小東.基于混合屬性的用戶檢索意圖識別方法 [J].現代計算機,2022,28(9):69-72+77.
[4] HAFFNER P,TUR G,WRIGHT J H. Optimizing SVMs for Complex Call Classification [C]//2003 IEEE International Conference on Acoustics, Speech, and Signal Processing, 2003. Proceedings. (ICASSP'03).Hong Kong:IEEE,2003:1-1.
[5] 陳浩辰.基于微博的消費意圖挖掘 [D].哈爾濱:哈爾濱工業大學,2014.
[6] GENKIN A,LEWIS D D,MADIQAN D. Large-Scale Bayesian Logistic Regression for Text Categorization [J].Technometrics,2007,49(3):291-304.
[7] LECUN Y,BOTTOU L,Bengio Y,et al. Gradient-Based Learning Applied to Document Recognition [J].Proceedings of the IEEE,1998,86(119):2278-2324.
[8] KIM Y. Convolutional Neural Networks for Sentence Classification [J/OL].arXiv:1408.5882 [cs.CL].[2024-08-10].https://arxiv.org/abs/1408.5882.
[9] HASHEMI H B,ASIAEE A,KRAFT R. Query Intent Detection using Convolutional Neural Networks [C]//WSDM QRUMS 2016 Workshop.[S.I.s.n.],2016:1-5.
[10] 楊春妮,馮朝勝.結合句法特征和卷積神經網絡的多意圖識別模型 [J].計算機應用,2018,38(7):1839-1845+1852.
[11] ELMAN J L. Finding Structure in Time [J].Cognitive Science,1990,14(2):179-211.
[12] HOCHREITER S,SCHMIDHUBER J. Long Short-term Memory [J].Neural Computation,1997,9(8):1735-1780.
[13] CHO K,MERRIENBOER B V,GULCEHRE Caglar,et al. Learning Phrase Representations
using RNN Encoder-Decoder for Statistical Machine Translation [J/OL].arXiv:1406.1078 [cs.CL].[2024-09-03].https://arxiv.org/abs/1406.1078.
[14] VASWANI A,SHAZEER N,PARMAR N,et al. Attention Is All You Need [J/OL].arXiv:1706.03762 [cs.CL]. [2024-08-26].https://arxiv.org/abs/1706.03762.
[15] 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].[2024-08-26].https://arxiv.org/abs/1810.04805.
[16] CUI Y M,CHE W X,WANG S J,et al. LERT: A Linguistically-motivated Pre-trained Language Model [J/OL].arXiv:2211.05344 [cs.CL].[2024-08-19].https://arxiv.org/abs/2211.05344.
[17] 王堃,林民,李艷玲.端到端對話系統意圖語義槽聯合識別研究綜述 [J].計算機工程與應用,2020,56(14):14-25.
[18] 鄭新月,任俊超.基于BERT-FNN的意圖識別分類 [J].計算機與現代化,2021(7):71-76+88.
[19] 王志明,鄭凱.基于BERT的中文醫療問答系統 [J].計算機系統應用,2023,32(6):115-120.
[20] ZHANG N Y,CHEN M S,BI Z,et al. CBLUE: A Chinese Biomedical Language Understanding Evaluation Benchmark [J/OL].arXiv:2106.08087 [cs.CL].[2024-09-06].https://arxiv.org/abs/2106.08087.
[21] CHE W X,FENG Y L,QIN L B,et al. N-LTP: An Open-source Neural Language Technology Platform for Chinese [J/OL].arXiv:2009.11616 [cs.CL].[2024-08-20].https://arxiv.org/abs/2009.11616.
作者簡介:曾嘉慧(1993—),女,漢族,湖南衡陽人,助理工程師,碩士,研究方向:醫院信息化。