【De-ID】A deep learning architechture for de-identification of patient notes: implementation and evaluation

Joyce Hsiao
Hsiao’s Blog
Published in
18 min readMar 3, 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

A deep learning architechture for de-identification of patient notes: implementation and evaluation

Kaung Khin,Philipp Burckhardt,Rema Padman

1. Introduction

  • 近年來,電子病歷(EHR)為研究人員提供了新數據的寶庫,尤其是在非結構化文本數據領域。
  • 但是,此新數據源帶有使用限制,以根據(HIPAA)的要求保護每個患者的隱私。 HIPAA要求任何使用此敏感數據的研究人員首先去除任何受保護的健康信息(PHI)的病歷,這一過程稱為去識別。
  • HIPAA允許使用兩種方法來對PHI進行身份識別:“專家確定”方法(由專家確認該方法使該信息無法單獨識別)和“安全港”(Safe Harbor)方法,其中刪除18個標識符或將其替換為隨機數據。將數據視為無法單獨識別的命令。我們的研究涉及第二種方法
  • 根據敏感性質和使任務自動化軟體的可用性有限,去識別的過程在很大程度上已經是一項手動且勞動密集型的任務。這導致可供公眾使用的開放式健康數據集相對較少。
  • 最近,由(i2b2)組織了兩個眾所周知的去識別挑戰,以鼓勵去識別領域的創新。
  • 在本文中,我們結合了Peters等人開發的deep contextualized word embedding,以自然語言處理的最新進展為基礎,尤其是在word embedding方面。
  • 進入深度學習架構。更準確地說,我們提供了一種深度學習體系結構,該體系結構通過使用雙向的長期短期記憶網絡(Bi-LSTM),具有可變的dropout和deep contextualized word embedding的功能,同時還使用已經存在的元件,從而與文獻中的當前體系結構有所不同在其他系統中,例如傳統的word embedding,character LSTM embedding 和條件隨機字段。
  • 我們在兩個黃金標準數據集,2014 i2b2去識別Track 1數據集和護理筆記語料庫上測試了該體系結構。該體系結構在兩個數據集上均實現了最新的性能,同時還實現了更快的收斂,而無需使用字典(或地名詞典)或其他通常用於其他去識別系統的基於規則的方法。
  • 本文的組織結構如下:
  1. 在第2節中,我們回顧了有關去識別技術的最新文獻,重點是使用深度學習技術的相關工作。
  2. 在第3節中,我們詳細介紹了深度學習體系結構,還描述瞭如何使用深度上下文化詞嵌入方法來改善結果。
  3. 第4節介紹了我們將用於評估方法和評估指標的兩個數據集。
  4. 第5節介紹了我們的數據集體系結構的性能。
  5. 在第6節中,我們討論結果並提供對錯誤的分析。
  6. 最後,在第7節中,我們總結了我們的貢獻,同時還討論了可能的未來研究。

2. Background and related work

