/ Модель

Характеристики

Контекст
514 токенов
Параметры
305 млн
Лицензия
Apache 2.0
Архитектура
xlm-roberta · dense
Базовая модель
xlm-roberta-base
Библиотека
transformers
Опубликована
25 мая 2026

openmed-arabic-pii-xlmr-base

Разметка токеновТекст → label3 профессии

Модель размечает арабские клинические записи, выявляя имена пациентов и врачей, учреждения, даты, телефоны и идентификаторы для последующего удаления персональных данных.

116скачиваний за 30 дней0лайковвеса обновлены25 мая 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

OpenMed Arabic Clinical PII — XLM-RoBERTa-base (LoRA) — это модель команды OpenMed для выявления и разметки персональных данных в арабских клинических записях. Она распознаёт шесть типов сущностей: пациента, врача, больницу, дату, телефон и идентификатор. Модель построена на XLM-RoBERTa-base с LoRA-адаптером и классификационной головой; в репозитории указаны 305,2 млн параметров и контекст до 514 токенов. Модель принимает арабский текст и выдаёт разметку токенов.

Модель предназначена для удаления идентифицирующих данных из клинических заметок, выписок, консультаций, лабораторных и радиологических отчётов перед исследованием, аналитикой или передачей текста во внешние LLM-сервисы. В README сообщается о высоких результатах на синтетической тестовой выборке и проверке на шести написанных вручную примерах, но авторы подчёркивают, что нужна оценка на размеченных реальных клинических данных. Обучение версии 1 использовало только синтетические данные с ограниченным числом шаблонов, поэтому модель не должна служить единственным средством соблюдения требований к защите данных. Лицензия — Apache-2.0.

Сценарии применения

  • Обезличивание арабских выписок перед исследовательским анализом
  • Удаление персональных данных из клинических заметок перед обработкой внешней LLM
  • Поиск имён пациентов и врачей в арабских медицинских документах
  • Выявление телефонов, дат и идентификаторов в лабораторных и радиологических отчётах

Ограничения

Версия 1 обучена только на синтетических заметках из ограниченного набора шаблонов; реальные клинические данные не использовались для строгой оценки. Авторы предупреждают, что модель не должна быть единственным средством контроля соответствия требованиям защиты данных.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

OpenMed Arabic Clinical PII — XLM-RoBERTa-base (LoRA)

Arabic-language token classifier for clinical PII de-identification. Detects six PII entity types in Arabic medical notes: PATIENT, DOCTOR, HOSPITAL, DATE, PHONE, ID.

Built as the first Arabic addition to the OpenMed NER toolkit, targeting an MOH-compliance gap for Gulf healthcare deployments where Arabic clinical NLP support is sparse.

Intended use

  • De-identifying Arabic clinical notes, discharge summaries, consultation notes, lab reports, and radiology reports prior to research or LLM processing.
  • A preprocessing step in pipelines that move PHI-bearing Arabic text into less-trusted environments (LLM APIs, analytics).

Not intended as a sole compliance control. De-identification is a layered process; this model is one layer.

Schema

EntityDescription
PATIENTPatient full name
DOCTORTreating physician name
HOSPITALFacility name
DATECalendar dates
PHONEPhone numbers
IDNational / civil ID numbers

Future versions will expand to OpenMed's full schema (STREET, CITY, ZIP, AGE, EMAIL, PROFESSION, USERNAME, DEVICE, ...).

Training data

Synthetic-only for v1. 5000 Arabic clinical notes generated from 52 hand-crafted templates spanning 6 note types (discharge, consultation, radiology, lab, admission, ER triage). For each sample, PII values are drawn from Faker(ar_AA) plus a curated list of GCC first/family names and hospitals; PII slots are filled at known positions, so gold spans are exact (no string-search recovery, no false-positive risk).

  • Note types: discharge summary, consultation, radiology, lab results, admission, ER triage (balanced ~15-20% each).
  • Register mix: MSA-heavy, with explicit Gulf-dialect templates mixed in.
  • Splits: 4000 / 500 / 500 (train / val / test), seeded.
  • A Claude-API-based generator (data/generate_api.py) is included for v2 scaling to larger, more linguistically diverse corpora.

Limitation: synthetic-only with limited template skeletons. The OOD probe (below) shows the model generalizes well past template structure, but rigorous real-world evaluation needs a hand-labeled clinical eval set (v2).

Training

  • Base: xlm-roberta-base (278M params)
  • Adapter: LoRA (r=16, alpha=32, dropout=0.1) on query/value attention projections; classification head trained fully.
  • Trainable params: 599,821 / 278M (~0.22% of base).
  • Optimizer: AdamW, lr=3e-4, warmup_ratio=0.1, weight_decay=0.01.
  • Schedule: 4 epochs, bs=16, max_length=256.
  • Hardware: Apple M4 Pro (MPS, fp32) — 2 min 17 s end-to-end. Also runs on a single T4/A10 in roughly the same time with fp16.

