🚀 醫療筆記去標識化RoBERTa模型
本項目是一個經過微調的RoBERTa模型,專門用於醫療筆記的去標識化處理。它能夠準確識別並處理醫療筆記中的受保護健康信息(PHI),有效保護患者隱私。
🚀 快速開始
你可以在以下鏈接查看模型的工作演示(使用模型預測對醫療筆記進行去標識化):Medical-Note-Deidentification。
關於如何使用此模型進行前向傳播的步驟可參考:Forward Pass。
簡要步驟如下:
- 對數據集進行句子分割(模型會將句子聚合回筆記級別)和分詞。
- 使用模型的預測函數收集預測結果(即每個標記的預測)。
- 此外,模型的預測結果可用於從原始筆記/文本中移除PHI。
✨ 主要特性
- 模型類型:基於RoBERTa [Liu et al., 2019] 進行微調的模型,用於醫療筆記的去標識化。
- 序列標註:模型經過訓練,可預測受保護健康信息(PHI/PII)實體(跨度)。受保護健康信息類別列表由 HIPAA 提供。
- 標記分類:一個標記可以被分類為非PHI或11種PHI類型之一。通過使用BILOU標記將標記預測聚合為跨度。
- 訓練標籤及詳情:用於訓練的PHI標籤和其他詳細信息可參考:Annotation Guidelines。
- 更多使用信息:關於如何使用此模型、數據格式和其他有用信息,可在GitHub倉庫中查看:Robust DeID。
📦 安裝指南
文檔未提及安裝步驟,暫不提供。
💻 使用示例
文檔未提供代碼示例,暫不提供。
📚 詳細文檔
數據集
本模型使用了I2B2 2014 [Stubbs and Uzuner, 2015] 數據集進行訓練。以下是數據集的詳細信息:
屬性 |
詳情 |
訓練集 |
包含790條筆記,各PHI標籤數量及佔比如表格所示。 |
測試集 |
包含514條筆記,各PHI標籤數量及佔比如表格所示。 |
|
I2B2(訓練集 - 790條筆記) |
|
I2B2(測試集 - 514條筆記) |
|
PHI標籤 |
數量 |
百分比 |
數量 |
百分比 |
日期(DATE) |
7502 |
43.69 |
4980 |
44.14 |
醫護人員(STAFF) |
3149 |
18.34 |
2004 |
17.76 |
醫院(HOSP) |
1437 |
8.37 |
875 |
7.76 |
年齡(AGE) |
1233 |
7.18 |
764 |
6.77 |
地點(LOC) |
1206 |
7.02 |
856 |
7.59 |
患者(PATIENT) |
1316 |
7.66 |
879 |
7.79 |
電話(PHONE) |
317 |
1.85 |
217 |
1.92 |
標識符(ID) |
881 |
5.13 |
625 |
5.54 |
患者組織(PATORG) |
124 |
0.72 |
82 |
0.73 |
電子郵件(EMAIL) |
4 |
0.02 |
1 |
0.01 |
其他PHI(OTHERPHI) |
2 |
0.01 |
0 |
0 |
總計 |
17171 |
100 |
11283 |
100 |
訓練過程
關於此模型的訓練步驟可參考:Training。“model_name_or_path” 設置為:“roberta-large”。具體訓練過程如下:
- 使用spacy的en_core_sci_sm句子分割器對數據集進行句子分割。
- 使用基於spacy的en_core_sci_sm分詞器構建的自定義分詞器對數據集進行分詞。
- 對於每個句子,在左側添加32個標記(來自前一個句子),在右側添加32個標記(來自下一個句子)。
- 添加的標記不用於學習,即不在這些標記上計算損失,它們僅作為額外的上下文信息。
- 每個序列最多包含128個標記(包括添加的32個標記)。較長的序列會被分割。
- 使用基於BILOU符號的標記級標籤對經過句子分割和分詞的數據集進行模型訓練。
- 模型是從預訓練的RoBERTa模型進行微調得到的。
訓練細節
- 輸入序列長度:128
- 批量大小:32(16,進行2次梯度累積步驟)
- 優化器:AdamW
- 學習率:5e-5
- 丟棄率:0.1
🔧 技術細節
模型原理
本模型基於RoBERTa架構,通過微調使其適用於醫療筆記的去標識化任務。在訓練過程中,模型學習預測受保護健康信息(PHI)實體的跨度,利用BILOU標記將標記預測聚合為有意義的實體。
數據處理
使用spacy的相關工具進行句子分割和分詞,並添加額外的上下文標記以提高模型的理解能力。同時,對較長的序列進行分割以適應模型的輸入要求。
訓練優化
採用AdamW優化器和特定的學習率、丟棄率等參數進行訓練,以提高模型的性能和泛化能力。
📄 許可證
本項目採用MIT許可證。
常見問題
如果你有任何問題,請在倉庫中發佈GitHub問題:Robust DeID。