葉曉鵬
關(guān)鍵詞:深度學(xué)習(xí);知識圖譜;自動問答;醫(yī)療領(lǐng)域
0 引言
近年來,隨著計算機(jī)技術(shù)和新一代信息技術(shù)的發(fā)展,基于人工智能的自動問答系統(tǒng)也被廣泛應(yīng)用到各個行業(yè)[1-14],但是隨著海量數(shù)據(jù)爆發(fā)式的增長,現(xiàn)階段的知識圖譜也不能滿足高效化、智能化、專業(yè)化應(yīng)用的需求,需要更新的知識圖譜構(gòu)建方法和技術(shù)出現(xiàn),以應(yīng)對海量數(shù)據(jù)的變化,來滿足和完成專業(yè)性比較強(qiáng)的領(lǐng)域的人工智能問答。
為此,國內(nèi)外專家在知識圖譜自動問答研究上開展不同的研究。Kumar A J[1](2017) 使用基于知識圖的結(jié)構(gòu)化數(shù)據(jù)構(gòu)建語音識別和語言理解相結(jié)合的統(tǒng)一系統(tǒng),有助于將語義豐富的數(shù)據(jù)模型用于語音接口;Lukovnikov[2](2017) 則訓(xùn)練了一個神經(jīng)網(wǎng)絡(luò),以端到端的方式回答簡單的問題,而所有決策都留給了模型;張勝[3](2017) 使用了字向量的表示形式,減少了不準(zhǔn)確性對后續(xù)匹配模型的負(fù)面級聯(lián)影響;余傳明[4](2019)提出了一種新的知識圖譜對齊模型。解決了領(lǐng)域知識融合過程中所帶來的冗余和不一致問題;趙毓誠[5](2019) 針對目前航空不安全事件存在知識圖譜讀取困難的問題,設(shè)計實現(xiàn)了一個文獻(xiàn)領(lǐng)域知識圖譜輔助構(gòu)建系統(tǒng);張崇宇[6](2019) 提出了知識圖譜構(gòu)建與知識圖譜自動問答系統(tǒng)的解決方案,并完成了醫(yī)療輔助問診服務(wù)平臺的設(shè)計與實現(xiàn);張志昌等人[7](2020) 提出一種雙向門控循環(huán)單元(GRU)和雙重注意力機(jī)制結(jié)合的中文電子病歷醫(yī)療實體關(guān)系識別方法,構(gòu)建BiGRU-Dual Attention模型,獲取更細(xì)粒度的特征;邵紅[8](2020) 設(shè)計并實現(xiàn)了基于自由文本的問題生成模型,提高了指定答案自動生成自然語言形式的準(zhǔn)確率;馬滿福等人[9](2020) ,針對中文分詞的特點,利用電子住院記錄利用Glove模型訓(xùn)練醫(yī)學(xué)詞向量;黃偉等人[10](2021) 使用戶能夠在線實時得到醫(yī)療問題的解答,從而提高用戶體驗;李學(xué)亮[11](2021) 針對機(jī)器對用戶問題理解有偏差的問題,通過對用戶問題進(jìn)行意圖識別的方法來解決;張明磊[12](2021) 通過對醫(yī)療開源數(shù)據(jù)的融合,以Web 端作為交互平臺,實現(xiàn)了基于醫(yī)療疾病知識圖譜的問答系統(tǒng),幫助患者查詢相關(guān)疾病信息;李百合[13](2022) 針對失智患者常伴隨精神行為癥狀且家庭護(hù)理者缺乏專業(yè)知識,提出了一種解決家庭照護(hù)者在失智照護(hù)過程中遇到的棘手問題方法;程子佳等人[14](2022) 針對問答系統(tǒng)存在理解能力和查全率不足的問題,設(shè)計并實現(xiàn)了基于知識圖譜的自動問答模型,優(yōu)化提升了查詢率。
為此,本文在前人研究的基礎(chǔ)上,構(gòu)建一個醫(yī)療領(lǐng)域知識圖譜的自動問答系統(tǒng),通過解析問句意圖進(jìn)行命名實體識別,測試實驗結(jié)果表明本方法能夠?qū)崿F(xiàn)醫(yī)療領(lǐng)域自動問答。
1 相關(guān)理論及需求分析
研究成果表明早期的問答系統(tǒng)大多是基于專家系統(tǒng)設(shè)計和構(gòu)建的,系統(tǒng)常見的是關(guān)系型的數(shù)據(jù)庫,系統(tǒng)對于存在的問題,常見的處理方式是將問題轉(zhuǎn)換為查詢語句,通過到現(xiàn)有的數(shù)據(jù)庫中自動查詢答案,該方法不但耗時費力,而且可解決的自動問答問題類型和數(shù)量有限。而基于知識圖譜的問答系統(tǒng),通過引入知識圖譜的概念,直接通過檢索系統(tǒng)知識庫比對完成問答任務(wù)。
1.1 語義解析知識庫問答
語義解析得到了一個句子的邏輯表示,再根據(jù)邏輯表示到知識庫里查詢,也就是針對一個工作是進(jìn)行類型審查,審查每個算符是否具有語言規(guī)范KB-QA的思路是通過對自然語言進(jìn)行語義上的分析,轉(zhuǎn)化成為一種能夠讓知識庫看懂的語義表示,進(jìn)而通過知識庫中的知識,進(jìn)行推理(Inference) 查詢(Query) ,得出最終的答案。簡而言之,語義解析要做的事情,是將自然語言的問題轉(zhuǎn)化為一種能夠讓知識庫“看懂”的語義表示,這種語義表示即邏輯形式(Logic Form) 。語法解析的過程可以看作是自底向上構(gòu)造語法樹的過程,樹的根節(jié)點,就是該自然語言問題最終的邏輯形式表達(dá)。
1.2 基于深度學(xué)習(xí)的問答
構(gòu)建傳統(tǒng)的問答系統(tǒng)主要是將機(jī)器層次較低學(xué)習(xí)模型改進(jìn),用手工的方法構(gòu)造基本特征,而對于不同領(lǐng)域的數(shù)據(jù)處理,不同形式問句都缺少靈活性,還需要有經(jīng)驗的人員進(jìn)行數(shù)據(jù)標(biāo)注和特征模型提取,工作量大且質(zhì)量不高,無法適應(yīng)多樣性的問題。近年來,深度學(xué)習(xí)在許多領(lǐng)域的研究中已得到了不錯的成效,表示出了其突出的知識學(xué)習(xí)能力。問答系統(tǒng)中必須處理的重要問題是:怎樣完成用戶的提出的問句與結(jié)果的語義表達(dá)與匹配的問題、針對問答系統(tǒng)要解決的關(guān)鍵問題。
2 知識圖譜的自動問答
2.1 知識圖譜問答方法
基于知識圖譜的自動問答是利用自然語言處理技術(shù),分析理解用戶提問,進(jìn)一步在系統(tǒng)知識庫中檢索查詢,進(jìn)行比對和整理,才將歸納的答案返還給用戶。知識圖譜問答的方法路線常見的有兩種:基于語義解析的查詢方法和基于向量建模的排序方法。基于語義解析的查詢方法是對用戶提出的自然語言問句解析,提取問句中的實體,判別用戶意圖,為了使機(jī)器能夠理解和執(zhí)行,將其轉(zhuǎn)換為對應(yīng)的語義表示,并使用該語義表示對應(yīng)執(zhí)行結(jié)構(gòu)化的查詢語句,從而在知識圖譜中得到精準(zhǔn)的答案?;谙蛄拷5呐判蚍椒ㄊ且环N端到端的方法,它在知識圖譜中依靠用戶輸入的自然語言問句進(jìn)行子圖定位,找到有關(guān)的待篩選候選答案后,利用排序模型或者分類模型對待篩選候選答案評價打分,取滿足設(shè)定閾值的得分最高的答案作為結(jié)果返回給用戶。
2.2 知識圖譜構(gòu)建流程
對于領(lǐng)域知識圖譜模式層的構(gòu)建,常常通過構(gòu)建上下混合模式的方法來實現(xiàn)。該方法有兩種構(gòu)建模式:自頂向下和自底向上。這種方法主要是通過迭代和不斷優(yōu)化,進(jìn)一步生成設(shè)計預(yù)期要求的醫(yī)療領(lǐng)域知識圖譜。該設(shè)計方法有自頂向下的模式層設(shè)計、數(shù)據(jù)采集與信息抽取、自底向上的模式層優(yōu)化和知識連接四個步驟,具體構(gòu)建方法如圖1所示。
(1) 自頂向下的模式層設(shè)計過程:主要是建立一個基礎(chǔ)的領(lǐng)域知識圖譜模式層,從而幫助下一步要進(jìn)行的數(shù)據(jù)采集和信息抽取。
(2) 數(shù)據(jù)采集與信息抽取過程。主要是分為數(shù)據(jù)采集和信息抽取。利用相關(guān)技術(shù)對數(shù)據(jù)進(jìn)行采集和整理,從而幫助下一步要進(jìn)行的模式層優(yōu)化的資源。
(3) 自底向上的模式層優(yōu)化。主要通過構(gòu)建輔助知識圖譜模式層,進(jìn)一步地優(yōu)化和完善現(xiàn)有的模式層知識體系。
(4) 知識連接。首先將知識元素添加到對應(yīng)的數(shù)據(jù)層中,再通過模式層的關(guān)系連接起來不同的實體,從而形成知識圖譜的數(shù)據(jù)內(nèi)容和應(yīng)用的數(shù)據(jù)。
3 實驗與結(jié)果分析
3.1 系統(tǒng)環(huán)境部署
問答系統(tǒng)常見的數(shù)據(jù)結(jié)構(gòu)設(shè)計主要使用Python和PHP 兩種語言。這兩種語言的主要功能分別是進(jìn)行自然語言處理和實現(xiàn)系統(tǒng)頁面,他們的部分代碼通常分別部署在阿里云服務(wù)器和新浪云服務(wù)器上。
3.2 功能需求分析
系統(tǒng)用戶通過前端交互頁面訪問系統(tǒng),對醫(yī)療領(lǐng)域相關(guān)問題進(jìn)行提問,系統(tǒng)通過對用戶輸入的理解分析,在知識圖譜中查詢相關(guān)答案并將結(jié)果返還給用戶。系統(tǒng)功能主要有5點:
(1) 可視化的交互界面。交互界面用戶提供了文本輸入入口,提示用戶操作方式,用戶通過文本輸入框?qū)栴}傳輸給后端系統(tǒng)處理,在系統(tǒng)中檢索答案并接收系統(tǒng)答案輸出。
(2) 對用戶輸入的處理及時處理。系統(tǒng)后端需要對用戶的輸入進(jìn)行接收并作相應(yīng)處理,在前端頁面展示給用戶。
(3) 用戶日志的存儲。對于用戶的搜索進(jìn)行記錄并保存,方便進(jìn)行多輪對話的處理。
(4) 醫(yī)療數(shù)據(jù)的更新。定時爬取醫(yī)療疾病知識圖譜的數(shù)據(jù)信息,與現(xiàn)有數(shù)據(jù)庫對比,進(jìn)行人工校驗更新。
(5) 自動問答。對于接收到的問題輸入,通過算法的分析提取出問句實體和問句意圖,嵌入定義好的Cypher 查詢語句中,進(jìn)行檢索并返還給用戶。
3.3 測試結(jié)果與分析
本文提出了實體關(guān)系抽取模型,首先是將雙向GRU加入到句子編碼階段中,再使用字級注意力機(jī)制提高字權(quán)重,接著采用句子級注意力機(jī)制,最后獲取更多語句的特征,該方法主要通過增大正確標(biāo)注的句子權(quán)重,提高系統(tǒng)自動問答的能力。具體數(shù)據(jù)如表1所示。
從圖2可知,通過對自動問答的精確率P、數(shù)據(jù)的召回率R和系統(tǒng)的F1值測試,本文構(gòu)建的方法優(yōu)于其他傳統(tǒng)的三種遠(yuǎn)程監(jiān)督方法,本文的方法不需要人工構(gòu)建特征,就能夠準(zhǔn)確學(xué)習(xí)到句子的語義信息。同時因為加入字級和句子級注意力機(jī)制,進(jìn)一步有效緩解標(biāo)簽錯誤的問題。
同時,如果當(dāng)用戶在問句中沒有找到自己需要對應(yīng)的答案時或者屬于一般的閑聊語句時,系統(tǒng)會接入閑聊模式進(jìn)行答復(fù),其測試效果如圖3所示。
4 結(jié)束語
隨著新一代信息技術(shù)的發(fā)展,醫(yī)療自動問答應(yīng)用更加廣泛,然而現(xiàn)有的問答系統(tǒng)的效果并不太理想,為此,本文提出一種構(gòu)建醫(yī)療領(lǐng)域知識圖譜方法,該方法主要通過解析問句意圖進(jìn)行命名實體識別,測試表明本方法優(yōu)于其他三種遠(yuǎn)程監(jiān)督方法。雖然基于深度學(xué)習(xí)的答案排序法略顯優(yōu)勢,但是依然存在一定的不足,同時缺乏泛化性、可解釋性,對時序性問題不能很好回答,所以進(jìn)一步地提升知識圖譜自動問答系統(tǒng),需要我們更加深入的研究。