以下[#]皆為原文中文獻編號

■ Rule-based system

基於規則的系統會大量使用模式匹配,例如字典(或地名詞典),規則表達式和其他模式。 而系統不需要使用任何標記的數據的話會被認為是無監督的學習系統。這種系統的優點包括易於使用,易於添加新模式以及易於解釋。但是,這些方法在輸入方面缺乏穩健性。例如,同一單詞的不同大小寫可能會被誤解為未知單詞。此外,印刷錯誤幾乎總是出現在大多數文檔中,基於規則的系統通常無法正確處理數據中存在的這些類型的不准確性。至關重要的是,這些系統無法處理可能導致醫學文本不可讀的上下文。例如,“Lou Gehring disease”的診斷可能會被諸如Name類型的PHI之類的系統誤識別。如果替換了足夠多的標記,系統可能會用隨機化的名稱替換標記“ Lou”和“ Gehring”,從而使字詞變得毫無意義。

■ Machine learning system

這種基於規則的系統的弊端導致研究人員採用了機器學習方法。

在機器學習系統中,給定一系列輸入向量X1 … Xn,機器學習算法將輸出標籤預測Y1 … Yn。由於去識別的任務是分類任務,因此傳統的分類算法(例如支持向量機,條件隨機場(CRF)和決策樹)已用於構建去識別系統。

這些基於機器學習的系統的優勢在於能夠識別肉眼不易察覺的複雜模式。但是,這種基於ML的系統的缺點在於,由於分類是有監督的學習任務,因此大多數常見的分類算法都需要用於穩健模型的大標籤數據集。

此外,由於在最後一段中描述的大多數算法在給定輸入Xi的向量的情況下最大化了標籤Yi的可能性,因此沒有出現在訓練數據集中的稀有模式可能被誤分類為不是PHI標籤。

此外,這些模型可能無法推廣到其他文字語料庫,這些文本語料庫包含比訓練數據集更常見的醫學模式中常見的句子結構和使用不同縮寫詞的句子結構和用法。

■ Hybrid system

充分記錄了獨立的基於規則的系統和基於ML的系統的優缺點,[3]中詳細介紹的系統將ML和基於規則的系統相結合,從而獲得了可觀的結果。 Yang等人在2014 i2b2挑戰賽中提出的系統。

重要的是要注意,這樣的混合系統嚴重依賴於要素工程,這是從原始文本中不存在的數據中產生新要素的過程。例如,大多數機器學習技術都無法將文本作為輸入。它們要求將文本表示為數字的向量。

在贏得了Yang等人的2014 i2b2取消身份挑戰的系統中,可以看到此類功能的範例 [11]。他們的系統使用token功能(例如詞性標記和分塊),上下文功能(例如詞引理和相鄰單詞的POS標籤),拼字法功能(例如大寫和標點符號)以及特定於任務的功能(例如構建包含所有內容的列表)美國各州的全名,首字母縮寫和收集TF-IDF統計資訊。儘管此類混合系統取得了令人印象深刻的結果,但是特徵工程的任務是一項耗時的任務,可能無法推廣到其他文本語料庫。

■ Deep learning system

考慮到過去三種構建去識別系統的方法的缺點,當前最先進的系統採用深度學習技術來獲得比最佳混合系統更好的結果,同時也不需要耗時的過程 功能工程學。 深度學習是機器學習的一個子集,它使用多層人工神經網絡(ANN),在大多數自然語言處理(NLP)任務中都非常成功。 深度學習和NLP領域的最新進展,特別是在命名實體識別方面,已經允許諸如Dernoncourt等人的系統。 在2014年i2b2取消識別挑戰數據集上獲得的結果要比Yang等人提出的獲勝混合系統更好。 下面詳細介紹了NLP和深度學習所取得的成就。

  • Embedding :人工神經網路不能將單詞作為輸入並需要數字輸入,因此,過去將神經網絡用於NLP的方法是採用單詞的詞袋(BoW)表示,其中字典是由所有已知單詞組成的,詞典中包含每個單詞句子被分配一個唯一的向量,該向量被輸入到ANN中。這種技術的缺點是,具有完全相同含義的單詞被完全不同地表示。作為該問題的解決方案,已經使用了一種稱為單詞嵌入的技術。當Mikolov等人提出時,單詞嵌入變得很流行。文獻[13]使用人工神經網絡基於文本語料庫中單詞的用法生成單詞的分佈式矢量表示。這種表示單詞的方式允許使用相似值的矢量表示相似的單詞,同時還允許進行複雜的操作,例如著名的示例:XKing-XMan + XWoman = XQueen,其中X表示特定單詞的矢量。儘管預先訓練的詞嵌入(例如,廣泛使用的GloVe [13]嵌入)是革命性的且功能強大的,但此類表示僅捕獲一種上下文表示,即它們從中得到的訓練語料庫之一。這種缺點導致了上下文相關表示的最新發展,例如[2,14]開發的上下文相關表示,它可以捕獲單詞的不同特徵。Peters等人從系統中提取的語言模型嵌入(ELMo)。本文的體系結構使用[2]來獲得最新的結果。通過將Bi-LSTM與語言建模目標結合而學習到的ELMo表示法,在較高級別的LSTM上捕獲了上下文相關的方面,而較低級別的LSTM則捕獲了語法方面。而且,系統的不同層的輸出可以獨立使用或平均使用以輸出嵌入,從而顯著改善了一些解決NLP問題的現有模型。這些結果推動了我們將ELMo表示納入我們的體系結構的動力。
  • Neural networks:近年來,在許多機器學習任務中使用人工神經網絡已變得越來越流行。 最近,一種稱為雙向長短期記憶(Bi-LSTM)網絡的遞歸神經網絡(RNN)的變體已被成功採用,特別是在NER領域。實際上,已經提出了幾種Bi-LSTM體系結構來解決NER問題:LSTM-CRF,LSTM-CNN-CRF和LSTM-CNN [10]。 實際上,i2b2數據集上當前性能最佳的系統實際上是基於LSTM-CRF的系統[10]。

3. Method

此次架構結合多個最新的NLP和NER,也和其他先前描述的架構不同,我們同時還使用deep contextualized word embeddings,具有variational dropout的Bi-LSTM和使用Adam優化器。

我們的架構可分成四個層面:

■ Pre-processung layer

  • 給定一文件 di,先將文件拆成句子Si,j、tokeni,j,k 和 字元Ci,j,k,l
  • i代表文件號碼,j代表句子號碼,k代表token號碼,l代表字元號碼

例如:t1,2,3=Patient 是指第一文件的第二個句子的第三個token是Patient

  • 再來用NLTK去對每個token產生POS標籤,這樣產生了每個token都有POS的特徵,並將其轉換成20維一位有效編碼(one-hot-encoded)的輸入向量,並將其餵入主要的LSTM層
  • 至於data label,因為每個label都可以由多個token組成,因此將label格式化成BIO格式,BIO格式用B-來標記PHI的開頭,用I-來表示同一個PHI的結尾,而和PHI無關聯的結尾表示為O

例如:

  • Sentence : The patient is sixty seven years old
  • Label : O O O B-AGE I-AGE O O

■Embedding layer

  • 在embedding層有主要三種embedding去表示輸入的文字:
  1. traditional word embeddings
  2. ELMo embeddings
  3. character-level LSTM embeddings
  • traditional word embeddings使用最新的GloVe3前訓練字詞向量,這字詞向量是利用8400億個token在Common Crawl上做訓練
  • 對於每個輸入token ti,j,k,GloVe系統會輸出一個Glovei,j,k 即同一token的密集300維字詞向量表示。
  • 還使用生物醫學語料庫訓練的word embeddings技術對其他word embeddings技術進行了實驗,以了解在醫學字詞上訓練word embeddings技術是否會對我們的結果產生影響。
  • 也利用強大的ELMo表示法當作Bi-LSTM的特徵,簡單來說計算出ELMo表示法的方法就是藉由傳送輸入token ti,j,k到ELMo網絡,並平均網絡的各層去產生一個1024維的ELMo向量 ELMoi,j,k
  • 字元階層的資訊可以捕捉一些token本身的資料,也可減少一些問題,例如消失的字或拼錯的字
  • 雖然token的lemmatizing(即,將單字的變體形式轉換為其基數或字典形式的行為)可以解決這些問題,但醫學字詞中的token在語法形式之間可能有重要的區別。 因此,有的使用了卷積神經網絡(CNN),有的使用Bi-LSTM來生成每個唯一token的character-enhanced representations 。 我們利用後者的方法,使用Bi-LSTM對數據集中的每個唯一單詞生成character-enhanced embedding。
  • 我們向前和向後LSTM的參數分別為25,最大字符長度為25,這導致 每個token有50維embedding vector, CEmbd I,j,k。
  • 在對每個tokn ti,j,k建立完三個embedding後,我們將GloVe和ELMo表示式連接起來,去作出一個1324維的字詞輸入向量,再將這個向量和字元embedding, CEmbd,POS向量以及Casing向量進一步做連接,創造出1394維的輸入向量Inputi,j,k,並餵進Bi-LSTM層

■Bi-LSTM layer

  • Bi-LSTM層是結合兩個雙向RNN的LSTM層,簡單來說就是Bi-LSTM含有兩個獨立的LSTM,其中一個網絡在正常時間方向上被餵input,而另一個網絡在相反的時間方向上被餵input。
  • 這兩個網絡的輸出可用加總,相乘,級聯或平均來合併兩個網絡的輸出
  • 我們的結構使用簡單的串聯來組合兩個網絡的輸出。
  • 為了確認沒有overfitting,使用了variational dropout 去正規化類神經網路
  • 這個variational dropout和傳統的naïve dropout不一樣,使用相同的dropout mask給輸入,輸出和循環層
  • 傳統技術應用了不同的dropout mask。
  • 結果表示對於NER任務,應用於輸出單元和循環單元的variational dropout表現明顯優於naïve dropout或沒做dropout。
  • 因此,我們對架構中的輸出單元和循環單元都應用了0.5的dropout 機率。

■ CRF layer

  • Bi-LSTM的output做為線性鏈型CRF分類器的input,這分類器可最大化整個輸入句子的標籤機率
  • 儘管Bi-LSTM層在生成其標籤預測時會考慮來自上下文的資訊,但每個決策都獨立於句子中的其他標籤。
  • CRF使我們能夠以最高的機率找到句子中的標籤序列。 這樣在確定給定token的標籤時,可以使用之前和之後的標籤訊息。
  • 作為序列模型,CRF會根據單詞序列和Bi-LTSM模型中句子的輸出分數,來為句子中token的標籤序列建立一個機率模型。
  • CRF可以對標籤序列的條件分佈進行建模,而不是對單詞和輸出分數的聯合分佈進行建模。
  • 因此,它不假定獨立的特徵,而同時沒有對特徵和序列標籤之間的關係做出強分佈假設。

4. Data and evaluation metrics

兩個主要拿來驗證模型的資料集分別是

  • 2014 i2b2 de-identification challenge data set
  • the nursing notes corpus

■ Evaluation metrics

  1. 使用三種矩陣來評估表現,分別是Precision,Recall和F score
  2. 計算每個資料集中的二進制F score和每個PHI類型的三種矩陣
  3. 二進制的F score計算 token被標示為PHI,和一般正確預測PHI的方式相反
  4. 為了去識別,我們將重點放在識別token是否為PHI實例上,並將預測正確的PHI類型作為次要目標。
  5. 如果沒有檢測到所有PHI並從文檔中刪除所有PHI或將其替換為虛假數據,則可能會意外洩露敏感的患者資訊,因此,High recall是非常重要的。
  6. 需要高precision以保持文件的完整性,因為大量的誤報可能掩蓋了文件的含義,甚至使文件變形。
  7. F1 score作為precision和recall的調和平均數,提供了NLP文獻中經常採用的整體度量應用在模型表現上。

5. Results

表4總結了我們的體系結構在二進制F1得分指標上相對於其他系統的性能,表5和表6總結了我們的體系結構分別針對HIPAA-PHI和i2b2-PHI類別的性能。 表7總結了護理筆記語料庫上的表現,同時還對比了去識別系統所實現的表現。

6. Discussion and error analysis

■ Error analysis

  • I2b2 dataset
  1. 主要關注兩個PHI類別用於對i2b2數據集進行錯誤分析:專業和ID
  2. Dernoncourt等人在i2b2數據集上表現最好的模型在相同的兩個類別上有類似的較低表現。
  3. Dernoncourt等人使用 n-gram,morphological, orthographic and gazetteer features的組合
  4. 我們的體系結構僅使用POS標記作為外部特徵
  5. Dernoncourt等認為,Profession類別的性能較低可能是由於Profession token與其他PHI token的close embeddings
  6. 我們的實驗表明,在Profession PHI的表現上,PubMed embedded modelI比GloVe embedded model型的性能好得多。這可能是PubMed embedded在PubMed資料庫(也就是醫學辭庫)上進行訓練。
  7. 另一方面,GloVe在通用數據庫上進行了訓練,這代表著針對Profession token的PubMed embedding 可能不像GloVe嵌入那樣接近其他token。
  8. 對於ID PHI,我們的分析表明,某些錯誤是由於標記化錯誤引起的。例如“:”被計為PHI token,我們的模型架構正確地將其預測為不是PHI token。
  9. 由於我們的模型架構不是專門為檢測複雜的ID模式而定制的,因此我們無法檢測到某些ID PHI,例如“ 265–01–73”的病歷號,因為模型會因為她的格式而把它辨別為電話號碼,使用簡單的正則表達式可以輕鬆地減輕此類錯誤。
  • Nursing dataset
  1. 照F1分數衡量,我們的模型架構在大多數類別上的性能都優於去識別系統。
  2. 例如,deidentify的作者注意到Date PHI的精度值相當低,而我們的模型架構對Date PHI的精度值卻大於0.915%。
  3. Burckhardt等實現了Phone PHI的0.899的出色精度和1.0的召回率,而我們的模型架構僅分別0.778和0.583。
  4. 對此類別的分析認為,這主要是由於標記化的差異,獨立編號被歸類為非PHI。
  5. 嘗試使用在i2b2數據集上訓練的模型來預測護理數據集的類別。 但是,由於文本結構,實際文本和格式的差異,我們在護理數據集上所取得的成績少於隨機表現。 這就提出了有關此類模型可移植性的重要觀點。

■ Ablation analysis

  1. Ablation分析顯示,模型的各個層次可以提高整體性能。
  2. 圖2顯示了i2b2數據集上的二進制F1分數,每一條都是一個切換特性。 例如,“No Char Embd”欄顯示No Char Embd的模型的性能,其他一切與我們的最佳模型相同。
  1. 如果不包括ELMo embedding與不包含 no GloVe embeddings,則可以看到性能的顯著變化。
  2. 當我們不使用GloVe嵌入時,性能略有下降,這表明如果計算時間有限,我們可以選擇排除此功能。
  3. 此外,我們可以看到沒有variational dropout而僅使用naïve dropout的影響,這表明variational dropout在規範化我們的神經網絡方面更好。

7. Conslusion

  1. 在這次研究中,使用了深度學習架構,並整合了最新的情境化辭彙及NLP,達到了最新技術的表現。在兩個廣泛可用的黃金標準去識別數據集上實現了最先進的性能,同時還與 最好的系統有差不多的表現
  2. 此次的模型架構也大大改善了hybrid system在nursing data set.去識別化的表現
  3. 該模型架構可以整合到客戶端系統(例如,身份識別系統)中。
  4. 但是,如第6節所述,使用dictionary(或gazetter)可能會進一步幫助改進特別針對 Location 和Profession PHI類型的模型。
  5. 這樣的hybrid system對於需要每天去識別患者數據的從業者將是非常有幫助的。

--

--