SetFit Polarity Model with sentence-transformers/all-mpnet-base-v2

This is a SetFit model that can be used for Aspect Based Sentiment Analysis (ABSA). This SetFit model uses sentence-transformers/all-mpnet-base-v2 as the Sentence Transformer embedding model. A LogisticRegression instance is used for classification. In particular, this model is in charge of classifying aspect polarities.

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 a SetFit model to filter these possible aspect span candidates.
  3. Use this SetFit model to classify the filtered aspect span candidates.

Model Details

Model Description

Model Sources

Model Labels

Label Examples
positive
  • 'The autofocus is lightning fast:The autofocus is lightning fast and the image quality is absolutely stunning for portraits.'
  • 'fast and the image quality is absolutely stunning:The autofocus is lightning fast and the image quality is absolutely stunning for portraits.'
  • 'sharp, the auto focus is easy to:the images are sharp, the auto focus is easy to use, and the lens is decent quality.'
negative
  • ', but the menu system is confusing for:Beautiful sharp photos with vibrant colors, but the menu system is confusing for beginners.'
  • ', though the LCD screen is hard to:The lens produces crisp images even at maximum zoom, though the LCD screen is hard to see in bright sunlight.'
  • 'on, but settings navigation is cumbersome.:The zoom range is impressive and focus accuracy is spot-on, but settings navigation is cumbersome.'
negative
  • 'not worth the price value.:definitely not worth the price value.'

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(
    "setfit-absa-aspect",
    "najwaa/absa-digital_cameras-polarity-p2",
)
# Run inference
preds = model("The food was great, but the venue is just way too busy.")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 7 20.5822 57
Label Training Sample Count
negative 97
negative 1
positive 115

Training Hyperparameters

  • batch_size: (32, 32)
  • num_epochs: (5, 5)
  • max_steps: -1
  • 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
  • l2_weight: 0.01
  • seed: 42
  • eval_max_steps: -1
  • load_best_model_at_end: True

Training Results

Epoch Step Training Loss Validation Loss
0.0014 1 0.3121 -
0.0140 10 - 0.2740
0.0280 20 - 0.2615
0.0420 30 - 0.2430
0.0560 40 - 0.2219
0.0700 50 0.2693 0.1975
0.0840 60 - 0.1651
0.0980 70 - 0.1169
0.1120 80 - 0.0611
0.1261 90 - 0.0338
0.1401 100 0.126 0.0204
0.1541 110 - 0.0076
0.1681 120 - 0.0071
0.1821 130 - 0.0047
0.1961 140 - 0.0032
0.2101 150 0.0126 0.0029
0.2241 160 - 0.0027
0.2381 170 - 0.0032
0.2521 180 - 0.0035
0.2661 190 - 0.0032
0.2801 200 0.0044 0.0027
0.2941 210 - 0.0027

Framework Versions

  • Python: 3.11.12
  • SetFit: 1.1.2
  • Sentence Transformers: 4.1.0
  • spaCy: 3.7.5
  • Transformers: 4.51.3
  • PyTorch: 2.6.0+cu124
  • Datasets: 3.6.0
  • Tokenizers: 0.21.1

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}
}
Downloads last month
21
Safetensors
Model size
109M params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for najwaa/absa-digital_cameras-polarity-p2

Finetuned
(284)
this model