武家偉,孫艷春,3+
1.北京大學(xué) 信息科學(xué)技術(shù)學(xué)院,北京 100871
2.北京大學(xué) 高可信軟件技術(shù)教育部重點實驗室,北京 100871
3.北京大學(xué)(天津濱海)新一代信息技術(shù)研究院,天津 300450
隨著互聯(lián)網(wǎng)的發(fā)展,近幾年,出現(xiàn)了很多互聯(lián)網(wǎng)醫(yī)療服務(wù),例如騰訊醫(yī)療、尋醫(yī)問藥、好大夫等。它們掌握著龐大的疾病、醫(yī)院等結(jié)構(gòu)化信息,但提供給用戶的服務(wù)非常有限。多數(shù)服務(wù)網(wǎng)站僅僅提供檢索和在線咨詢醫(yī)生等功能,少數(shù)網(wǎng)站提供簡單的疾病自診服務(wù),但多數(shù)僅允許用戶輸入一個癥狀關(guān)鍵詞,給出的疾病列表冗長,使用并不方便,缺乏醫(yī)生醫(yī)院的智能推薦服務(wù)。而在日常生活中,人們經(jīng)常需要根據(jù)癥狀確定自己可能患有的疾病,并需要尋找對這類疾病診治效果出色的醫(yī)院及相應(yīng)醫(yī)生,上述的互聯(lián)網(wǎng)醫(yī)療服務(wù)無法滿足這樣的需求。
為此,本文提出了一種基于知識圖譜、深度學(xué)習(xí)和社交媒體構(gòu)建問診推薦系統(tǒng)的設(shè)計與實現(xiàn)方法。以尋醫(yī)問藥網(wǎng)站結(jié)構(gòu)化的疾病信息構(gòu)建“疾病-癥狀”知識圖譜,從多個方面的信息出發(fā)為用戶提供疾病自診服務(wù),同時利用知識圖譜的結(jié)構(gòu)化信息挖掘用戶可能患有的潛在疾病,豐富推薦選項。以好大夫網(wǎng)站的評論數(shù)據(jù)為樣本,結(jié)合現(xiàn)有的服務(wù)質(zhì)量評價指標分析北京各家醫(yī)院醫(yī)生的服務(wù)質(zhì)量,從多個維度為用戶提供醫(yī)生醫(yī)院推薦服務(wù)。
本文的主要貢獻包括以下幾個方面:
(1)設(shè)計實現(xiàn)了一種基于知識圖譜的疾病診斷算法,查詢知識圖譜獲取初始疾病推薦備選集,基于知識圖譜嵌入模型,利用知識圖譜結(jié)構(gòu)化信息豐富疾病備選集,使之更為容易推薦出用戶可能潛在的疾病,提高推薦準確率。
(2)根據(jù)患者評論等社交媒體數(shù)據(jù),創(chuàng)新性地結(jié)合現(xiàn)有的醫(yī)療服務(wù)質(zhì)量評價指標以及深度學(xué)習(xí)方法,給出了醫(yī)生醫(yī)院的評分模型,為用戶提供醫(yī)生推薦服務(wù)。
傳統(tǒng)的疾病診斷包括基于代數(shù)運算和基于推薦系統(tǒng)兩類方法。目前普遍認為醫(yī)療診斷存在著大量不完整、不確定和不一致的信息,因此,許多學(xué)者選擇采用FS(fuzzy set)和NS(neutrosophic set)去建模癥狀和疾病之間的關(guān)聯(lián),并將患者癥狀的FS 或NS 與不同疾病之間進行相似度比較確診用戶患有的疾病。例如,De 等人將FS 引入疾病診斷任務(wù)中[1],Ye 等人則是基于單值NS,使用多種相似度計算方法完成疾病診斷任務(wù)[2-4]?;谕扑]系統(tǒng)的思路,Davis 等人根據(jù)用戶的診斷記錄以及患者畫像預(yù)測患者未來患某疾病的概率[5],Ali 等人則是將NS 與推薦系統(tǒng)結(jié)合起來,構(gòu)建NRS(neutrosophic recommender system)完成疾病診斷任務(wù)[6-7]。
隨著機器學(xué)習(xí)的流行,越來越多的學(xué)者嘗試使用機器學(xué)習(xí)技術(shù)完成疾病診斷任務(wù)。Raval等人基于患者癥狀關(guān)鍵詞以及化驗數(shù)據(jù),使用反向傳播算法訓(xùn)練單層神經(jīng)網(wǎng)絡(luò),完成疾病診斷任務(wù)[8]。除此之外,還有一些學(xué)者根據(jù)醫(yī)學(xué)圖像來為患者確定可能患有的疾病,例如Acharya 等人基于心電圖,使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)識別心肌梗塞的發(fā)生[9],Esteva 等人同樣使用CNN 完成了皮膚癌的分類工作[10],更多類似的工作可以參考文獻[11]。
綜合分析,基于FS 和NS 的疾病診斷算法需要對病癥進行細致的建模,與用戶輸入的自然語言文本差距較大,并不便于用戶使用。基于推薦系統(tǒng)的方法則需要大量用戶的歷史診療數(shù)據(jù),涉及到用戶隱私。而且,上面兩種方法都未考慮年齡、性別等對疾病診斷的影響。在現(xiàn)有的可以借鑒的以機器學(xué)習(xí)為基礎(chǔ)的工作中,多數(shù)都使用了醫(yī)院的化驗數(shù)據(jù)等,在本文用戶自診的應(yīng)用情境中,這樣的方法參考意義并不明顯。
知識圖譜是結(jié)構(gòu)化的語義知識庫,用于以符號形式描述物理世界中的概念及其相互關(guān)系。其基本組成單位是“實體-關(guān)系-實體”三元組,以及實體及其相關(guān)屬性-值對,實體間通過關(guān)系相互聯(lián)結(jié),構(gòu)成網(wǎng)狀的知識結(jié)構(gòu)[12]。醫(yī)療知識圖譜作為知識圖譜的子集,針對其構(gòu)建方法以及應(yīng)用場景,學(xué)術(shù)界已經(jīng)開展了許多研究工作。
國內(nèi)外知名的醫(yī)療知識圖譜包括DrugBank(https://www.drugbank.ca/)、SNOMEDCT(systematized nomenclature of medicine-clinical term)(http://www.snomed.org/)、CMeKG(Chinese medical knowledge graph)(http://zstp.pcl.ac.cn:8002/)等。在學(xué)術(shù)研究領(lǐng)域,學(xué)者基于EHR(electronic health records)構(gòu)建了多種用途的知識圖譜。Rotmensch 等人通過貝葉斯網(wǎng)絡(luò)從EHR 中抽取醫(yī)學(xué)概念,獲得實體和關(guān)系,構(gòu)建了“疾病-癥狀”的知識圖譜[13]。Wang 等人提出了一種SMR(safe medicine recommendation)的框架,根據(jù)EHR,并融合ICD-9 ontology 和DrugBank 等其他數(shù)據(jù)來源構(gòu)建“病人-疾病-藥物”的知識圖譜,并訓(xùn)練知識圖譜嵌入,使用其連接預(yù)測任務(wù)完成藥物推薦[14]。Li 等人則是給出了從EHR 中構(gòu)建知識圖譜的八個經(jīng)典步驟,指出他們構(gòu)建的知識圖譜可以用于醫(yī)療診斷輔助系統(tǒng)、醫(yī)療信息檢索和知識遷移等場景[15]。同樣,也有學(xué)者對醫(yī)療知識圖譜的構(gòu)建進行了綜述性的研究。侯夢薇等人就醫(yī)學(xué)知識表示、醫(yī)學(xué)知識抽取和醫(yī)學(xué)知識融合等核心技術(shù)方面對當下各種模型做了介紹和評判,同時他們也對當下醫(yī)療知識圖譜的應(yīng)用場景做了歸納:臨床決策支持系統(tǒng)、醫(yī)療語義搜索引擎、醫(yī)療問答系統(tǒng)等[16]。
綜合分析,特定的醫(yī)療服務(wù)需求通常需要構(gòu)建特定的醫(yī)療知識圖譜。目前,通過EHR 數(shù)據(jù)構(gòu)建知識圖譜的技術(shù)已經(jīng)相當成熟,這些方法普遍需要從半結(jié)構(gòu)化文本中抽取醫(yī)學(xué)概念,過程涉及機器學(xué)習(xí)等自然語言處理手段,較為復(fù)雜。然而,對于本文疾病診斷的功能需求,構(gòu)建“疾病-癥狀”知識圖譜即可,使用互聯(lián)網(wǎng)上大量已有的可靠來源的結(jié)構(gòu)化疾病信息,可以極大降低構(gòu)建知識圖譜的復(fù)雜性。
情感分析(sentiment analysis)是對人們關(guān)于商品、服務(wù)、組織、人、事件及其屬性等的觀點、情感和情緒等主觀性信息的提取和分析[17]。醫(yī)療評論的情感分析大致可以分為兩類:情感極性分析和情感屬性提取。
對于情感極性分析,Qiu 和Biyani 等人對CSN(cancer survivors' network)的評論構(gòu)建學(xué)習(xí)模型,對文本情感極性進行二分類,以此建模用戶情感狀態(tài)變化,輔助社區(qū)更好地提供服務(wù)[18-19]。Salas-Zárate 等人結(jié)合糖尿病醫(yī)學(xué)模型知識,使用N-gram 對于糖尿病相關(guān)的推特進行了情感極性分類[20]。對于情感屬性提取,Hao 等人基于好大夫醫(yī)療網(wǎng)站2006—2014 年的評論數(shù)據(jù),構(gòu)建了隱狄利克雷分配(latent Dirichlet allocation,LDA)模型,抽取出來了療效、尋醫(yī)過程等主題模型,并進行了簡單的情感分析[21]。
綜合分析,醫(yī)療評論的情感分析技術(shù)并不先進,沒有使用當下熱門的深度學(xué)習(xí)模型,且多數(shù)工作停留在分析情感本身,沒有從情感信息中進一步挖掘可用信息,如服務(wù)滿意度等。本文將會結(jié)合醫(yī)療服務(wù)評價指標,對情感信息進一步挖掘,構(gòu)建醫(yī)生醫(yī)院服務(wù)質(zhì)量評價模型,用于推薦服務(wù)。
本文構(gòu)建的問診推薦系統(tǒng)的架構(gòu)圖如圖1 所示。該推薦系統(tǒng)接受用戶輸入的癥狀信息,包括癥狀關(guān)鍵詞(必需)、癥狀描述、年齡和性別等,最終推薦的結(jié)果包括最有可能的三種疾病和相應(yīng)推薦就醫(yī)的醫(yī)院及醫(yī)生。推薦系統(tǒng)主要包括兩個服務(wù):疾病診斷服務(wù)和醫(yī)生推薦服務(wù)。推薦步驟總共包括四步,分別為構(gòu)建疾病備選集、擴展疾病備選集、篩選排序和醫(yī)生醫(yī)院推薦等。下面將會依次講解問診推薦系統(tǒng)的實現(xiàn)。
本文選擇尋醫(yī)問藥網(wǎng)站的數(shù)據(jù)為來源構(gòu)建知識圖譜。尋醫(yī)問藥網(wǎng)站是一家互聯(lián)網(wǎng)醫(yī)療健康服務(wù)平臺,作為該行業(yè)的先驅(qū)品牌,成立數(shù)十年來多次獲獎,在互聯(lián)網(wǎng)醫(yī)療中具有廣泛影響力(http://www.xywy.com/about/index.html)。本文使用了尋醫(yī)問藥網(wǎng)站上公開的8 802 種疾病信息(截止到2020 年2月),包含的內(nèi)容主要有疾病癥狀描述、疾病癥狀關(guān)鍵詞、疾病易患人群、疾病發(fā)病率、疾病科室、疾病的并發(fā)癥等信息。
Fig.1 Framework of recommendation system for medical consultation圖1 問診推薦系統(tǒng)框架圖
由于尋醫(yī)問藥網(wǎng)站的信息多為結(jié)構(gòu)化的,本文進行了簡單的預(yù)處理,主要從易患人群進一步抽取易患人員性別和易患人員年齡等信息。其中年齡根據(jù)360 百科新年齡分段(https://baike.so.com/doc/7018130-7241025.html#7018130-7241025-1)信息,并稍做修改,分為胎兒、嬰幼兒、少兒、青少年、青年、中年和老年等7 個年齡分段。結(jié)合本文的功能需求,本文最終設(shè)計的知識圖譜結(jié)構(gòu)如表1 和表2 所示。
Table 1 Entities of knowledge graph表1 知識圖譜實體
Table 2 Relations of knowledge graph表2 知識圖譜關(guān)系
本文使用Neo4j(https://neo4j.com/x)圖數(shù)據(jù)庫存儲知識圖譜。構(gòu)建完畢后,知識圖譜一共包含實體15 418 個,關(guān)系85 303 個。
本文選擇好大夫網(wǎng)站評論作為數(shù)據(jù)來源。好大夫網(wǎng)站是一個互聯(lián)網(wǎng)醫(yī)療平臺,成立于2006 年,業(yè)務(wù)發(fā)展廣泛,在醫(yī)院/醫(yī)生信息查詢、圖文問診、電話問診、門診預(yù)約等領(lǐng)域取得顯著成果,受到了醫(yī)生、患者的廣泛認可(https://www.haodf.com/info/aboutus.php)。本文使用了好大夫網(wǎng)站2018 年和2019 年的公開數(shù)據(jù),包括各大醫(yī)院在線醫(yī)生的評論數(shù)據(jù)共133 667 條。
本文對好大夫網(wǎng)站的評論數(shù)據(jù)進行了預(yù)處理,刪除無效的中英文字符,使用Python 第三方開源庫zhconv(https://github.com/gumblex/zhconv)對評論文本進行繁簡體轉(zhuǎn)換,同時為了修正評論文本口語化表達中的一些常見錯誤,本文使用Python 第三方開源庫pycorrector(https://github.com/shibing624/pycorrector)對評論文本進行語言糾錯。
為了從評論數(shù)據(jù)獲得醫(yī)院服務(wù)質(zhì)量的評估,本文從SERVQUAL 模型出發(fā)標注評論數(shù)據(jù)。SERVQUAL模型由Berry 等人于1988 年提出,用于衡量服務(wù)質(zhì)量,包含5 個維度,分別為Tangibles(用于衡量服務(wù)提供商環(huán)境設(shè)施及服務(wù)人員外表等方面的表現(xiàn))、Reliability(用于衡量服務(wù)提供商兌現(xiàn)承諾的能力)、Responsiveness(用于衡量服務(wù)提供商幫助顧客迅速提高服務(wù)的愿望)、Assurance(用于衡量服務(wù)人員的知識、禮節(jié)以及表達出自信和可信能力)、Empathy(用于衡量服務(wù)提供商關(guān)心并為顧客提高個性化服務(wù)的愿望和能力)[22]。隨后,Babakus 和Mangold 對SERVQUAL 的每個維度進行了一些修改,并將其應(yīng)用到醫(yī)院醫(yī)療服務(wù)的評價,驗證了SERVQUAL 評價醫(yī)療服務(wù)質(zhì)量的合理性[23]。
本文對SERVQUAL 模型也進行了微調(diào),給出了評論標注的原則。由于好大夫網(wǎng)站數(shù)據(jù)鮮有涉及到評價醫(yī)院硬件設(shè)施以及醫(yī)護人員著裝等的評論,因此舍棄Tangibles 評價維度。另外,在醫(yī)療評論數(shù)據(jù)中,關(guān)于Responsiveness 和Empathy 的評價內(nèi)容過于相近,因此本文將兩者合并為一個評價維度,記為R&E。Reliability 對應(yīng)于評論中對于療效的描述,常見的表述有“病情有所好轉(zhuǎn)”“病情反而加重了”等;R&E 對應(yīng)于評論中關(guān)于醫(yī)生診療態(tài)度的描述,常見的表述有“醫(yī)生非常耐心,和藹可親”“醫(yī)生非常不耐煩”等;Assurance 對應(yīng)于評論中患者對醫(yī)生治療水平的整體評價,常見的表述有“醫(yī)術(shù)高超”“水平一般”等。每個維度標注的情感極性有三種:積極、中性和消極,標注評論共6 019 條。
本文使用BERT(bidirectional encoder representations from transformers)[24]模型進行患者評論分析,BERT 模型由Google 于2018 年提出,相比于已有的預(yù)訓(xùn)練語言模型如ELMo(embeddings from languages models)[25]等模型,BERT 創(chuàng)新之處在于雙向Transformer 模型的使用。BERT 由Google 在33 億詞的語料上,使用16 個TPU(tensor processing unit)集群,以Masked LM 和Next Sentence Prediction 作為訓(xùn)練任務(wù)得到,代價昂貴,但是同時它的表現(xiàn)也非常亮眼,一經(jīng)提出便刷新了GLUE(general language understanding evaluation)中11 個自然語言處理任務(wù)中的最佳成績。本文加載官方中文預(yù)訓(xùn)練模型chinese_L-12_H-768_A-12(https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip),并在下游根據(jù)任務(wù)進行微調(diào)設(shè)計BERT 模型。按照9∶1 比例劃分標注評論數(shù)據(jù)集為訓(xùn)練集和驗證集,最終在驗證集上的表現(xiàn)如表3~表5 所示。
根據(jù)3 個維度的混淆矩陣,得到BERT 模型在3個維度的精確率分別為78.4%、88.1%、93.4%;召回率分別為86.7%、87.5%、97.2%。由于第三維度缺少真實的消極評論數(shù)據(jù),它的結(jié)果偏離統(tǒng)計規(guī)律,因此最終精確率和召回率計算消除了該部分的影響,效果良好。本文基于醫(yī)療服務(wù)質(zhì)量評價指標,使用深度學(xué)習(xí)模型分析評論的情感極性,后文將會基于此結(jié)果給出醫(yī)生、醫(yī)院的綜合評分。
Table 3 Validation performance on reliability dimension表3 Reliability 維度驗證結(jié)果
Table 4 Validation performance on R&E dimension表4 R&E 維度驗證結(jié)果
Table 5 Validation performance on Assurance dimension表5 Assurance維度驗證結(jié)果
2.3.1 構(gòu)建疾病備選集
該部分主要根據(jù)用戶輸入的關(guān)鍵詞信息,匹配知識圖譜中的疾病,并按照疾病發(fā)病率和關(guān)鍵詞匹配程度對可能的疾病進行排序,關(guān)鍵詞匹配程度在排序中擁有更高的優(yōu)先級,篩選出前15 個疾病作為備選集。
2.3.2 擴展疾病備選集
為了提高疾病診斷的準確性,本文選擇以TransD[26]模型訓(xùn)練知識圖譜嵌入,該模型在TransE[27]、TransH[28]和TransR[29]等模型上發(fā)展而來。TransE 模型由Bordes 等人提出,主要理論基礎(chǔ)是詞向量平移不變性。TransE 模型認為關(guān)系向量r是頭實體向量h到尾實體向量t的平移,即:
其中,h表示頭實體向量,r表示關(guān)系向量,t表示尾實體向量。該模型假設(shè)同一實體在任何關(guān)系下的表示都是一樣的,因此TransE 模型在處理一對一關(guān)系時表現(xiàn)良好,然而針對一對多、多對多等復(fù)雜關(guān)系時稍顯乏力。為此,TransH 模型被提出,它認為頭實體向量和尾實體向量需要在關(guān)系向量的超平面上做投影,即:
然后成立:
其中,wr表示關(guān)系向量r的超平面的法向量。TransH模型的弊端在于它仍然假設(shè)實體和關(guān)系處于相同的語義空間,這限制了它的表達能力。而TransR 模型在此基礎(chǔ)上,更進一步使用投影矩陣(Mr)完成了投影操作,即:
但是對于同一關(guān)系,TransR 模型給出的投影矩陣是完全相同的,并沒有考慮到頭尾實體之間的差異性,且其投影操作涉及到矩陣計算,訓(xùn)練復(fù)雜度大大提高。
而TransD 模型認為投影是實體與關(guān)系之間的交互,并不僅僅只與關(guān)系有關(guān),并且TransD 的計算復(fù)雜度相對于TransR 有所降低。它給出的投影矩陣及h⊥和t⊥計算如下:
本文使用OpenKE[30]實現(xiàn)TransD 模型,從全局的圖譜結(jié)構(gòu)信息給出關(guān)系和實體的向量表示,并根據(jù)歐式距離的相近,給出與備選集中每種疾病最相似的疾病,加入備選集。此舉意在挖掘用戶可能患有的潛在疾病,豐富推薦選項,提高疾病診斷的準確率。
2.3.3 篩選排序
該部分根據(jù)用戶i輸入的4 個維度對備選集中的疾病打分并排序,選擇最高的3 種疾病推薦給用戶。對于某個疾病j,其評分公式為:
其中,Sage、Ssex、Skey、Sdes分別表示疾病j在易患人群年齡、易患人群性別、癥狀關(guān)鍵詞和疾病描述等方面與用戶i輸入的相似度。其中年齡和性別相似度的判斷都是基于簡單的字符串匹配。Skey的計算公式如下:
其中,Keyi、Keyj分別表示用戶i輸入的癥狀關(guān)鍵詞集合和疾病j擁有的癥狀關(guān)鍵詞集合。
Sdes的計算方法為將疾病備選集的描述作為文本集合D,并對其進行分詞處理,去除中文停用詞,中文停用詞表參考百度公司提供的停用詞表(https://github.com/goto456/stopwords/blob/master/baidu_stopwords.txt)。設(shè)最終得到的詞匯集合為{t1,t2,…,tn},然后針對文本集合中的每個文本按照TF-IDF(term frequencyinverse document frequency)算法計算所有詞語的TFIDF 值,得到TF-IDF 矩陣:
其中,tfidfij表示詞語ti在文本Dj中的TF-IDF 取值。最后對用戶輸入的疾病癥狀描述也通過相似的方法計算其TF-IDF 向量,隨后與矩陣M中的行向量按照余弦相似度計算方法得到備選集中每個疾病的Sdes。
在前面的章節(jié)中,本文已經(jīng)使用BERT 模型對評論進行了情感極性分析工作,得到了所有醫(yī)生評論中3 個維度的好評數(shù)量、差評數(shù)量和中性評價數(shù)量。本文基于威爾遜區(qū)間法給出醫(yī)生乃至相應(yīng)科室的評分,威爾遜計算公式如下(https://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval):
其中,p表示好評率,n表示評論總數(shù),zα為分位數(shù),用于表述該分數(shù)的置信度。威爾遜區(qū)間法具有良好的區(qū)分度,同時也具有如下性質(zhì):
(1)得分歸一化;
(2)當p不變時,n越大,分子減小速度小于分母減小速度,得分越高,當n趨近于無窮大時,得分趨近于p。換言之,該評分方式在總評論數(shù)量高時會認為好評率可靠,而在總評論數(shù)量較少時認為好評率不可靠,這符合認知。
在實際應(yīng)用的過程中,本文選擇zα為2(即置信度約為95%),并對威爾遜區(qū)間法做了一點改動。威爾遜區(qū)間法適用的前提是僅存在正面和負面兩種評論,但是本文實際應(yīng)用場景中有中性評論。因此,在計算好評率的時候,本文將一半的中性評論當作正面評論,另外一半歸為負面評論。
在獲得醫(yī)生和醫(yī)院科室的評分信息之后,根據(jù)2.3.3 小節(jié)得到的疾病信息,選擇相應(yīng)的科室,推薦4個最好的醫(yī)院,每家醫(yī)院推薦4 位最好的醫(yī)生。本文還加入了一些經(jīng)驗規(guī)則:優(yōu)先推薦在好大夫網(wǎng)站統(tǒng)計中相應(yīng)科室在全國名列前茅的醫(yī)院以及優(yōu)先推薦類別更高的醫(yī)院,如三甲醫(yī)院等。
本文從年齡、性別、關(guān)鍵詞和癥狀描述4 個角度出發(fā),綜合給出可能患有的疾病。同時,本文利用知識圖譜的結(jié)構(gòu)信息給出用戶可能潛在患有的疾病,豐富了推薦選項。而目前的工業(yè)界以及學(xué)術(shù)界沒有類似的工作出現(xiàn),于是,本文采取構(gòu)建測試集的做法進行疾病診斷算法的準確性驗證。
本文從尋醫(yī)問藥網(wǎng)站選擇各個科室常見的50 種疾病,例如感冒、鼻炎、中耳炎等,然后結(jié)合百度百科網(wǎng)站上的疾病癥狀信息,使用自然語言重新組織,作為假想用戶癥狀描述輸入,結(jié)合尋醫(yī)問藥網(wǎng)站關(guān)鍵詞信息,構(gòu)建用戶測試用例。此為測試集T1。測試集T2是在測試集T1中每條疾病增加一定量并發(fā)癥的關(guān)鍵詞信息作為混淆得到,并發(fā)癥信息從尋醫(yī)問藥網(wǎng)站獲取。
在測試集上,算法運行的結(jié)果如表6 所示??梢钥吹?,在加入并發(fā)癥信息后,算法的準確度有了較大的下滑。一方面是因為額外信息的干擾,另一方面,某些疾病由于其本身癥狀關(guān)鍵詞不多,加入并發(fā)癥關(guān)鍵詞后導(dǎo)致混淆效果放大。此外,由于百度百科與尋醫(yī)問藥網(wǎng)站疾病信息來源并不相同,兩者對于同一疾病的描述不盡相同。例如疾病唇炎,百度百科上給出了多種分類,如肉芽腫性唇炎、光化性唇炎等,而尋醫(yī)問藥網(wǎng)站,對于唇炎僅僅給出了一般的癥狀描述,這也是導(dǎo)致準確率不夠理想的一個原因。盡管算法在有些樣例中并不能準確地診斷出患者患有的疾病,但是給出的推薦結(jié)果中包含了與之相似的疾病或者相同科室的疾病,這樣的結(jié)果可以接受。
Table 6 Accuracy of disease diagnosis algorithm表6 疾病診斷算法驗證準確率 %
該部分的驗證采取問卷調(diào)查的方式。問卷主要面向北京大學(xué)學(xué)生,問卷選擇了3 種在學(xué)生群體比較常見的疾病呼吸道感染、蕁麻疹和鼻炎。每種疾病設(shè)置了相同的問題,詢問對象是否患有過該疾病,是否在北京地區(qū)治療過該疾病以及對本文推薦系統(tǒng)給出的醫(yī)生和醫(yī)院推薦的認可度。最終回收問卷57份,驗證結(jié)果如表7 所示。
Table 7 Result of questionnaire表7 問卷調(diào)查結(jié)果
在所有患過該疾病并在北京地區(qū)就診過的調(diào)查對象中,鼻炎部分僅有1 例醫(yī)生推薦錯誤,蕁麻疹部分僅有2 例醫(yī)院推薦錯誤和3 例醫(yī)生推薦錯誤,呼吸道感染部分僅有1 例醫(yī)院推薦錯誤和1 例醫(yī)生推薦錯誤。綜合問卷結(jié)果,本文提出的問診推薦系統(tǒng)對醫(yī)院推薦的準確度為93.57%,對醫(yī)生推薦準確度為90.91%,效果良好。
本文設(shè)計實現(xiàn)了一種醫(yī)療問診推薦系統(tǒng),構(gòu)建“疾病-癥狀”知識圖譜為用戶提供疾病自診服務(wù),同時利用社交媒體的評論數(shù)據(jù),結(jié)合質(zhì)量服務(wù)評價指標,使用深度學(xué)習(xí)模型給出醫(yī)院醫(yī)生的服務(wù)質(zhì)量評價模型,為用戶提供更好的推薦服務(wù)。
相比于已有的互聯(lián)網(wǎng)醫(yī)療服務(wù),本文構(gòu)建的系統(tǒng)允許用戶輸入性別等多方面的信息,綜合給出合理的疾病推薦。同時,本文利用了知識圖譜的結(jié)構(gòu)化信息,可以挖掘用戶可能患有的潛在疾病,豐富推薦選項。本文還創(chuàng)新性地將醫(yī)療評論和醫(yī)療服務(wù)質(zhì)量掛鉤,為用戶提供更加開放合理的推薦服務(wù)。
本文的工作仍有許多可以改進的地方:(1)本文構(gòu)建的知識圖譜比較簡單,沒有對病人群體進行更多特征的刻畫,例如既往病史、吸煙史等,未來可以考慮將知識圖譜擴充為“病人-疾病-癥狀”的模式。(2)本文對醫(yī)療服務(wù)質(zhì)量的評估并未涉及到醫(yī)院技術(shù)水平等信息,而這本身也是SERVQUAL 模型的一個缺陷。早在1990 年,Bopp 便已經(jīng)指出患者的評價不能衡量醫(yī)院服務(wù)的技術(shù)水平[31],Brown 和Swartz 也在使用SERVQUAL 模型時發(fā)現(xiàn)醫(yī)院的技術(shù)水平實際上也是醫(yī)院服務(wù)質(zhì)量的重要一環(huán)[32]。未來可以考慮從其他數(shù)據(jù)來源刻畫醫(yī)院的技術(shù)水平信息。