Evaluation

Synthetic test split (500 held-out notes, same template distribution)

MetricValue
Entity F1 (macro, seqeval)1.0000
Entity F1 (micro)1.0000
Doc-level zero-leakage rate500/500 (100.00%)
Per-entity recall — PATIENT557/557 (100%)
Per-entity recall — DOCTOR331/331 (100%)
Per-entity recall — HOSPITAL257/257 (100%)
Per-entity recall — DATE329/329 (100%)
Per-entity recall — PHONE168/168 (100%)
Per-entity recall — ID164/164 (100%)

The synthetic eval is fully saturated. This number alone doesn't prove generalization — see the OOD probe below.

Out-of-distribution probe (probe.py)

6 hand-written Arabic clinical notes that don't match any training template — covering Levantine and Egyptian dialect, code-switched Arabic/English, telegraphic pipe-separated format, novel hospital and family names (Jordanian +962, Saudi +966, Omani +968 phones — none in the GCC training mix), and one note with zero PII to test for hallucination.

NoteStyleEntities caughtFalse positives
1Levantine + Jordanian numbers4/40
2Egyptian dialect + Cairo hospital3/30
3Code-switched Arabic/English6/60
4Telegraphic format6/60
5Multiple mentions + Omani context7/70
6Zero-PII note0/00
Total26/26 (100%)0

Strong signal that XLM-R's multilingual pretraining is letting the model learn what PII looks like in Arabic rather than memorizing the 52 training skeletons. Real rigor still requires a hand-labeled clinical eval set; that is v2.

Training stats

  • Hardware: Apple M4 Pro (MPS), fp32
  • Wall time: 2 min 17 s for 4 epochs over 4000 train + 500 val
  • Trainable params: 599,821 / 278,062,874 (0.22%) — LoRA on query/value + full classification head

Usage

from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline

REPO = "yousefqasem/openmed-arabic-pii-xlmr-base"
tok = AutoTokenizer.from_pretrained(REPO)
mdl = AutoModelForTokenClassification.from_pretrained(REPO)

# Use "first" (or "max"), NOT "simple" — "simple" can emit duplicate partial+full spans
# for some Arabic subword splits.
nlp = pipeline("token-classification", model=mdl, tokenizer=tok, aggregation_strategy="first")

text = "تم استقبال المريض أحمد محمد العتيبي بتاريخ 14/03/2026 في مستشفى الأميري تحت إشراف د. خالد سعد القحطاني."
for ent in nlp(text):
    print(f"{ent['entity_group']:<10} {ent['score']:.3f}  {ent['word']!r}")

Limitations & risks

  • Trained on 52 hand-crafted template skeletons with varied PII fills. The OOD probe is promising but only 6 notes — a hand-labeled real-clinical eval set (v2) is needed before any production claim.
  • Real-world distribution shift expected, especially for handwritten / OCR'd notes, and for note types outside the 6 covered here.
  • Training register is MSA-heavy with explicit Gulf-dialect templates; Levantine, Egyptian, and North African dialects rely on XLM-R's pretraining to generalize.
  • HF pipeline's aggregation_strategy="simple" produces duplicate partial+full HOSPITAL spans on some inputs. Use "first" or "max", or post-process to dedupe by (label, start).
  • This is a recall-oriented de-identification tool. Recommended use is followed by a redaction/replacement layer; pair with rule-based detectors (regex for emails, IDs, dates) for defense in depth.
  • Not a substitute for legal review of de-identification adequacy under local regulation (MOH, HIPAA-equivalent, GDPR, etc).

Citation

@misc{openmed_arabic_pii_xlmr_2026,
  title  = {OpenMed Arabic Clinical PII (XLM-R + LoRA)},
  author = {Qasem, Yousef},
  year   = {2026},
  url    = {https://huggingface.co/yousefqasem/openmed-arabic-pii-xlmr-base}
}

License

Apache-2.0.


Reproduce locally (Apple Silicon)

git clone <this-repo>
cd openmed-arabic-pii
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt

# Generate 5000 synthetic notes from templates (no API needed):
.venv/bin/python -m data.generate --n 5000
.venv/bin/python -m data.split

# Train + eval (~2.5 min on M4 Pro, ~25 min on Colab T4):
.venv/bin/python train.py
.venv/bin/python eval.py

# Run the out-of-distribution generalization probe:
.venv/bin/python probe.py

# Ship to HF Hub:
export HF_TOKEN=hf_...
.venv/bin/python push.py --repo yourname/openmed-arabic-pii-xlmr-base

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · token-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
XLMRobertaForTokenClassification
Ревизия весов
8431125

0 моделей