Instructions to use alrosait/spacy_ru_core_news_lg_pii with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- spaCy
How to use alrosait/spacy_ru_core_news_lg_pii with spaCy:
!pip install https://huggingface.co/alrosait/spacy_ru_core_news_lg_pii/resolve/main/spacy_ru_core_news_lg_pii-any-py3-none-any.whl # Using spacy.load(). import spacy nlp = spacy.load("spacy_ru_core_news_lg_pii") # Importing as module. import spacy_ru_core_news_lg_pii nlp = spacy_ru_core_news_lg_pii.load() - Notebooks
- Google Colab
- Kaggle
spacy_ru_core_news_lg_pii
spaCy NER-модель для детекции имён (ФИО) и адресов в русскоязычных текстах.
Дообучена на основе ru_core_news_lg
с заменой NER-головы на двухклассовую (NAME / ADDRESS).
Входит в состав проекта PIIDetector — гибридного детектора персональных данных для русского языка на базе Microsoft Presidio.
Использование
pip install spacy>=3.8.0,<3.9.0 pymorphy3>=1.0.0
import spacy
nlp = spacy.load("alrosait/spacy_ru_core_news_lg_pii")
doc = nlp("Иван Петров, г. Москва, ул. Ленина 5")
for ent in doc.ents:
print(ent.text, ent.label_)
# Иван Петров NAME
# г. Москва, ул. Ленина 5 ADDRESS
Поддерживаемые сущности
| Метка | Описание |
|---|---|
NAME |
ФИО: полное, сокращённое, с инициалами, в различных падежах |
ADDRESS |
Почтовые адреса: город, улица, дом, квартира |
Метрики
Оценка на hivetrace/pii-bench (1 810 примеров, exact match):
| Сущность | Precision | Recall | F1 |
|---|---|---|---|
| NAME | 0.968 | 0.921 | 0.944 |
| ADDRESS | 0.824 | 0.824 | 0.824 |
Архитектура
- Базовая модель:
ru_core_news_lg(tok2vec + 300-мерные векторы) - Pipeline:
tok2vec→ner(senter отключён для инференса) - Tok2Vec: MultiHashEmbed (width=96) + MaxoutWindowEncoder (depth=4, window=1)
- NER: TransitionBasedParser.v2 (hidden=64, state_type=ner)
- Язык: ru, spaCy ≥ 3.8.0
Обучающие данные
Модель обучена на объединённом датасете из трёх источников:
| Источник | Описание |
|---|---|
| scanpatch/pii-ner-corpus-synthetic-controlled | Взяли русскоязычные примеры, использовали только сущности NAME и ADDRESS |
| AlexKly/Detailed-NER-Dataset-RU | BIOLU-аннотированный русский NER, метки объединены в NAME и ADDRESS |
| alrosait/pii-synthetic-ru | Собственный синтетический датасет (4 500 примеров, 13 доменов) |
Итоговый размер: 13 052 train / 1 451 dev документов; 11 460 / 1 264 сущностей (NAME: 6 298 / 694, ADDRESS: 5 162 / 570).
Связанные ресурсы
- Датасет: alrosait/pii-synthetic-ru
- Бенчмарк: hivetrace/pii-bench
- Downloads last month
- -
Evaluation results
- NAME F1 on hivetrace/pii-benchself-reported0.944
- ADDRESS F1 on hivetrace/pii-benchself-reported0.824
!pip install https://huggingface.co/alrosait/spacy_ru_core_news_lg_pii/resolve/main/spacy_ru_core_news_lg_pii-any-py3-none-any.whl # Using spacy.load(). import spacy nlp = spacy.load("spacy_ru_core_news_lg_pii") # Importing as module. import spacy_ru_core_news_lg_pii nlp = spacy_ru_core_news_lg_pii.load()