国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于多源情境協(xié)同感知的藥品推薦

2020-08-25 07:34:16廖祥文劉同柱童貴顯
計算機研究與發(fā)展 2020年8期
關(guān)鍵詞:文檔藥品建模

鄭 值 徐 童 秦 川 廖祥文 鄭 毅 劉同柱 童貴顯

1(中國科學技術(shù)大學計算機學院 合肥 230027)2(福州大學數(shù)學與計算機科學學院 福州 350116)3(華為技術(shù)有限公司 杭州 310051)4(中國科學技術(shù)大學附屬第一醫(yī)院 合肥 230027)(zhengzhi97@mail.ustc.edu.cn)

隨著人口的增長與老齡化的加劇,人們對于高質(zhì)量醫(yī)療服務(wù)的需求不斷攀升,醫(yī)療系統(tǒng)的接診壓力與日俱增.根據(jù)國家衛(wèi)健委所發(fā)布的全國醫(yī)療衛(wèi)生統(tǒng)計數(shù)據(jù)顯示(1)2018年1~10月全國醫(yī)療服務(wù)情況. http://www.nhc.gov.cn/mohwsbwstjxxzx/s7967/201901/296ad9bb4a594a60b8755e7dcfff0f20.shtml,2018年1~11月,全國醫(yī)院診療人次共32.3億人次,同比增長5.3%.與之相對應(yīng)的是,截止2019年,我國每千人口醫(yī)生數(shù)為2.59人(2)國家衛(wèi)健委:我國每千人口醫(yī)生數(shù)達到2.59人. http://news.cctv.com/2019/09/26/ARTIWoF5GSg6C8JBZIBRsFaL190926.shtml,與發(fā)達國家相比仍有著較大的差距,也導致了醫(yī)護人員沉重的負擔和醫(yī)療資源巨大的缺口.因此,若能有效借助人工智能技術(shù),實現(xiàn)患者病情的智能化診斷與藥品推薦,將極大地提高醫(yī)療系統(tǒng)運行效率,提升我國醫(yī)療服務(wù)的整體質(zhì)量.

幸運的是,隨著信息技術(shù)在醫(yī)療行業(yè)的普及,電子病歷(electronic medical record, EMR)開始被各大醫(yī)院廣泛采用.通過醫(yī)療記錄的數(shù)字化,海量豐富的診療信息,如患者的病程記錄、檢查檢驗結(jié)果、醫(yī)囑、手術(shù)記錄、藥品記錄等得以記錄,并有力支撐下游由大數(shù)據(jù)驅(qū)動的各種智能應(yīng)用.在此基礎(chǔ)上,相關(guān)領(lǐng)域的學者們展開了一系列的研究,并在智能導診[1]、醫(yī)療影像分析[2]和慢性病隨訪[3]等方面取得了不錯的成效.但在面向醫(yī)療文本的智能化診斷與藥品推薦方面,受限于數(shù)據(jù)、技術(shù)等方面的原因,進展尚較為緩慢.首先,我國電子病歷推廣較晚,導致目前可靠的醫(yī)療數(shù)據(jù)來源較少,且存在數(shù)據(jù)積累較少、各科室數(shù)據(jù)無法關(guān)聯(lián)的問題.其次,與傳統(tǒng)的推薦系統(tǒng)類似,藥品推薦問題對數(shù)據(jù)質(zhì)量較為敏感,也極大地影響了其推薦的效果,主要體現(xiàn)在3個方面:1)絕大多數(shù)患者僅有一次就診記錄,不可能采用常規(guī)的個性化推薦技術(shù)加以建模;2)疾病分布嚴重不均,常見疾病占據(jù)了絕大多數(shù)的病歷記錄,而小眾人群和罕見疾病則嚴重稀疏,難以保障其推薦質(zhì)量;3)疾病的癥狀之間存在較高比例的重疊.以本次爆發(fā)的新冠肺炎為例,其早期癥狀與其他肺炎乃至普通流感有著頗多相似之處,即使有經(jīng)驗的醫(yī)生也存在誤判的風險.上述3個方面最終導致了一個共同的結(jié)果,即推薦的藥品傾向大眾化,缺乏面向特定人群、特定疾病的針對性.因此,我們迫切需要一種更為精細的推薦方法,以提升藥品推薦的精確性和針對性.

與此同時,我們注意到電子病歷在記錄病人病情與診療過程的同時,也往往記錄一些周邊的情境信息,如患者的個人情況、開支、就診時間等.而這些信息可望為我們實現(xiàn)人群細分的針對性診斷和開藥帶來新的線索.例如,通過就診時間追溯天氣、溫度的變化,有助于我們診斷部分心腦血管或上呼吸道疾??;又如,根據(jù)病人是否采用醫(yī)保支付,可以在確定推薦藥品的品種時有所取舍.一個典型的例子是,在空氣污染較為嚴重的時段,“流涕”對應(yīng)抗過敏藥物的概率要高于一般時段,因為此時這一癥狀更可能由于污染而非常規(guī)感冒導致.顯而易見,借助情境感知數(shù)據(jù)挖掘技術(shù),將為我們解決前述的困境提供了新的思路.

然而,這些數(shù)據(jù)同時也帶來了新的難點,即如何綜合考慮這些情境信息以實現(xiàn)有效診療.一方面,情境信息多屬多源異構(gòu)數(shù)據(jù),面臨信息不全、結(jié)構(gòu)不統(tǒng)一的問題,除部分結(jié)構(gòu)化數(shù)據(jù)外,還有大量信息以半結(jié)構(gòu)化或非結(jié)構(gòu)化文本的形式存儲,處理起來較為困難;另一方面,情境信息對于藥品的影響方式不同,如患者的性別和年齡的不同會導致患者適用藥品的不同,而患者發(fā)病時的天氣、溫差等外界因素,則會導致患者易發(fā)不同的疾病,從而間接影響醫(yī)生為患者所開的藥品.因此倘若籠統(tǒng)地對所有的情境信息進行不加區(qū)分的建模,則可能削弱這些信息所起到的貢獻.此外,最為重要的是,情境信息的類別多種多樣,每種類別又對應(yīng)著多種取值,若按照傳統(tǒng)推薦系統(tǒng)的做法將每種組合當成一個“用戶”,在情境信息數(shù)量較多時組合數(shù)也會迅速增加,帶來“維度災(zāi)難”的問題,從而導致對訓練數(shù)據(jù)量的需求過大,在實際應(yīng)用中難以取得良好的效果.

