本做品禁止任何人/企業申請專利,禁止任何人使用本做品參加任何比賽或做爲畢業設計,如使用本做品源碼進行商業用途務必聯繫做者。html
信息科技通過 60 餘年的發展,已經普及到社會生活的每個角落。隨着信息技術在國家治理、經濟運行的方方面面的應用,大量的數據隨之產生。而互聯網技術的爆發式發展使得近年來產生的數據總量超過了人類以往產生的歷史數據的總和,醫療行業的數據增加幅度尤其突出。git
醫療大數據具備巨大的價值,尤爲是在臨牀輔助診療和健康管理方面。醫療大數據已經上升到國家戰略,同時也是全球學術界與產業界競爭的研究熱點。如何利用這些醫療數據,挖掘數據的深層價值,是將來信息科技發展的趨勢,也是醫療大數據技術產生的背景。github
本項目利用知識圖譜將各類瑣碎、零散的醫療信息知識相互鏈接,以支持綜合型知識檢索問答、輔助決策和智能醫療診斷。精準醫學知識與大數據相結合,可以利用龐大的全人類對疾病的理解和醫生的經驗造成知識庫,讓醫生可以經過大數據的信息系統直接根據病人的個體實際狀況來對他們進行鍼對性的診斷和治療,輔助醫生的診療過程,使得普通醫生也可以像最好的資深醫生同樣爲病人提供高質量的診療服務。算法
本項目結合知識圖譜和醫療大數據技術,能夠幫助患者自我評估病情,幫助醫生找到最佳治療方案,提升醫生工做效率和診療質量,爲慢病患者提供遠程指導和干預。數據庫
(1)利用互聯網搜尋可靠、權威的醫療數據來源,按照疾病所屬科室利用多線程技術分段爬取所有數據,保證涵蓋所有疾病內容,並在數據爬取過程當中,分析數據結構,包括科室、症狀、病因、併發症、治療、預防等。後端
(2)針對爬取的數據進行分詞,用於後續算法設計,最後將所有數據結構化存儲至本地 MySQL 數據庫。服務器
(3)利用 Elastic Search 數據庫快速地儲存、搜索和分析海量數據。將MySQL 中存儲的數據抽取部分部分存入到 Elastic Search 數據庫,而後開發相應接口,返回JSON 格式的數據。ES 數據庫的主要功能:一是用戶在輸入框輸入症狀詞時提供實時搜索結果;二是點擊部位時搜索到所有相關症狀。微信
(4)使用 Neo4j 圖形數據庫存儲一部分結構化的數據,便於進行算法設計,搭配分詞、檢索、排除、統計等算法提高診斷正確率。數據結構
本系統須要用戶輸入我的信息(年齡、性別、職業、提供的症狀詞),系統根據用戶年齡、性別、症狀等我的信息進行算法分析、統計、排除、排序、得出相關性得分,最後將算法分析結果反饋給用戶。關於算法的設計細節,本申報書的創新性部分會詳細說明。項目的大體流程圖如圖一所示:多線程
圖一:系統運行流程圖
本項目從互聯網爬取了龐大的醫療知識庫,整體能夠分爲疾病庫與症狀庫,如何分析出疾病與疾病、疾病與症狀、症狀與症狀的內在聯繫是本系統設計的難點與核心。基於此問題,咱們研究出了一種基於知識圖譜的智能醫療診斷方法。
知識圖譜能夠大體歸納爲節點與關係的組成圖譜,很是有助於本項目對醫療數據的分析與研究。關於知識圖譜的節點設計,咱們抽取醫療知識庫中的所有症狀詞與所有疾病詞構成了知識圖譜的所有節點,這部分數據也成爲了本項目的醫學詞典。每一個節點都有許多屬性,包括科室、症狀、病因、併發症、治療、預防等,但這些屬性都是以長文本的形式存儲,醫學命名實體並無被單獨標註區分。前面已經說明,研究的主要方向是針對疾病與症狀的聯繫,咱們利用醫學詞典對疾病的症狀屬性進行分詞。由此症狀節點與疾病節點有了直接的關聯,此時的節點知識圖譜如圖二所示:
當每一個疾病節點都與它所屬的症狀或一些併發症進行了關聯以後,相互之間不免出現交叉。以圖二所示舉例,偏頭痛會致使一系列症狀與併發症,這種關係以箭頭指向表示,偏頭痛指向叢集性頭痛,叢集性頭痛又指向症狀詞頭痛,偏頭痛也指向了頭痛,各類複雜的疾病、症狀關係正是經過這種複雜的指向關係(也就是知識圖譜),進行了清晰的展現。
如何基於這種複雜的知識圖譜研究出一套科學的智能診斷算法是本系統的核心與關鍵。前面已經提到,系統在診斷以前須要用戶提供症狀、年齡、性別等信息,當獲取用戶提供的本系統醫學詞典範圍內的症狀詞後,系統會立刻根據症狀詞獲取此症狀的知識圖譜,假設用戶提供了「頭痛」與「噁心」兩個症狀詞,此時的知識圖譜如圖3、圖四所示:
由知識圖譜能夠看到指向它們自身的節點,也就是致使這兩個症狀的疾病是存在共同之處的。當咱們把這兩張知識圖譜合二爲一後,此時的知識圖譜如圖五所示:
該方法到此正式分析出了引發用戶症狀的「病因」,但此刻獲取的疾病結果仍是有些籠統,存在一些偏差,這些偏差來源於每一個人的性別、年齡、職業等具體的我的特徵,所以須要進一步的提高診斷準確率。
針對疾病所屬的部分科室對人羣的嚴格劃分,咱們詳細列出了特殊科室人羣分佈表格,如表格1所示:
表 1 特殊科室人羣分佈表
科室 | 人羣 |
---|---|
婦科 | 女 |
產科 | 女 |
婦產科 | 女 |
男科 | 男 |
小兒科 | 小兒 |
老年科 | 老年 |
乳腺外科 | 女 |
由此表格輔助,再搭配用戶提供的年齡、性別信息,能夠成功排除至關大的一部分不可能疾病,大大提高了診斷的正確率。
到此,系統已初步診斷出引起這些症狀的一系列疾病。但這些的疾病哪些的正確率最大,哪些的正確率最小暫時還不知道。爲了解決這個問題,特提出「相關性得分」的概念進行最終的排序。系統須要計算診斷得出的疾病的匹配症狀的多少,好比,用戶提供了3個症狀詞,系統診斷得出了10個疾病結果,其中有的疾病的全部症狀中只匹配用戶提供的3個症狀的其中2個,有的疾病的全部症狀中包含所有的3個症狀,匹配症狀越多的疾病得分越高,這是第一步的大致排序。但此時很容易就出現匹配度相同的疾病,相似出現兩種疾病的全部症狀都匹配了兩個症狀的狀況。如何處理這種狀況,僅使用匹配算法是不能知足的。所以,須要進一步對匹配度相同的疾病結果進行單獨的排序。通過兩次排序後的結果就是診斷系統的最終診斷結果。
本系統在開發過程當中,涉及到的技術與框架繁多,爲了使各個業務系統分離,使用微服務架構,爲了進一步提升系統併發量與高可用,使用分佈式技術。系統架構如圖六所示:
(1)針對支撐知識圖譜的Neo4j數據庫、支撐快速檢索醫學詞典的Elastic Search數據庫與提供醫學知識庫的MySQL數據庫,爲了進一步提高三個數據庫的讀寫能力,使用分佈式架構,將三者有關的功能模塊進行分離。
(2)在系統的先後端分離上,使用Nginx服務器進行靜態資源的讀寫,進一步提高系統的吞吐等待量與高可用。
(3)使用Spring Cloud框架用於分離各個系統功能模塊,便於後續系統的升級與維護。
(1)是爲我的提供快速自診服務,輕鬆掌握自身病情的一種方法,病急再也不亂投醫。
(2)是爲研究人員或醫生提供輔助診斷服務,幫助醫生髮現症狀與疾病的各類關聯,輔助診斷研究過程。
咱們將逐步完善以知識圖譜的形式對醫療數據進行展現的功能,做爲醫生進行診斷的參考,也能夠幫助用戶瞭解更多的醫療知識。
本項目的開發已經基本完成,原型系統已經上線。整個項目從技術上來說,是徹底可行的。
本項目已內部進行屢次測試,輔助診斷的正確率可以達到80%以上,系統的可用性也是有保證的。
愈來愈多的民衆願意積極參與健康管理。這種意願正在延伸到 AI 和機器人領域。此外,智能醫療市場前景廣闊,且增速可觀。到 2020 年市場規模將達 79.88 億美圓,將來 5 年 CAGR 達 52.68%。同時, 資本和政策的雙重支持將驅動智能醫療繼續加速發展。 自 2012 年以來, 智能醫療的融資總額一直是最高的。目前, 不管是科技巨頭仍是傳統的醫療機構, 都在紛紛搶灘智能醫療領域。科技巨頭主要是經過與醫療機構合做獲取海量的醫療數據來訓練本身的模型從而提供更好的產品和服務。而醫療機構更傾向與垂直行業的領先公司合做,從各個方面來智能化整個機構。
在中國新醫改的大背景下,智能醫療正在走進尋常百姓的生活。隨着人均壽命的延長、出生率的降低和人們對健康的關注,現代社會人們須要更好的醫療系統。這樣,遠程醫療、電子醫療(e-health)就顯得很是急需。
本項目做爲智能醫療的一個具體應用,具備良好的推廣前景和市場價值。
基於知識圖譜的智能診療系統的建設和推廣,能夠取得如下經濟社會效益:
(1)能夠爲廣大人民羣衆可提供便利的病情自我評估,利於人們儘早發現病情並積極診治,「病急再也不亂投醫」;
(2)能夠爲醫生提供豐富的醫學知識圖譜,利於醫生查找相關疾病知識,以準確分析患者病症;
(3)能夠根據知識圖譜和患者病症,全面分析推斷可能的疾病並提供潛在的醫療方案,輔助醫生的診療過程,減小醫療事故的發生。
本項目的研究和推廣,可以產生巨大的社會效益,減小社會的醫療成本支出,提升醫療質量,改善人們生活。
Github:https://github.com/yueshutong/Doctor
交流QQ羣:781927207