https://www.cn-healthcare.com/article/20171128/content-497680.htmlhtml
病歷做爲醫院的寶貴財富,裏面蘊含了大量的專業知識,可是因爲受到技術的限制,長期得不到有效利用。上海長海醫院做爲一所大型三甲綜合醫院,學科實力雄厚,對臨牀科研的要求也很是高。可是醫生還停留在去病案室借閱病歷,手工摘抄收集科研數據的階段,效率十分低下。如何利用最新的人工智能技術,讓機器「讀懂」病歷數據,提升臨牀科研效率和質量,是目前亟需解決的課題。app
對病歷文本相關的智能分析主要涉及天然語言處理技術,相關研究開始於20世紀60年代的美國,衍生出包括醫學信息抽取、臨牀問答系統和臨牀決策支持系統等。對於醫學文本信息抽取,目前已經有相對成熟的系統在醫院使用,包括MedLEE、Ctakes和GATE等。YongGang Cao等構建了幫助醫生查詢病人症狀有關幫助的AskHERMES問答系統。dom
我國醫學天然語言處理的發展水平還與發達國家有必定差距,主要集中在基於規則和專家系統的方法,而將機器學習、深度學習應用到醫學天然語言處理須要更加深刻的研究。對此,咱們結合國內外最新的研究現狀,在上海長海醫院率先開展了利用天然語言處理技術構建病歷智能分析系統的研究工做。機器學習
病歷智能分析系統設計工具
1.功能模塊性能
病歷智能分析系統的核心技術是天然語言處理。系統主要涉及句法學、語義學和語用學共三個不一樣等級的語言學分析,由分詞、病歷標註、命名實體識別和語義關聯抽取共四個模塊組成,如圖1所示。學習
圖1 病歷智能分析系統功能模塊設計大數據
2.核心技術優化
(1)分詞 網站
做爲病歷智能分析的第一步,對中文病歷文本進行分詞相當重要。病歷文本內有大量的醫學專業術語和表達,這種特色致使傳統中文分詞工具對病歷文本的分詞效果很差。例如藥品名「去甲僞麻黃鹼」會被劃分爲「去/甲/僞/麻黃鹼」,而不是將其當成一個總體。爲了提升對病歷文本的分詞效果,咱們收集了醫學專業詞彙和經常使用藥品名等,將這些詞條整合成詞典做爲分詞工具的補充。咱們將詞典與開源的「結巴分詞」工具相結合來對中文電子病歷進行分詞處理,構成了一個徹底非監督、無需人工標註便可使用的中文病歷分詞引擎。
(2)病歷標註
有監督的機器學習方法能對病歷文本中的醫學知識和患者的健康信息進行抽取,而進行監督學習的第一步是進行病歷文本的人工標註,以使得標註後的數據可以對機器進行有效的訓練。咱們對兩類信息:醫學命名實體(包括疾病、疾病診斷、臨牀症狀、檢查和治療等),以及實體間的語義關聯(治療和疾病間的關係、治療和症狀的關係、檢查和疾病的關係、檢查和症狀的關係以及疾病和症狀的關係),進行了人工標註。在標註過程當中咱們採用了BIO的標註體系,即B表示一個命名實體的開始,I表示目標詞在命名實體的內部,O表示目標詞不屬於命名實體。咱們隨機抽樣了來自上海長海醫院的3000份出院小結,並召集上海長海醫院內的臨牀實習生對其進行上述標註。在其中300份病歷上,咱們制定了兩名標註者同時對其進行標註,並使用Cohen′s Kappa計算其標註一致性,並得到了0.68的Kappa值。
(3)命名實體識別分析技術
命名實體識別技術指的是將病歷中重要的醫學實體,如疾病、症狀、檢查、治療變量等從病歷文本中抽取出來。例如「患者30餘年前因反覆咳嗽咳痰屢次就診,診斷爲慢性支氣管炎,平素服用順爾寧控制症狀」這句話中,「咳嗽咳痰」被識別爲症狀,「慢性支氣管炎」被識別爲診斷,「順爾寧」被識別爲藥物,屬於醫療手段。
因爲病歷文本是由自由文本書寫而成,所以將這些醫學命名實體進行識別時將病歷文本進行結構化是病歷智能分析的重要環節。目前命名實體識別的方法主要分爲基於詞典和規則的方法和基於機器學習的方法。基於詞典和規則的方法須要人工編制出不少相關規則和專業的醫學詞典,而詞典和規則的編制過程須要大量的人力,而且這些規則和詞典應用到病歷文本時受到命名實體上下文的影響很大,所以效果不是很理想;而基於機器學習的方法是將命名實體識別任務做爲序列數據的標註問題,主要考慮上下文的信息。
目前公認完成命名實體識別性能較好的機器學習模型是條件隨機場(Conditional Random Fields),特徵構造過程當中經常使用的特徵是上下文特徵、字典特徵等。咱們利用條件隨機場來訓練命名實體識別模型,並採用了開源的CRF++做爲咱們依賴的工具。咱們使用原始字、分詞的結果、以及上下文(窗口大小爲5)中的信息做爲特徵,對CRF模型進行訓練。並利用上一章節中所述的3000份標註病歷,咱們對其進行了5-fold的交叉驗證。結果顯示命名實體識別的整體F-1評分(Micro-F)達到了0.92,證明了模型可以準確地完成醫學命名實體識別的任務。
(4)語義關聯抽取技術
對病歷文本中抽取出來命名實體之間的語義關聯進行分析,也是病歷智能分析的重要環節。抽取的關係包括疾病和症狀之間的關係、疾病和治療之間的關係、時間副詞的修飾等。在這個步驟中,咱們把問題轉化成了一個分類問題。即,對於每一對特定距離內(100字之內)的命名實體(相距過遠的命名實體咱們認爲其產生關聯的可能性很小)咱們使用機器學習模型去判斷其是否有關聯以及若是有關聯其類別是什麼。在本工做中,咱們嘗試了條件隨機場(SVM)、邏輯迴歸、決策樹(C4.5)等模型,發如今同等的特徵和訓練數據下,獲得了類似性能。所以,咱們最終採用了條件隨機場做爲模型,並一樣對3000份標註病歷進行了5-fold的交叉驗證,得到了平均0.88的語義關聯抽取準確度。將該分類器應用於新的病歷上,可以得到的完整解析後的效果,如圖2所示。
圖2 命名實體識別和命名實體關係抽取結果示例圖
系統應用
1.加速填寫病例報告表(CRF)
病例報告表(Case Report Form, CRF)是臨牀研究數據獲取的主要工具,在藥物臨牀實驗和臨牀研究中都有普遍的應用。收集到準確、可靠的臨牀數據是臨牀實驗的重要環節。在填寫病例報告表的過程當中要求填寫受試者的基本信息、治療期及隨訪期記錄、試驗結束記錄等。病例報告表中包含大量的臨牀變量,包括患者的症狀、臨牀表現、體徵、實驗室檢查等狀況。
利用咱們構建的病歷智能分析系統,用命名實體識別技術能將病例報告表中須要填寫的變量在受試者的報告中進行自動抽取,從而加速CRF表中的填寫速度,優化臨牀實驗的處理流程。
2.優化臨牀數據中心(CDR)
做爲構建臨牀數據中心的重要環節,數據的標準化和結構化成爲一個棘手的問題。因爲不一樣系統的電子病歷系統和醫院信息系統的數據標準不一樣,電子病歷中的醫學信息在臨牀數據中心進行流通和利用困難重重。在病歷智能分析系統的幫助下,以自由文本書寫的病歷能進行結構化,結構化後病歷文本就能夠在不一樣醫院和不一樣區域間進行交換整合。同時,對電子病歷中積壓的臨牀數據進行結構化處理,可以實現對歷史電子病歷中的診療過程的整合,豐富臨牀數據中心的內容。
3.輔助臨牀決策支持系統(CDSS)
臨牀決策支持系統(Clinical Decision Support System, CDSS)是對臨牀工做的有益補充,能在複雜和變化的臨牀場景下爲醫務人員提供及時有效的輔助診斷,有效地提升臨牀決策的準確率和效率。
臨牀輔助決策支持系統的數據來源一般是醫學書籍、文獻、病歷等非結構化數據,直接利用這些數據難以抽取出來診療過程當中的變量和變量之間的關係。利用病歷智能分析系統,將這些自由文本進行結構化處理以後能幫助臨牀輔助決策支持系統,更好地挖掘患者既往病史與醫學知識的關係,提供更優質和科學的推薦方案。
本文闡述了病歷智能分析系統的模塊組成、核心技術及應用場景,解決了部分臨牀中遇到的問題,獲得了臨牀的廣泛好評。目前階段,電子病歷中的主觀數據須要人工標註,佔所有病歷數的10%左右。如何從無標註的數據進行學習,將是將來三到五年須要解決的重要問題。此外,如何像人同樣從小樣本進行有效學習,以及如何從認知性的任務擴展到決策性任務,一樣是須要解決的問題。相信隨着人工智能技術的快速發展,特別是深度學習技術的逐漸成熟,天然語言處理技術將在醫學大數據挖掘中發揮愈來愈重要的做用。
原標題:病歷智能分析系統的研究與實現