文|秦金龍 彭盼 陳放 王瑋琪
本文介紹了一款醫(yī)療導(dǎo)診對(duì)話管理系統(tǒng),其基于結(jié)構(gòu)深度嵌入(SDNE)和深度Q值網(wǎng)絡(luò)(DQN)的組合網(wǎng)絡(luò)對(duì)話策略優(yōu)化模型,可以實(shí)現(xiàn)多輪引導(dǎo)交互。其具有一定的“主觀能動(dòng)性”,可依據(jù)多輪對(duì)話中每個(gè)時(shí)間步的狀態(tài)主動(dòng)追問相關(guān)信息、主動(dòng)引導(dǎo)患者下一步動(dòng)作。搭載該對(duì)話管理系統(tǒng)的導(dǎo)診機(jī)器人,可以大大提升患者的就診體驗(yàn)和醫(yī)院的接診效率。
導(dǎo)診服務(wù)貫穿于患者看病的全過程,服務(wù)質(zhì)量對(duì)患者的整體體驗(yàn)有重要影響。由于醫(yī)院分工精細(xì),就診過程往往涉及不同的樓層區(qū)域,而目前醫(yī)院的服務(wù)體系并不完善,患者在進(jìn)入醫(yī)院環(huán)境時(shí)容易感到困惑,無(wú)法快速、順利地進(jìn)行咨詢,容易產(chǎn)生不耐煩和抵觸情緒,降低了醫(yī)療體驗(yàn)的滿意度和治療效率。
而現(xiàn)有導(dǎo)診機(jī)器人僅能被動(dòng)式回答患者問詢,無(wú)法依據(jù)當(dāng)前狀態(tài)引導(dǎo)或主動(dòng)追問必要的就醫(yī)信息,對(duì)于提升整體滿意度和治療效率作用有限。為了解決上述痛點(diǎn),本文設(shè)計(jì)了一款醫(yī)療導(dǎo)診對(duì)話管理系統(tǒng),其基于結(jié)構(gòu)深度嵌入(SDNE)和深度Q值網(wǎng)絡(luò)(DQN)的組合網(wǎng)絡(luò)對(duì)話策略優(yōu)化模型,可以實(shí)現(xiàn)多輪引導(dǎo)交互,可依據(jù)多輪對(duì)話中每個(gè)時(shí)間步的狀態(tài)主動(dòng)追問相關(guān)信息、主動(dòng)引導(dǎo)患者下一步動(dòng)作。
本文設(shè)計(jì)的醫(yī)療導(dǎo)診對(duì)話系統(tǒng)架構(gòu)主要包括兩部分:一是結(jié)構(gòu)深度嵌入(SDNE),二是深度Q值網(wǎng)絡(luò)(DQN)。我們使用結(jié)構(gòu)深度嵌入來(lái)獲取槽位節(jié)點(diǎn)的嵌入表示作為深度Q值網(wǎng)絡(luò)的輸入狀態(tài)特征S,并結(jié)合兩部分的損失函數(shù)進(jìn)行聯(lián)合優(yōu)化,從而得到給定狀態(tài)下的最佳動(dòng)作A。
我們把導(dǎo)診對(duì)話狀態(tài)統(tǒng)一定義為(槽位,槽值)對(duì),對(duì)話狀態(tài)包括(癥狀,*)、(疾病,*)、(科室,*)、(醫(yī)生,*)、(時(shí)間,*),(路線,*)。我們定義圖G(V,E),V為槽位節(jié)點(diǎn)集合,E為邊集合,以槽位之間的關(guān)系來(lái)定義邊,即可使用SDNE來(lái)獲取槽位節(jié)點(diǎn)的嵌入表示。直接相連的兩個(gè)槽位節(jié)點(diǎn)可以直接互相影響槽值的候選范圍,即用一階相似度來(lái)衡量其相似度;通過一個(gè)或多個(gè)節(jié)點(diǎn)間接相連的槽位節(jié)點(diǎn)可以間接影響槽值的候選范圍,即用二階相似度來(lái)衡量。
SDNE又可分為兩個(gè)組件:無(wú)監(jiān)督和有監(jiān)督部分。其中,無(wú)監(jiān)督部分是一個(gè)深度自編碼器用來(lái)學(xué)習(xí)二階相似度,監(jiān)督部分是一個(gè)拉普拉斯特征映射捕獲一階相似度。
二階相似度優(yōu)化目標(biāo):
這里我們使用圖的鄰接矩陣進(jìn)行輸入,對(duì)于第i個(gè)頂點(diǎn),pi包含了頂點(diǎn)i的鄰居結(jié)構(gòu)信息,這樣的重構(gòu)過程能夠使得結(jié)構(gòu)相似的頂點(diǎn)具有相似的嵌入表示。同時(shí),我們使用帶權(quán)損失函數(shù),使非零元素具有更高的懲罰系數(shù)。
SDNE整體優(yōu)化目標(biāo)即為:
依上所述,即可得到每一個(gè)槽位節(jié)點(diǎn)的嵌入表示,再將所有節(jié)點(diǎn)的嵌入表示直接拼接得到狀態(tài)特征S,并送入下一部分DQN。
DQN的輸出值,是在給定狀態(tài)S的情況下,執(zhí)行各行為A后能得到的獎(jiǎng)勵(lì)r總和,即Q值。不過,事實(shí)上我們很難知道最優(yōu)的Q值是什么,但獎(jiǎng)勵(lì)r卻是不變的,對(duì)狀態(tài)S,執(zhí)行動(dòng)作A,其得到的獎(jiǎng)勵(lì)r是不變的。因此我們從獎(jiǎng)勵(lì)r下手,讓預(yù)測(cè)Q值和真實(shí)Q值的比較問題轉(zhuǎn)換成讓模型實(shí)質(zhì)上在擬合獎(jiǎng)勵(lì)r的問題。
DQN的損失函數(shù)即可表示如下:
目標(biāo)Q值,即TargetQ為:
其中S為當(dāng)前狀態(tài)特征,A為當(dāng)前行為, 為執(zhí)行A后的下一個(gè)狀態(tài),為下一個(gè)行為,r為當(dāng)前問答行為的獎(jiǎng)勵(lì)信號(hào),γ為防止模型訓(xùn)練時(shí)不收斂的常數(shù),E為期望值函數(shù),均為網(wǎng)絡(luò)的權(quán)重參數(shù),后面詳述為什么區(qū)分兩個(gè)權(quán)重。上述公式的意義可以理解為:獎(jiǎng)勵(lì)r+下一狀態(tài)所能得到的最大Q值,減去這一步的Q值,它們的這個(gè)差就是真實(shí)獎(jiǎng)勵(lì)r減去現(xiàn)有模型認(rèn)為在狀態(tài)S下采取行為A時(shí)能得到的獎(jiǎng)勵(lì)值。
聯(lián)合損失函數(shù)即為:
對(duì)于上述目標(biāo)函數(shù),可直接采用梯度下降算法對(duì)其權(quán)重參數(shù)進(jìn)行求解。
本文實(shí)驗(yàn)數(shù)據(jù),由患者導(dǎo)診流程(尋找導(dǎo)診機(jī)器人、病情咨詢、了解醫(yī)生信息、獲取對(duì)應(yīng)科室、掛號(hào)繳費(fèi)、尋找科室)結(jié)合癥狀、疾病、科室、醫(yī)生、時(shí)間、路線等槽位節(jié)點(diǎn)之間的關(guān)系人工構(gòu)建。
多輪對(duì)話示例如下:
患者:恐高掛什么科?
導(dǎo)診:您好,恐高掛精神心理科。您需要掛精神心理科的號(hào)嗎?
患者:需要。
導(dǎo)診:精神心理科有張醫(yī)生、李醫(yī)生、王醫(yī)生。您可以直接說(shuō)掛某某醫(yī)生的號(hào),也可以查看某某醫(yī)生的簡(jiǎn)介。
患者:我要掛李醫(yī)生的號(hào)。
導(dǎo)診:好的,已為您掛李醫(yī)生的號(hào),請(qǐng)繳費(fèi)。
患者:(掃碼繳費(fèi))
導(dǎo)診:您已繳費(fèi)成功。需要我為您展示去精神心理科的地圖路線嗎?
患者:需要,謝謝。
實(shí)驗(yàn)評(píng)價(jià)機(jī)制如下:
任務(wù)完成率(Task Completion Rate)是指在所有對(duì)話任務(wù)中成功事件的占比。
任務(wù)完成成本(Task Completion Cost)是指完成任務(wù)所需的時(shí)間效率成本。即在完成同一個(gè)任務(wù)時(shí),對(duì)話輪數(shù)越少越好。
用戶模擬器提供基于預(yù)定義規(guī)則或模型模擬的用戶對(duì)話。有兩種用戶模擬器:一種是基于議程的模擬器,它只將預(yù)定義的用戶目標(biāo)作為用戶信息提供給對(duì)話系統(tǒng)。另一種是基于模型的模擬器,它使用給定約束信息的語(yǔ)言模型生成用戶話語(yǔ)。
我們使用不同的策略模型進(jìn)行實(shí)驗(yàn)對(duì)比,對(duì)比模型為DQN、Q-learning、SARSA以及本文構(gòu)造的SDNEDQN聯(lián)合模型。實(shí)驗(yàn)采用用戶模擬器進(jìn)行模型訓(xùn)練,最后通過用戶模擬器進(jìn)行各個(gè)模型的效果測(cè)試,通過人工自建數(shù)據(jù)集進(jìn)行完整對(duì)話系統(tǒng)的效果測(cè)試。自建醫(yī)療導(dǎo)診對(duì)話數(shù)據(jù)集是結(jié)合患者就醫(yī)流程與就診醫(yī)院相關(guān)信息構(gòu)建的,在真實(shí)生活中存在合理性。
用戶模擬器測(cè)試結(jié)果與自建數(shù)據(jù)集上測(cè)試結(jié)果如表1。
表1 用戶模擬器測(cè)試結(jié)果與自建數(shù)據(jù)集上測(cè)試結(jié)果
實(shí)驗(yàn)數(shù)據(jù)表明,在對(duì)話輪次的表現(xiàn)上,SDNE-DQN較其余三種模型均有更短的對(duì)話輪次;在對(duì)話成功率的表現(xiàn)上,SDNE-DQN同樣更高。而且,自建數(shù)據(jù)集上對(duì)話效果的差距高于用戶模擬器測(cè)試的結(jié)果,說(shuō)明了SDNEDQN模型的泛化性能優(yōu)于其他模型。
本文專注于醫(yī)療導(dǎo)診對(duì)話策略優(yōu)化,提出了結(jié)構(gòu)深度嵌入與深度Q值網(wǎng)絡(luò)聯(lián)合模型SDNE-DQN,該模型結(jié)合圖嵌入和強(qiáng)化學(xué)習(xí)最優(yōu)化對(duì)話反饋行為。依托于SDNE-DQN的導(dǎo)診機(jī)器人,交互簡(jiǎn)單,還具備一定的“主觀能動(dòng)性”,可依據(jù)當(dāng)前對(duì)話狀態(tài)主動(dòng)提示患者相關(guān)流程、主動(dòng)追問患者正確就診需要提供的信息,大大降低交互成本,對(duì)患者情緒穩(wěn)定、流暢就醫(yī)有很大幫助,同時(shí)對(duì)于醫(yī)院降低管理運(yùn)營(yíng)成本、緩解人滿為患和實(shí)現(xiàn)智能信息化也有很大積極作用。