/ Модель

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

Контекст
512 токенов
Параметры
40 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Базовая модель
bge-small-en-v1.5
Библиотека
setfit
Опубликована
4 дек 2023

setfit-absa-bge-small-en-v1.5-restaurants-aspect

Классификация текстаТекст → label4 профессии

Англоязычная SetFit-модель фильтрует кандидатов аспектов в отзывах о ресторанах для конвейера анализа тональности по аспектам.

5 716скачиваний за 30 дней4лайкавеса обновлены6 дек 2023

Бенчмарки

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

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

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

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

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

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

Это англоязычная модель SetFit, разработанная tomaarsen для фильтрации кандидатов аспектов в анализе тональности по аспектам (ABSA) отзывов о ресторанах. Она использует дообученную модель эмбеддингов BAAI/bge-small-en-v1.5 на базе BERT и классификатор LogisticRegression с двумя классами: «аспект» и «не аспект». Модель обучена на наборе SemEval 2014 Task 4 (Restaurants) с применением контрастивного обучения и эффективного few-shot подхода.

Модель принимает текстовые кандидаты аспектов вместе с контекстом отзыва и определяет, относится ли кандидат к аспекту, например к еде или персоналу. В описанном конвейере spaCy сначала предлагает возможные фрагменты, эта модель их фильтрует, а отдельная модель SetFit классифицирует тональность отобранных аспектов. Максимальная длина последовательности — 512 токенов; заявленная точность на приведённой оценке — 0,8623.

Модель предназначена для английских ресторанных отзывов и узкой задачи фильтрации кандидатов; её не следует считать самостоятельной системой полного ABSA или классификатором полярности. Распространяется по лицензии Apache-2.0.

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

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

Ограничения

Модель решает только фильтрацию кандидатов аспектов и рассчитана на английские отзывы о ресторанах; для полного анализа тональности требуется отдельный этап классификации полярности. В README указана точность 0,8623, но детали разбиения и условий оценки не приведены.

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

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

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

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

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

Открыть на Hugging Face

SetFit Aspect Model with BAAI/bge-small-en-v1.5 on SemEval 2014 Task 4 (Restaurants)

This is a SetFit model trained on the SemEval 2014 Task 4 (Restaurants) dataset that can be used for Aspect Based Sentiment Analysis (ABSA). This SetFit model uses BAAI/bge-small-en-v1.5 as the Sentence Transformer embedding model. A LogisticRegression instance is used for classification. In particular, this model is in charge of filtering aspect span candidates.

The model has been trained using an efficient few-shot learning technique that involves:

  1. Fine-tuning a Sentence Transformer with contrastive learning.
  2. Training a classification head with features from the fine-tuned Sentence Transformer.

This model was trained within the context of a larger system for ABSA, which looks like so:

  1. Use a spaCy model to select possible aspect span candidates.
  2. Use this SetFit model to filter these possible aspect span candidates.
  3. Use a SetFit model to classify the filtered aspect span candidates.

Model Details

Model Description

Model Sources

Model Labels

LabelExamples
aspect'staff:But the staff was so horrible to us.'"food:To be completely fair, the only redeeming factor was the food, which was above average, but couldn't make up for all the other deficiencies of Teodora.""food:The food is uniformly exceptional, with a very capable kitchen which will proudly whip up whatever you feel like eating, whether it's on the menu or not."
no aspect"factor:To be completely fair, the only redeeming factor was the food, which was above average, but couldn't make up for all the other deficiencies of Teodora.""deficiencies:To be completely fair, the only redeeming factor was the food, which was above average, but couldn't make up for all the other deficiencies of Teodora.""Teodora:To be completely fair, the only redeeming factor was the food, which was above average, but couldn't make up for all the other deficiencies of Teodora."

Evaluation

Metrics

LabelAccuracy
all0.8623

Uses

Direct Use for Inference

First install the SetFit library:

pip install setfit

Then you can load this model and run inference.

from setfit import AbsaModel

# Download from the 🤗 Hub
model = AbsaModel.from_pretrained(
    "tomaarsen/setfit-absa-bge-small-en-v1.5-restaurants-aspect",
    "tomaarsen/setfit-absa-bge-small-en-v1.5-restaurants-polarity",
)
# Run inference
preds = model("The food was great, but the venue is just way too busy.")

Training Details

Training Set Metrics

Training setMinMedianMax
Word count419.357645
LabelTraining Sample Count
no aspect170
aspect255

Training Hyperparameters

  • batch_size: (256, 256)
  • num_epochs: (5, 5)
  • max_steps: 5000
  • sampling_strategy: oversampling
  • body_learning_rate: (2e-05, 1e-05)
  • head_learning_rate: 0.01
  • loss: CosineSimilarityLoss
  • distance_metric: cosine_distance
  • margin: 0.25
  • end_to_end: False
  • use_amp: True
  • warmup_proportion: 0.1
  • seed: 42
  • eval_max_steps: -1
  • load_best_model_at_end: True

Training Results

EpochStepTraining LossValidation Loss
0.002710.2498-
0.1355500.2442-
0.27101000.24620.2496
0.40651500.2282-
0.54202000.07520.1686
0.67752500.0124-
0.81303000.01280.1884
0.94853500.0062-
1.08404000.00120.183
1.21954500.0009-
1.35505000.00080.2072
1.49055500.0031-
1.62606000.00060.1716
1.76156500.0005-
1.89707000.00050.1666
2.03257500.0005-
2.16808000.00040.2086
2.30358500.0005-
2.43909000.00040.183
2.57459500.0004-
2.710010000.00360.1725
2.845510500.0004-
2.981011000.00030.1816
3.116511500.0004-
3.252012000.00030.1802
  • The bold row denotes the saved checkpoint.

Environmental Impact

Carbon emissions were measured using CodeCarbon.

  • Carbon Emitted: 0.018 kg of CO2
  • Hours Used: 0.303 hours

Training Hardware

  • On Cloud: No
  • GPU Model: 1 x NVIDIA GeForce RTX 3090
  • CPU Model: 13th Gen Intel(R) Core(TM) i7-13700K
  • RAM Size: 31.78 GB

Framework Versions

  • Python: 3.9.16
  • SetFit: 1.0.0.dev0
  • Sentence Transformers: 2.2.2
  • spaCy: 3.7.2
  • Transformers: 4.29.0
  • PyTorch: 1.13.1+cu117
  • Datasets: 2.15.0
  • Tokenizers: 0.13.3

Citation

BibTeX

@article{https://doi.org/10.48550/arxiv.2209.11055,
    doi = {10.48550/ARXIV.2209.11055},
    url = {https://arxiv.org/abs/2209.11055},
    author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
    keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
    title = {Efficient Few-Shot Learning Without Prompts},
    publisher = {arXiv},
    year = {2022},
    copyright = {Creative Commons Attribution 4.0 International}
}

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

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

GPU в ailist

Универсальный рантайм · setfit

Нельзя запустить

Модели SetFit требуют отдельного рантайма.

Класс архитектуры
BertModel
Ревизия весов
15762c0

0 моделей