【De-ID】De-identification of protected health information PHI from free text in medical records

Joyce Hsiao
Hsiao’s Blog
Published in
15 min readMar 2, 2020

這是一系列針對深度學習應用於個資去識別化論文整理並google中文化。

Paper:

1. A Deep Learning Architecture for De-identification of Patient Notes : Implementation and Evaluation

2. A Recurrent Neural Network Architecture for De-identifying Clinical Records

3. DE-IDENTIFICATION OF PROTECTED HEALTH INFORMATION PHI FROM FREE TEXT IN MEDICAL RECORDS

4. An Interactive De-Identification-System

5. Deep Learning Architectures for Tattoo Detection and De-identification

6. Live Face De-Identification in Video

7. Face-deidentification in images using Restricted Boltzmann Machine

De-identification of protected health information PHI from free text in medical records

Geetha Mahadevaiah, Dinesh M.S, Rithesh Sreenivasan, Sana Moin
and Andre Dekker

Abstract

  • 在去識別化工作中,根據文獻中引用的表現,分析了用於刪除電子健康記錄中患者紀錄的各種最新技術的表現,並選擇了NeuroNER來取消對印度放射學報告中的識別。
  • NeuroNER是由麻省理工學院(MIT)開發的named-entity recognition text 去識別工具。 該工具基於用Python編寫的人工神經網絡,並使用Tensorflow機器學習框架,並帶有五個預先訓練的模型。
  • 為了在印度文字數據(例如人名和地點)上測試NeuroNER模型,模擬了3300條醫療記錄。通過從MIMIC-III數據集中提取臨床發現和評論來模擬病歷。為了收集所有相關的印度數據,對各個網站進行了蒐集,包括印度名稱,印度地點(所有城鎮)以及印度醫院和單位名稱。在NeuroNER系統的測試過程中,我們觀察到一些印度數據(例如名稱,位置等)並未達到令人滿意的去識別。為了提高NeuroNER及現有的NeuroNER預訓練模型在印度上下文數據上的性能,添加了一個新的預訓練模型來處理印度醫療報告。
  • 醫學詞典查找用於減少錯誤分類的次數。將所有四個預先訓練的模型的結果和在印度模擬數據上訓練的模型的結果合併在一起,並生成最終的PHI列表以對醫療記錄進行匿名處理,以獲得未識別的記錄。使用這種方法,我們改善了NeuroNER系統對印度數據的適用性,並提高了效率和可靠性。將2000個模擬報告用於遷移學習作為訓練集,將1000個報告用於測試集,將300個報告用於驗證(unseen)集。

1. Introduction

  • 考慮到電子病歷數據庫的規模,能夠查看未識別身份筆記的研究人員數量有限以及人工註釋者的常見錯誤,手動取消身份識別是不切實際的,因此在實踐上不可行且代價昂貴時間,精力和成本。因此,可靠的自動去識別系統會有很高的價值。
  • 無法準確地“去識別”患者資訊將危害患者的隱私。因此,去識別系統的性能至關重要。在這項工作中,我們探索了各種技術來識別此類資訊,然後為了研究人員的使用目的而去識別。
  • 分析了各種去識別技術的性能,並選擇了NeuroNER來進一步增強去識別系統以解決印度語言數據。
  • NeuroNER是一個基於Python的人工神經網絡的命名實體識別工具(Named enitity),並使用Tensorflow機器學習框架。它使用雙向LSTM(長期短期記憶)以及CRF層(有條件隨機場層)。
  • 它具有五個預先訓練的模型,分別是Conll,I2b2 GloVe Spacy,I2b2 GloVe Stanford,Mimic GloVe Spacy和Mimic GloVe Stanford。
  • 其中,Conll接受了基於美國,歐洲和亞洲股市指數的路透社數據的培訓,而其他四項接受了醫學數據的培訓。這些數據集是使用SpaCy和Stanford NER標籤從各種主要來源準備的。它還使用GloVe預訓練的token embedding
  • 由於NeuroNER基於機器學習,因此其輸出和效率取決於用於模型訓練的數據類型。另外,當對該工具進行進一步測試時,觀察到它不能令人滿意地處理印度數據(詳細見表1),因為未對此類數據進行過預訓練。
  • 擬議的工作旨在從以下幾個方面改善Neuro NER功能:
  1. 改善系統對印度數據的適用性
  2. 使用NeuroNER提高去識別系統的效率

2. Organization of paper

  • 第3部分介紹了最新的文獻,並對現有研究中的差異進行了分析,這些研究奠定了所提出方法的基礎。
  • 第4部分”背景”介紹了稱為NeuroNER的深度學習模型,該模型是識別感興趣字詞的基礎。
  • 第5部分提出了解決方案,詳細介紹了NeuroNER模型的分析以及通過轉移學習(transfer learning)和其他技術來增強模型以提高印度的PHI識別度。
  • 第6節結果和現有技術的比較分析,說明了在建議方法中獲得的結果以及與現有技術的性能比較。
  • 第7節討論和分析涵蓋了現有技術的關鍵發現和結果分析,並通過總結最終結果證明了這一假設。
  • 第8節結論總結並提供了對所建議的解決方案在相關領域的有用性和應用的見解。本節還提供了繼續發展和改進的未來方向。

