/ Модель

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

Контекст
8 192 токена
Параметры
307 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Базовая модель
mmBERT-base
Опубликована
25 янв 2026

sour-sarma

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

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

18скачиваний за 30 дней0лайковвеса обновлены18 мар 2026

Бенчмарки

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

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

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

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

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

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

ivlcic/sour-sarma — модель распознавания именованных сущностей для славянских языков, дообученная на базе jhu-clsp/mmBERT-base. Она использует архитектуру ModernBERT с 306,9 млн параметров и контекстом до 8192 токенов. Модель предназначена для разметки токенов и выделения сущностей в тексте; обучение проводилось на корпусах для NER, включая SUK, BSNLP, hr500k, SETimes.SR и WikiAnn.

Модель охватывает словенский, хорватский, сербский, боснийский, македонский, албанский, чешский, болгарский, польский, русский, словацкий и украинский языки. В README указано, что она показывает текущий лучший результат на Slobench NER. Для неё заявлена лицензия Apache-2.0. При использовании следует учитывать, что разметка подслов повторяет метку соответствующего слова, поэтому стандартный конвейер может требовать особой обработки.

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

  • выделение имён людей в тексте
  • распознавание организаций и мест
  • разметка сущностей в новостях на славянских языках
  • извлечение именованных сущностей из пользовательских документов

Ограничения

README отмечает, что все подсловные токены размечались меткой слова, поэтому для стандартного конвейера требуется особая обработка. Заявление о лучшем результате на Slobench NER приведено без численных метрик.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

mmBERT NER model for Slavic languages

The train/eval/test splits were concatenated from all languages in order as specified in command line:
sl, hr, sr, bs, mk, sq, cs, bg, pl, ru, sk, uk

We used the following hyperparameters:

  • Max sequence length 256
  • PyTorch's AdamW algorithm with 2e-5 learning rate
  • batch size of 32
  • 40 epochs (preliminary runs showed best F1-scores between epochs 15 and 35)
  • F1-score for best model selection and training progression.

Based on Analysis of Transfer Learning for Named Entity Recognition in South-Slavic Languages (Ivačič et al., BSNLP 2023)

Reiteration of previous XLM-Roberta-base finetuned model

Currently SOTA on Slobench NER

Used NER Corpora

We used the following NER corpora

@misc{11356/1747,
 title = {Training corpus {SUK} 1.0},
 author = {Arhar Holdt, {\v S}pela and Krek, Simon and Dobrovoljc, Kaja and Erjavec, Toma{\v z} and Gantar, Polona and {\v C}ibej, Jaka and Pori, Eva and Ter{\v c}on, Luka and Munda, Tina and {\v Z}itnik, Slavko and Robida, Nejc and Blagus, Neli and Mo{\v z}e, Sara and Ledinek, Nina and Holz, Nanika and Zupan, Katja and Kuzman, Taja and Kav{\v c}i{\v c}, Teja and {\v S}krjanec, Iza and Marko, Dafne and Jezer{\v s}ek, Lucija and Zajc, Anja},
 url = {http://hdl.handle.net/11356/1747},
 note = {Slovenian language resource repository {CLARIN}.{SI}},
 copyright = {Creative Commons - Attribution-{NonCommercial}-{ShareAlike} 4.0 International ({CC} {BY}-{NC}-{SA} 4.0)},
 issn = {2820-4042},
 year = {2022} 
}
  • BSNLP: 3rd Shared Task on SlavNER

    We merged the 2017 and 2021 training data with the 2021 test data and created custom train/dev/test splits.

    We also mapped EVT (event) and PRO (product) tags to MISC to align the corpus with others.

    You can change mappings by running a custom prepare corpus step (see above).

  • Training corpus hr500k 1.0

@misc{11356/1183,
    title = {Training corpus hr500k 1.0},
    author = {Ljube{\v s}i{\'c}, Nikola and Agi{\'c}, {\v Z}eljko and Klubi{\v c}ka, Filip and Batanovi{\'c}, Vuk and Erjavec, Toma{\v z}},
    url = {http://hdl.handle.net/11356/1183},
    note = {Slovenian language resource repository {CLARIN}.{SI}},
    copyright = {Creative Commons - Attribution-{ShareAlike} 4.0 International ({CC} {BY}-{SA} 4.0)},
    issn = {2820-4042},
    year = {2018} 
}
@misc{11356/1200,
    title = {Training corpus {SETimes}.{SR} 1.0},
    author = {Batanovi{\'c}, Vuk and Ljube{\v s}i{\'c}, Nikola and Samard{\v z}i{\'c}, Tanja and Erjavec, Toma{\v z}},
    url = {http://hdl.handle.net/11356/1200},
    note = {Slovenian language resource repository {CLARIN}.{SI}},
    copyright = {Creative Commons - Attribution-{ShareAlike} 4.0 International ({CC} {BY}-{SA} 4.0)},
    issn = {2820-4042},
    year = {2018} 
}
@inproceedings{rahimi-etal-2019-massively,
    title = "Massively Multilingual Transfer for {NER}",
    author = "Rahimi, Afshin  and
      Li, Yuan  and
      Cohn, Trevor",
    booktitle = "Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics",
    month = jul,
    year = "2019",
    address = "Florence, Italy",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/P19-1015",
    pages = "151--164",
}
@Inbook{Strakova2016,
    author="Strakov{\'a}, Jana and Straka, Milan and Haji{\v{c}}, Jan",
    editor="Sojka, Petr and Hor{\'a}k, Ale{\v{s}} and Kope{\v{c}}ek, Ivan and Pala, Karel",
    title="Neural Networks for Featureless Named Entity Recognition in Czech",
    bookTitle="Text, Speech, and Dialogue: 19th International Conference, TSD 2016, Brno, Czech Republic, September 12-16, 2016, Proceedings",
    year="2016",
    publisher="Springer International Publishing",
    address="Cham",
    pages="173--181",
    isbn="978-3-319-45510-5",
    doi="10.1007/978-3-319-45510-5_20",
    url="http://dx.doi.org/10.1007/978-3-319-45510-5_20"
}

NER Evaluation

For evaluation, we use seqeval

@misc{seqeval,
    title={{seqeval}: A Python framework for sequence labeling evaluation},
    url={https://github.com/chakki-works/seqeval},
    note={Software available from https://github.com/chakki-works/seqeval},
    author={Hiroki Nakayama},
    year={2018},
}

Which is based on

@inproceedings{ramshaw-marcus-1995-text,
    title = "Text Chunking using Transformation-Based Learning",
    author = "Ramshaw, Lance  and
      Marcus, Mitch",
    booktitle = "Third Workshop on Very Large Corpora",
    year = "1995",
    url = "https://www.aclweb.org/anthology/W95-0107",
}

Since this model was trained by labelling all subword tokens with the same word label, the pipeline usage is somewhat different:

import re
from transformers import pipeline

model_id = "ivlcic/sour-sarma"

ner = pipeline(
    task="token-classification",
    model=model_id,
    tokenizer=model_id,
    aggregation_strategy="none",  # <-
)

text = " Janez Novak... Metka Kralj,,. in Boris A. Novak živijo v Ljubljani in delajo za Microsoft."
tokens = re.findall(r"\s+|\w+|[^\w\s]", text, flags=re.UNICODE)
result = ner(tokens, is_split_into_words=True, delimiter="")

prev = None
rewritten = []
for e in result[0]:
    if prev is not None and prev['end'] == e['start']:
        rewritten[-1]['entity'] = e['entity'][2:]
        rewritten[-1]['span'] = text[rewritten[-1]['start']:e['end']]
        rewritten[-1]['end'] += e['end']
    else:
        rewritten.append(e.copy())
        rewritten[-1].pop('word')
        rewritten[-1]['entity'] = e['entity'][2:]
        rewritten[-1]['span'] = text[e['start']:e['end']]
    prev = e

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей