近期,雷鋒網醫健AI掘金志邀請大數醫達AI首席架構師林玥煜做客雷鋒網公開課,以“AI賦能醫療提質增效”為題,對大數醫達自動化病歷處理思路以及智能化臨牀決策產品進行技術解析。
林玥煜表示:“新基建已經明確提出,將基層醫院診療的智慧化提升一個新台階,但多年供需關係的不對等,導致基層醫療專業醫師資源缺失,疾病診斷能力嚴重不足。”
大數醫達着重佈局的一大領域是電子病歷,林玥煜也在演講中着重分享了大數醫達在醫學文本方面的處理經驗。
醫學文本被認為是一種特定語言,包含特定語法。所以,醫學文本人工標註就需要專門醫生、醫學團隊設計標註流程,提取內容計劃,根據不同應用場景設計標註內容。
目前,大數醫達已經有一套機制,讓機器輔助標註最後幾個迭代環節。整個過程中,醫生只需要進行少量修改,就可以讓標註質量、效率都會有指數級提升。此外,大數醫達的無監督預訓練模型還會根據醫學常識,對醫學詞彙進行自我發現,提取高頻詞做倒排序,讓醫生判斷含義。
圍繞病歷結構化處理的流程,林玥煜也分享了大數醫達的技術成果。
以下為林玥煜演講內容,醫健AI掘金志做了不改變原意的編輯:
林玥煜:大家好,我是來自大數醫達的林玥煜,很高興在雷鋒網的平台上跟大家分享大數醫達關於醫療大數據挖掘以及醫療人工智能應用的一些看法。
當前新基建的戰略裏,醫療是很重要的一塊,依託5G、互聯網技術以及人工智能技術,醫療行業向着質變的方向發展。新基建的話題裏,人工智能是其中一個很重要的亮點。
醫院智慧化的核心是醫療質量、效率的提升目前,國家已經明確要求,把基層醫院的智慧化推廣到一個新台階。
從市場發展趨勢來看,醫院信息化系統經歷了幾個階段,從90年代開始的醫院電子化到無紙化,接下來,則是各個醫療系統之間互聯互通集成平台的建設,讓數據分享成為可能。
目前,醫療數據的基礎非常好,不管是共享還是數據平台建設,都已經處於比較成熟的狀態。怎樣利用已有的人工智能技術,幫助患者、醫生和醫院管理者在新的環境下提升醫療質量,讓醫療資源能夠得到充分應用,是一個比較新的挑戰。
大數據挖掘在醫療方面的應用,是大數醫達近年來專注的一個方向,在很多環節都可以去應用人工智能技術。我們認為,在醫療過程中提升效率,把現有的醫療資源充分利用起來,是醫療智慧化的一個核心。
這幾年經濟發展非常好,患者對醫療質量要求越來越高。患者無論從知情權,還是對醫療資源的使用,需求增長非常快,但醫療資源的供給特別是醫生和護士的供給,還沒有跟上患者的需求,在這樣矛盾下,患者的“獲得感”反而會降低。
另一方面,隨着全國各地的醫院規模越來越大,設備越來越多,產生的數據也非常多,雖然規範了醫療行為。但由於醫護人員數量非常緊張,在繁忙的過程中讓所有記錄都正確,並且在移交的時候有非常高的質量,對所有基層臨牀的醫務人員而言是很大的負擔。
因此,醫院經常會產生一些文書錯誤,有些錯誤可能會導致惡劣醫療後果,而醫院管理系統變得越來越龐大,全部依賴人工做文書系統、檔案系統審核基本不太可能。
大部分醫院無論是電子病歷,還是病程首頁,各種文書系統都還靠人工抽樣,隱患非常嚴重。
從第一張圖看到,醫療資源非常缺少,不是缺少醫療設備,而是高質量的診療能力。
東部沿海很多省市會把援建落後省市作為一個首要任務,像上海援建雲南,經常會把很多醫療設備送過去。當地醫護人員水平比較有限,這種情況下,一些非常好的硬件資源在當地基層被長期擱置,而當地羣眾對醫療需求並沒有降低。
因此,我們可以利用現有大數據技術,在國內海量醫療數據中挖掘有用信息,提煉出合適的人工智能模型,封裝成基層患者、醫院管理者能夠使用、提高醫療過程中各環節效率的產品。
我們一直強調的一點是,醫院智慧化的核心就是醫療質量以及效率的提升。
這首先需要醫療大數據挖掘,病歷的電子化是一個長期的過程。電子病歷也是大數醫達最大的優勢,我們有長時間、連續的病歷數據積累。
電子病歷、入院記錄、手術記錄,術前術後小結這些文本資源,我們利用這些數據訓練出模型,幫助經驗不足的醫生學習和診斷。
但這些海量的文本,在使用之前還需經過幾輪處理。
首先,對病歷進行結構化提取,把病歷裏的臨牀表現、體徵檢查、化驗值、家族史、既往史或者吸煙史、婚育史提取出來。接着,對同一個症狀、不同描述做歸一,最終形成結構化電子病歷。
雖然,電子病歷系統已經越來越完善,也同時導致醫生選擇模板變得困難,經常都是直接選擇默認值,導致陽性或陰性症狀都沒有被重點突出,也就需要根據不同疾病模型獲得更高權重。
其次,根據一些醫學典籍,把電子病歷中的錯誤進行過濾,過濾雖然非常簡單粗暴,但也比較有效。
我們在訓練模型的時候,也可以把典籍裏面的重點症狀權重調高。例如阿茲海默症、癲癇和偏癱症狀,就這些症狀的權重調高,讓模型更好判斷當前症狀、化驗結果、體格檢查。
但典籍給出的,永遠都是模糊的建議,而沒有哪個病人會按照教科書生病。
院內的智慧服務有哪些核心環節?我們利用上一步提取的病歷,可以很容易把這些疾病分級、分類。
首先,把疾病分為常見病和罕見病兩類,常見病種類就包括4000多個ICD、300多個種類,涵蓋95%的就診患者,剩下為罕見病,存在上萬個ICD,但僅佔總數5%。
大數醫達的AI問診模型可以像醫生一樣不停追問患者當前症狀,根據患者年齡、性別等生命體徵,從模型裏動態生成問題,而不是像其他廠商問題非常固定。
利用這種動態模型的建立,可以在問診過程中,很容易收集到患者當前症狀。
為什麼只涉及症狀?
這是因為,整個醫療過程,症狀是最重要的部分之一,特別對於科室分診有着重要意義。
對於患者來説,導診非常困難,一種疾病對應多個科室。而一旦選錯不僅耽誤治療時間,還會產生過度醫療行為。
回過頭來看,導診過程本身就可以在就診前完成,甚至通過有效導診可以避免簡單疾病的過度醫療。如果這個病需要掛號,大數醫達的AI問診助手也可以跟醫院打通掛號系統後,把AI醫生收集的所有病症,同步給醫院HIS和EMR系統,這樣醫生在見到病人前就能看到病人的主訴。
如果是罕見病,模型也可以結合症狀判斷疾病嚴重程度。例如,一個患者什麼症狀都沒有,只有發熱,而且不明原因發熱,持續時間比較長,就可能判斷為新冠肺炎。醫生可以通過互聯網醫院平台,和患者一對一對話,儘快做進一步檢查。
目前,人工智能的發展並不能夠代替醫生,只能輔助醫生,特別是疑難雜症,原因在於疑難雜症數據量非常少,每個醫院可能就幾份病歷,這麼少的數據很難訓練出模型來輔助醫生決策,最多隻能實現檢索和參考。
這是一個智能門診案例,功能包括根據患者狀況進行提問,根據問題給出患某種疾病的概率。
現實過程中,很多患者看病時間平均也就兩三分鐘,如果能幫助醫生節省一分鐘,就相當於提高了33%的效率,對醫療資源利用率提升非常有幫助。
接下來,我和大家分享一下醫療數據挖掘對於醫院管理質量提升的作用。
目前,大量醫療資料都是以病歷形式存在,優質病歷對醫生、患者、醫保,以及整個醫療過程參與者都非常重要,特別對於醫院管理段,如果醫生自身沒有注意,後續就需要在病歷歸檔時候進行全量掃描,一步步來找出病理的問題,給醫生做反饋。
目前,大數醫達已經積攢了大量醫療文本處理經驗,並且根據經驗設計了病歷質控系統。
病歷質控系統分為兩部分。首先,利用十幾個模型對不同病歷部分做結構化,一邊書寫、一邊進行結構化,結構化之後再做機器質控。
使用結構化質控的原因在於醫生書寫病歷的形式多種多樣,僅僅通過自然語言進行對錯判斷,誤判率會非常高。而且,目前深度學習技術還無法分清對錯。
目前,大數醫達病歷質控系統最核心的技術就是醫療文本結構化,根據醫學團隊總結出的醫學規則,在結構化數據上進行質控。
例如,一名年輕患者頭暈三天,各種生命體徵都正常,醫生卻給出腦梗診斷。這個診斷就是有問題的,可能血壓偏高、呼吸偏快的症狀沒有寫,或者診斷錯誤。
發現病歷問題後,在質控更改上,大數醫達還會利用專業醫生的方式優化對口病歷。
例如,有些醫生可能對泌尿科特別有經驗,有些醫生則可能對神經內科有經驗,在讀懂病的情況下,可以把相關病歷分配給最合適的醫生,提升病歷質控質量。
這些病歷修改和調整的步驟,都會在病歷歸檔之前完成,保證醫療病歷歸檔質量,儘量減少醫院管理風險。
除了醫院管理,大數醫達的人工智能應用,還可以幫助臨牀醫生做一些輔助工作。看待這個問題之前,首先要找準應用場景,究竟是需要落地到三甲醫院,還是基層醫療機構。
大數醫達認為,三甲醫院醫生處於整個醫療機構的金字塔尖,他們更多地是需要處理疑難雜症。
而基層醫療醫生,因為缺乏足夠醫療知識,往往只會看幾種病,我們希望訓練出來的人工智能模型和應用,能夠幫助基層醫生看更多的病、服務更多患者。
所以,大數醫達把AI輔助診斷助手下放到基層,把患者的常見病處理方式給到基層醫生,最終把基層醫生培養成三甲醫院的水平。基層醫生除了平時只服務小病患者,也可以鑑別患者是不是疑難雜症,是否需要大醫生處理,需要到什麼樣的三甲醫院、讓疑難雜症的病人得到更好的處置。
目前在基層,已經出現比較好的應用實踐路徑,至於打通三甲還在努力過程中。
中文醫學NLP技術拆解大數醫達不僅僅是複製醫生知識,解決常見大小疾病,也希望提高整體的醫療效率。
目前來看,提高醫療效率的有效方法,就是無監督預訓練模型。從這邊GPT1、GPT2,到BERT、RoBERTa,再到ALBERT,這些模型都能夠節約大量人工標註工作。
醫學文本被認為是一種特定語言,包含特定語法。所以,醫學文本人工標註就需要專門醫生、醫學團隊設計標註流程,提取內容計劃,根據不同應用場景設計標註內容。
目前,大數醫達已經有一套機制,讓機器輔助標註最後幾個迭代環節。整個過程中,醫生只需要進行少量修改,就可以讓標註質量、效率都會有指數級提升。
此外,大數醫達的無監督預訓練模型還會根據醫學常識,對醫學詞彙進行自我發現,提取高頻詞做倒排序,讓醫生判斷含義。
例如,頭痛跟頭疼,正規寫法是頭痛,但頭部疼痛也沒有問題,頭部隱痛也是頭痛,這就是在醫學詞彙歸一中發現的。
接下來,我會介紹病歷結構化處理的流程。
首先,我們先讓醫生制定合理結構化提取標準,例如體格檢查裏面的檢查部位、檢查結果、檢查方位,這是自然語言理解特定領域的首要過程,未來從數據依存關係把文字變成樹形結構。
標註完成之後,標註數據也可以運用到真實病歷裏,形成樹形結構的依存關係分析圖譜。
這個過程主要是應用於自動標註,當標註任務比較困難,就可以在醫生標註一二百份之後,機器學習自動標註後面幾千份數據,最終讓整個模型標註效率提升。
不管機器自動評估還是人工評估,都需要對醫院全量數據進行結構化,得到全量結構化術語語法,例如檢查部位,胸部、腹部、腿部,指部等詞語就需統一。
這一整套標註工作下來,我們經常發現三甲醫院的病歷質量比較高,主要是因為三甲醫院醫生不會亂用詞語和術語。在全院歷年上百萬病歷數據結構化歸一之後,高頻出現超過100次以上的詞語,只有一兩千個,而高頻詞出現次數加起來就已經超過99.99%。
這是標註平台截圖,自動標註跟人工標註結合,並從中提取其他症狀,這種其他症狀代表非常複雜的醫學術語體系。
病歷完成結構化之後,接下來就是應用。
對於患者的應用,可以把患者基本信息、病歷症狀拿出來訓練AI模型,這樣醫生就可以通過手機問診模型選擇患者基本信息加症狀,不需要任何額外檢查就能夠獲得數據。
症狀代表着什麼?同樣都是頭痛,一個是前額頭痛,一個是太陽穴頭痛,一個是頭部隱痛,還有頭部脹痛,這些症狀含義完全不一樣。
所以,我們就需要把每一個症狀類別、每個點類別進行區分,變成非常稀疏的矩陣,每一個點可能包括上百萬個組合,如此稀疏的信息密度在實際訓練模型會非常困難。
為此,大數醫達嘗試用序列做模擬,症狀用樹形結構表示,樹形結構可以直接把自然語言變成一個有層次結構的字符串。
這種方式最大好處就是容忍輸入長短不一樣,但還存在一個問題:字符串本身是有序的,第一個症狀跟第二個症狀存在順序關係,但實際患者症狀的時間屬性是無序的,所以序列僅僅能夠解決患者症狀長短的問題,沒有辦法解決順序問題。
為了解決順序問題,大數醫達選擇了圖模型解決,圖模型最大的特點就是天然、無序,表示患者所有臨牀表現是最正確、最貼切的應用。
首先,大數醫達把所有患者症狀用圖描述做一些優化,按照統一、自洽規則,把實體作為一個大節點優先提取出來,兩個子節點分別代表疼痛和眩暈。這樣一來,疼痛跟眩暈就不會跟其他節點發生聯繫,圖學習效率也會更高。
一些沒有特別順序的單數節點病歷,也可以把所有陽性節點互相關聯。把總節點關聯到所有陽性症狀、陽性體格檢查、陽性化驗檢查結果。
除了陽性節點,還有陰性節點,圖模型可以把所有陰性症狀關聯起來,學到哪一種症狀都能推導出診斷和排除問題。
把患者臨牀表現以圖形式建模之後,還有其他的工作。
首先,把所有畫面圖拿去訓練深層次圖模型,深層圖模型就是給一部分殘缺圖提示,按照提示進行補充。整個過程最重要的應用場景就是醫生問診。醫生可以通過模擬片段,知道更多信息,補充整個全局,整個圖模型也會學習醫生補充的步驟。
圖生成模型的方式包含很多種,大數醫達應用的是auto encoder,學習圖自編碼,不斷完善圖如何生成。
當圖是完整的,模型就可以給出一些推斷。例如患什麼疾病。另外一種是診斷之後的治療,這些都是圖構建完之後,根據不同目標、不同應用訓練生成的。
例如,醫生判斷這個患者就是普通感冒,在收集症狀之後,如果還沒有做過化驗檢查,就會給出一個判斷,是不是感染某種肺炎,或者其他流行病,給出醫生這是一個流行病病例的預警。
而在高血壓病人場景中。在做一系列化驗檢查時,如果錯過某些細節,模型就可以自動提醒,例如開藥,不要漏掉某些診斷或處置。
最後闡述一下,我們選擇圖模型的初衷。
圖模型雖然是一個很難路徑,但卻可以很好融合醫學臨牀表現本質,在decoder層設計不同目標,追問症狀體徵,模擬醫生問診,並根據當前狀況,推薦下一步的化驗檢查流程,給出診斷建議或治療方案。