/ Модель

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

Контекст
514 токенов
Параметры
152 млн
Лицензия
MIT
Архитектура
roberta · dense
Опубликована
21 ноя 2022

InstaFoodRoBERTa-NER

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

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

303скачиваний за 30 дней13лайковвеса обновлены3 апр 2024

Бенчмарки

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

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

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

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

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

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

InstaFoodRoBERTa-NER — модель Dizex для распознавания именованных сущностей, дообученная на базе RoBERTa. Она выделяет в неформальных публикациях в социальных сетях названия еды и присваивает им метку FOOD; модель обучена на 400 англоязычных публикациях Instagram из набора InstaFoodSet и подходит для анализа похожих текстов, например постов в Instagram, X и Reddit. Архитектура — RoBERTa для классификации токенов, около 151,9 млн параметров; максимальный контекст составляет 514 токенов. Для InstaFoodSet в карточке указаны F1 0,91, точность 0,89 и полнота 0,93. Модель распространяется по лицензии MIT.

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

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

Ограничения

Обучена на небольшом наборе из 400 англоязычных публикаций Instagram и распознаёт только сущность FOOD; качество на иных стилях и тематиках может отличаться.

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

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

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

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

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

Открыть на Hugging Face

InstaFoodRoBERTa-NER

Model description

InstaFoodRoBERTa-NER is a fine-tuned BERT model that is ready to use for Named Entity Recognition of Food entities on social media like informal text (e.g. Instagram, X, Reddit). It has been trained to recognize a single entity: food (FOOD).

Specifically, this model is a roberta-base model that was fine-tuned on a dataset consisting of 400 English Instagram posts related to food. The dataset is open source.

Intended uses

How to use

You can use this model with Transformers pipeline for NER.

from transformers import AutoTokenizer, AutoModelForTokenClassification
from transformers import pipeline

tokenizer = AutoTokenizer.from_pretrained("Dizex/InstaFoodRoBERTa-NER")
model = AutoModelForTokenClassification.from_pretrained("Dizex/InstaFoodRoBERTa-NER")

pipe = pipeline("ner", model=model, tokenizer=tokenizer)
example = "Today's meal: Fresh olive poké bowl topped with chia seeds. Very delicious!"

ner_entity_results = pipe(example, aggregation_strategy="simple")
print(ner_entity_results)

To get the extracted food entities as strings you can use the following code:

def convert_entities_to_list(text, entities: list[dict]) -> list[str]:
        ents = []
        for ent in entities:
            e = {"start": ent["start"], "end": ent["end"], "label": ent["entity_group"]}
            if ents and -1 <= ent["start"] - ents[-1]["end"] <= 1 and ents[-1]["label"] == e["label"]:
                ents[-1]["end"] = e["end"]
                continue
            ents.append(e)

        return [text[e["start"]:e["end"]] for e in ents]

print(convert_entities_to_list(example, ner_entity_results))

This will result in the following output:

['olive poké bowl', 'chia seeds']

Performance on InstaFoodSet

metricval
f10.91
precision0.89
recall0.93

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
RobertaForTokenClassification
Ревизия весов
29d47a7

0 моделей