文|秦金龍 彭盼 陳放 王瑋琪
本文介紹了一款醫療導診對話管理系統,其基于結構深度嵌入(SDNE)和深度Q值網絡(DQN)的組合網絡對話策略優化模型,可以實現多輪引導交互。其具有一定的“主觀能動性”,可依據多輪對話中每個時間步的狀態主動追問相關信息、主動引導患者下一步動作。搭載該對話管理系統的導診機器人,可以大大提升患者的就診體驗和醫院的接診效率。
導診服務貫穿于患者看病的全過程,服務質量對患者的整體體驗有重要影響。由于醫院分工精細,就診過程往往涉及不同的樓層區域,而目前醫院的服務體系并不完善,患者在進入醫院環境時容易感到困惑,無法快速、順利地進行咨詢,容易產生不耐煩和抵觸情緒,降低了醫療體驗的滿意度和治療效率。
而現有導診機器人僅能被動式回答患者問詢,無法依據當前狀態引導或主動追問必要的就醫信息,對于提升整體滿意度和治療效率作用有限。為了解決上述痛點,本文設計了一款醫療導診對話管理系統,其基于結構深度嵌入(SDNE)和深度Q值網絡(DQN)的組合網絡對話策略優化模型,可以實現多輪引導交互,可依據多輪對話中每個時間步的狀態主動追問相關信息、主動引導患者下一步動作。
本文設計的醫療導診對話系統架構主要包括兩部分:一是結構深度嵌入(SDNE),二是深度Q值網絡(DQN)。我們使用結構深度嵌入來獲取槽位節點的嵌入表示作為深度Q值網絡的輸入狀態特征S,并結合兩部分的損失函數進行聯合優化,從而得到給定狀態下的最佳動作A。

我們把導診對話狀態統一定義為(槽位,槽值)對,對話狀態包括(癥狀,*)、(疾病,*)、(科室,*)、(醫生,*)、(時間,*),(路線,*)。我們定義圖G(V,E),V為槽位節點集合,E為邊集合,以槽位之間的關系來定義邊,即可使用SDNE來獲取槽位節點的嵌入表示。直接相連的兩個槽位節點可以直接互相影響槽值的候選范圍,即用一階相似度來衡量其相似度;通過一個或多個節點間接相連的槽位節點可以間接影響槽值的候選范圍,即用二階相似度來衡量。
SDNE又可分為兩個組件:無監督和有監督部分。其中,無監督部分是一個深度自編碼器用來學習二階相似度,監督部分是一個拉普拉斯特征映射捕獲一階相似度。
二階相似度優化目標:

這里我們使用圖的鄰接矩陣進行輸入,對于第i個頂點,pi包含了頂點i的鄰居結構信息,這樣的重構過程能夠使得結構相似的頂點具有相似的嵌入表示。同時,我們使用帶權損失函數,使非零元素具有更高的懲罰系數。

SDNE整體優化目標即為:

依上所述,即可得到每一個槽位節點的嵌入表示,再將所有節點的嵌入表示直接拼接得到狀態特征S,并送入下一部分DQN。
DQN的輸出值,是在給定狀態S的情況下,執行各行為A后能得到的獎勵r總和,即Q值。不過,事實上我們很難知道最優的Q值是什么,但獎勵r卻是不變的,對狀態S,執行動作A,其得到的獎勵r是不變的。因此我們從獎勵r下手,讓預測Q值和真實Q值的比較問題轉換成讓模型實質上在擬合獎勵r的問題。
DQN的損失函數即可表示如下:

目標Q值,即TargetQ為:

其中S為當前狀態特征,A為當前行為, 為執行A后的下一個狀態,為下一個行為,r為當前問答行為的獎勵信號,γ為防止模型訓練時不收斂的常數,E為期望值函數,均為網絡的權重參數,后面詳述為什么區分兩個權重。上述公式的意義可以理解為:獎勵r+下一狀態所能得到的最大Q值,減去這一步的Q值,它們的這個差就是真實獎勵r減去現有模型認為在狀態S下采取行為A時能得到的獎勵值。
聯合損失函數即為:

對于上述目標函數,可直接采用梯度下降算法對其權重參數進行求解。
本文實驗數據,由患者導診流程(尋找導診機器人、病情咨詢、了解醫生信息、獲取對應科室、掛號繳費、尋找科室)結合癥狀、疾病、科室、醫生、時間、路線等槽位節點之間的關系人工構建。
多輪對話示例如下:
患者:恐高掛什么科?
導診:您好,恐高掛精神心理科。您需要掛精神心理科的號嗎?
患者:需要。
導診:精神心理科有張醫生、李醫生、王醫生。您可以直接說掛某某醫生的號,也可以查看某某醫生的簡介。
患者:我要掛李醫生的號。
導診:好的,已為您掛李醫生的號,請繳費。
患者:(掃碼繳費)
導診:您已繳費成功。需要我為您展示去精神心理科的地圖路線嗎?
患者:需要,謝謝。
實驗評價機制如下:
任務完成率(Task Completion Rate)是指在所有對話任務中成功事件的占比。
任務完成成本(Task Completion Cost)是指完成任務所需的時間效率成本。即在完成同一個任務時,對話輪數越少越好。
用戶模擬器提供基于預定義規則或模型模擬的用戶對話。有兩種用戶模擬器:一種是基于議程的模擬器,它只將預定義的用戶目標作為用戶信息提供給對話系統。另一種是基于模型的模擬器,它使用給定約束信息的語言模型生成用戶話語。
我們使用不同的策略模型進行實驗對比,對比模型為DQN、Q-learning、SARSA以及本文構造的SDNEDQN聯合模型。實驗采用用戶模擬器進行模型訓練,最后通過用戶模擬器進行各個模型的效果測試,通過人工自建數據集進行完整對話系統的效果測試。自建醫療導診對話數據集是結合患者就醫流程與就診醫院相關信息構建的,在真實生活中存在合理性。
用戶模擬器測試結果與自建數據集上測試結果如表1。

表1 用戶模擬器測試結果與自建數據集上測試結果
實驗數據表明,在對話輪次的表現上,SDNE-DQN較其余三種模型均有更短的對話輪次;在對話成功率的表現上,SDNE-DQN同樣更高。而且,自建數據集上對話效果的差距高于用戶模擬器測試的結果,說明了SDNEDQN模型的泛化性能優于其他模型。
本文專注于醫療導診對話策略優化,提出了結構深度嵌入與深度Q值網絡聯合模型SDNE-DQN,該模型結合圖嵌入和強化學習最優化對話反饋行為。依托于SDNE-DQN的導診機器人,交互簡單,還具備一定的“主觀能動性”,可依據當前對話狀態主動提示患者相關流程、主動追問患者正確就診需要提供的信息,大大降低交互成本,對患者情緒穩定、流暢就醫有很大幫助,同時對于醫院降低管理運營成本、緩解人滿為患和實現智能信息化也有很大積極作用。