關鍵詞:意圖識別;標簽拆分;大語言模型;自然語言理解
中圖分類號:TP391 文獻標志碼:A
0引言
(Introduction)自然語言理解[1]是人工智能領域的一個關鍵分支,其致力于讓計算機能夠理解和解釋人類自然語言的含義。其中,意圖識別是自然語言理解的關鍵技術(shù),它能幫助計算機理解人類的需求,可以提供個性化服務。目前,自然語言理解已廣泛應用于虛擬助手、智能客服[2]和語音識別等領域,特別是在輔助問診中,其可以協(xié)助提高醫(yī)患溝通質(zhì)量,幫助醫(yī)生獲取更多的病情信息,從而節(jié)省診療時間,提高工作效率。
本文對醫(yī)療領域的意圖識別方法進行了相關研究,針對意圖標簽數(shù)量過多帶來的識別挑戰(zhàn),提出了一種拆分策略,將復雜的分類任務拆分為兩個相對獨立的子任務,并在解碼層采用雙頭解碼機制,實現(xiàn)同時對兩個子任務進行解碼。該方法不僅充分考慮了標簽之間的內(nèi)在聯(lián)系,還能有效學習多個任務,提升了意圖識別的準確性和效率。同時,將本文提出的方法與大語言模型進行對比,并深入分析不同模型的表現(xiàn)存在差異的原因,可為醫(yī)療領域意圖識別的后續(xù)研究提供參考依據(jù)。
1 相關研究(Related work)
隨著深度學習技術(shù)的日益成熟,其在意圖識別領域的應用取得了顯著的進步和一系列成就。楊志明等[3]提出將ICDCNN(雙通道卷積神經(jīng)網(wǎng)絡)算法用于意圖分類,該方法利用Word2Vec和Embedding層提取問句語義特征,采用雙通道卷積運算結(jié)合字、詞級別詞向量的方式,捕捉深層次語義信息;RAVURI等[4]使用RNN(循環(huán)神經(jīng)網(wǎng)絡)和LSTM(長短期記憶網(wǎng)絡)模型解決意圖分類問題,結(jié)果顯示LSTM 模型的意圖識別錯誤率低于RNN;HOU等[5]針對航空信息領域的意圖識別,提出了一種增加門控機制及條件隨機場約束條件的雙向長短時記憶網(wǎng)絡方法,實驗證明,該方法提高了識別準確率;魏鵬飛等[6]提出采用注意力循環(huán)神經(jīng)網(wǎng)絡解決意圖識別問題,該方法在ATIS(Airline Travel Information System)數(shù)據(jù)集上的表現(xiàn)優(yōu)異;YAO等[7]提出的基于圖卷積神經(jīng)網(wǎng)絡的槽填充框架在多個分類任務基準數(shù)據(jù)集上的表現(xiàn)較好;華冰濤等[8]提出了一種BLSTM-CNN-CRF(雙向長短期記憶網(wǎng)絡-卷積神經(jīng)網(wǎng)絡-條件隨機場)模型,用于構(gòu)建意圖識別和槽填充的聯(lián)合模型;GOO等[9]介紹了一種基于槽門控機制的雙向關聯(lián)模式,該模式能有效地結(jié)合兩項任務的信息進一步探索意圖和語義槽之間的關系。隨著注意力機制被越來越多的研究者關注,YANG等[10]提出了一種創(chuàng)新的聯(lián)合模型,該模型的核心在于其位置感知的多頭注意機制;樊駿鋒等[11]針對現(xiàn)有研究中很少有意圖-槽相關性進行明確建模的問題,通過BiLSTM(雙向長短期記憶網(wǎng)絡)和注意力機制,提出了一種用于聯(lián)合意圖預測和槽填充的新框架;李實等[12]提出了一種基于BiLSTM 和圖注意力網(wǎng)絡的方法,旨在識別用戶話語中的多個意圖信息并優(yōu)化語義槽填充。
2 基于雙頭解碼機制的意圖識別方法(Intentrecognition method based on dual-head decodingmechanism)
一個優(yōu)秀的模型能夠充分利用數(shù)據(jù)集中的信息準確捕捉用戶的意圖,從而提升意圖識別的準確性和效率。因此,在進行意圖識別任務時,需要在實際應用中根據(jù)具體任務需求和資源條件,選擇最適合的模型進行意圖識別,確保任務的順利完成和取得良好的效果。
2.1IMCS(Intelligent Medical Consultation System)數(shù)據(jù)集中意圖標簽的拆分
為了促進自動化醫(yī)療問診的發(fā)展,復旦大學大數(shù)據(jù)學院在復旦大學醫(yī)學院專家的指導下,構(gòu)建了IMCS數(shù)據(jù)集,該數(shù)據(jù)集收集了真實的在線醫(yī)患對話,并進行了多層次的人工標注,標注方式采用句子級標注,包含命名實體、對話意圖、癥狀標簽、醫(yī)療報告等。IMCS數(shù)據(jù)集中標注了醫(yī)患對話行為,共定義了16類意圖,對話意圖的類別的定義如表1所示。
輸入的是多輪對話語句組成的整段醫(yī)患對話;輸出為每一條對話語句的句子級意圖標簽。通過仔細觀察表1中的16種對話意圖可以發(fā)現(xiàn),除了“診斷”和“其他”兩個特殊標簽,剩余的14種標簽都是由“A-B”的形式構(gòu)成,并且是A和B的笛卡爾積的形式,因此將14種標簽進行拆分:A定義為意圖標簽,有2個取值,分別是“提問”和“告知”;B定義為行為標簽,有7個取值,分別是“癥狀”“病因”“基本信息”“已有檢查和治療”“用藥建議”“就醫(yī)建議”“注意事項”。對于“診斷”和“其他”兩類特殊的標簽,選擇將其視為“診斷-診斷”和“其他-其他”分別放入意圖標簽和行為標簽兩個集合中。對IMCS數(shù)據(jù)集意圖標簽的拆分如圖1所示。由于模型在解碼過程中存在一定概率生成不存在的標簽,如“其他-癥狀”,為了提升模型的識別準確性和可靠性,將這不存在的標簽進行簡單歸類,統(tǒng)一歸為特定的標簽,例如將“其他-癥狀”歸類為“其他”“診斷-癥狀”歸類為“診斷”。
2.2 雙頭解碼模型框架設計
多層感知機(Multilayer Perceptron,MLP)是一種基于前饋神經(jīng)網(wǎng)絡的深度學習模型。MLP由多個神經(jīng)元層組成,其中每個神經(jīng)元層與前一層全連接。這種結(jié)構(gòu)使得MLP可以幫助模型學習非線性特征,提高模型的表征能力。MLP模型的基本結(jié)構(gòu)包括輸入層、隱藏層和輸出層(圖2)。
MLP的輸入層接收的輸入數(shù)據(jù)通常是一組特征向量。每個隱藏層包含若干個神經(jīng)元。這些神經(jīng)元通過激活函數(shù)將輸入數(shù)據(jù)進行非線性轉(zhuǎn)換,以便捕捉更復雜的特征。常用的激活函數(shù)包括Sigmoid函數(shù)、ReLU函數(shù)等。根據(jù)任務需求,輸出層可以為一個或多個神經(jīng)元。在分類問題中,通常使用Softmax函數(shù)將輸出轉(zhuǎn)換為概率分布。在此任務中進行預測時,輸入的是一整段對話,但Softmax函數(shù)是一種局部的解碼方法,可以獨立地對每個類別進行預測。CRF是一種全局的解碼方法,對句子之間的意圖轉(zhuǎn)移進行解碼,能夠考慮標簽之間的依賴關系,通過全局學習標簽序列的概率分布,進一步提高標簽預測的準確性。所以,在解碼層采用MLP+CRF的結(jié)構(gòu)形式,其中MLP負責特征提取和轉(zhuǎn)換,將輸入數(shù)據(jù)映射到特征空間;CRF負責考慮標簽之間的關系和約束,以及對整個序列進行聯(lián)合標簽分類。
整個意圖標簽分類任務的模型結(jié)構(gòu)編碼層由BERT+BiLSTM框架構(gòu)成,通過BERT提取單條對話語句的句子級語義特征,使模型可以更好地理解上下文信息,BiLSTM 捕捉文本中的句子結(jié)構(gòu)和順序信息,對每條句子提取對話中的上下文語義特征。解碼層對拆分后的兩個標簽集合通過雙頭MLP+CRF進行解碼,雙頭解碼機制通常會有兩個頭部(或者稱為任務),每個頭部對應一個不同的標簽集合。通過學習狀態(tài)之間的轉(zhuǎn)移概率,模型可以預測每個時刻的最佳標簽,同時考慮兩個標簽集合之間的關系,以便更好地處理多標簽分類問題,并增強模型的泛化能力。BERT+BiLSTM+MLP+CRF模型框架如圖3所示,拆分后的兩個標簽集合共享同一個特征編碼器,使用不同的解碼器進行解碼。
2.3 實驗設計與結(jié)果分析
2.3.1 實驗設置與評價指標
該實驗模型由PyTorch深度學習框架、Python 3.7版本的編程語言構(gòu)建。在實驗過程中不斷對模型參數(shù)進行調(diào)整,得到最適合模型的參數(shù)。模型參數(shù)設置如表2所示,選擇F1 值作為評價指標對實驗結(jié)果進行評估。
2.3.2 實驗結(jié)果分析
為了驗證該模型應用在IMCS數(shù)據(jù)集意圖識別任務上的有效性,選取TextCNN(卷積神經(jīng)網(wǎng)絡文本分類模型)、BERT+TextCNN(基于Transformer的雙向編碼器表示+卷積神經(jīng)網(wǎng)絡文本分類模型)和BERT+BiLSTM+CRF模型作為對照實驗組,最終實驗結(jié)果如表3所示。
由表3可以看出,基于雙頭解碼機制的意圖識別方法在IMCS數(shù)據(jù)集上的F1 值達到了78%,相比于其他3種分類模型的F1 值,分別提高了9百分點、3百分點、2百分點,也證明了該方法的有效性。將16類意圖標簽拆分為兩大類標簽,從而間接減少了類別數(shù)量,使得學習難度下降。通過編碼層提取話語級、對話級特征輸入解碼層,再由雙頭解碼機制處理多個標簽集合。每個頭部對應一個任務或標簽集合,對拆分后的兩大類標簽進行單獨的解碼,得到醫(yī)患對話中每條語句對應的對話意圖,這種細粒度的劃分更有利于緩解流水線式多任務學習之間的誤差傳遞。
3 基于大語言模型的意圖識別方法(Intentrecognition method based on large language model)
本文“第2章節(jié)”采用的意圖識別方法是基于深度學習的方法開展研究,而此類方法的訓練通常需要大量數(shù)據(jù)進行標注。如今,大語言模型[13](Large Language Model,LLM)在對話式AI領域發(fā)揮了越來越重要的作用,它能生成豐富嚴謹?shù)奈谋?,但實質(zhì)還是文本補全。LLM 因具備多項優(yōu)勢而受到學者對其摘要、分類和生成功能的廣泛探索。本文提出一種基于LLM的醫(yī)療領域意圖識別方法,并與前文所提出的BERT+BiLSTM+MLP+CRF模型進行比較和分析。
3.1 大語言模型的實現(xiàn)方法
BERT模型的發(fā)布證明了預訓練模型與Transformer架構(gòu)的優(yōu)越性,語言模型的參數(shù)量大幅度增加,自然語言處理隨之進入大型語言模型時代。LLM 是以Transformer架構(gòu)為主,并利用多個Transformer編碼器的堆疊深入理解句子中各個位置的關聯(lián)性,從而更有效地捕捉上下文信息。同時,模型融入了自我注意力機制,從而更出色地處理長文本和序列間的依賴關系。通常情況下,LLM 的預訓練過程是在通識知識的基礎上進行的,因此當面臨特定場景的任務時,需要通過模型的微調(diào)或提示學習等方式,提升其在下游任務中的應用能力。本節(jié)所提出的意圖識別方法基于ChatGPT(Chat Generative PretrainedTransformer)大語言模型,設計了一種特定的輸入格式,涵蓋識別意圖類型列表、具體需求指令及規(guī)定輸出格式的指令等關鍵要素。按照規(guī)定的“提示”指令,將問題輸入ChatGPT中,可以對得到的輸出結(jié)果進行分類和分析。
3.1.1 提示設計
隨著大語言模型的成熟和廣泛應用,人們開始研究如何優(yōu)化大語言模型的輸出結(jié)果,以減少不相關或者錯誤回復的概率。用于改善大語言模型輸出結(jié)果的方式有提示詞工程(Prompt Engineering)。提示詞(Prompt)是指對計算機程序或人工智能模型提供的輸入或指令,在用戶和ChatGPT對話時輸入的文字就是提示詞,它用于告知模型要執(zhí)行什么任務或回答什么問題。提示學習(Prompt-Based Learning)是一種基于大語言模型的學習方法。通過在預訓練模型中添加特定的提示,用于引導模型在特定任務上進行學習,使得模型能夠在小數(shù)據(jù)集上進行快速微調(diào),以實現(xiàn)高效的遷移學習。提示學習具有簡單易用、靈活性強、快速迭代等優(yōu)點。
提示詞工程是指使用大語言模型時,通過精心設計和調(diào)整的輸入提示引導模型生成特定的輸出,可以將模型集中在某一特定領域,在短時間內(nèi)獲得符合自己要求的結(jié)果。設計一個完美的提示可以高效地完成給定的任務,指導模型生成準確輸出。在設計提示時,遵循一定的原則與策略至關重要。首先,在向大模型提出問題之前要提供任務的背景或者情景信息,在提問時盡可能地把問題的背景和需求全部描述出來。大模型可以很好地理解用戶給出的背景和情境,并給出相應的回答。其次,將單個復雜的問題拆分成多個小問題進行提問,從而提高大模型輸出的準確度。最后,可以通過約束性的提示限制模型的輸出,例如規(guī)定輸出必須滿足某些語法結(jié)構(gòu)或者邏輯關系。在醫(yī)療領域的意圖識別任務中,將意圖和意圖樣例一起放入Prompt,采用OpenAI接口的方式直接調(diào)用GPT 模型(Generative Pre-trained Transformer)并解析結(jié)果。若不加入意圖對應的樣例,大語言模型只能根據(jù)意圖的名字進行判斷,則可能無法預測出正常的意圖。規(guī)定的提示模板如表4所示。
3.1.2 編碼和向量化
GPT處理的輸入對象是向量,同樣輸出的對象也是向量。每個字符都會使用相同長度的向量表示。GPT將所有字符組合成詞匯庫,為每個字符分配值,每個字符被轉(zhuǎn)換為一個點編碼向量。ChatGPT使用字節(jié)編碼(Byte Pair Encoding,BPE)進行高效編碼,詞匯表中的“單詞”是頻繁出現(xiàn)的字符組合。GPT使用50 257維向量,主要由0組成,導致空間效率顯著降低。為了克服該限制,輸入嵌入層的下一步將使用一個嵌入矩陣以實現(xiàn)對由50 257維的二進制輸入向量組成的數(shù)據(jù)進行壓縮,將其轉(zhuǎn)化為長度為n 的簡潔數(shù)值向量。
3.2 實驗設計與結(jié)果分析
3.2.1 實驗設置
在IMCS數(shù)據(jù)集的基礎上增加本文“第2章節(jié)”提出的BERT+BiLSTM+MLP+CRF(雙頭解碼)模型與大語言模型的對比實驗。使用ChatGPT大語言模型中的gpt-3.5-turbo 模型,它具有更高的性能和效率,以及更強的語言能力。對于衡量模型在識別意圖時表現(xiàn)的評價指標,本文采用準確率,即模型正確預測的意圖數(shù)量與總樣本數(shù)量之比。
3.2.2 實驗結(jié)果與分析
由于數(shù)據(jù)集和訪問ChatGPT的成本較高,因此抽取IMCS數(shù)據(jù)集中各類數(shù)據(jù)200條。IMCS數(shù)據(jù)集作為一個中文多輪醫(yī)療問答數(shù)據(jù)集,包含了許多諸如“您好”“再見”等噪聲語句。為應對此問題,在數(shù)據(jù)抽樣過程中采取分層處理的策略,確保每一層都能得到公正且隨機的抽樣。此外,為了提高數(shù)據(jù)集的質(zhì)量,在構(gòu)建測試集時進行了長度篩選,排除了文本長度小于5個中文字符的樣本,以建立更加精確和高效的測試集。在測試集上的具體實驗結(jié)果如表5所示。
從表5可以看出,ChatGPT在IMCS數(shù)據(jù)集上的表現(xiàn)相比本文“第2章節(jié)”提出的雙頭解碼機制下的深度學習方法更出色,主要原因如下。
(1)IMCS數(shù)據(jù)集是一個醫(yī)患多輪對話的數(shù)據(jù)集,參與對話的身份角色包含醫(yī)生和患者,對話意圖與說話人的角色有關。例如,患者的對話出現(xiàn)診斷意圖的可能性不大,醫(yī)生告知患者已有檢查結(jié)果的可能性不大。因此,大多數(shù)對話的意圖可以由某一個角色主導,對話意圖與對話角色存在關聯(lián)。由于輸入的對話文本包含說話人的身份,所以在ChatGPT中存在角色引入標記,能夠幫助其在進行意圖識別時考慮到角色特征,進而得到更準確的意圖。
(2)每一條對話語句在整段對話中都有獨一無二的位置信息,位置信息很可能與對話意圖有關,比如有關提問的意圖早于告知的意圖、對話剛開始時醫(yī)生一般不會進行診斷等。根據(jù)日常經(jīng)驗可以描述出一個醫(yī)患在線問診的普遍流程:首先,討論患者的主訴癥狀,其次,詢問患者的基本信息和已有的檢查及治療結(jié)果,在此醫(yī)生進行初步診斷并分析病因,提出用藥建議和注意事項,最后提出進一步的就醫(yī)建議。因此對話意圖與對話進展存在關聯(lián),ChatGPT在對話生成過程中能夠考慮到對話歷史信息,包括前幾輪的對話內(nèi)容和對話的整體上下文,用于幫助理解當前對話的意圖和位置信息,從而達到更準確的識別效果。
雖然大語言模型在IMCS數(shù)據(jù)集上的意圖識別能力比基于雙頭解碼機制的意圖識別模型更出色,但是對于每一個話語,每次都需要提供完整的意圖列表及其主題描述。然而,對弈垂直領域的研究,大語言模型的應用面臨一項挑戰(zhàn):硬件資源的高需求難以滿足。每個API調(diào)用的成本可能只有0.000 1美元,但如果乘以數(shù)千個對話,就是一個非常大的數(shù)字。相比之下,雙頭解碼模型與大語言模型的識別效果相差不大,但在實際部署和使用時受到的限制較少,因此不失為一種優(yōu)秀的醫(yī)患對話文本意圖識別方法。此外,本文的實驗進一步證明了在處理包含角色、位置等信息的數(shù)據(jù)時,大語言模型能夠更深入地學習并提取豐富的知識信息,從而實現(xiàn)更精確的意圖識別。
4 結(jié)論(Conclusion)
本文以醫(yī)療領域的意圖識別為研究任務,首先針對多輪對話數(shù)據(jù)集中標注的16類對話意圖提出了一種創(chuàng)新的解決方案,即將復雜的16類意圖分類任務拆分成兩個獨立的分類任務,在解碼層引入雙頭解碼機制,使模型能夠同時對兩個分類任務進行解碼。這種設計使模型能并行學習多個任務,從而顯著提升性能,在處理多標簽分類時尤為出色。通過并行解碼,模型能全面考慮標簽之間的聯(lián)系,準確預測多個標簽,大幅提升預測精度。此外,本文還提出了一種面向醫(yī)療領域的大語言模型意圖識別方法,其在處理含角色、位置等多樣化信息數(shù)據(jù)時,憑借其卓越的學習能力,可以深入挖掘豐富的知識,實現(xiàn)精準的意圖識別。對提出的深度學習模型方法在識別結(jié)果上進行了詳細的比較與分析,為進一步理解和改進模型提供了重要的參考依據(jù)。
作者簡介:
張卓群(1999-),女,碩士生。研究領域:自然語言處理,人工智能。
王榮波(1978-),男,博士,副教授。研究領域:自然語言處理,機器學習。
黃孝喜(1979-),男,博士,副教授。研究領域:自然語言理解,人工智能。