3. State of the art

在文獻中,研究人員通常採用三種標準方法進行PHI的去識別化。它們是基於規則的、基於機器學習的和混合的方法。

  1. 基於規則的去識別系統

基於廣泛的手工編碼規則和專門的字典。基於規則的系統不需要大量的訓練數據,但必須抓取不同的變化。策畫規則需要大量的人工作業。規則創建者對數據進行假設,從而限制了對不可見數據的靈活性。

2. 基於機器學習的去辨識系統

試圖通過token分類來解决這一問題。在文獻中,不同的機器學習演算法,包括CRFs,支持向量機(SVM)都已被使用。

一般來說,基於ML的系統由於其固有的靈活性而比基於規則的系統性能更好。基於ML的系統在具有較少數據的PHI類型上表現不佳。

3. 混合系統

可以結合規則和機器學習的優點。某些PHI類型(如date)最好使用規則運算式抓取,而PHI類型(如name)最好使用機器學習技術抓取。在 “De-identification of clinical notes via recurrent neural network and conditional random field”中,一個混合系統結合了token-level CRF、character-level CRF和基於規則的分類器用於去識別。

近年來,將基於規則的系統和深度學習網絡相結合的混合方法在去識別任務中的應用出現了明顯的趨勢。在深度學習網路架構中,雙向長短期記憶網絡已經成功地應用於Name Entity識別領域。利用神經元的轉移學習已經被證明對少量標記的目標集是有益的。

4. Background

■ Named Entity recognition:Named Entity recognition(NER)旨在識別文字中引起人興趣的實體,例如位置,組織和時間表達。所標識的實體可以用於各種下游應用程式,例如病歷去識別和資訊擷取系統。它們也可以用作其他自然語言處理任務的機器學習系統的功能。主要目的是從文件中自動識別名詞短語或部分名詞短語。

■ NeuroNER系統中包含的關鍵設計決策為:

  • Chunking和text表示
  • 推理和歧義的解決算法
  • Non-local dependence的建模
  • 外部知識資源和地名詞源的實施

■ Named Entity通常不是簡單的單數單詞,而是大量文字(chunks of text)。因此,需要一些分塊(chunk)或解析預測模型來預測一組token是否屬於同一實體。輸出tags用BIOES(代表開始,內部,外部,結束,單個)註釋,指示令牌在實體中的位置。

■ NeuroNER:NeuroNER的主要組成是遞歸神經網絡(RNN),特別是稱為長期短期記憶(LSTM)的RNN類型。該系統由三層組成:

  • Character-enhanced token embedding layer
  • Label prediction layer
  • Label sequence optimization layer

■ Character-enhanced token embedding layer將每個token映射到向量表示中。向量表示的序列對應到token序列,並作為Label prediction layer的輸入,該輸出表示包含針對相對應token的每個標籤的機率的向量序列。最後,序列優化層根據前一層的機率向量序列,輸出最可能的預測標籤序列。

■ 所有層都共同學習

圖1顯示了NeuroNER神經網絡的架構。 該模型中使用的RNN類型是長期短期記憶(LSTM)。 n是token數,xi是第i個token。 VT是從token到token embedding的映射。 l(i)是字元數,xi,j是第i個token中的第j個字元。 VC是從字元到字元embedding的映射。 ei是第ith個token的character-enhanced token embedding。 是標籤預測層LSTM的輸出,ai是標籤上的機率向量,yi是第i個token的預測標籤

5. Proposed solution

在使用五個NeuroNER模型進行測試期間,NeuroNER系統無法令人滿意地識別出一些印度數據,例如名稱,位置。 經過仔細的分析,我們建議在印度資料上添加額外的訓練模型,以改善NeuroNER處理印度數據的性能

■ 5.1 Analysis of neuroner

Neuroner的五個預訓練模型用於分析和測試帶有印度PHI數據的模擬報告。 在測試過程中,與CoNLL相比,i2b2 spacy,i2b2 Stanford,MIMIC spacy和MIMIC Stanford這四個模型顯示出更好的結果,因為它辨識出如PHI的許多相關醫學術語。 為了保持效率,我們排除了ConLL模型,並使用了上述四個模型中的其餘模型進行進一步的實驗。 圖2涵蓋了NeuroNER的預訓練模型驗證的總體流程。

