Downloads · 30 days
1K
5% of all-time downloads
tabularisai/eu-pii-safeguard
eu-pii-safeguard is a token classification model from tabularisai. Use it when you need labels on individual words, such as names. The card lists the license as apache-2.0.
<p align="center" <img src="https://tabularis.ai/piitoppic.png" alt="ModernFinBERT" width="512" </p
Downloads · 30 days
1K
5% of all-time downloads
All-time downloads
21.7K
Public
Parameters
559M
4.5 GB on disk
Likes
26
Public
Click a slice to open those files.
.safetensors2.2 GB · 99%
From the Hugging Face model README
Multilingual PII Detection Model for European Languages
A state-of-the-art multilingual model for detecting Personally Identifiable Information (PII) across 26 European languages (all EU official languages). It is designed for GDPR compliance, privacy-preserving AI applications, and secure handling of sensitive data in multilingual settings. This model enables enterprises, researchers, and data protection teams to identify and safeguard PII with high accuracy (≈98%) across diverse European contexts.
🇧🇬 Bulgarian • 🇨🇿 Czech • 🇩🇰 Danish • 🇩🇪 German • 🇬🇷 Greek • 🇬🇧 English • 🇪🇸 Spanish • 🇪🇪 Estonian • 🇫🇮 Finnish • 🇫🇷 French • 🇮🇪 Irish • 🇭🇷 Croatian • 🇭🇺 Hungarian • 🇮🇹 Italian • 🇱🇹 Lithuanian • 🇱🇻 Latvian • 🇲🇹 Maltese • 🇳🇱 Dutch • 🇵🇱 Polish • 🇵🇹 Portuguese • 🇷🇴 Romanian • 🇷🇺 Russian • 🇸🇰 Slovak • 🇸🇮 Slovenian • 🇸🇪 Swedish • 🇺🇦 Ukrainian
from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch
# Load model and tokenizer
model_name = "tabularisai/eu-pii-safeguard"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForTokenClassification.from_pretrained(model_name)
# Example text (French)
text = "Bonjour, je suis Marie Dubois, email: [email protected]"
# Tokenize and predict
inputs = tokenizer(text, return_tensors="pt", truncation=True)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.argmax(outputs.logits, dim=-1)
# Get predictions
tokens = tokenizer.convert_ids_to_tokens(inputs["input_ids"][0])
predicted_labels = [model.config.id2label[pred.item()] for pred in predictions[0]]
print("Detected PII:")
for token, label in zip(tokens, predicted_labels):
if label != "O":
print(f" {label}: {token}")
| Language | F1 Score | Language | F1 Score |
|---|---|---|---|
| Irish (ga) | 97.98% | Dutch (nl) | 97.24% |
| Bulgarian (bg) | 97.80% | Slovak (sk) | 97.21% |
| Italian (it) | 97.68% | Swedish (sv) | 97.09% |
| Portuguese (pt) | 97.61% | Russian (ru) | 97.04% |
| Slovenian (sl) | 97.51% | Croatian (hr) | 96.93% |
| Czech (cs) | 97.51% | Polish (pl) | 96.63% |
| Hungarian (hu) | 97.50% | French (fr) | 96.59% |
| Estonian (et) | 97.41% | Romanian (ro) | 96.54% |
| Latvian (lv) | 97.40% | Danish (da) | 96.36% |
| English (en) | 97.36% | German (de) | 96.22% |
| Spanish (es) | 97.34% | Ukrainian (uk) | 96.09% |
| Finnish (fi) | 97.30% | Maltese (mt) | 95.78% |
| Lithuanian (lt) | 97.24% | Greek (el) | 95.42% |
We're actively seeking feedback from the community! Please:
Developed by Tabularis AI - Building privacy-preserving AI solutions for enterprise data protection.
For questions, collaborations, or licensing inquiries: [email protected]