馮洪海+孫遠(yuǎn)燦+李利敏+宋舒晗+黃俊輝
摘 要: 互聯(lián)網(wǎng)醫(yī)療的蓬勃發(fā)展帶來了大量的數(shù)據(jù)積累,如何有效的利用這些數(shù)據(jù)是當(dāng)前面臨的問題。通過開發(fā)爬蟲軟件,獲取了截至2017年2月尋醫(yī)問藥網(wǎng)中內(nèi)科和外科的131894條咨詢數(shù)據(jù)。針對(duì)這些數(shù)據(jù),用統(tǒng)計(jì)學(xué)方法調(diào)查用戶的性別和年齡分布,通過程序識(shí)別咨詢數(shù)據(jù)中的癥狀和疾病,統(tǒng)計(jì)了現(xiàn)階段互聯(lián)網(wǎng)醫(yī)療用戶癥狀和疾病的分布。
關(guān)鍵詞: 互聯(lián)網(wǎng)醫(yī)療; 網(wǎng)頁爬蟲; 癥狀分布; 疾病分布
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)04-41-03
Abstract: The rapid development of the Internet medical has brought a lot of data, and how to make effective use of these data is the problem currently faced. In this paper, a crawler is developed to have acquired 131,894 internal and surgical medicine enquiry data by February 2017, from medicine websites. According to these data, the distribution of users' gender and age are investigated by the statistical methods, and the distribution of the symptoms and diseases of the Internet medical users at this stage are counted by the identification.
Key words: Internet medical; Web crawler; symptom distribution; disease distribution
0 引言
醫(yī)療一直是人們關(guān)注的熱點(diǎn)話題,與人們的生活緊密相關(guān),隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的人選擇在網(wǎng)上咨詢醫(yī)生關(guān)于健康的問題。中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)發(fā)布的《第37次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示,2015年,中國互聯(lián)網(wǎng)醫(yī)療用戶數(shù)量為1.52億。網(wǎng)絡(luò)醫(yī)療咨詢提供了一個(gè)新的方式,讓用戶可以不用實(shí)地見到醫(yī)生,就可以咨詢病情[1],能夠幫助用戶方便快捷的了解自身的健康信息。互聯(lián)網(wǎng)醫(yī)療行業(yè)積累了大量的用戶疾病數(shù)據(jù),如何有效的利用這些數(shù)據(jù)是現(xiàn)階段面臨的主要問題。目前已有一些學(xué)者從不同角度對(duì)在線醫(yī)療咨詢數(shù)據(jù)的信息挖掘進(jìn)行了研究。Silver MP[2]研究了患者在線健康信息搜索的相關(guān)問題。石思優(yōu)[3]應(yīng)用Med-LDA 模型研究醫(yī)療數(shù)據(jù)中病癥和用藥的獨(dú)立關(guān)系和相互聯(lián)系。Ullah Z[4]等人認(rèn)為使用數(shù)據(jù)挖掘算法可以提高預(yù)測(cè)、診斷和疾病分類的質(zhì)量,研究了數(shù)據(jù)挖掘技術(shù)的成本、性能、速度和準(zhǔn)確性。魏強(qiáng)[5]通過研究醫(yī)療數(shù)據(jù)存儲(chǔ)與分析系統(tǒng),對(duì)疾病間關(guān)聯(lián)關(guān)系進(jìn)行分析。Walczak等人[6]研究了病人的醫(yī)療檢查信息在提高計(jì)算機(jī)診斷準(zhǔn)確性方面的應(yīng)用。陳遷[7]研究了醫(yī)療數(shù)據(jù)在分析糖尿病住院患者基本信息、治療醫(yī)囑、生化指標(biāo)、費(fèi)用明細(xì)等方面的應(yīng)用。閆茜[8]提出了一種用于數(shù)據(jù)處理的基于統(tǒng)計(jì)樹和增量計(jì)算的海量醫(yī)療數(shù)據(jù)快速統(tǒng)計(jì)查詢方法。許杰[9]提出了一種基于數(shù)據(jù)不一致率的新型數(shù)據(jù)分類方法。李萍[10]研究了醫(yī)療數(shù)據(jù)質(zhì)量的特點(diǎn),如統(tǒng)一性、可靠性、“多粒度”級(jí)別、高可用性、高適用性。蔣良孝[11]對(duì)醫(yī)療數(shù)據(jù)挖掘的主要特點(diǎn)、基本過程、關(guān)鍵技術(shù)、計(jì)算智能方法以及發(fā)展方向進(jìn)行了探討。
本文通過開發(fā)爬蟲軟件獲取截至2017年2月尋醫(yī)問藥網(wǎng)中內(nèi)科和外科的131894條醫(yī)療咨詢數(shù)據(jù)。針對(duì)這些數(shù)據(jù),用統(tǒng)計(jì)學(xué)的方法調(diào)查用戶的年齡分布、性別分布。通過識(shí)別醫(yī)療數(shù)據(jù)中的癥狀和疾病,對(duì)不同年齡段、不同性別的用戶的癥狀和患病情況進(jìn)行調(diào)查,得出了現(xiàn)階段我國互聯(lián)網(wǎng)醫(yī)療用戶的特征和分布。
1 獲取數(shù)據(jù)
通過分析網(wǎng)站的結(jié)構(gòu),本文采用多級(jí)網(wǎng)頁爬蟲的方式獲取數(shù)據(jù),首先獲得一級(jí)科室的鏈接,然后獲取每個(gè)一級(jí)科室下屬的二級(jí)科室鏈接。每個(gè)一級(jí)和二級(jí)科室的頁面中都有用戶的問題咨詢列表,本文獲取了內(nèi)科和外科中的所有問題集合,并對(duì)集合進(jìn)行去重操作,最后共得到網(wǎng)頁鏈接131894個(gè)。針對(duì)每一個(gè)網(wǎng)頁,我們獲取的用戶信息包括性別、年齡、咨詢的內(nèi)容和醫(yī)生的回復(fù)內(nèi)容。
在具體的爬蟲代碼中,為了防止頻繁訪問網(wǎng)站導(dǎo)致的爬蟲被網(wǎng)站限制,本文采用用戶代理(User Agent)和程序隨機(jī)休眠相結(jié)合的方法。User Agent是一個(gè)特殊字符串頭,使得服務(wù)器能夠識(shí)別客戶使用的操作系統(tǒng)及版本、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等,如("User-Agent","Mozilla/4.0(compatible; MSIE 5.0; Windows NT; DigExt)"。
程序的最大獲取連接時(shí)間。為了保證程序不在某一個(gè)頁面花費(fèi)過多的時(shí)間甚至導(dǎo)致程序長(zhǎng)期處于連接獲取的等待階段,本文對(duì)程序的最大連接獲取時(shí)間進(jìn)行限制,如果程序在m毫秒內(nèi)不能獲取到網(wǎng)頁的連接,程序?qū)⑻^此網(wǎng)頁,經(jīng)過反復(fù)實(shí)驗(yàn),我們?cè)O(shè)置m為6000,即允許每個(gè)網(wǎng)頁的等待時(shí)間為6秒,以此來應(yīng)對(duì)網(wǎng)頁不可獲取和網(wǎng)絡(luò)不穩(wěn)定帶來的問題。
程序隨機(jī)休眠。如果獲取的網(wǎng)頁內(nèi)容為空,那么程序?qū)⑿菝?,,休眠時(shí)間在0-n毫秒之間隨機(jī)生成。如果休眠后仍然不能獲取到數(shù)據(jù),那么將跳過此頁面,以此來保證爬蟲的效率,在經(jīng)過多次實(shí)驗(yàn)后,本文設(shè)置n為200。
采用SQLite數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),其中用戶咨詢的內(nèi)容可以表示為:用戶的提問即提問標(biāo)題和咨詢內(nèi)容的描述。數(shù)據(jù)的類型如表1所示。
2 癥狀和疾病識(shí)別
2.1 癥狀識(shí)別
通過網(wǎng)頁爬蟲,從39健康網(wǎng)和尋醫(yī)問藥網(wǎng)收集癥狀總數(shù)7632種,為了準(zhǔn)確匹配用戶的口語化表達(dá)詞語,比如用戶使用“肚子痛”、“肚子疼”等詞來描述癥狀,本文構(gòu)建了用戶的口語表達(dá)詞語與規(guī)范詞匯對(duì)應(yīng)列表,如“肚子痛”和“肚子疼”對(duì)應(yīng)為“腹痛”。通過這樣的方式統(tǒng)一用戶的口語化表達(dá)。通過人工瀏覽咨詢數(shù)據(jù),本文共獲得606種癥狀中的用戶口語表達(dá)詞語716種。識(shí)別用戶癥狀以后的數(shù)據(jù)類型如表2所示。
2.2 疾病識(shí)別
本文通過網(wǎng)頁爬蟲從互聯(lián)網(wǎng)收集疾病21464種;從39健康網(wǎng)和尋醫(yī)問藥網(wǎng)收集疾病9095種;兩個(gè)疾病集合去除重復(fù)的疾病,本文構(gòu)建的疾病詞典Ddict中共包含疾病28143種。醫(yī)療咨詢分為用戶的提問與醫(yī)生的回復(fù),考慮到用戶缺乏相應(yīng)的醫(yī)學(xué)專業(yè)知識(shí),在對(duì)疾病進(jìn)行識(shí)別的過程中,如果不能識(shí)別出用戶提問中涉及的疾病,程序?qū)⒃卺t(yī)生的回復(fù)中繼續(xù)進(jìn)行疾病匹配,程序?qū)ΠY狀和疾病的識(shí)別流程為圖1所示。
在疾病匹配時(shí),把疾病詞典按照疾病的字符長(zhǎng)度從大到小進(jìn)行排序,按照最大匹配原則對(duì)數(shù)據(jù)中的疾病進(jìn)行識(shí)別,如,先匹配“丙型肝炎”如果沒有匹配到,繼續(xù)匹配“肝炎”等,精確用戶的咨詢內(nèi)容和醫(yī)生的回復(fù)內(nèi)容,得到用戶的疾病數(shù)據(jù)。識(shí)別疾病以后的數(shù)據(jù)類型如表3所示。
3 實(shí)驗(yàn)結(jié)果
3.1 性別和年齡分布
在131894條咨詢數(shù)據(jù)中,男性用戶數(shù)量為61338,占所有用戶數(shù)量的46.51%;女性用戶數(shù)量為70556,占所有用戶數(shù)量的53.49%。
通過劃分年齡階段對(duì)每個(gè)年齡段的用戶數(shù)量進(jìn)行統(tǒng)計(jì),結(jié)果顯示年齡在21-30之間的用戶最多,數(shù)量為35412,占所有用戶數(shù)量的26.84%;年齡在31-40之間的用戶數(shù)量為16917,占所有用戶數(shù)量的12.82%。各年齡階段的用戶數(shù)量分布如圖2所示。
3.2 癥狀和疾病分布
通過對(duì)用戶提問數(shù)據(jù)的癥狀識(shí)別,對(duì)識(shí)別結(jié)果進(jìn)行統(tǒng)計(jì),結(jié)果顯示用戶的咨詢數(shù)據(jù)中 “頭痛”出現(xiàn)的次數(shù)最多,為4585,占所有咨詢數(shù)量的3.47%;“胃氣上逆”出現(xiàn)的次數(shù)為4554,占所有咨詢數(shù)量的3.45%。出現(xiàn)次數(shù)最多的前十種癥狀如圖3所示。
通過對(duì)醫(yī)療咨詢數(shù)據(jù)的疾病識(shí)別,對(duì)識(shí)別結(jié)果進(jìn)行統(tǒng)計(jì),結(jié)果顯示醫(yī)療咨詢中出現(xiàn)“肢端肥大癥”的次數(shù)最多,為11171,占所有咨詢數(shù)量的8.47%;“感染”出現(xiàn)的次數(shù)為5377,占所有咨詢數(shù)量的4.07%。出現(xiàn)次數(shù)最多的前十種疾病如圖4所示。
4 結(jié)束語
本文通過開發(fā)爬蟲軟件獲取了尋醫(yī)問藥網(wǎng)中的131894條醫(yī)療咨詢數(shù)據(jù),在程序中采用用戶代理和程序隨機(jī)休眠的方法提高爬蟲的效率。針對(duì)這些醫(yī)療數(shù)據(jù),通過統(tǒng)計(jì)學(xué)方法調(diào)查用戶的性別和年齡分布;通過獲取癥狀詞典和疾病詞典對(duì)醫(yī)療咨詢中的癥狀和疾病進(jìn)行識(shí)別,加入了對(duì)用戶口語表達(dá)詞匯的提取,統(tǒng)計(jì)了現(xiàn)階段互聯(lián)網(wǎng)醫(yī)療用戶的癥狀和疾病分布。未來的研究可以從以下幾方面著手:①對(duì)更多的咨詢數(shù)據(jù)進(jìn)行調(diào)查;②對(duì)醫(yī)生的回復(fù)特征進(jìn)行研究;③移動(dòng)醫(yī)療APP。
參考文獻(xiàn)(References):
[1] Umefjord G, Petersson G, Hamberg K. Reasons for Consulting a Doctor on the Internet: Web Survey of Users of an Ask the Doctor Service. Journal of Medical Internet Research,2003.5(4):e26
[2] Silver MP. Patient perspectives on online health
information and communication with doctors: a qualitative study of patients 50 years old and over. Journal of Medical Internet Research,2015.17(1):e19
[3] 石思優(yōu).基于主題模型的醫(yī)療數(shù)據(jù)挖掘研究[D].廣東技術(shù)師范學(xué)院碩士學(xué)位論文,2015.
[4] Ullah Z, Fayaz M, Iqbal A. Critical Analysis of Data MiningTechniques on Medical Data[J]. International Journal of Modern Education & Computer Science,2016.
[5] 魏強(qiáng).基于云計(jì)算的醫(yī)療數(shù)據(jù)處理技術(shù)研究[D].貴州大學(xué)碩士學(xué)位論文,2015.
[6] Walczak, Paczkowski A /, Micha?. Medical data prepro-cessing for increased selectivity of diagnosis[J]. Bio-Algorithms and Med-Systems,2016.12(1):39-43
[7] 陳遷.糖尿病醫(yī)療數(shù)據(jù)處理及藥物利用研究[D].第二軍醫(yī)大學(xué)碩士學(xué)位論文,2014.
[8] 閆茜.海量醫(yī)療數(shù)據(jù)挖掘平臺(tái)的研究與設(shè)計(jì)[D].武漢理工大學(xué)碩士學(xué)位論文,2014.
[9] 許杰.基于醫(yī)療數(shù)據(jù)挖掘的在線病情分析系統(tǒng)研究與開發(fā)[D].浙江工業(yè)大學(xué)碩士學(xué)位論文,2013.
[10] 李萍.醫(yī)療數(shù)據(jù)質(zhì)量的問題探索和解決模式[J].計(jì)算機(jī)應(yīng)用與軟件,2013.8:217-219
[11] 蔣良孝.基于神經(jīng)網(wǎng)絡(luò)的醫(yī)療數(shù)據(jù)挖掘研究[D].中國地質(zhì)大學(xué)碩士學(xué)位論文,2004.