■ 5.2 Simulation of reports with indian context

  • MIMIC-III數據集:MIMIC-III數據集包含61532筆ICU資料中的58,976例住院患者其中的46,520位患者,其中包括200萬患者筆記。(The MIMIC-III dataset contains data for 61,532 ICU stays over 58,976 hospital admissions for 46,520 patients, including 2 million patient notes. )
  • 我們使用了來自MIMIC數據庫的MIMIC去識別化的醫療報告。模擬數據庫中存在各種表,其中我們從NOTEEVENTS表中提取了5000份醫療報告。 PostgreSQL用於存取數據。
  1. 數據提取:為了收集所有相關的印度數據,按照隱私規則爬了各個網站,以提取印度名稱,印度位置(所有城鎮),印度醫院和單位名稱。 爬蟲是一種從網站提取資訊的技術。對於爬蟲,我們使用了BeautifulSoup。這是一個python庫,用於從HTML和XML文件中提取數據。為已解析的頁面創建了一個解析樹,可用於從HTML提取數據。
  2. 數據轉換:在爬蟲後,將對生成的數據進行徹底分析,並解決其缺點。對數據進行了各種轉換,包括數據清理,數據格式化以及將數據轉換為適合實驗的形式。
  3. 數據集的創建:圖3顯示了在印度環境下模擬醫療報告所遵循的過程。通過爬蟲方式提取的數據作為列表存儲,用於替換從模擬數據庫提取的報告中存在的匿名名稱和其他未標識的PHI信息。還確保具有印度語背景的模擬報告遵循適用於現有NeuroNER模型進行轉移學習的格式。總共模擬了3300個報告。在所有模擬報告中,有2000份報告用於訓練,有1000份報告用於測試,有300份報告用於看不見(unseen)的驗證

■ 5.3 Transfer learning

對於印度內容數據的轉移學習,我們使用NeuroNER’s MIMIC spacy 預訓練模型,並執行轉移學習。在訓練過程中,處理了很多樣的hyper參數,像是基於字元的token embedding、LSTM維度、丟包機率、最大次數等。在轉移學習之後,我們選擇了具有最佳epoch的模型(從30個epoch中選出6個epoch),並準備好該模型,讓其可以在去辨識過程中生成標籤。在這個過程中,我們還引入了新的標籤,這些標籤不是來自NeuroNER的標準標籤。為了評估效能,我們計算了精確度、召回率和F分數。圖4涵蓋了擬定去識別的總體流程。

  • Eliminate misclassification tokens:為了減少分類錯誤的數量,我們使用了醫療字典爬了醫療網站去獲取醫療字詞並創建雜湊表,可以用來減少字典的搜尋時間。檢查除個人和位置以外的所有token,如果它屬於任何醫學術語。我們將其標記為非PHI,並且不會對其進行去識別化。
  • Concatenation of different model outputs:為了提高系統的效率,我們開發了一種技術來連接所有預訓練模型的結果。使標籤標記與MIMIC SpaCy類型的標籤(12種類型)保持一致。創建一個文字文件,根據規範將所有這些模型的輸出連接在一起。為了串聯,我們使用加權平均值,在該模型中,當多個模型的結果用於識別適當的PHI標籤時,某些模型的某些PHI資訊的準確性較高,因此在投票中的權重很高。
  • PHI de-identification:報告中帶有PHI的所有標記標籤,我們在原始報告中將其匿名化。每個標籤都用一個虛擬值進行匿名化。日期偏移了幾年,季節保持不變。如果未通過建議的標識符識別,則將規則表達式寫入遮罩變數,例如電子郵件,IP地址,車輛號,URL和帳號。匿名後,我們將去識別化的報告作為最終輸出。

6. Results and comparative anaysis with existing techniques

NeuroNER 在模擬印度內容報告中被測量表現,表2表示外國資料和印度資料的結果比較

與從i2b2 Stanford,i2b2 SpaCy,MIMIC Stanford,MIMIC SpaCy和MIMIC Spacy India模型獲得的結果相結合,可提供可靠的結果。 在測試集上,我們使用45889 PHI和我們糾正的44398處理了1816318 token。 表3記錄了詳細的結果。

表4顯示了在帶有模擬印度數據的MIMIC Spacy模型上進行轉移學習後的驗證集結果。

7. Discussion and analysis

  • 在這項工作中,從MIMIC數據庫的NOTEEVENTS表提取的醫療報告中,利用3300個模擬報告替換了印度PHI資料
  • 在所有模擬報告中,有2000個用於訓練,1000個用於測試以及300個用於未確認的驗證。
  • 在用仿真數據測試NeuroNER模型時,與CoNLL相比,i2b2 spacy,i2b2 Stanford,MIMIC spacy和MIMIC Stanford這四個模型顯示出更好的結果,因為它將許多醫學術語稱為PHI。
  • 為了保持效率,我們排除了ConLL模型,並使用了上述四個模型中的其餘模型進行進一步的實驗。對於印度語境數據的轉移學習,我們使用了NeuroNER的MIMIC spacy預訓練模型並進行了轉移學習。通過轉移學習,基於模擬印度PHI數據的MIMIC Spacy模型顯示F分數從67.75改善到97.14。如表3所示,從NeruoNER的四個模型的級聯和在印度模擬數據上訓練的模型獲得的結果顯著改善了處理後的token。

8. Conclusions

為了提高印度PHI數據上文字去識別化的性能,NeuroNER的深度學習預訓練模型已對模擬數據的轉移學習進行了更新。 由於印度社區遍布世界各地,因此可以將提議的方法擴展到不同的英語國家,以對醫療報告的去識別。 在深度學習中,更多數據是更好的選擇,使用更多數據去更新模型一直是在改善PHI身份識別性能的範圍之內。 為了進一步改進,可以探索不同的深度學習架構。

--

--