為了解決上述的問題,本文提出了一個基于多源情境協(xié)同感知的藥品推薦方法Medicine-LDA(以下簡稱MLDA).事實上,本文通過模擬現(xiàn)實中醫(yī)生對病人的診斷過程進行建模.在實際診療過程中,醫(yī)生首先獲取患者主訴并進行體格檢查,然后進行必要的化驗,通過化驗所得的異常結(jié)果以及主訴和體格檢查中的信息綜合判斷患者所患疾病,進而考慮患者的年齡、醫(yī)保等情境信息,給出一組合適的藥品.受此啟發(fā),本文通過4個步驟對此過程進行建模:

1) 提取數(shù)據(jù)中患者的主訴文本與檢查檢驗異常,使用詞袋模型將其綜合為一個文檔,用此文檔代表此患者,稱之為病情文檔;

2) 使用主題模型對病情文檔進行建模,假設(shè)該文檔擁有一個潛在主題,該潛在主題代表患者所患疾病,擁有對應(yīng)的藥品分布和詞分布;

3) 將患者對應(yīng)所有情境信息綜合為一個文檔,稱之為情境文檔,使用LDA模型對其進行建模,獲得患者的情境主題分布;

4) 假設(shè)情境主題對于患者所患疾病和患者適用藥品均會造成影響,使用一個統(tǒng)一的概率模型框架融合藥品主題和情境主題,從而對情境信息、病情信息和藥品信息綜合建模.

本文的主要貢獻包括3個方面:

1) 提出一種基于LDA的情境信息處理方法,將患者的情境信息表示為情境主題分布,解決了不同情境信息組合數(shù)過多的問題.

2) 提出一種通用的融合情境信息的主題模型,該模型在融合情境信息時,同時考慮了情境信息對于患者易患疾病的影響和患者適用藥品的影響,能夠更有效地對情境信息的作用進行建模,并且具有良好的可擴展性與可解釋性.

3) 在一個真實的來自大型三甲醫(yī)院的數(shù)據(jù)集上進行了充分的實驗,實驗結(jié)果表明本文方法在藥品推薦上具有較好的有效性,證實了模型的實際應(yīng)用價值.

1 相關(guān)工作

本節(jié)從藥品推薦系統(tǒng),情境感知推薦系統(tǒng)以及主題模型3個方面介紹本文的相關(guān)工作.

1.1 藥品推薦系統(tǒng)

目前,關(guān)于藥品推薦的研究并不十分廣泛,大部分藥品推薦主要是利用用戶與藥品的交互記錄,基于協(xié)同過濾技術(shù)來進行推薦.如文獻[4]為了解決協(xié)同過濾推薦精度低的問題,提出基于用戶相似度和信任度的藥品推薦算法.該方法通過對藥品聚類來降低時間復(fù)雜度,引入共同評分藥品閾值和相似度閾值輔助選取相似鄰居,并根據(jù)用戶推薦可信度和評分可信度建立相似計算模型,從而提高系統(tǒng)推薦精度.文獻[5]在用戶評分相似度的基礎(chǔ)上,引入人口屬性相似度,通過加權(quán)線性融合來得到用戶相似度.文獻[6]提出利用聚類和基于用戶的協(xié)同推薦算法對網(wǎng)上購藥的用戶進行個性化藥品推薦.針對協(xié)同過濾冷啟動以及數(shù)據(jù)稀疏性等問題,提出使用張量分解對用戶、癥狀、藥品三者進行建模.

以上研究均使用傳統(tǒng)協(xié)同過濾中針對用戶和物品的交互關(guān)系進行推薦的思想,并且僅使用患者對藥品的打分以及患者的癥狀等簡單信息描述一名患者.然而在實際應(yīng)用中,患者的數(shù)量巨大,且絕大多數(shù)患者的記錄數(shù)據(jù)較少,使用協(xié)同過濾的方法難以擴展至醫(yī)院等大型醫(yī)療場所.另外,由于藥品推薦的特殊性,僅僅使用患者口述癥狀和患者對藥品的打分記錄對患者進行刻畫是十分不準確的.因此,以上方法由于模型本身的缺陷以及使用信息的不全面,難以實現(xiàn)有效的落地應(yīng)用.

1.2 情境感知推薦系統(tǒng)

傳統(tǒng)推薦系統(tǒng),如基于內(nèi)容的推薦與協(xié)同過濾等方法,忽略了用戶在不同情況下會具有不同的偏好行為[7].因此,研究者們提出了“情境感知”的數(shù)據(jù)挖掘技術(shù)以提升推薦的效果.所謂“情境”,指所有與人機交互相關(guān)的,用于區(qū)分標定當前特殊場景的信息.由于相同用戶在不同情境下的喜好往往不同,基于情境感知的推薦系統(tǒng)可以根據(jù)用戶所處的特定境況來給出更相關(guān)的推薦結(jié)果.文獻[8]對情境感知推薦系統(tǒng)進行了較為詳細的綜述,指出情境感知推薦系統(tǒng)中的推薦流程可以有情境預(yù)過濾、情境后過濾、情境建模3種形式.其中,情境建模方法直接在推薦中把情境信息作為預(yù)測的顯式因素來考慮,是研究最為廣泛的情境感知方法.例如文獻[9]提出將情境信息作為特征維度加入推薦系統(tǒng)的表示向量空間中來進行情境建模.該文使用支持向量機(support vector machine, SVM)作為分類器,證實了情境感知的SVM推薦效果優(yōu)于非情境感知SVM.而文獻[10]使用張量分解的方法,對情境信息與基于隱式反饋的協(xié)同過濾進行了結(jié)合,并針對評價指標MAP進行了優(yōu)化.

在藥品推薦系統(tǒng)中,情境信息泛指一切影響患者病情與適用藥品的因素.例如患者的性別、年齡、醫(yī)保信息等內(nèi)因會影響到患者的適用藥品,當?shù)氐奶鞖狻夭畹韧庖驎绊懟颊叩囊谆技膊〔㈤g接影響患者藥品.本文提出了一個能夠有效融合各類情境信息的藥品推薦系統(tǒng),能解決藥品推薦實際應(yīng)用中的問題.

