全部在你的瀏覽器裡跑,沒有任何資料上傳
chart-scrub
繁體中文臨床文字的規則式去識別化。左邊貼文字,右邊看遮罩結果。
Rule-based de-identification for Traditional Chinese clinical text — everything runs client-side.
這頁只示範規則引擎。
完整版還有「同一個病人跨次就診固定代號」的假名化管線與殘留檢查,那部分需要本機資料庫,
請看
GitHub repo。
你貼進去的文字不會離開這個分頁。沒有上傳、沒有記錄、沒有追蹤,
整頁載入完成後就算
把網路斷掉也照樣能用,不信可以自己試。
遮完還活著的數字串(對應 CLI 的 mask --audit)
規則沒認出來的數字串會列在這裡,附上形狀猜測——猜測只供你裁決,工具不自己決定什麼是安全的。
如果某個形狀在你的病歷裡固定是識別碼(例如裸的 8 位病歷號),把它寫進下面的自訂規則再遮一次。
目前沒有存活的數字串。
自訂規則(對應 CLI 的 --rules my-hospital.json)——你們醫院自己的識別碼形狀,跑在內建規則之前
它會遮什麼
每家醫院會遇到的識別碼不一樣——取消勾選就停用那條規則,結果即時更新。
CLI 對應 --skip 參數。
它遮不掉什麼(請務必看完)
最重要的一條在最前面,而且它不是可以靠加規則解決的:
-
獨一無二的人,拿掉所有識別資訊還是認得出來。
一個全國只有一位的職稱,對程式來說只是個普通名詞;
「颱風天被女兒牆砸到」這種句子裡一個名字都沒有,卻精準指向某個人。
能還原身分的不是某個字串,是「這段敘述只會指向一個人」,而比對規則看不見這件事。
只有你看得見,因為只有你知道這個故事有多罕見。
- 孤立的姓氏開頭中文字串會直接被遮(英文病歷裡貼進來的姓名就長這樣);
但只有名沒有姓(「小明今天回診」)、或埋在連續中文句子裡又沒有任何線索的全名,仍然抓不到。
- 姓氏表只有約 100 個常見姓,罕見姓氏會漏。
- 純規則,沒有 NER 模型,也沒有任何學習能力。
- 寧可多遮:醫學名詞偶爾會被誤遮,這是刻意選的方向。一時想不起英文而打的中文臨床詞
(高血壓、白血球…)有一份
NOT_NAMES 放行名單,遇到新的歡迎開 issue。
- 完整日期(含就診日期)預設一律遮成
[日期]——光看形狀分不出生日跟手術日期。
需要時間軸的話,把 bare_date 規則取消勾選。
所以正確的用法是:把它當第一道網子,不是當保證。
輸出仍然要有人看過再送出去,而「這個故事會不會被認出來」那一關,
只有寫的人自己判斷得了。