




摘要:作為“互聯網+醫療”的重要產物,在線醫療社區迅速發展。在線醫療社區產生了大量的醫療問答信息,這些信息富含醫學知識和患者關切等內容。因此,文章構建了在線醫療社區分析系統的架構,再通過網絡爬蟲、數據清洗和存儲、文本分詞、數據可視化等技術,設計并開發了一個醫患問答數據的分析系統,通過折線圖、餅狀圖和生成詞云等數據分析,得到不同疾病的發病癥狀、治療常用藥物等有用知識,為患者診斷和治療提供便利,也能為醫生了解患者關切提供依據。
關鍵詞:在線醫療社區;文本分詞;詞云分析
中圖分類號:TP391.1" 文獻標志碼:A
0 引言
隨著互聯網技術的迅速發展,“互聯網+醫療”蓬勃興起。互聯網和醫療的不斷結合,形成了一種新興的“在線醫療”輔助就醫模式。在線醫療主要通過網絡平臺為患者提供線上問診、預約掛號、就診咨詢等醫療服務。2016年以來,我國出臺了《關于促進和規范健康醫療大數據應用發展的指導意見》等一系列政策法規,推動了“互聯網+醫療”應用的飛速發展。作為“互聯網+醫療”發展下的產物,在線醫療社區是目前影響范圍最廣的互聯網醫療形式之一,其改善健康公平和優化資源配置的作用也日益凸顯[1]。患者可以通過移動端設備直接與醫生進行互動交流,交流過程中能夠在醫療社區留下大量的醫患交流數據。身處大數據時代,從大量的醫患交流數據中挖掘數據背后的信息并加以合理利用,具有很高的價值[2]。本文旨在設計并開發一個基于在線醫療社區數據的分析系統,為患者診斷和治療提供便利,也能為醫生了解患者關切提供依據。
1 研究現狀
文本分析技術在在線醫療領域應用廣泛,例如,能夠挖掘我國出臺的“互聯網+醫療”相關政策,方便對在線醫療領域作出修改以契合國家政策[3];對相似患者與醫生交互行為進行數據挖掘,提取特征后進行文本分析,為類似患者進行個性化醫生推薦[4];對醫療文本進行分析挖掘,為臨床決策提供有價值的幫助[5];通過文本分析技術對某一疾病進行研究,實現對疾病的預測[6];挖掘患者電子病歷等相關數據的用藥模式,實現輔助診療[7]。
近年來,高血壓、高血脂、糖尿病等慢性疾病的患病率一直居高不下[8],在線醫療社區和文本分析技術的發展在一定程度上可以減輕患者問診、信息咨詢等負擔[9]。本文運用網絡爬蟲、數據清洗和存儲、文本分詞、數據可視化等技術,開發在線醫療社區中醫患疾病問答等數據的分析系統,對不同疾病畫像,不僅能為患者診斷和治療提供便利,也能為醫生了解病患的關切提供依據。
2 在線醫療社區分析系統設計
2.1 總體架構
在線醫療社區分析系統的功能模塊主要包括采集數據、數據存儲以及疾病社區分析。因此,本系統主要有3個功能模塊:數據采集模塊、數據存儲和數據分析模塊以及數據展示模塊。本系統的架構如圖1所示。數據采集模塊是用來解決基礎數據問題的,能夠針對不同的網站結構編寫不同爬蟲以獲取頁面數據,接著進行數據清洗,得到原始數據;數據存儲和分析功能模塊能夠對采集到的數據進行存儲,還可以根據不同目標將數據存儲到數據庫和文本里,然后對數據進行分析來生成詞云和篩選數據;數據展示模塊將數據存儲和分析模塊生成的詞云展示到前端頁面上,同時還具備分類展示和異步刷新展示的功能。
2.2 數據采集模塊
數據采集模塊分為數據采集和數據清洗2部分,可以對指定的不同醫療社區網站數據進行采集和處理。數據采集通過爬蟲技術實現,首先針對不同的醫療社區網站結構,基于Scrapy框架編寫不同的網絡爬蟲,采集目標網站的頁面數據,然后依據不同的頁面結構對爬取的目標網站數據進行數據清洗,在完成數據清洗之后就得到了網站的基礎數據。
2.3 數據存儲模塊
爬取和清洗的數據需要進行存儲,本系統的基礎數據是從醫療社區網站獲取,數量比較龐大,采用數據庫存儲會獲得更好的體驗。數據存儲模塊采用了主流的MySQL關系型數據庫,主要是根據數據量的大小或特定需求將爬取和清洗后的數據存儲到數據庫中,便于后續進行數據分析和詞云分析。
2.4 數據分析和展示模塊
數據分析和展示模塊采用了基于Django框架的瀏覽器/服務器模式(B/S),主要分為客戶端、Web服務器和數據服務器3層。其中,客戶端就是瀏覽器;Web服務器負責對客戶端發送的http請求進行響應;數據服務器則用來存放數據。客戶端頁面主要采用了兼容當前大多數瀏覽器的Echarts技術,提供了多種直觀、生動、可定制的數據可視化圖表庫,包括折線圖、柱狀圖、散點圖、餅圖、盒形圖等。
本文主要對在線醫療社區的醫患問答數據進行分析,詞云分析能夠展示不同疾病的信息,數據分析可將不同疾病的相關數據歸類并用統計表進行展示。除此以外,為了方便用戶查找和盡可能減少服務器負載,數據展示還可以進行分類和異步動態刷新。
3 在線醫療社區分析系統的實現
在線醫療社區富含大量有價值的醫學信息,例如常見疾病板塊有疾病相關問題的問和答;名醫科普中有名醫發表的疾病科普文章,可以采用文本分析等技術進行挖掘有用知識。
3.1 數據采集模塊
安裝好爬蟲需要的庫,接著編寫相關代碼,對目標網站數據進行爬取。本文數據來源于ask.39.net網站部分科室部分疾病的醫患問答內容、www.zysj.com.cn網站的中藥方劑數據、db.cngb.org網站的癌癥相關研究文章、baodian.familydoctor.com.cn網站各科室疾病分類的科普文章和醫患的問答數據。完成數據采集后再對爬取的數據進行數據清洗以便后續操作。
3.2 數據存儲模塊
該模塊主要實現數據的存儲和分析功能。數據主要存儲在數據庫,用Django的對象關系映射操作數據庫,在創建數據表之后,將數據存儲在數據庫中。在ask.39.net網站上爬取了2022年4月15日至2022年4月20日期間近45萬條數據,存儲到數據庫中的部分數據片段如圖2所示。
3.3 數據分析和展示模塊
數據分析和展示模塊主要是實現前端的數據分析和展示功能。首先,用戶可以在搜索主頁面的輸入框中輸入需要分析的網站地址并跳轉至分析頁面;其次,分析頁面對目標網站進行總體的粗略分析,左側選擇條目,右側展示分析結果;最后,用戶可以得到相關疾病的詞云分析。
在數據分析模塊,用戶可以從不同的角度來分析。偏頭痛的提問時間偏好分析如圖3所示,由圖3可知“16—20點”這個時間段的提問數明顯高于其他時間段,偏頭痛問題的提問時間能側面反映疾病發病時間。
圖4是對2020年感冒問題數按照月份進行統計的折線圖,可以得到2020年感冒提問數的趨勢。從圖中可以看出,在11—12月份,感冒提問數會有明顯的升高,而2月份往后,提問數有一個回落。可以推測,11月份到次年1月份會是感冒的一個高發期。
對高血壓問答數據的詞云分析如圖5所示,可以看出“低鹽低脂”“低脂肪飲食”“低鹽飲食”出現較多,說明高血壓患者在日常生活中需要格外注重自身的飲食習慣,飲食要清淡,盡可能多地食用低鹽低脂的食物;“藥物”“硝苯地平緩釋片”“波依定”等藥物也被多次提及,高血壓患者通常使用藥物降壓進行治療;“原發性高血壓”和“繼發性高血壓”也被提及,對應了高血壓的2個種類。除此以外,“情緒激動”“運動”也有被提及,說明高血壓病患也要控制情緒、多加運動,對緩解癥狀有一定的幫助。
4 結語
本文通過網絡爬蟲、數據清洗、數據存儲、文本分詞和數據可視化等技術,開發并實現了一個在線醫療社區用戶信息、醫患問答等數據的分析系統,從而獲得病患發病時間、提問高峰、治療疾病的常用藥物、疾病的可能誘因、疾病的類型、醫生對患者的建議等大量有效信息。這些信息能為患者診斷和治療提供便利,也能為醫生了解病患的關切提供依據。
為了更好地為醫生和患者服務,在線醫療社區分析系統可以采用數據挖掘算法挖掘穩定社群和動態社群,指導醫療社群信息網絡的社群融合;在線醫療社交媒體用戶生成內容包含文本、圖片、音頻、視頻等信息,可以考慮如何將這些多模態的異質及部分隱私信息與網絡結構相結合,學習復雜社會信息網絡嵌入表征,得到醫療社群的偏好,提高社群畫像的質量;醫療社群建立在產品與粉絲之間的情感信任之上,可以考慮如何更好地從異構網絡獲取信息為醫療群組作出合理的推薦并給出推薦的理由。
參考文獻
[1]徐中陽,樓海萍.在線健康社區用戶醫療健康服務需求研究[J].醫學信息學雜志,2021(5):32-39.
[2]楊少梅,吳皓月,李勝利.在線醫療社區需求詞屬性分選研究——以丁香園論壇為例[J].情報探索,2022(2):43-52.
[3]鄢聞.政策工具視角下我國健康醫療大數據政策文本分析[J].情報探索,2023(1):16-21.
[4]衛軼男.基于文本分析的醫生個性化推薦[D].成都:西南財經大學,2022.
[5]周陽.基于機器學習的醫療文本分析挖掘技術研究[D].北京:北京交通大學,2020.
[6]劉偉.基于集成學習的心血管疾病預測研究[D].太原:山西財經大學,2023.
[7]馮雪.面向危重癥患者的用藥模式挖掘及預后預測方法研究[D].北京:北京交通大學,2022.
[8]陳雪蓮,韓杰.某社區衛生服務中心慢性非傳染性疾病社區診斷[J].黑龍江醫藥科學,2020(2):63-64,66.
[9]劉帥.在線醫療工具用戶使用意愿影響因素調查[J].辦公自動化,2021(19):15-18.
Design and implementation of an online medical community analysis system
Abstract: "As an important product of “Internet + medical”, online medical community has developed rapidly. Online medical community has produced a large number of medical Qamp;A information, which is rich in medical knowledge and patient concerns. Therefore, this paper constructs the framework of an online medical community analysis system, and then design and develop a doctor-patient question-and-answer data analysis system through Web crawler, data cleaning and storage, text word segmentation, data visualization and other technologies to obtain useful knowledge about the symptoms of different diseases, commonly used drugs for treatment, and analyze data such as word cloud, line chart, and pie chart. It facilitates the diagnosis and treatment of patients and provides a basis for doctors to understand patients’ concerns.
Key words: online medical community; text segmentation; word cloud analysis