1.3 主題模型

主題模型(topic model)是對語料庫中的隱含語義結(jié)構(gòu)進行聚類的統(tǒng)計模型,被廣泛應(yīng)用于自然語言處理中的語義分析和文本挖掘問題.隱含狄利克雷分布(latent Dirichlet allocation, LDA)是最常見的主題模型[11],其假設(shè)文檔以一定的概率選擇某個潛在主題,再從主題中以一定的概率選擇一個單詞,從而生成整個語料庫.LDA可以通過引入外部標簽信息進行各種擴展,如Labeled-LDA(LLDA)[12]是對LDA模型在多標簽語料庫中的擴展,其假設(shè)語料庫中的標簽與潛在主題一一對應(yīng),從而使得模型直接學習外部標簽與文檔詞之間的關(guān)系,在文檔多標簽學習任務(wù)中取得了較好的效果,Author-Topic Model(ATM)[13]在LDA中融合了作者信息,從而獲得不同作者對于不同主題的偏好.擴展過的主題模型可以被應(yīng)用于推薦系統(tǒng),如文獻[14-16]利用主題模型對推特標簽進行推薦,文獻[17-18]利用主題模型對微博等文檔進行推薦.

通過LDA模型得到的主題本質(zhì)是隱式地學習得到詞語之間的共現(xiàn)關(guān)系,此類方法在文檔平均單詞數(shù)較多的語料中效果較好,而面對如推特、短信息的平均詞數(shù)較短的文本時,由于短文本中的詞語共現(xiàn)不夠頻繁,此類方法效果往往不佳.有部分工作針對這一問題進行了研究,如文獻[19]提出Twitter-LDA,假設(shè)每個文檔僅有一個主題,并使用一個伯努利分布判斷文檔中的詞語屬于主題詞還是背景詞,全部的主題詞均由文檔的唯一主題對應(yīng)的詞分布生成,在推特數(shù)據(jù)集上的實驗證實Twitter-LDA在推特文本數(shù)據(jù)集中可以比LDA取得更好的效果.文獻[20]提出BTM(biterm topic model),直接對整個語料庫中的詞語共現(xiàn)關(guān)系進行顯式的建模,從而緩解了短文本中詞語共現(xiàn)次數(shù)不足的問題.實驗表明BTM不僅在短文本上的表現(xiàn)超過LDA,并且在長文本上也取得了優(yōu)于LDA的效果.本文基于文獻[19]加以改進,假設(shè)每篇文檔僅有一個主題,有效地提高了模型的效果.

2 預(yù)備知識

本節(jié)我們首先介紹本文研究工作中所采用的數(shù)據(jù)集及預(yù)處理情況,然后對本文所探討的藥品推薦問題給出正式的定義.

2.1 數(shù)據(jù)預(yù)處理

首先,我們通過模擬現(xiàn)實中醫(yī)生對病人的診斷過程對問題進行描述.在實際診療過程中,醫(yī)生往往會在患者的醫(yī)療文本中記錄患者的主訴病情,以及醫(yī)生對患者進行的體格檢查.醫(yī)生為患者編寫的醫(yī)療文本,以及患者進行的化驗等檢查檢驗的結(jié)果是判斷患者病情最為重要的依據(jù).為此,本文選擇醫(yī)療文本和患者檢查檢驗描述患者病情,并對患者對應(yīng)的醫(yī)療文本與檢查檢驗進行如下處理:首先,對醫(yī)療文本進行分詞處理,并去除停用詞,得到患者對應(yīng)的文本文檔.然后選出患者進行的化驗中的全部異常項,并將每一個異常項的與對應(yīng)的異常狀態(tài)組合成若干個詞,如將“乙肝核心抗體”與其對應(yīng)的異常狀態(tài)“偏高”組合成詞“乙肝核心抗體偏高”,由此得到患者的化驗文檔.隨后,將患者的文本文檔與化驗文檔組合起來,即得到了基于詞袋模型的病情文檔,用于描述患者病情.

對于患者對應(yīng)的情境信息,由于每種情境信息可能對應(yīng)較多的取值,如“年齡”這一情境信息可以對應(yīng)上百種取值(0~100以上),因此需要對情境信息進行分段處理,將同一類別的情境取值范圍進行分段,并將每種情境與其對應(yīng)的分段組合成若干個情境詞,如將“年齡”和“老年”組合成“年齡-老年”,由此得到患者的情境文檔.在表1中,我們對本文用到的全部情境信息與其對應(yīng)分段方法進行了總結(jié),分段的依據(jù)包括:1)生活常識,如性別分為男女,季節(jié)分為春夏秋冬;2)數(shù)據(jù)特征,如麻醉類型分為了全身麻醉、局部麻醉與未麻醉;3)外部知識,如依據(jù)常見年齡分段法對年齡進行分段,依據(jù)保險金額與條件對保險情況進行分段;4)對于溫差、氣溫等無參考知識的情境,依據(jù)生活常識與數(shù)據(jù)分布,使得不同分段內(nèi)的數(shù)據(jù)分布較為均勻,同時分段方式貼近人們對于生活的認知.

Table 1 Context Information and Segmentation Method表1 情境信息與其分段方法

2.2 形式化描述

基于2.1節(jié)中的定義,我們將本文所研究的問題形式化描述如下:在情境感知藥品推薦任務(wù)中,訓練集中包含每一名患者i對應(yīng)的病情文檔Wi={wi,1,wi,2,…,wi,p},其中wi,·為醫(yī)療文本的分詞得到的單詞或單個化驗異常項.相應(yīng)的,我們有情境文檔Ti={ti,1,ti,2,…,ti,q},其中ti,·為單個情境詞.此外,我們有藥品集合Di={di,1,di,2,…,di,s},其中di,·為醫(yī)生為該患者所開的全部藥品中的某一種藥品.本文所研究問題的目標是通過對訓練集進行學習,使模型在給定測試集中新病情文檔W′和新情境文檔T′時,可以對于任意一種在數(shù)據(jù)集種出現(xiàn)過的藥品di,輸出其對此患者使用的概率pi.

