0%

Local PII Extractor:個資識別與匿名化工具

🛡️ Local PII Extractor:個資識別與匿名化工具

GitHub Repository:https://github.com/chewu-0319/Local_PII_Extractor

個資提取與替換工具使用 spaCy NER + 正規表示式完成雙重偵測,並提供簡潔 GUI 操作介面。


簡介

許多使用者習慣將資料輸入至如 GPT, Grok或Claude等AI模型進行處理,但這些資料可能包含機敏資訊(例如電話號碼、身分證號、信用卡資訊等),直接上傳可能面臨個資外洩的風險。

那我就想到,如果能在上傳資料到這些大語言模型之前,先在本地自動把重要資料先移除 (手動的話會很久很麻煩),避免資料偷偷被這些公司拿去蒐集訓練,造成個資外洩,所以就結合自己在自然語言處理領域的研究,使用NER的方式去實作。

開發 Local PII Extractor,支援中文的本地個資提取與匿名化工具,使用spaCy與正規表示式進行雙重偵測,並提供簡潔的 GUI 操作介面,讓使用者能夠在本地環境中安全地處理敏感資料。

架構


動機

  • 資料安全性:避免將包含敏感資訊的資料上傳至雲端,降低資料外洩風險。
  • 支援中文處理:現有的 PII 工具多以英文為主,缺乏對中文的良好支援。
  • 易於使用:透過 GUI 介面,讓非技術背景的使用者也能輕鬆操作。

功能

  • 雙重偵測機制:結合 spaCy 的自然語言處理能力與正規表示式,提升個資識別的準確性。
  • 支援多種個資類型:能夠識別並處理電話號碼、身分證號、信用卡資訊等常見的敏感資訊。
  • 本地處理:所有資料處理皆在本地進行,無需連接網路,保障資料隱私。
  • GUI 操作介面:提供直觀的圖形介面,方便使用者進行資料上傳、處理與下載。

技術

  • 程式語言:Python

  • 主要套件

    • spaCy:用於自然語言處理與實體識別(NER)。
    • re(正規表示式):輔助識別特定格式的敏感資訊。
    • tkinter:建立 GUI 操作介面。

使用說明

  1. 安裝依賴套件

    1
    pip install -r requirements.txt
  2. 啟動應用程式

    1
    python main.py
  3. 操作流程

    • 啟動後,會出現 GUI 介面。
    • 點選「選擇檔案」上傳欲處理的文本檔案。
    • 點選「開始處理」,系統將自動識別並匿名化敏感資訊。
    • 處理完成後,點選「下載結果」取得處理後的檔案。

📁 專案結構

1
2
3
4
5
6
Local_PII_Extractor/
├── main.py # 主程式,負責 GUI 與流程控制
├── utils.py # 工具函式,包含資料處理邏輯
├── requirements.txt # 依賴套件清單
├── README.md # 專案說明文件
└── png/ # 存放圖片

🔍 未來規劃

  • 支援更多語言:擴展對其他語言(如日文、韓文等)的支援。
  • 提升識別準確率:引入更先進的 NLP 模型,提升個資識別的準確性。
  • 增加批次處理功能:允許使用者一次處理多個檔案,提高效率。