摘" 要: 問答系統(tǒng)是自然語言處理領(lǐng)域中的一項重要任務(wù),常應用于醫(yī)療服務(wù)。傳統(tǒng)的問答系統(tǒng)通過知識圖譜的實體關(guān)系匹配返回相應的尾實體作為答案,然而,倘若實體或關(guān)系無法識別,又或者在知識圖譜中并不存在相應的實體關(guān)系,問答將無法繼續(xù)進行。為了解決這一問題,建立一種融合知識圖譜和語義匹配模型的中文醫(yī)療問答混合系統(tǒng)。當所提問題無法在知識圖譜中進行實體關(guān)系匹配時,該模型能繼續(xù)從問答對數(shù)據(jù)集中找到最相似的問題,并返回相應結(jié)果作為答案。在語義匹配模型方面,結(jié)合中文醫(yī)療相似問題對,在Sentence?BERT模型上進行微調(diào)訓練,并引入雙曲空間中的距離度量函數(shù)對句子對進行相似度度量。結(jié)果表明:在整體性能方面,所提模型相較于BERT這類大語言模型精度能提升7.16%;在度量能力方面,雙曲度量相較于通用歐氏空間度量,如余弦度量,最高能有2.28%的精度提升和1.58%的F1值提升。
關(guān)鍵詞: 醫(yī)療問答系統(tǒng); 知識圖譜; 語義匹配; 問答對數(shù)據(jù)集; 相似問題對; 雙曲距離度量
中圖分類號: TN919.5?34" " " " " " " " " " " " " 文獻標識碼: A" " " " " " " " " " " "文章編號: 1004?373X(2024)08?0049?06
Medical question answering system integrating knowledge graph and semantic matching
XU Ruoqing
(College of Computer and Information, China Three Gorges University, Yichang 443000, China)
Abstract: Question answering system is an important task in the field of natural language processing, which is often used in medical service. The traditional question answering system can return the corresponding tail entity as the answer by means of the entity and relationship matching of the knowledge graph. However, if the entity or relationship is not recognized or there is no corresponding entity relationship in the knowledge graph, the question answering can not be continued. In order to solve this problem, a hybrid framework of Chinese medical question answering is proposed, which combines knowledge graph and semantic matching model. When the questions raised cannot be matched by the entity relationship in knowledge graph, the model can continue to find the most similar questions from the question answering on datasets and return corresponding results as answers. In terms of semantic matching models, combining Chinese medical similarity problems, fine?tuning training is conducted on the Sentence BERT model, and distance measurement functions in hyperbolic space are introduced to measure the sentence similarity. The results show that in terms of overall performance, the proposed model can improve accuracy by 7.16% compared to large language models like BERT. In terms of measurement ability, in combintion with the general Euclidean space metrics such as cosine metrics, hyperbolic metrics can achieve a maximum accuracy improvement of 2.28% and an F1 value improvement of 1.58%.
Keywords: question answering system; knowledge graph; semantic matching; question answering on dataset; similar problem pairs; hyperbolic distance metric
0" 引" 言
人工智能在提升醫(yī)療服務(wù)質(zhì)量方面起著至關(guān)重要的作用,問答系統(tǒng)是其中較受歡迎的技術(shù)之一,它能夠幫助用戶實時獲取問題的解答[1]。問答系統(tǒng)由一個與患者和醫(yī)療從業(yè)者交互的界面組成,其能將問題進行語義化分類,從而準確直觀地提供一系列實時的問答反饋[2]。近年來,問答系統(tǒng)技術(shù)發(fā)展迅速,尤其是在醫(yī)療領(lǐng)域,各類問答系統(tǒng)方案被提出,典型應用包括幫助患者回答問題的醫(yī)療助理、引導患者前往合適服務(wù)部門的醫(yī)療服務(wù)前臺等。
基于傳統(tǒng)知識圖譜問答的主要方式是先對問題進行實體關(guān)系抽取,再從知識圖數(shù)據(jù)庫中進行對應尾部實體的檢索,以此返回相應答案。然而,該方式在實際的應用中依舊存在著一定局限,倘若實體關(guān)系未被成功抽取,或?qū)嶓w關(guān)系不在相應的圖數(shù)據(jù)庫中,那么系統(tǒng)將無法回答用戶所提問題。
為了解決上述問題,本文對新的問答系統(tǒng)框架進行了探索,當接收到用戶的問題,該模型會首先對問題進行實體關(guān)系抽取,在圖數(shù)據(jù)庫中進行尾實體檢索以獲取答案。如果無法識別出相應實體和關(guān)系,系統(tǒng)會繼續(xù)嘗試第二條路徑,其方式是通過一個已訓練好的語義相似度匹配模型,將用戶所提問題與大型問答對中的問題進行相似度匹配,從而將與用戶問題相關(guān)的回復返回給用戶[3]。傳統(tǒng)的語義匹配模塊使用結(jié)構(gòu)相對簡易的記憶網(wǎng)絡(luò)模型,諸如MaLSTM[4],但其在中文數(shù)據(jù)集上訓練的效果較差;而傳統(tǒng)的BERT模型[5]雖然能顯著提高訓練效果,但準確率依舊不理想。本文針對具體任務(wù),在Sentence?BERT模型[6]進行微調(diào)訓練,并采用新的雙曲度量[7]方式,使該任務(wù)性能得到優(yōu)化,從而優(yōu)化整個問答系統(tǒng)。
1" 相關(guān)工作
1.1" 問答系統(tǒng)
Cui等人設(shè)計了一套基于知識庫的問答系統(tǒng)[8],他提出自然語言問題可以被理解,并設(shè)計了一種新的問句表示方法,能使問題精確地映射到基于知識庫的結(jié)構(gòu)化查詢中,然而該系統(tǒng)性能往往取決于模板的好壞。Huang等人提出了基于知識圖嵌入的問答系統(tǒng)[9],核心思想是:將每個謂詞、實體表示為一個低維向量,在KG嵌入空間中聯(lián)合恢復問題的核心實體、謂詞嵌入表示,通過聯(lián)合距離度量,計算所得向量在KG中最接近的事實并將其作為答案返回。然而該方法計算量較為龐大,準確性也較低。
1.2" 語義相似度判別模型
文獻[3]提出了一種基于ConvNet的卷積網(wǎng)絡(luò)變體,通過整合不同尺度下多個卷積之間的差異來推斷句子相似度,然而標記數(shù)據(jù)存在局限,限制了模型的性能。
Kiros等人通過在初始語料上訓練一個RNN編碼器來獲得句子向量,對于每個訓練樣本中出現(xiàn)的句子對,使用skip向量之間的差異和乘積的特征在數(shù)據(jù)集上訓練一個單獨的分類器進行語義判別,但是其中的語義屬性表現(xiàn)為間接表征,而非直接表征。
J. Mueller等人利用長短期記憶(Long Short?Term Memory, LSTM)網(wǎng)絡(luò)來計算兩個句子間的語義相似度[10],但LSTM無法從句中檢測出關(guān)鍵詞。
Bao等人提出分層BiLSTM?Attention模型來計算句子中的單詞權(quán)重,并將詞向量權(quán)重和作為句子表征,從而計算句子語義間的相似度,然而其難以捕獲細粒度特征[3]。
文獻[5]中提出了革命性語言模型BERT,其采用Transformer的雙向編碼器表示,通過對所有層的左右、上下文進行聯(lián)合條件化預訓練深度雙向表征,在文本處理任務(wù)中表現(xiàn)優(yōu)異。但由于其網(wǎng)絡(luò)的復雜性,在受到誤差干擾時性能容易下降。
2" 系統(tǒng)架構(gòu)
傳統(tǒng)的知識圖譜問答系統(tǒng)存在實體關(guān)系無法正確抽取或?qū)嶓w關(guān)系在知識圖譜中無法匹配這兩類問題,因而無法有效反饋問題答案。鑒于此,本文構(gòu)建了一種基于混合策略方式實現(xiàn)的醫(yī)療問答系統(tǒng),如圖1所示。
本文問答系統(tǒng)主要通過兩個路徑來解決用戶提問的反饋。首先,在第一條路徑對用戶所提問題進行自然語言理解,利用一個醫(yī)療領(lǐng)域的知識庫快速檢索查詢相關(guān)醫(yī)療問題并返回答案;其次,在知識庫無法查詢答案時系統(tǒng)會轉(zhuǎn)入第二條路徑,即通過語義匹配的方式,在一個醫(yī)療領(lǐng)域問答對數(shù)據(jù)庫中尋找最相似問題,并返回其對應答案。
2.1" 知識圖譜模塊
知識圖譜能應對海量的數(shù)據(jù)變化,以滿足和完成專業(yè)性比較強的領(lǐng)域的人工智能問答。本文使用的醫(yī)療知識圖譜用Neo4j進行存儲,其將結(jié)構(gòu)化數(shù)據(jù)存儲在網(wǎng)絡(luò)空間中,能以更自然的連接狀態(tài)存儲和管理相應數(shù)據(jù),且能提供高效的數(shù)據(jù)查詢與修改。
本文參考了liuhuanyong的開源中文醫(yī)療知識圖譜,其包含7類實體、10類關(guān)系和8類屬性,一共有約4.4萬量級的實體和30萬量級的關(guān)系。
系統(tǒng)的知識圖匹配可以分為4個步驟:
1) 用戶輸入問題;
2) 對問題進行意圖識別,意圖識別模塊使用Aho?Corasick算法提取疾病關(guān)鍵詞;
3) 在知識圖數(shù)據(jù)庫匹配答案;
4) 按照模板返回答案。
2.2" SBERT微調(diào)模型
本文使用中文醫(yī)療問答重復句子對作為原始數(shù)據(jù)來訓練語義匹配模型,訓練好的模型具備良好的中文醫(yī)療相關(guān)語句的向量化表示能力,當知識圖譜模塊無法識別出問題中的實體與關(guān)系時,問答系統(tǒng)將切換路徑,通過訓練好的語義相似度判斷模型匹配所提問題與大規(guī)模問答對問題中最相似的目標,返回其對應的答案。該方式必然會返回一個答案,即便答案可能與問題無關(guān),因此還需要設(shè)定一個閾值,當計算的語義相似度值超過該閾值時才返回答案,若無法超過閾值,系統(tǒng)返回諸如“無法理解”等模板來促使用戶重復提問。
本文采用基于SBERT微調(diào)的方式進行訓練。SBERT由Nils等人提出,是基于原始預訓練BERT網(wǎng)絡(luò)的變體。由于BERT網(wǎng)絡(luò)結(jié)構(gòu)沒有計算獨立的句子嵌入,使得利用BERT獲取句子嵌入十分困難。而為了突破這一限制,SBERT使用連體網(wǎng)絡(luò)架構(gòu)[6]來獲得有意義的句子嵌入,使用如余弦距離、曼哈頓距離等距離度量方式學習模型參數(shù),這些距離度量可以在現(xiàn)代化硬件上高效地執(zhí)行,使得SBERT既可用于句子的語義相似性判別,也可用于相似句搜索,能夠較好地適應于與句子相關(guān)的特定任務(wù)。
SBERT使用預訓練的BERT網(wǎng)絡(luò),通過微調(diào)產(chǎn)生有效的句子嵌入,從而大大減少訓練時間。SBERT對BERT的輸出進行池化操作,以此獲取固定維度的句子嵌入,模型默認采用均值池化。為了在BERT上進行微調(diào),模型使用連體網(wǎng)絡(luò)更新權(quán)重,使得生成的句子嵌入在語義上有意義,并且可以用余弦相似度等度量函數(shù)進行比較。
對于計算過程,SBERT計算兩個句子[u]和[v]之間的距離度量損失來優(yōu)化目標函數(shù)。本文的距離度量采用基于雙曲空間的雙曲距離度量而非傳統(tǒng)基于歐氏空間的歐氏距離度量,損失計算使用均方誤差,本文的相似度判別任務(wù)也使用了該體系結(jié)構(gòu),其計算流程[6]如圖2所示。
2.3" 雙曲距離度量
度量學習旨在學習一個高度判別的模型,該模型鼓勵相似的嵌入在向量空間中更接近,而差異越大的嵌入在向量空間中的距離將被拉得越遠[7]。常見的方法是使用編碼器來提取嵌入,并使用基于距離的損失函數(shù)進行嵌入學習。傳統(tǒng)的度量學習通常在歐氏空間中度量向量間的距離,而本文使用雙曲距離函數(shù)[7]進行度量學習,該距離函數(shù)能夠?qū)⑽谋厩度胗成渲岭p曲空間這類非歐氏空間,從而優(yōu)化對應的嵌入。
本文選擇雙曲空間中的龐家萊球模型,其流形[Dn={x∈Rn:cxlt;1,cgt;0}],使用黎曼度量,[gE]為歐氏張量,公式[7]如下:
[gD=λ2cgE" λc=21-cx2]" "(1)
在雙曲空間中,已知兩點[x,y∈Dn],兩點間距離計算公式[7]為:
[dD(x,y)=arccosh1+2x-y2(1-x2)(1-y2)] (2)
雙曲空間并非歐氏空間,為了執(zhí)行加法操作需引入新的計算形式。對于[x,y∈Dnc],它們在雙曲空間中的加法計算公式[7]為:
[x⊕y=1+2cx,y+cy2x+1-cx2y1+2cx,y+c2x2y2]" " " " " " " " " " (3)
對于[x,y∈Dnc],兩點間距離公式[7]為:
[dc(x,y)=2carctanhc-x⊕y] (4)
為訓練模型,句子轉(zhuǎn)化為向量后還會需將其投影至雙曲空間,以實現(xiàn)雙曲度量。
3" 實驗與分析
3.1" 實驗數(shù)據(jù)
在知識圖譜方面,本文在liuhuanyong的開源醫(yī)療知識圖譜上進行優(yōu)化,其底層已提供了一套基礎(chǔ)問答模型。本文設(shè)計的重點在于語義匹配模塊,采用基于雙曲度量的SBERT微調(diào)模型進行相應任務(wù)訓練。數(shù)據(jù)集方面,本文使用了中文醫(yī)療相似問題對CMedQA[11]作為訓練的原始數(shù)據(jù),這些相似問題對均與醫(yī)療相關(guān),在該數(shù)據(jù)集上訓練能使模型更準確地進行醫(yī)療語義判別。CMedQA訓練集約有20 000條數(shù)據(jù),正負樣本比例約為1∶1。此外,本文對該數(shù)據(jù)集做了一定腳本處理,數(shù)據(jù)集部分示例如表1所示。
為了驗證模型性能,本文還在Quaro英文重復句子對數(shù)據(jù)集上繼續(xù)進行實驗,其格式與中文數(shù)據(jù)集一致,共有10 000條數(shù)據(jù),其余設(shè)定均與中文數(shù)據(jù)集相同。對于問答對數(shù)據(jù),本文截取了CMedQA數(shù)據(jù)集[12]部分數(shù)據(jù)。
3.2" 實驗設(shè)置與評估方式
為了保證實驗的公平性,除了一些特別的設(shè)置,各模型都選取相同的參數(shù)值,數(shù)據(jù)集按照8∶1∶1的比例劃分為訓練集、驗證集、測試集。其余參數(shù)如向量維度為768,批處理大小為64,訓練輪數(shù)為10,本實驗使用準確率和F1值來評價模型的性能。
3.3" 實驗分析
3.3.1" 語義相似度模型評估
為了評估SBERT微調(diào)模型的性能,將其與幾種處理相似度任務(wù)的模型進行對比驗證,這些模型包括MaLSTM[4]、HBAM[3]和BERT[5],這幾類模型都在句子相似度任務(wù)上取得過良好性能,特別是BERT。表2為模型對比實驗結(jié)果,本文所使用的微調(diào)SBERT模型性能均優(yōu)于上述模型。
3.3.2" 不同相似度距離度量評估
為了驗證雙曲距離度量的效果,本文還結(jié)合5種不同的預訓練模型進行了進一步對比實驗,其中包括Mac?BERT[13]、Chinese?BERT?wwm?ext[14]、Chinese?RoBERTa?wwm?ext[15]、BERT?Base[5]、ALBERT[16],距離度量函數(shù)包括點積(dot)、歐氏距離(euclidean)、曼哈頓距離(manhattan)、余弦距離(cos)以及本文模型使用的雙曲距離(hyperbolic)。其中雙曲距離度量在各類模型上都具有更優(yōu)的效果,如表3所示。
3.3.3" 實驗結(jié)果分析
通過一系列實驗,可以得出基于雙曲度量的SBERT微調(diào)模型在處理本次中文醫(yī)療相似問題對任務(wù)上相較于其他與該任務(wù)相關(guān)的模型具有更強的性能,相比于性能優(yōu)越的BERT微調(diào)模型,其在準確率上提升了7.16%。證明本文模型通過對句子特定的池化和雙曲距離度量損失計算,能有效地將語義相似的句子嵌入在特征空間中拉近,將語義差別較大的句子嵌入在特征空間中拉遠,從而較好地提取句義特征。MaLSTM和HBAM在中文數(shù)據(jù)集上的效果明顯較差,原因是這類模型主要用于處理如英文這類固定分隔模式的句子,對中文句子所能捕獲到的信息有限。BERT能夠較好地捕獲語句中醫(yī)療相關(guān)詞匯的語義特征,但在該任務(wù)上容易過擬合,導致性能略受影響。
由表3可知,使用雙曲距離度量的SBERT性能均優(yōu)于其他不同的預訓練模型,這表明雙曲距離度量在語義判別任務(wù)上具備一定有效性,可將該度量進一步擴展至其他嵌入方面的應用。在ALBERT這類輕量級模型上,使用雙曲距離度量后性能提升較大,對比余弦距離度量在準確率上有2.28%的提升,F(xiàn)1值有1.58%的提升,這也表明雙曲距離度量對于一些輕量級模型性能有較大的提升。
3.4" 效果展示
本文構(gòu)建了一個GUI界面并手動提出了幾個醫(yī)學相關(guān)問題,界面展示如圖3所示。
圖3a)為原始的知識圖譜問答系統(tǒng),用戶在提出問題后,由于系統(tǒng)無法識別實體關(guān)系或?qū)嶓w關(guān)系在知識圖譜中不存在,無法作答;而圖3b)顯示在系統(tǒng)中加入本文所提的語義匹配模塊后,能在問答對數(shù)據(jù)集中匹配到相似問題,并返回此問題對應的答案,回答了圖3a)中未能回答的問題。
本文將語義判斷閾值設(shè)為0.5,即提出的問題與問答對中最相似問題的相似度高于0.5時系統(tǒng)才返回答案,圖3b)第三輪問答展示了該情況。
4" 結(jié)" 論
本文提出一種基于知識圖譜和語義相似度匹配的問答系統(tǒng),其充分利用了知識圖譜和語義匹配各自的優(yōu)勢,其中,知識圖譜能夠存儲結(jié)構(gòu)化數(shù)據(jù),并且能較好地維護和檢索特定領(lǐng)域的知識;語義匹配模塊是該系統(tǒng)的重點優(yōu)化模塊,通過在SBERT模型上微調(diào)訓練,并且結(jié)合一種新的雙曲距離度量,得到了一個能更好地理解自然語言問題的模型,通過該模型,系統(tǒng)能夠利用自然語言處理這類深度學習技術(shù)來進一步回答知識圖譜無法回答的問題。
然而,該系統(tǒng)也存在一定局限,即用戶在問題表達過程中可能會使用一些知識庫中醫(yī)學實體和關(guān)系的同義替換詞[9],這種情況下系統(tǒng)應能夠通過模糊匹配識別出相應的實體和關(guān)系,進而繼續(xù)在知識圖數(shù)據(jù)庫中進行查詢而非轉(zhuǎn)入第二條路徑,這一點有待于從圖嵌入技術(shù)方面進行探索。
注:本文通訊作者為徐若卿。
參考文獻
[1] 郝慧斌.基于SimCSE的疾病知識圖譜問答系統(tǒng)[J].電腦與信息技術(shù),2023,31(2):97?100.
[2] 李飛.基于知識圖譜的問答系統(tǒng)研究與實現(xiàn)[D].南京:南京郵電大學,2022.
[3] BAO Q, NI L, LIU J. HHH: an online medical chatbot system based on knowledge graph and hierarchical bi?directional attention [C]// Proceedings of the Australasian Computer Science Week Multiconference. Melbourne: ACM, 2020: 1?10.
[4] IMTIAZ Z, UMER M, AHMAD M, et al. Duplicate questions pair detection using siamese MaLSTM [J]. IEEE access, 2020(99): 21932?21942.
[5] DEVLIN J, CHANG M W, LEE K, et al. BERT: pre?training of deep bidirectional transformers for language understanding [EB/OL]. [2023?11?04]. https://www.xueshufan.com/publication/2896457183.
[6] REIMERS N, GUREVYCH I. Sentence?BERT: sentence embeddings using siamese BERT?Networks [EB/OL]. [2023?01?07]. https://www.xueshufan.com/publication/2971193649.
[7] GANEA O E, BéCIGNEUL G, HOFMANN T. Hyperbolic neural networks [C]// Proceedings of the 32nd International Conference on Neural Information Processing Systems. New York: ACM, 2018: 5350?5360.
[8] CUI W, XIAO Y, WANG H, et al. KBQA: learning question answering over QA corpora and knowledge bases [EB/OL]. [2023?07?11]. https://www.xueshufan.com/publication/2584356431.
[9] HUANG X, ZHANG J, LI D, et al. Knowledge graph embedding based question answering [C]// Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining. [S.l.]: ACM, 2019: 105?113.
[10] MUELLER J, THYAGARAJAN A. Siamese recurrent architectures for learning sentence similarity [EB/OL]. [2023?07?21]. https://www.xueshufan.com/publication/2508865106.
[11] ZHANG N, JIA Q, YIN K, et al. Conceptualized representation learning for chinese biomedical text mining [EB/OL]. [2023?05?11]. https://www.xueshufan.com/publication/3081505754.
[12] ZHANG S, ZHANG X, WANG H, et al. Multi?scale attentive interaction networks for chinese medical question answer selection [J]. IEEE, 2018(6): 74061?74071.
[13] CUI Y, CHE W, LIU T, et al. Pre?training with whole word masking for Chinese BERT [J]. IEEE/ACM transactions on audio, speech, and language processing, 2021(2): 3504?3514.
[14] CUI Y, CHE W, LIU T, et al. Revisiting pre?trained models for Chinese natural language processing [EB/OL]. [2023?05?16]. https://www.xueshufan.com/publication/3102725307.
[15] LIU Y, OTT M, GOYAL N, et al. RoBERTa: a robustly optimized BERT pretraining approach [EB/OL]. [2023?09?07]. https://www.xueshufan.com/publication/2965373594.
[16] LAN Z, CHEN M, GOODMAN S, et al. ALBERT: a lite BERT for self?supervised learning of language representations [EB/OL]. [2023?06?07]. https://www.xueshufan.com/publication/ 2975059944.
[17] 葉曉鵬.基于醫(yī)療知識圖譜自動問答系統(tǒng)的構(gòu)建研究[J].電腦知識與技術(shù),2023,19(9):22?24.
[18] 李賀,劉嘉宇,李世鈺,等.基于疾病知識圖譜的自動問答系統(tǒng)優(yōu)化研究[J].數(shù)據(jù)分析與知識發(fā)現(xiàn),2021,5(5):115?126.
[19] 周俊杰,田紫薇,周詩雨.基于知識圖譜的醫(yī)療智能對話機器人[J].信息技術(shù),2022,46(12):62?68.
[20] 李瑞東.基于知識圖譜的問答系統(tǒng)的研究與醫(yī)學場景應用[D].北京:北京郵電大學,2022.
作者簡介:徐若卿,男,湖北十堰人,碩士研究生,主要從事自然語言處理研究。