由此可見,該問題本質(zhì)上是一個多標簽學習問題,且要求所用方法能夠給出全部標簽的概率分布.為此,本文使用基于主題模型這一概率模型的方法來融合情境信息進行藥品推薦.

3 情境感知藥品推薦方法

本節(jié)我們將對本文所提出的多源情境協(xié)同感知的藥品推薦方法,及其所涉及的情境信息建模技術(shù)進行詳細的介紹.

3.1 模型概述

本文所提出的模型大致步驟為:

1) 模型需要對情境信息進行處理.盡管在數(shù)據(jù)預(yù)處理部分中已經(jīng)對情境信息的取值進行分段處理,然而,若假設(shè)有K種情境信息,每種情境有N個取值分段,則將有NK種組合方式,導致模型難以處理較多數(shù)目的情境信息.為此,本文使用LDA模型,通過情境信息主題化的方式對情境信息進行軟聚類,從而緩解情境信息組合爆炸的問題.

2) 本文使用一個概率框架對情境信息、病情文檔、患者藥品進行聯(lián)合建模.建模思想來自實際醫(yī)療場所中的診療過程,即醫(yī)生首先根據(jù)患者的癥狀、體格檢查、化驗報告來確定患者可能患有的疾病,然后根據(jù)患者對應(yīng)的情境信息給出對此疾病適宜的藥品.為此,本文使用基于主題模型的建模方法,假設(shè)每一篇病情文檔均擁有一個隱變量,表示該患者所患的疾病,因此稱之為疾病主題.具體而言,模型通過疾病主題聯(lián)系情境、病情、藥品3種信息進行建模,其技術(shù)細節(jié)將在以下的章節(jié)給出詳細的介紹.

3.2 情境信息建模方法

為了解決患者情境信息組合爆炸的問題,需要設(shè)法對情境信息進行降維處理.一般而言,聚類是解決此類問題的常用手段,其大致可分為硬聚類和軟聚類2種.其中,硬聚類方法對數(shù)據(jù)進行確切的分類,規(guī)定樣本只能完全屬于某一個類或完全不屬于某一個類,代表算法有K-Means算法等.在本文場景中,情境信息代表人群的特征,由于人群特征多種多樣,不同人群相似度、不同特征的重要程度均不盡相同,對人群進行硬聚類在應(yīng)用中缺乏合適的分類標準,且難以給出合理的解釋,因此不適用于本文場景.

與硬聚類不同的是,軟聚類把數(shù)據(jù)以一定的概率分到各類中.例如,高斯混合模型(GMM)就是一種典型的軟聚類方法.而對于文本數(shù)據(jù),利用LDA主題模型進行軟聚類的方法更為常用.對于患者對應(yīng)的情境信息而言,若使用詞袋模型把每名患者對應(yīng)的全部情境信息視為一篇情境文檔,則可使用LDA模型通過主題建模來進行軟聚類.圖1為LDA模型的概率圖表示,其中w為文檔單詞,z為隱變量表示文檔主題.在訓練得到每種主題的詞分布后,LDA模型可以將任意文檔表示為一個主題分布,此即為軟聚類中各類別的概率分布.

Fig. 1 Graphical representation of LDA圖1 LDA模型的概率圖表示

本文采用文獻[21]中的LDA吉布斯采樣法對模型進行求解.首先,對每一篇情境文檔中的每一個詞賦予一個隨機情境主題.在接下來的每一輪迭代更新中,針對文檔中的每一個詞,首先根據(jù)其他詞的主題賦值來求解該詞被賦予不同情境主題的概率,然后根據(jù)這個概率對該詞重新賦予情境主題.在多次迭代收斂后,每個詞均被賦予了固定的情境主題,從而可以使用式(1)計算得到每一篇情境文檔的主題分布.

(1)

其中nd,z表示情境文檔d中詞語被賦予主題z的數(shù)量,α為狄利克雷先驗參數(shù),K為情境主題數(shù).

3.3 情境感知的藥品推薦方法

完成對情境信息的軟聚類后,即可對全部信息進行綜合建模.本文提出的建模方法基于對診療過程的2點假設(shè):1)情境主題是情境信息的軟聚類,每種情境主題既可能影響患者的適用藥品,又可能影響患者的易發(fā)疾病.如以天氣、季節(jié)等因素為主的情境主題會更偏向于影響患者的易發(fā)疾病,而以手術(shù)、醫(yī)保等信息為主的情境主題更可能影響醫(yī)生對于患者的藥品使用.2)每名病人的數(shù)據(jù)對應(yīng)一個隱變量,代表患者所患疾病,稱之為疾病主題.疾病主題是連接情境信息、病情文檔、藥品三者的紐帶,情境主題影響疾病主題的分布,而疾病主題影響病情文檔中的詞分布以及藥品集合中的藥品分布.根據(jù)這2點基于真實診療過程的假設(shè),本文提出了一個統(tǒng)一的概率模型Medicine-LDA(簡稱MLDA)進行情境感知的藥品推薦.以下給出模型的詳細描述.

假設(shè)語料庫中有K個疾病主題,F(xiàn)個情境主題,每一個疾病主題擁有一個對應(yīng)的病情文檔詞分布,每一個疾病主題和情境主題的組合擁有一個對應(yīng)的藥品分布.令φ為疾病主題對應(yīng)的病情文檔詞分布,φB為背景詞分布.θ為每種人群對應(yīng)的疾病分布,f為每種疾病主題和每種情境主題的組合對應(yīng)的藥品分布,ψ為患者對應(yīng)的情境文檔的情境主題分布,π為一個伯努利分布,其作用如文獻[19]所述,用于篩選文檔中與主題推斷關(guān)系較小的詞語,控制病情文檔中的詞屬于背景詞還是主題詞.圖2給出模型的概率圖表示,病情文檔與藥品集合的生成過程如下所述,其中符號描述如表2所示.

Fig. 2 Graphical representation of MLDA圖2 MLDA模型的概率圖表示

Table 2 Basic Symbols Description表2 基本符號描述

1) 采樣獲得φB~Dir(β),π~Beta(λ).

