/ Модель

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

Контекст
512 токенов
Параметры
5,4 млн
Архитектура
bert · dense
Библиотека
transformers
Опубликована
6 окт 2026

nerbert-recipe

Разметка токеновТекст → label

Модель BERT для разметки ингредиентов, количеств и единиц измерения в коротких англоязычных строках рецептов.

58скачиваний за 30 дней0лайковвеса обновлены6 окт 2026

Бенчмарки

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

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

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

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

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

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

Учебная модель fastyBOOM для выделения сущностей в коротких англоязычных строках ингредиентов. Она построена на BertForTokenClassification: архитектура BERT с четырьмя слоями и собственным токенизатором WordPiece, обученными с нуля. Модель содержит 5,4 млн параметров, использует словарь из 4 719 токенов и принимает последовательности длиной до 512 токенов.

Модель размечает ингредиенты, количества, единицы измерения и уточнения, а также другие предусмотренные датасетом категории. В сохранённом запуске точность на отложенных записях составила 91,60%; показатель F1 для целых сущностей не измерялся. Репозиторий содержит блокнот обучения и датасет из 49 848 записей ингредиентов. Сведения о лицензии в предоставленных данных отсутствуют.

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

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

Ограничения

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

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

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

Открыть на Hugging Face

nerbert-recipe

Автор: fastyBOOM. Учебная модель выделения именованных сущностей в английских строках ингредиентов.

Модель BertForTokenClassification и собственный токенизатор WordPiece обучены с нуля. Используется стандартный интерфейс Hugging Face token-classification.

Блокнот

В репозитории размещён блокнот обучения recipe_ner.ipynb с кодом и сохранёнными результатами запуска.

Открыть блокнот в Google Colab.

Датасет

bio-recipe-datasettxt.bz2 — предоставленный размеченный датасет: слово и метка на строке, записи разделены пустыми строками. Содержит 49 848 записей ингредиентов. Разметка сохранена без исправлений и удаления повторов.

Для обучения использовано 39 868 записей, для проверки — 9 980. Разделение выполняется GroupShuffleSplit с test_size=0.2 и random_state=42: одинаковые тексты находятся в одной части.

B- обозначает начало сущности, I- — продолжение. OTHER — токен вне сущности. Типы: NAME — ингредиент, QTY — количество, UNIT — единица, COMMENT — уточнение, RANGE_END — конец диапазона. Редкая исходная метка INDEX также сохранена.

Обучение

ПараметрЗначение
Словарь WordPiece4 719 токенов
Классы10
Слои BERT4
Размер представления256
Головы внимания4
Промежуточный слой1 024
Эпохи5
Размер обучающего пакета32
Learning rate0.0003

Словарь обучен только на обучающих текстах. Токенизатор приводит регистр к нижнему. В этой версии метка слова назначается первому подтокену; остальные части и служебные позиции исключаются из функции потерь через -100.

Результаты

Результаты сохранённого запуска в блокноте:

ПоказательЗначение
Accuracy на отложенных записях91.60%
Loss на отложенных записях0.271906
Средняя training loss0.288697
Время обучения113.81 с

Accuracy рассчитана по первым подтокенам исходных слов, без позиций -100. F1 целых сущностей в этом запуске не измерялась. Время обучения относится к конкретному запуску в Colab.

Использование

pip install transformers==5.16.1 torch
from transformers import pipeline

ner = pipeline("token-classification", model="fastyBOOM/nerbert-recipe")
text = "1 tablespoon olive oil"

for entity in ner(text, ignore_labels=[]):
    print(text[entity["start"]:entity["end"]], "→", entity["entity"])

Пример ответа из сохранённого запуска:

1 → B-QTY
tablespoon → B-UNIT
olive → B-NAME
oil → I-NAME

Для повторного обучения в Colab выбрать GPU, загрузить исходный .bz2 в /content, установить transformers==5.16.1 accelerate scikit-learn и выполнить ячейки сверху вниз. Последняя ячейка проверяет опубликованную копию модели с HF.

Особенности

Модель предназначена для коротких английских строк ингредиентов. В pipeline один элемент датасета может разделиться на несколько токенов. Дополнительные подтокены в этой версии не обучались напрямую, поэтому возможны ошибки на дробях и числах, например 1/2 и 200. Допустимые переходы BIO отдельным правилом не ограничиваются.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей