程健一++關毅++何彬
摘要:去隱私化是2014 i2b2/UTHealth中的一個任務,目的在于識別并移除電子病歷中的隱私信息。本文提出了一種基于支持向量機(SVMs)和條件隨機場(CRFs)雙層分類模型的去隱私化方法,經過預處理將病歷文本進行詞切分(tokenize)處理,并在此基礎上抽取4類特征,訓練SVM模型對隱私信息實體邊界進行劃分并將結果作為特征添加到特征集中,通過CRF訓練多分類器,并通過該分類器對各個類別的隱私信息進行識別。實驗表明雙層分類模型對于隱私信息識別是有效的,結果F值達到0.9110。
關鍵詞:電子病歷; 去隱私化; SVM; CRF
中圖分類號: TP391
文獻標志碼: A
文章編號:]2095-2163(2016)06-0017-04
0引言
電子病歷是指醫務人員在醫療活動過程中,使用醫療信息系統建構生成的文字、符號、圖表、圖形、數據、影像等數字化信息,并能實現存儲、管理、傳輸和重現的醫療記錄\[1\]。電子病歷中包含大量醫療知識,因而是十分重要的研究資源。但除了醫療知識外,電子病歷中還存在很多隱私信息。隱私信息是指患者在接受醫療服務時特別涉及的有關患者自身,并不愿他人知悉的個人情況,包括患者的個人基本信息、家庭住址、聯系方式、經濟狀況以及健康狀況、所患疾病、既往病史、家族病史等有關信息\[2\]。為保護這些隱私信息,對電子病歷進行去隱私化即已成為現實發展必備的研究需要。對于不同的數據,隱私信息的類別會有所不同。2006年i2b2評測首次引入電子病歷的去隱私化任務,數據中主要包含醫生姓名、患者姓名、年齡、日期、位置、醫院、ID和電話號碼8類隱私信息\[3\]。展開的研究主要是基于2014 i2b2評測的去隱私化任務,隱私信息共分為姓名、職業、位置、年齡、日期、聯系方式以及IDs這7個主要類別,其中一些類別又劃分為多個子類別,總計28類隱私信息。
去隱私化分為識別隱私信息和移除隱私信息兩個部分,其中重點以及難點在于對隱私信息的識別。將隱私信息視為實體,可將隱私信息的識別轉化為命名實體識別的任務,常用的方法可重點描述為基于規則的方法、基于機器學習的方法以及規則與機器學習相結合的方法。Meystre\[4\]通過分析多個去隱私系統得出結論:一般情況下,基于規則的方法對于識別醫療文檔中少見稀有的隱私信息具有更好效果,基于機器學習的方法對于識別尚未出現在字典里的隱私信息呈現有較好效果。在基于規則的方法中,Neamatullah\[5\]提出了一種在護理記錄(nursing notes)上基于模式匹配的去隱私化系統,使用了字典查詢、正則表達式以及簡單的啟發式的方法來定位隱私信息。Beckwith\[6\]開發了一個基于規則的去隱私化工具HMS,而且構建了50條正則表達式用來識別日期、電話號碼和社會保險號碼等隱私信息,并通過前綴、后綴以及人口普查數據庫來匹配姓名。Friedlin\[7\]開發了Medical去隱私化系統,其中使用了正則表達式,電子病歷表頭中的特定患者信息以及姓名與位置信息的字典來匹配并移除隱私信息?;谝巹t的方法一般有較高的召回率,但準確率較低,而且在構建規則上將耗費可觀人力。與基于規則的方法相比,基于機器學習的方法應用更為廣泛。Wellner\[3\]利用豐富的特征訓練了CRF模型,并使用正則表達式提供輔助,使得模型對隱私信息識別效果臻至優良。Uzuner\[8\]開發了去隱私化系統De-id,通過將去隱私化視為一個多分類問題,使用了局部特征訓練SVM分類器來識別隱私信息。Szarvas\[9\]提出了一個基于決策樹的迭代學習方法識別隱私信息,除了一些基本特征外,還利用了出院小結中的結構化信息來提升識別隱私信息的效果。Bostrm\[10\]等提出了一種基于隨機森林的主動學習方法,將瑞典語電子病歷文本中的詞劃分為8種類別的隱私信息與非隱私信息。單純基于機器學習的方法對于訓練樣本中出現較少的隱私信息識別能力較差,所以多數基于機器學習的方法都用到了規則以及一些實體的字典來提升識別的精度。
2014年的i2b2評測舉辦方為參與人員提供了1 304份英文電子病歷,其中包含姓名、職業、位置等28類隱私信息,并由領域專家替換了原隱私信息內容,而且又標注出了更改后的隱私信息,要求參與者對此隱私信息進行識別。與2006年的去隱私化任務相比,本次去隱私化任務需要處理的內容呈現出較大變化,除文本形式發生了改變之外,隱私信息類別也比以往更趨豐富,增加了識別的難度。
[BT4]1SVM和CRF雙層分類器
在2006年參與評測的候選方案中,基于CRF的方法獲得了良好表現。通過選取合適的特征,能夠優化改進CRF模型的效果。此外,模型融合也是提升實體識別效果的方法。在機器學習方法中,SVM善于解決分類問題,與其他分類模型相比SVM具有較小的結構風險,并能夠通過核函數處理高維度的特征向量。本次研究通過CRF模型與SVM的成功融合,得到CRF與SVM的雙層分類模型來對英文電子病歷中的隱私信息進行識別。
[JP2]將模型訓練分為2層:第一層通過SVM訓練模型,得到一個將數據分類為隱私信息與非隱私信息的分類器,并通過這個分類器對數據執行分類,再將結果作為新的特征加入到訓練數據與測試數據中;第二層使用上一層得到的新的數據訓練CRF模型,得到最終的分類器。圖1展示了模型的流程圖。
研究中,首先使用SVM將數據初步分類為隱私信息與非隱私信息。初步分類有2種方式:
1)詞級(token-level)的二分類,即只將樣本分為隱私信息與非隱私信息兩類;
2)實體級(entity-level)的二分類,將樣本分為屬于一個實體與不屬于一個實體2類,實體級二分類的本質是多分類,將樣本分類B、I、O這3類,分別表示隱私信息的開始、內部和非隱私信息。
本文采取了第二種方式對樣本的類別設計確定標注,訓練模型后對訓練數據與測試數據中的隱私信息實體進行邊界劃分。
第一層通過SVM分類得到的結果可能出現一些邊界錯誤,例如,被分類為O,被分類為I,被分類為I或者被分類為O,被分類為O,被分類為I。為了減少這類錯誤,過程中即根據實體邊界的限定對SVM分類的輸出進行了約束,使得每個實體都以標記為B的詞作為起始詞。
經第一層SVM分類得到的是對樣本進行邊界劃分的結果。如果以這個邊界劃分結果直接作為訓練CRF模型的輸入并對實體類別給出劃分,得到的結果會直接繼承SVM的分類錯誤,產生錯誤累積。所以在訓練CRF模型時首先保留原數據的特征,并在此基礎上將SVM的分類結果作為新的特征添加入模型,這樣既能夠使第一層的邊界劃分結果在第二層模型中起到作用,同時也減少了錯誤的累積。
[BT4]2實驗與分析
在實驗中首先進行預處理和特征抽取,然后訓練SVM分類器,得到分類結果之后轉入邊界修正處理,并將處理后的結果作為特征添加到數據中。而后,使用CRF展開訓練,再使用得到的CRF分類器對測試數據中的隱私信息進行識別。圖2為系統的流程圖。重要模塊的工作細節將在后面的內容中做出如下說明與表述。
2.1數據預處理
直接在未經詞切分處理的電子病歷文本上進行隱私信息的識別有很大的難度,所以需要先對電子病歷進行詞切分處理,具體將詞切分過程分為2個步驟:
1)使用OpenNLP將文本求取句子劃分并對此結果進行詞切分,得到初步的切分結果;
2)構建了一些正則表達式,用來匹配一些可能存在粘連的詞,并將匹配到的結果進行第二次劃分。
完成預處理后,即可針對每個詞實現了特征抽取。通過對電子病歷文本的分析以及實驗篩選,共選取了4類特征,分別為詞特征、構詞特征、上下文特征以及字典特征。
2.2模型訓練
本次評測共提供了1 304份經專家標注并替換了隱私信息的電子病歷。病例語料中的隱私信息共包含7個主要類別和25個子類別,共計28類隱私信息。實驗時選取790份病例用做訓練語料,剩余的514份用做測試語料。
仿真過程共設計了4組實驗:
1)只使用SVM多分類,在訓練時使用了高斯核函數;
2)只使用CRF多分類,訓練時使用了默認參數;
3)使用詞級二分類SVM與CRF多分類組合,CRF使用了默認的參數,SVM使用了高斯核函數;
4)使用實體級二分類SVM與多分類CRF組合,CRF使用了默認的參數,SVM使用了高斯核函數。
實驗中通過網格搜索對SVM進行了參數調整。在參數選擇時,具體使用了LIBSVM的網格搜索工具,并使用得到的參數訓練SVM分類器。
2.3結果分析
[JP3]研究選取了4組實驗的前2組作為baseline,使用同樣的標準對實驗結果進行了評價。表1列舉了4組對比實驗的結果。
實驗結果表明,使用實體級二分類SVM與CRF多分類的組合效果最好。在單層模型中,由于隱私信息的類別較多,導致使用默認參數的SVM多分類效果較差,而CRF的效果要優于SVM。在雙層模型中,詞級二分類SVM與CRF多分類組合效果要偏弱于實體級二分類SVM與CRF組合的原因在于,在第一層SVM分類時,如果只將樣本分成隱私信息和非隱私信息會忽略隱私實體邊界,無法通過約束SVM分類的輸出過濾掉一些邊界錯誤,將此結果作為特征添加到數據中并通過CRF訓練得到的分類器累積了上一層的邊界錯誤,導致識別效果不佳。在第一層通過SVM將樣本分類為B、I、O既能夠識別實體的邊界,也能夠保證不會因為類別過多而導致分類精度降低,同時可以根據實體邊界的限定,從而減少錯誤累積。
表2列舉了使用實體級別的二分類SVM與CRF組合對于隱私信息實體識別的結果。結果顯示,方法對“AGE”、“DATE”、“CONTACT”與“IDs”的識別效果較好,F值達到0.9左右,這些類別的實體通常具有固定格式,加入了構詞特征的分類器能夠對這些類別的隱私信息進行有效識別。而對于“PROFESSION”、 “ORGANIZATION”、“COUNTRY”、“OTHER”、“FAX”、“EMAIL”以及“DEVICE”等類別的識別效果較差,這是由于在訓練數據中這些類別的實體出現次數過少。其中“ORGNIZATION”的識別效果最差,F值僅達到0.333 3,除了訓練樣例較少的原因外,“ORGNIZATION”類別的隱私信息在一些特征上與其他類別的隱私信息十分相似,使其容易被分類器錯誤分類。此外, “PATIENT”和“DOCTOR”這2類隱私信息十分接近,且同屬于“NAME”類別,在識別時也出現了誤分類情況。
[BT4]3結束語
經實驗驗證,基于SVM和CRF雙層分類器在電子病歷上對隱私信息的識別是卓具實效的,其中正確的預處理和合適的特征集合發揮了核心關鍵作用。在模型訓練部分,第一層的SVM邊界劃分至關重要,良好的輸出約束能夠減少邊界[CM(26]錯誤,由此收獲的新特征也能使第二層CRF分類器的識別效果得到改進與提高。在未來的工作中,將通過增加規則來彌補部分數據不足的缺陷,提升對于樣本數量較少的隱私信息的召回能力,并通過調整特征以及約束輸出的規則,使得在分層訓練模型時的錯誤累積降低,進一步增強隱私信息的識別能力。
參考文獻
[1]楊錦鋒,于秋濱,關毅,等. 電子病歷命名實體識別和實體關系抽取研究綜述[J]. 自動化學報,2014,40(8):1537-1562.
[2] 關延風,馬騁宇. 基于電子病歷的醫療信息隱私保護研究[J]. 醫學信息學雜志,2011,32(8):36-39.
[3] WELLNER B,HUYCK M,MARDIS S,et al. Rapidly retargetable approaches to deidentification in medical records[J]. J. Am. Med. Informatics Assoc.,2007,14(5):564-573.
[4] MEYSTRE S M,FRIEDLIN F J,SOUTH B R,et al. Automatic deidentification of textual documents in the electronic health record: a review of recent research[J]. BMC Med. Res. Methodol.,2010,10(1):70.
[5] NEAMATULLAH I,DOUGLASS M M,LIWEI H L,et al. Automated de-identification of freetext medical records[J]. BMC Med. Inform. Decis. Mak.,2008,8(1):32.
[6] BECKWITH B A,MAHAADEVAN R,BALIS U J,et al. Development and evaluation of an open source software tool for deidentification of pathology reports[J]. BMC Med. Inform. Decis. Mak.,2006,6(1):12.
[7] FRIEDLIN F J,MCDONALD C J. A software tool for removing patient identifying information from clinical documents[J]. J. Am. Med. Informatics Assoc.,2008,15(5):601-610.
[8] UZUNER O,LUO Y,SZOLOVITS P. Evaluating the stateoftheart in automatic deidentification[J]. J. Am. Med. Inform. Assoc.,2007,14(5):550-563.
[9] SZARVAS G,FARKAS R,BUSAFEKETE R. Stateoftheart anonymization of medical records using an iterative machine learning framework[J]. J. Am. Med. Informatics Assoc.,2007,14(5):574-580.
[10]BOSTRM H,DALIANIS H. Deidentifying health records by means of active learning[C]// ICML 2012, The 29th International Conference on Machine Learning. Edinburgh, Scotland, UK:Omnipress,2012:90-97 .