2) 對于每一種疾病主題z∈{1,2,…,K}采樣獲得φk~Dir(β),對于每一種情境主題c∈{1,2,…,F}采樣獲得θc~Dir(α),對于每一種疾病主題與情境主題的組合(z,c)∈{(1,1),(1,2),…,(K,F)},采樣獲得fz,c~Dir(η).

3) 對于每一名患者n∈{1,2,…,N}:

① 采樣獲得患者情境主題cn~Multi(ψn);

② 采樣獲得患者疾病主題zn~Multi(θc);

③ 對于病情文檔中每一個詞m∈{1,2,…,Nn,m}:

i. 采樣獲得yn,m~Ber(π);

ii. 若yn,m=0,則采樣wn,m~Multi(φB);若yn,m=1,則采樣wn,m~Multi(φZn);

④ 對于藥品集合中的每一種藥品m∈{1,2,…,Nn,d},采樣獲得dn,m~Multi(fz,c).

3.4 采樣與推斷算法

MLDA需要對隱變量z,c,y進行推斷,由于精確推斷算法不可解,本文使用倒塌的吉布斯采樣法(collapsed gibbs sampling, CGS)對隱變量進行采樣,并根據(jù)統(tǒng)計獲得參數(shù)θ,φ,f,進而使用訓練得到的參數(shù)對新患者進行藥品推薦.

訓練時的采樣算法如下.首先對與訓練集中所有數(shù)據(jù)進行隨機初始化:對于第n條數(shù)據(jù),隨機賦予情境主題隱變量cn和疾病主題隱變量zn,對于第n條數(shù)據(jù)中的第m個病情文檔詞,隨機賦予其對應(yīng)標識隱變量yn,m.隨后在吉布斯采樣的每一輪迭代過程中,對于任意一篇文檔的任一隱變量,將對給定其余隱變量時該隱變量的條件概率分布進行采樣,從而更新其取值.隱變量z與c的條件概率分布為

p(zn=k,cn=f|ψn,w,d,z,y,α,β,η)∝

(2)

對于病情文檔中的每一個詞,其對應(yīng)的標識變量y的條件概率分布為

p(yn,m=0|w,z,c,d,y,λ,β)∝

(3)

p(yn,m=1|w,z,c,d,y,λ,β)∝

(4)

經(jīng)過多輪迭代至收斂后,可以根據(jù)文檔集中全部隱變量的賦值獲取參數(shù)θ,φ,φB,σ,π的取值.

θf,k表示情境主題對應(yīng)的人群患有某種疾病的的概率:

(5)

φk,w表示某種疾病主題生成某個詞的概率:

(6)

其中φk,w為疾病主題k對應(yīng)的文檔中單詞w出現(xiàn)的次數(shù).

(7)

σf,k,d表示某種人群在患有某種疾病時使用某種藥品的概率:

(8)

πy表示詞語是源自疾病主題還是背景主題的概率:

(9)

其中ni表示標識符i出現(xiàn)的次數(shù).

3.5 藥品推薦

假設(shè)給定一組測試數(shù)據(jù)集,其中患者對應(yīng)藥品未知.利用式(5)~(9)的結(jié)果可以直接計算出該患者對應(yīng)所有藥品的概率,而無需在測試集中進行采樣,因此本方法的藥品推薦過程可以非??焖俚耐瓿?

推薦過程的具體方法為:假設(shè)給定一條新病歷(W,T),其中W={w1,w2,…,wp}為患者對應(yīng)的病情文檔,T={t1,t2,…,tq}為患者對應(yīng)的情境文檔.首先通過情境文檔處理步驟中訓練得到的LDA模型獲得T中的情境主題分布ψ,隨后由式(10)便可獲得該患者對應(yīng)任意一種藥品d的條件概率.

(10)

(11)

獲得全部藥品概率后,按照概率從大到小進行排序即得到藥品推薦的最終結(jié)果.

4 實 驗

本節(jié)詳細描述本文實驗中所用到的數(shù)據(jù)集、度量指標、基準方法、參數(shù)設(shè)置以及實驗結(jié)果分析.

4.1 實驗數(shù)據(jù)集

Fig. 3 Medicine Frequency圖3 藥品頻率統(tǒng)計

本文實驗所用數(shù)據(jù)來源于某大型三甲醫(yī)院住院部2015—2018年的電子病歷數(shù)據(jù)庫,且經(jīng)過脫敏處理.對數(shù)據(jù)集進行清洗、去重等處理,得到158 556條完整電子病歷記錄,每條數(shù)據(jù)包括患者從出院到入院所進行的完整診療過程記錄.通過3.1節(jié)所述預(yù)處理步驟得到最終所用數(shù)據(jù)集,其中檢查異常種類共1 242種,主訴與體格檢查報告分詞后得到共41 309種詞.藥品種類共1 428種,醫(yī)生平均為每名患者開出20種藥品.藥品分布存在較為嚴重的長尾現(xiàn)象,即數(shù)據(jù)中存在大量低頻藥品,藥品出現(xiàn)頻率見圖3,其縱軸表示該藥品在多少條記錄中出現(xiàn).圖4給出了藥品出現(xiàn)次數(shù)統(tǒng)計的對數(shù)形式,縱軸為圖3對應(yīng)點取值以10為底的對數(shù).

Fig. 4 Medicine Frequency with log圖4 藥品頻率統(tǒng)計對數(shù)形式

4.2 評價指標

本文所研究的藥品推薦問題本質(zhì)是一個多標簽學習(multi-label learning)問題.多標簽學習問題的評價指標主要分為2類,分別是基于分類的評價指標和基于排序的評價指標[14].藥品推薦的目標是使得真實藥品在推薦列表中盡可能排名靠前,為此,本文選用基于分類的評價指標Precision@K(P@K),Recall@K(R@K),F(xiàn)@K和基于排序的指標NDCG@K兩個常用的評價指標評測模型的推薦性能.Precision@K,Recall@K,F(xiàn)@K的計算公式如下:

(14)

(15)

其中,reln,i表示第n條數(shù)據(jù)中的第i個藥品是否在真實藥品集合中,若在則取1,不在則取0.|RELn|表示第n條數(shù)據(jù)真是藥品集合大小.

4.3 基準方法

