趙文龍 馬沐光 顏弋喬
摘要:針對患者就醫(yī)前無法預(yù)估自身疾病,對檢查注意事項準備困難等問題,該文設(shè)計一款就醫(yī)輔助平臺,通過預(yù)測疾病,給予檢查項目建議,指出檢查注意事項,幫助患者做好就醫(yī)準備。該文基于BP神經(jīng)網(wǎng)絡(luò)模型,構(gòu)造用戶特征模型,建立一個分塊處理主頁信息的輔助醫(yī)療平臺,對患者疾病類型進行預(yù)測,指導(dǎo)患者就醫(yī)。通過測試數(shù)據(jù)的測試,該模型對于疾病預(yù)測準確值可達74%,若以輸出可能性最高的前五種疾病作為判斷,準確度可達89%。由于實驗數(shù)據(jù)經(jīng)過理想化處理,該數(shù)據(jù)集與真實情況存在一定偏差。該平臺構(gòu)想可成為患者就醫(yī)看病過程中重要的一環(huán),幫助患者在檢查前有更充分的準備;同時,該構(gòu)想可為醫(yī)院實現(xiàn)迅速分診提供思路。
關(guān)鍵詞:就醫(yī)輔助平臺;神經(jīng)網(wǎng)絡(luò)算法;智能導(dǎo)向;基于用戶體驗的應(yīng)用優(yōu)化
中圖分類號:R-056 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2022)02-0084-04
現(xiàn)如今,醫(yī)療衛(wèi)生行業(yè)存在醫(yī)療資源緊缺和分布不均的問題?;颊邌栐\前首先需要對自己的病情有一定的認知,然后選擇相應(yīng)的檢查科室,并對有可能的檢查項目做好相關(guān)準備。而相當一部分患者對自身病情缺乏全面的了解,需要花費大量的時間提前準備。針對此類問題,醫(yī)療輔助平臺憑借其便捷的操作,在一定程度上幫助患者預(yù)測疾病類型,為就醫(yī)提供建議。
早在1966年,Ledley 和 Lusted[1]就提出了機器診斷的思想。1972年,Willcox et al[2]等人還使用貝葉斯理論來識別細菌疾病。Abeel T[3]通過整合的特征選擇技術(shù)和支持向量機分類算法進行疾病診斷。Chrysostomos D.Stylios[4]通過人工智能,實現(xiàn)對老年人病癥進行快速診斷。在國內(nèi),梁建慶等人[5]通過神經(jīng)網(wǎng)絡(luò),設(shè)計基于中醫(yī)核心思維的診療系統(tǒng)。李強等人[6]基于神經(jīng)網(wǎng)絡(luò)模型,利用患者疾病數(shù)據(jù)開發(fā)遠程醫(yī)療指導(dǎo)平臺。崔莉耀等人[7]利用卷積神經(jīng)網(wǎng)絡(luò)進行疾病預(yù)測來實現(xiàn)在線網(wǎng)絡(luò)醫(yī)療指導(dǎo)。張強強等人[8]利用卷積神經(jīng)網(wǎng)絡(luò)提取關(guān)鍵字并在SVM中進行疾病預(yù)測。
而現(xiàn)實生活中,在線醫(yī)療輔助平臺幾乎都是人工輔助的,現(xiàn)有的醫(yī)療指導(dǎo)系統(tǒng)仍然不足[7]。例如,利用丁香網(wǎng)進行專家網(wǎng)絡(luò)會診,采用人工方式幫助病人初步診斷疾病,給予相關(guān)建議。但是,人工網(wǎng)上診斷并不能全天候給予及時建議,且需要支付較高的人工費用。本文基于前人的研究對神經(jīng)網(wǎng)絡(luò)進行標注序列化,利用詞嵌入在提取訓(xùn)練數(shù)據(jù)模型上的優(yōu)勢,設(shè)計了一款輔助醫(yī)療平臺[9]。相較于將姓名年齡等特征同時內(nèi)置到計算模型,考慮到現(xiàn)實中的平臺建設(shè),通過創(chuàng)建人物角色模型的方式描述用戶需求,對設(shè)計目標人群形象、需求和價值觀進行一種概括化、視覺化的呈現(xiàn)。用戶角色畫像將逐步分層、清晰、量化,為產(chǎn)品快速了解用戶提供導(dǎo)向性和根據(jù)性[10]。本平臺從患者的病癥出發(fā),基于神經(jīng)網(wǎng)絡(luò)預(yù)測患者的疾病種類,給出檢查項目和檢查科室建議,并告知患者檢查前的注意事項,提供一種便捷、低成本的預(yù)測方法;同時根據(jù)市場定位,優(yōu)化流程,使患者使用便捷,更好地幫助患者為就診做準備。
1 BP神經(jīng)網(wǎng)絡(luò)的模型構(gòu)建
1.1 BP神經(jīng)網(wǎng)絡(luò)模型概述
神經(jīng)網(wǎng)絡(luò)算法[11]是對人腦的神經(jīng)元之間傳送信息的形式進行模擬,通過輸入層、隱層和輸出層這些層次結(jié)構(gòu),對數(shù)據(jù)進行調(diào)整、評估和分析計算,得到的一類具有學(xué)習(xí)、記憶、預(yù)測和模式識別等功能的智能算法。對于非線性系統(tǒng),利用BP神經(jīng)網(wǎng)絡(luò)可以很好地完成系統(tǒng)內(nèi)各神經(jīng)元之間權(quán)重值的調(diào)整工作。其學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱含層處理后,傳向輸出層,若輸出層的實際輸出與期望的輸出不合要求,則轉(zhuǎn)入誤差和的反向傳播階段。誤差反向傳播是將輸出誤差和以某種形式通過隱含層向輸入層逐層反向傳播,并將誤差和分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正單元的依據(jù)。這種信號在正向傳播與誤差反向傳播的各層權(quán)值調(diào)整過程中不斷重復(fù)地進行。權(quán)值不斷調(diào)整過程也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程。此過程一直進行到網(wǎng)絡(luò)輸出的誤差和減小到可接受的程度或進行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止[11],其流程圖如圖1。
1.2 疾病預(yù)測模型構(gòu)建
1.2.1 數(shù)據(jù)說明
為了更直觀地表示算法對數(shù)據(jù)的學(xué)習(xí)篩選功能,應(yīng)選取患病人群較為廣泛、病癥較為常見、癥狀相對多樣的病癥類別作為數(shù)據(jù)樣本。這里挑選了30余種呼吸內(nèi)科相關(guān)疾病,并依據(jù)醫(yī)療數(shù)據(jù)庫中患者常見的疾病癥狀進行歸納整理和適當簡化,選取了每種疾病最為典型,判斷依據(jù)最充分的五種病癥,綜合疾病癥狀出現(xiàn)的概率后模擬實際情況中所收集的3000組病人病癥數(shù)據(jù),組成數(shù)據(jù)集,隨機選取2700組數(shù)據(jù)為訓(xùn)練組,另外300組為測試組。
1.2.2 數(shù)據(jù)預(yù)處理
通過TensorFlow的jieba分詞將病人疾病特征和疾病名稱進行拆詞,將每個單獨詞塊使用北京師范大學(xué)中文信息研究所與中國人民大學(xué)DBIIR實驗室研究提供的開源“Chinese-word-vectors” 工具轉(zhuǎn)為詞向量,將詞向量不足的數(shù)據(jù)后增添零向量,使每個病人的特征向量值相等。
1.2.3 數(shù)據(jù)歸一化處理
對預(yù)處理后的數(shù)據(jù)標準化處理后進行放大,可得到較好的預(yù)測結(jié)果,其公式如下:
[z=x-μσ] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
其中xi為輸入變量,i=1,2,...n,N為變量數(shù)目,μ為均值σ為標準值,z為最終結(jié)果。
[μ=1Ni=1N(xi)] ? ? ? ? ? ? ? ? ? ? ?(2)
[σ=1Ni=1N(xi-μ)2] ? ? ? ? ? ? ? ? ? ? (3)
1.2.4 模型構(gòu)建
本研究選取Sigmoid函數(shù)作為激活函數(shù)[12],記為:
[f(x)=11+e-x] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
設(shè)輸入層有n個神經(jīng)元,隱含層有p個神經(jīng)元,輸出層有q個神經(jīng)元,定義如下:
隱含層變量為:
[hj,j=1,2,3,...,p] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
輸出層變量為:
[yk,k=1,2,3,...,q] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (6)
期望值變量為:
[dk,k=1,2,3,...,q] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7)
其中權(quán)值為W,偏置為a,b。
在誤差正向傳播過程中:
對于隱含層:
[hj=f(j=1pWijXI+aj)] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (8)
對于輸出層:
[yk=f(k=1qhjWjk+bk)] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (9)
本模型采用均方差誤差函數(shù):
[E=12k=1q(dk-yk)2] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (10)
在誤差反向傳播過程中:
[Wij=Wij-y?E?hxi] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (11)
[Wjk=Wjk-y?E?yyi] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (12)
[aj=aj-y?E?h] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(13)
[bk=bk-y?E?y] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (14)
輸出層各節(jié)點所收到的總輸入變化時單樣本誤差變化率:
[?E?y=yk(1-yk)(yk-dk)] ? ? ? ? ? ? ? ? ? ? ? ? ? (15)
隱含層誤差變化率:
[?E?h=hj(1-hj)k=1qWij(dk-yk)] ? ? ? ? ? ? ? (16)
輸入層結(jié)構(gòu)圖如圖2。
2 平臺設(shè)計
面對復(fù)雜的使用場景、市場產(chǎn)品的嚴重同質(zhì)化以及在線和離線醫(yī)療場景的碎片化使得產(chǎn)品本身的用戶體驗變得越來越重要。作為醫(yī)療輔助系統(tǒng),本平臺不獨立設(shè)置完全的網(wǎng)上就診流程而主要為線下就診提供更好的就診體驗。平臺同時在主頁信息結(jié)構(gòu)、用戶角色模型創(chuàng)建以及數(shù)據(jù)反饋機制上進行了優(yōu)化設(shè)計。
2.1 優(yōu)化主頁信息結(jié)構(gòu)
信息體系結(jié)構(gòu)的優(yōu)化是增強用戶體驗的重要步驟,本次設(shè)計在用戶界面上圍繞“指導(dǎo)科室”“病情預(yù)測”和“檢查建議”三層主要的模塊進行優(yōu)化以提高產(chǎn)品的質(zhì)量。通過優(yōu)化上述三層主要模塊,可以使癥狀的選擇、疾病的部門類別劃分更加簡明清晰,減輕用戶在操作過程中的認知負擔,提高用戶的操作效率,并建立用戶對產(chǎn)品的定位意識,對功能流程優(yōu)化,使用戶可以在就醫(yī)之前了解疾病。
2.2 用戶角色模型創(chuàng)建
在設(shè)計過程中根據(jù)患者的特征對醫(yī)療功能模塊進行優(yōu)化。為了更貼合患者群體,用戶角色模型可以通過四個步驟構(gòu)建:在產(chǎn)品的早期進行定性和定量研究,以獲得目標用戶群的基本特征;篩選樣品;邀請用戶進行深入采訪;建筑肖像[10]。在App產(chǎn)品設(shè)計優(yōu)化的早期階段,大型醫(yī)院可以選擇不同的時間點進行研究,并在現(xiàn)場分發(fā)調(diào)查問卷以收集用戶的個人信息,并使用在線醫(yī)療輔助應(yīng)用程序確定樣本標準;在研究過程中,邀請用戶進行深入訪談,涵蓋所有級別的用戶,以便對線下醫(yī)院進行深入觀察和體驗,以分析用戶在醫(yī)療方面的需求和心理狀態(tài);最后,將對先前調(diào)查中收集的信息進行分類和分析以達到對用戶的精準定位。
3 預(yù)測結(jié)果分析及平臺運行說明
3.1 預(yù)測結(jié)果
此次研究利用tensorflow編程實現(xiàn)訓(xùn)練樣本的BP神經(jīng)網(wǎng)絡(luò)模型,用測試樣本加以驗證。本模型采用早停止法得到最后的參數(shù)估計,即在訓(xùn)練過程中不斷檢測各次迭代的參數(shù)所對應(yīng)模型的誤差函數(shù)值。訓(xùn)練數(shù)據(jù)集的誤差函數(shù)值會持續(xù)下降,而測試數(shù)據(jù)集的誤差函數(shù)值最終也會下降,但在某次迭代達到最小值后反而會上升,需要取此次迭代所得到的參數(shù)估計(而不是訓(xùn)練算法收斂后得到的參數(shù)估計)作為最后的參數(shù)估計[5]。
3.1.1 預(yù)測結(jié)果分析
每一次循環(huán)學(xué)習(xí)后,利用測試集進行準確度測試。當循環(huán)3000次后,輸出一種病癥的準確度為74%,其曲線圖如圖3輸出三種病癥,有一種預(yù)測正確認定則認定本次預(yù)測正確,其準確度可達84%,其曲線圖如圖4;若輸出五種病癥,有一種預(yù)測正確則認定本次預(yù)測正確,其準確度可達89%,其準確度曲線圖如圖5。
3.1.2 誤差分析
(1)由于疾病與癥狀之間并不是完全對應(yīng)關(guān)系,在本質(zhì)上存在誤差,所以會導(dǎo)致測試結(jié)果存在偏差。
(2)由于采用結(jié)巴分詞器和第三方詞向量生成器,導(dǎo)致疾病以及癥狀會分成多個詞向量,分詞效果不理想,使結(jié)果出現(xiàn)誤差。
3.2 平臺運行流程說明
本文通過已有數(shù)據(jù)對神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練。用戶在輸入病癥后,訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)會輸出對應(yīng)的病癥檢查項目、問診科室以及檢查注意事項,將這三者列為患者診斷結(jié)果。當輸出五種可能的疾病時,其準確度可達89%,因此本平臺將輸出的可能疾病確定為5種,并給出全部注意事項。
3.3 軟件輸出及其說明
由神經(jīng)網(wǎng)絡(luò)誤差曲線可得,在小樣本數(shù)據(jù)下,隨著訓(xùn)練次數(shù)的增加,雖然BP神經(jīng)網(wǎng)絡(luò)準確度曲線有輕微的波動,但整體準確度逐漸提高。由圖5可以看出,當同時輸出5種疾病時,準確度最高可接近90%,將數(shù)據(jù)進行綜合分析可以滿足對大部分疾病的判斷,根據(jù)其輸出結(jié)果可以幫助患者做好準備。最終輸出結(jié)果如圖7所示,患者輸入病癥癥狀,根據(jù)疾病預(yù)測結(jié)果,系統(tǒng)會將可能性較大的疾病名稱列于右方,同時給出患者所需檢查,在下方會出現(xiàn)患者進行檢查所需的注意事項。
4 總結(jié)和展望
近些年來,隨著“互聯(lián)網(wǎng)+”的不斷深入以及人工智能的興起,智能問診相關(guān)的產(chǎn)品和理論不斷涌出。本算例在目前研究基礎(chǔ)上,通過基于神經(jīng)網(wǎng)絡(luò)模型的疾病預(yù)測以及平臺構(gòu)建得出以下結(jié)論:
(1) 實驗結(jié)果表明,基于神經(jīng)網(wǎng)絡(luò)對于癥狀的疾病預(yù)測理論上可行有效,單個疾病準確率可達74%,若是給予5種可能疾病準確率可達89%。
(2) 在平臺構(gòu)建方面,本項目在主頁設(shè)計上的簡化、分層可以為用戶帶來更好的使用體驗;對用戶特征的系統(tǒng)處理可以指導(dǎo)平臺后續(xù)構(gòu)建;反饋數(shù)據(jù)的機制更利于推動線上醫(yī)療輔助平臺與線下醫(yī)療進一步結(jié)合。目前平臺可以提供給患者相關(guān)的檢查注意事項。
針對目前的研究成果,可從以下方面進行改進和展望:
(1) 一方面,實驗數(shù)據(jù)并不是真實數(shù)據(jù),與現(xiàn)實存在偏差,后續(xù)需要進一步完善。另一方面,由于缺乏專業(yè)的醫(yī)學(xué)詞向量生成器以及jieba分詞器存在誤差,導(dǎo)致準確度不高,可在此方面進一步提高。
(2) 另一方面,本平臺功能較少,未來可在預(yù)測疾病的基礎(chǔ)上給予患者掛號科室建議,并可與醫(yī)院進行合作,實現(xiàn)網(wǎng)上一鍵掛號,使患者得到更便捷的服務(wù)。
參考文獻:
[1] Willcox W R,Lapage S P,Bascomb S,et al.Identification of bacteria by computer:theory and programming[J].Journal of General Microbiology,1973,77(2):317-330.
[2] Willcox W R,Lapage S P,Bascomb S,et al.Identification of bacteria by computer:theory and programming[J].Journal of General Microbiology,1973,77(2):317-330.
[3] Abeel T,Helleputte T,van de Peer Y,et al.Robust biomarker identification for cancer diagnosis with ensemble feature selection methods[J].Bioinformatics,2010,26(3):392-398.
[4] Voula C.Georgopoulos,Chrysostomos D. Stylios.International Conference on Intelligent Informatics and Biomedical Sciences[C].Okinawa,Japan:IEEE,2017.
[5] 王純杰,馬元嘉,王迪,等.基于Logistic回歸和神經(jīng)網(wǎng)絡(luò)比較的咽喉反流疾病的精準預(yù)測[J].吉林師范大學(xué)學(xué)報(自然科學(xué)版),2020,41(3):36-43.
[6] 李強,吳裕雄,古國照,等.智能輔助診療平臺設(shè)計與探索[J].醫(yī)學(xué)信息學(xué)雜志,2019,40(11):32-35.
[7] Yao C L,Qu Y,Jin B,et al.A convolutional neural network model for online medical guidance[J].IEEE Access,2016,4:4094-4103.
[8] 張強強,蘇變萍,李敏.基于卷積神經(jīng)網(wǎng)絡(luò)的SVM疾病癥狀分類模型[J].傳感器與微系統(tǒng),2020,39(3):64-67,71.
[9] 王秋穎,李昂,董怡然.基于醫(yī)療服務(wù)鏈的移動醫(yī)療App現(xiàn)狀及問題分析[J].中國醫(yī)院管理,2018,38(7):48-49.
[10] 黃添譽,許懋琦.移動醫(yī)療平臺用戶體驗優(yōu)化設(shè)計研究——以大象就醫(yī)APP為例[J].工業(yè)設(shè)計,2018(9):136-138.
[11] 張俊妮.數(shù)據(jù)挖掘與應(yīng)用[M].北京:北京大學(xué)出版社,2009.
[12] 田娟,朱姝婧,陸強,等.基于BP神經(jīng)網(wǎng)絡(luò)預(yù)測兒童甲狀腺疾病的模型研究[J].中國醫(yī)學(xué)物理學(xué)雜志,2020,37(10):1340-1344.
【通聯(lián)編輯:代影】
2596500511339