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

This is a SetFit model that can be used for Aspect Based Sentiment Analysis (ABSA). This SetFit model uses sentence-transformers/paraphrase-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
  • 'by an amazing score and STELLAR cinematography:Accompanied by an amazing score and STELLAR cinematography, the opening scene perfectly sets you in a mood that simply compels you to not miss a single second of the film, as the story unfolds before your eyes'
  • 'Superbly directed by Masaki Kobayashi:Superbly directed by Masaki Kobayashi, masterful performance from Tatsuya Nakadai, stunning cinematography from Yoshio Miyajima, and an affecting score composed by Toru Takemitsu – all some of the best at what they did.'
  • 'Kobayashi, masterful performance from Tatsuya Nakadai:Superbly directed by Masaki Kobayashi, masterful performance from Tatsuya Nakadai, stunning cinematography from Yoshio Miyajima, and an affecting score composed by Toru Takemitsu – all some of the best at what they did.'
neutral
  • ', as the story unfolds before your:Accompanied by an amazing score and STELLAR cinematography, the opening scene perfectly sets you in a mood that simply compels you to not miss a single second of the film, as the story unfolds before your eyes'
  • "n't think your cast and crew should:But I don't think your cast and crew should be exterminated, as I said they are mostly good and some even tried. You had some great scores and some of the visuals while random and clearly CGI, they weren't as terrible as I expected, and some make for some nice visuals."
  • "your cast and crew should be exterminated:But I don't think your cast and crew should be exterminated, as I said they are mostly good and some even tried. You had some great scores and some of the visuals while random and clearly CGI, they weren't as terrible as I expected, and some make for some nice visuals."
negative
  • ", but the story and characters just:The production and art direction were so well done, but the story and characters just weren't there for me"
  • "the story and characters just weren't:The production and art direction were so well done, but the story and characters just weren't there for me"
  • 'The main actor felt like he:The main actor felt like he was bored.'

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",
    "/private/var/folders/d9/1xz8vq817d3_x9b35qzvvgjc0000gn/T/tmp_tlwkczp/Riyosha/setfit-absa-paraphrase-mpnet-base-v2-MovieReviews-polarity_1",
)
# 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 13 32.7 57
Label Training Sample Count
negative 9
neutral 5
positive 16

Training Hyperparameters

  • batch_size: (16, 2)
  • num_epochs: (1, 16)
  • 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: False
  • warmup_proportion: 0.1
  • l2_weight: 0.01
  • seed: 42
  • eval_max_steps: -1
  • load_best_model_at_end: False

Training Results

Epoch Step Training Loss Validation Loss
0.0294 1 0.2041 -

Framework Versions

  • Python: 3.9.6
  • SetFit: 1.1.1
  • Sentence Transformers: 3.4.1
  • spaCy: 3.7.5
  • Transformers: 4.48.3
  • PyTorch: 2.6.0
  • Datasets: 3.3.0
  • Tokenizers: 0.21.0

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
9
Safetensors
Model size
109M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model authors have turned it off explicitly.

Model tree for Riyosha/setfit-absa-paraphrase-mpnet-base-v2-MovieReviews-polarity_1

Finetuned
(287)
this model