為了驗證本文所提出的MLDA模型的效果,本文選擇使用以下12種基準方法進行對比實驗,包括主題模型、協(xié)同過濾、多標簽學習、深度學習等方法,以及本文所提出的模型的變種.

1) Frequency(Freq).該方法統(tǒng)計訓練數(shù)據(jù)中每種藥品出現(xiàn)的次數(shù),由高到低進行排列.在進行推薦時,對于測試集中的每一條數(shù)據(jù)均給出此列表.任何效果低于此方法的推薦方法均視為完全無效.

2) LLDA.Labeled-LDA(LLDA)[12]是對LDA模型在多標簽語料庫中的擴展,其假設(shè)語料庫中的標簽與潛在主題一一對應(yīng),在此將每種藥品視為一種標簽,將情境文檔與病情文檔混合作為訓練文檔,然后使用文獻[12]中的方法進行訓練與推薦.

3) TagLDA.TagLDA[22]假設(shè)每個主題同時擁有文檔詞分布與標簽分布,同時假設(shè)文檔的標簽是對文檔的描述,因而文檔的主題分布應(yīng)該與其標簽的主題分布相同.在進行推薦時,通過給定的文檔獲得文檔主題分布p(z|doc),然后使用如式(16)計算全部標簽d得到概率:

(16)

4) KNN.文獻[23]提出了一種文檔標簽推薦方法,是K近鄰算法在多標簽數(shù)據(jù)集中的擴展.給定一個文檔doc,此方法根據(jù)文檔的內(nèi)容相似度,如cosine距離,來找出與此文檔最相似的k個文檔.這k個文檔中標簽出現(xiàn)的概率大小即為模型推薦的標簽概率.在本文的藥品推薦任務(wù)中,由于文檔單詞數(shù)過多,直接計算cosine距離會導致計算量過大,為此本文首先得到患者病情文檔,然后使用LDA模型得到病情文檔的主題向量,進而使用cosine距離尋找相似文檔.

5) MLDT.多標簽決策樹(multi-label decision tree, MLDT)[24]是決策樹算法(decision tree)在多標簽學習問題上的擴展.該方法將決策樹算法中熵的計算公式擴展至多標簽情形,形式為

(17)

其中,p(ci)表示類別ci的概率,q(ci)=1-p(ci).

6) CTR.協(xié)同過濾(Collaborative Filtering, CF)是推薦系統(tǒng)領(lǐng)域應(yīng)用最為廣泛的方法,其通過相似用戶的喜好為用戶推薦可能感興趣的物品.協(xié)同過濾可以分為基于鄰居的方法(neighborhood methods)和基于隱因子模型的方法(latent factor models)[22],而后者往往可以取得更高的預(yù)測精度,其中基于矩陣分解的隱因子模型[25-27]是最為成功的一類模型.

然而,此類方法會遇到冷啟動(cold start)問題,對于數(shù)據(jù)中未曾出現(xiàn)的用戶或物品,算法無法直接通過矩陣分解獲得其向量表示.為此,文獻[28]提出了一種結(jié)合主題模型與矩陣分解的協(xié)同過濾推薦算法CTR(collaborative topic regression model).該方法使用Topic Model對文本進行表征,從而在冷啟動環(huán)境下依然可以獲得向量表示.根據(jù)文獻[28],可以使用LDA模型獲得每一名患者j對應(yīng)文檔的主題分布θj,進而使用公式ri,j=(ui)Tθj計算藥品i推薦給病人j的概率大小,其中ui為藥品的表示向量.為了得到藥品的表示向量,CTR使用下式對訓練集進行建模:

其中,ri,j取值為0或1表示藥品i的在患者j的藥品集中出現(xiàn)與否.ci,j用于控制藥品出現(xiàn)與否對于向量影響的重要程度,形式為

7) MLP.多層感知機(multilayer perceptron,MLP)是神經(jīng)網(wǎng)絡(luò)的一類經(jīng)典模型,包括輸入層、輸出層和多個隱藏層.MLP模型可以簡單且高效地進行特征表示,進而進行各類推薦任務(wù).在此將患者的病情文檔和情境文檔進行聯(lián)合作為輸入層的輸入,使用Relu函數(shù)作為激活函數(shù),訓練其輸出每種藥品推薦的概率.

8) W&D.Wide & Deep(W&D)[29]是一種得到廣泛應(yīng)用的深度學習推薦模型,其模型融合了淺層(Wide)和深層(Deep)神經(jīng)網(wǎng)絡(luò),利用淺層模型的記憶能力和深層模型的泛化能力,實現(xiàn)單模型對精確性和擴展性的兼顧.在此將患者的病情文檔和情境文檔進行聯(lián)合作為模型淺層和深層部分共同的輸入,另外,由于W&D模型是為點擊率預(yù)測問題設(shè)計,其輸出單元維度為1,在此對其進行擴展使其輸出多個維度.

9) NTM.Neural Topic Model(NTM)[30-31]是近年來新興的一類融合主題模型與深度學習的方法,在文本建模[30]、推薦系統(tǒng)領(lǐng)域[32]均取得了應(yīng)用.NTM采用變分推斷對主題模型進行求解,并使用深度學習技術(shù)對變分推斷過程進行擬合[30],從而提高模型的訓練速度與準確率.本文采用文獻[33]中的方法使用變分推斷求解MLDA模型,并使用神經(jīng)網(wǎng)絡(luò)進行訓練.值得注意的是,MLDA模型中的情境主題模塊無法簡單融入NTM模型,因此使用與MLP模型相同的聯(lián)合文檔作為輸入.

此外,我們通過對本文方法剔除部分模塊以進行消融實驗,所涉及的對比方法包括:

10) MLDA-pure.修改本文提出模型,不考慮情境信息的影響,僅根據(jù)病情文檔進行推薦.

11) MLDA-z.修改本文提出的模型,不考慮情境主題c對于藥品分布f的影響,僅考慮c對于疾病主題z的影響.

12) MLDA-c.修改本文提出的模型對于情境信息的處理方法,不對情境信息進行單獨處理,而是將原始的情境文檔中的詞直接加入患者的病情文檔,直接將其視為與化驗異常、醫(yī)療文本詞作用相同的用于描述患者的文本特征.

4.4 實驗結(jié)果

表3給出了不同方法在數(shù)據(jù)集上的性能表現(xiàn),每個實驗結(jié)果均為5折交叉驗證所得.其中LLDA模型中主題-詞先驗設(shè)為0.01;Tag-LDA中主題數(shù)設(shè)為50;主題-詞先驗設(shè)為0.01,CF中向量維度設(shè)為30,相似文檔數(shù)設(shè)為40;CTM中向量維度設(shè)為30,參數(shù)a和參數(shù)b分別設(shè)為1和0.5,正則化參數(shù)設(shè)為2;MLDT中設(shè)置葉節(jié)點中最小包含樣本數(shù)目為30.在本文提出的MLDA模型中,設(shè)參數(shù)K=400,F(xiàn)=10,α=0.1,β=0.1,λ=0.1,η=0.01,迭代次數(shù)為30輪.所有模型參數(shù)均通過網(wǎng)格搜索法調(diào)至最優(yōu).

Table 3 Comparison of Different Methods表3 不同方法性能對比

通過對表3的觀察可以得出5個結(jié)論:

1) 基于傳統(tǒng)主題模型的推薦方法LLDA和Tag-LDA的效果均未超過Frequency,即可視為完全無效果.這是由于數(shù)據(jù)的特點導致,患者的病情文檔是病人所患疾病的反映,其內(nèi)容往往只圍繞某一種或幾種疾病.而傳統(tǒng)主題模型假設(shè)每篇文檔均有較多的主題,此種假設(shè)在文本較長、文本內(nèi)容較豐富的語料庫中效果較好,而面對文本較短、文本含義較為集中的醫(yī)療文本效果不佳.

2) 基于協(xié)同過濾方法的CTR模型效果較差,實驗效果被傳統(tǒng)機器學習模型ML-KNN和ML-DT所超越.這是由于藥品推薦問題中沒有“用戶”這一概念,每一名患者都需要重新進行診斷,即文獻[25]中所述“out-of-matrix prediction”.協(xié)同過濾方法在此條件下會面臨冷啟動問題,從而影響預(yù)測的準確率.文獻[25]中的實驗部分也證實了這一點.

3) 基于深度學習的推薦系統(tǒng)MLP、W&D模型在準確率方面表現(xiàn)較好,效果與MLDA模型十分接近.然而藥品推薦問題對于模型的可解釋性要求較高,醫(yī)生與患者往往希望得知某種藥品得到推薦的理由.深度學習方法采用的端到端訓練模式,難以提供較好的可解釋性.相較而言,本文提出的MLDA模型采用主題模型進行建模,在可解釋性方面較為優(yōu)秀,同時能夠取得良好的推薦效果,因此更適用于藥品推薦領(lǐng)域.

4) 基于深度學習的NTM模型相比MLDA模型效果有一定差距,這是因為其采用了變分推斷的求解方式,相對于Gibbs采樣在求解精度方面有一定差距.同時,NTM模型無法直接對情境信息進行充分利用,導致其推薦效果有所下降.

5) 從消融實驗的對比來看,由于同時考慮了情境對于疾病和藥品的影響,MLDA在全部評測指標中均取得了最好的效果.相較而言,在MLDA模型的3類變種中,MLDA-z模型只考慮情境對于疾病的影響,實驗結(jié)果表明MLDA模型效果優(yōu)于MLDA-z.同時,MLDA-pure模型不考慮任何情境的影響,其效果低于MLDA和MLDA-z.這充分證明了本文所提出模型對于情境信息利用的有效性.

此外,值得注意的是,增加情境對于疾病的影響帶來的收益,其效果要低于增加情境對于藥品的影響所帶來的收益,即情境對于藥品的影響要大于對于疾病的影響.這是由于本文所用數(shù)據(jù)集的特點所導致.本文所用數(shù)據(jù)來源于大型三甲醫(yī)院,此類醫(yī)院所接診的病人中有相當一部分患者身患較嚴重疾病,如嚴重的外傷、各類腫瘤、傳染病等.此類疾病的發(fā)病與否受患者情境信息的影響相對較小.相對的,在此類大型醫(yī)療機構(gòu)中,醫(yī)生會更加注意患者的性別、年齡、醫(yī)保、手術(shù)等情境信息對于患者所使用藥品的作用效果.因此,情境信息對于藥品的作用效果更加顯著.

6) MLDA-c模型相比于MLDA-pure模型增加了對情境信息的利用,但其提升效果不是十分明顯,相距MLDA模型差距較大,這是由于情境信息與患者檢查檢驗與醫(yī)療文本詞相比而言數(shù)量較少,若直接將其與病情文檔混合作為描述患者的文本特征,則情境信息對于結(jié)果的影響力會被大大減弱,從而導致模型難以取得良好的效果.

下面對本文提出的模型進行參數(shù)敏感性分析.圖5(a)展示了情境主題數(shù)量對于模型效果的影響,其中K=400,調(diào)節(jié)不同的F值大小.圖5(b)展示了疾病主題數(shù)量對于模型效果的影響.其中F=10,調(diào)整不同的K值大小.觀察可見,模型在K=400,F(xiàn)=10處取得最好效果,并且模型對于參數(shù)變化展示出了良好的魯棒性,參數(shù)在較大范圍內(nèi)變化時,模型效果僅在0.01量級的范圍內(nèi)波動,這證實了本文提出方法的良好性能.

Fig. 5 Influence of context topic numbers and disease topic numbers to results圖5 情境主題與疾病主題數(shù)量對于模型效果的影響

為了進一步研究所提出方法的優(yōu)越性,我們對模型挖掘所得內(nèi)容進行分析.具體而言,在本文所提出的模型中,疾病主題表示了一種或一類疾病,而情境主題則表示一類患者,同時疾病主題對應(yīng)的文檔詞分布表示了某種疾病對應(yīng)的化驗異常與癥狀.理想的模型可以較為準確的挖掘得到此類信息,從而為模型的推薦結(jié)果提供有力的支持,提高模型的可解釋性.

