このプロジェクトについて

rizzo-piiは、イタリアの法律・専門文書を対象としたローカルで可逆的なPII匿名化ツールです。中核はrizzo-pii:0.3Bで、mmBERT/ModernBERTバックボーン(約0.3Bパラメータ)を持つトークン分類モデルであり、約0.5 GBのRAMでCPU上で動作し、APIキーやネットワークアクセスを必要としません。 ワークフローは次のとおりです。ローカルで匿名化し、検出された各スパンを[FULLNAME_1]や[IBAN_1]のような安定したタイプ別プレースホルダーに置換し、プレースホルダーと値のマッピングをローカル辞書に保持し、プレースホルダーテキストのみをフロンティアLLMに送信し、その後、応答から実値をローカルで復元します。同一の値は同じプレースホルダーを共有するため、リモートモデルにとってテキストの一貫性が保たれます。 モデルはBIO形式で22種類のエンティティタイプを予測し、名前、日付、住所、連絡先情報、IBAN、クレジットカード、金額、ナンバープレート、組織、文書識別子、地籍データをカバーします。5つのイタリア法務タグ(CF、PIVA、CATASTO、DOCID、PROVINCE)は、他のオープンモデルではカバーされていない識別子として強調されています。これらは有効なチェックサムを用いた合成によって作成されます。アプリは正規表現のみで処理されるURLタグを追加します。 検出はニューラルモデルと、構造化識別子(メール、電話、IBAN、CF、PIVA、クレジットカード、金額、ナンバープレート)向けの決定論的な正規表現およびチェックサム層を組み合わせます。有効なチェックサムはモデルを上書きします。アプリは安定したプレースホルダー、ダウンロード可能なローカル辞書、フォーマットのずれに耐性のある復元タブ、長いPDF向けのオーバーラップ付きチャンク処理、タグごとに色分けされたインターフェースを提供します。 トレーニングには約745kのラベル付き行からなる多言語プールを使用し、イタリア語を約45%に強化しました。これは実データと合成ソースから集められ、読み込み時に22タグへ再マッピングされます。合成データは「LLMが執筆し、コードがラベル付けする」アプローチに従います。LLMがプレースホルダー付きのイタリア法務文を書き、コードが有効な値を注入するため、ラベルは正確で、実在の個人データは生成されません。トレーニングは単一の16 GBコンシューマーGPUで1エポック実行されました。 7,000行のホールドアウトされた実イタリア語ベンチマークでの報告結果には、micro precision 0.987、micro recall 0.990、micro F1 0.989、token accuracy 0.998、22タグ全体でmacro-F1 0.987が含まれます。READMEには、5つのイタリア法務識別子すべてが1.000を記録した一方、より難しいクラスにはZIPCODE、CREDITCARDNUMBER、STREET、CITY、ORGが含まれると記載されています。 デプロイオプションには、Python/FlaskのCPUサイドカーをバンドルしたTauriデスクトップアプリ、自己完結型のCPU専用Dockerイメージ、ソースからのWebアプリ実行、単一文書向けCLI、/health、/analyze、/pdf、/previewなどのエンドポイントを持つHTTP APIが含まれます。Windows、macOS(Apple Silicon)、Linux AppImageのビルド済みリリースが提供されています。プロジェクトはその設計をGDPRのデータ最小化とEU AI Actへの整合を中心に据えており、技術レポートPDF、データセットとタクソノミーのドキュメント、ビルド手順を含みます。