表4給出了部分疾病主題的挖掘結(jié)果,其中高頻詞語部分展示了該疾病主題對應(yīng)的詞分布中頻率由高到低排列的前幾個詞語,并通過對高頻詞語的觀察給出了主題對應(yīng)的含義.通過對高頻詞語的觀察與分析,可以發(fā)現(xiàn)模型挖掘得到的疾病主題具有明顯的醫(yī)學含義,且化驗結(jié)果和醫(yī)療文本均對疾病主題的推斷起到了重要的作用.

Table 4 Results of Disease Topic Mining表4 疾病主題挖掘結(jié)果

下面分析不同情境對于疾病和藥品的影響程度.定義情境主題c對于疾病的影響度Sc,z:

(20)

其中,vc,z代表情境主題c對應(yīng)的疾病主題分布向量,dis代表2個向量的歐氏距離.疾病影響度反映了不同情境主題對應(yīng)的易患疾病相對于平均人群的偏差度,疾病影響度越大,代表該情境主題對于患者易患疾病的影響越大.定義情境主題c對于藥品的影響度Sc,f:

(21)

其中,vc,k代表情境主題c與疾病主題k對應(yīng)的藥品分布向量,dis代表2個向量的歐氏距離.藥品影響度反映了相同疾病下情境信息對于藥品分布的影響.藥品影響度越大,代表該情境主題對于患者的藥品使用的影響越大.

疾病影響度最大的2個情境主題如表5所示.可以發(fā)現(xiàn),天氣、氣溫、季節(jié)等因素是影響患者易患疾病的主要因素,年齡的不同也起到了一定的影響作用.藥品影響度最大的2個情境主題如表6所示.可以發(fā)現(xiàn),性別、年齡、保險情況、是否手術(shù)與麻醉等因素是影響醫(yī)生對于患者藥品使用的主要因素.以上結(jié)果有力地證實了本文在4.3節(jié)中提出的假設(shè).

Table 5 Two Context Topics With the Greatest Disease Impact表5 疾病影響度最大的2個情境主題

Table 6 Two Context Topics With the Greatest Medicine Impact表6 藥品影響度最大的2個情境主題

最后對某一情境主題對于藥品分布的影響進行具體分析.定義藥品d在情境主題c下的提升度Ic,d:

Ic,d=rankall,d-rankc,d.

(22)

其中,rankall,d代表藥品d在全部數(shù)據(jù)中的出現(xiàn)頻率排名,rankc,d代表藥品d在情境主題c對應(yīng)的數(shù)據(jù)中出現(xiàn)頻率的排名.在此,以情境主題#9為例進行展示,表7給出了情境主題#9的主要情境詞,表8給出了情境主題#9對應(yīng)的提升度最大的幾種藥品.可以看到,情境主題#9代表的人群主要為進行了手術(shù)的患者,并且進行了全身麻醉,代表患者可能身患重病.表8給出了情境主題#9對應(yīng)的提升度最大的幾種藥品及其功效,可見各類治療腫瘤、緩解化療副作用、消炎藥物等提升幅度最大,這與情境主題#9代表的重病類患者的含義一致.

Table 7 Main Context Word of Context Topic#9表7 情境主題#9的主要情境詞

Table 8 Medicines With the Greatest Promotion Degree and Their Efficacy表8 提升度最大的5種藥品及其功效

以上案例分析的內(nèi)容充分證明了本文提出的模型不僅能夠給出準確的推薦結(jié)果,還能夠從數(shù)據(jù)中挖掘得到大量有意義的信息和規(guī)律,證實了模型的實際應(yīng)用價值和指導意義.

5 總結(jié)與展望

本文提出了一種基于情境感知的藥品推薦模型Medicine-LDA,模型使用一個通用的概率框架來描述真實生活場景中的診療過程,具有良好的可解釋性.該模型依據(jù)患者的化驗異常與醫(yī)療文本組成的患者文檔來推斷患者可能患有的疾病,并提出使用疾病主題來描述患者患有不同疾病的概率.同時,該模型考慮到藥品推薦的結(jié)果會受到情境信息的影響且作用方式不同,進行了有針對性的建模.另外,對于多源情境信息導致組合爆炸的問題.本文提出使用LDA模型對情境信息進行建模得到患者的情境主題,并將情境主題融入本文提出的概率模型當中,從而有效地對情境信息的作用進行建模.最后,通過在一個來自某大型三甲醫(yī)院的數(shù)據(jù)集上的實驗,表明本文提出的模型在準確性上的表現(xiàn)優(yōu)于常用的傳統(tǒng)機器學習模型、主題模型以及協(xié)同過濾模型,同時,針對模型學習所得結(jié)果進行分析可以得到一系列有價值的信息,證實了模型的良好性能與其在實際應(yīng)用中的價值.

本文所提出的方法也有其局限性.由于采用了主題模型,當某些疾病的癥狀較為相似,且從情境信息難以得到區(qū)分時,可能會導致2種疾病的混淆.為此,未來我們將對基準方法中的NTM模型進行進一步的研究,尋找更佳的情境融合與文本建模方法,從而將主題模型的可解釋性與深度學習對于特征的學習能力進行結(jié)合,進一步增強模型對于此類問題的處理能力.

猜你喜歡
文檔藥品建模
是不是只有假冒偽劣藥品才會有不良反應(yīng)?
有人一聲不吭向你扔了個文檔
聯(lián)想等效,拓展建模——以“帶電小球在等效場中做圓周運動”為例
基于PSS/E的風電場建模與動態(tài)分析
電子制作(2018年17期)2018-09-28 01:56:44
不對稱半橋變換器的建模與仿真
基于RI碼計算的Word復(fù)制文檔鑒別
藥品采購 在探索中前行
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
藥品集中帶量采購:誰贏誰輸?
中國衛(wèi)生(2014年7期)2014-11-10 02:33:02
甘孜| 内黄县| 庆城县| 称多县| 大关县| 滨州市| 临西县| 延津县| 怀仁县| 钟山县| 离岛区| 德清县| 遂宁市| 大港区| 阿拉善左旗| 新津县| 阿克陶县| 黎川县| 竹溪县| 荥阳市| 龙川县| 恩平市| 武平县| 长治县| 布尔津县| 织金县| 延长县| 乐昌市| 乌拉特中旗| 康平县| 达孜县| 界首市| 涪陵区| 体育| 太仓市| 博白县| 哈巴河县| 东丽区| 于田县| 米脂县| 美姑县|