metadata
base_model: sentence-transformers/paraphrase-mpnet-base-v2
library_name: setfit
metrics:
- accuracy
pipeline_tag: text-classification
tags:
- setfit
- sentence-transformers
- text-classification
- generated_from_setfit_trainer
widget:
- text: >-
I felt happy and content last night. I was with my husband and daughter
and we had just had dinner. We were hanging out, watching tv, eating
cookies and playing games. It was amazing!
- text: >-
I felt a positive emotion when I visited my friend last weekend. We had a
great conversation about our feelings, hopes, and aspirations. I felt
present, connected, and loved by someone else.
- text: >-
I feel positive when interacting with my children. They can be a source
of frustration, but they are more often a source of pride and joy.
Whenever they achieve something, whether it be in sports or school, I
cannot explain how bursting with pride I get. Once you have children,
your whole life changes, and emotions both good and bad are centered
around them.
- text: >-
I was able to cut my taxes in half. Also, our homeowners insurance was
reduced by almost 1k and we are now receiving more coverage. Additionally,
I managed to get our mortgage reduced from $2700 to $603.37. Quite proud
of my effort(s) and the results. :)
- text: >-
When I make a good sale at work it makes me feel so good. Also having a
good experience with my customers and them being happy with their
purchase. It makes me feel very good about my job.
inference: true
model-index:
- name: SetFit with sentence-transformers/paraphrase-mpnet-base-v2
results:
- task:
type: text-classification
name: Text Classification
dataset:
name: Unknown
type: unknown
split: test
metrics:
- type: accuracy
value: 0.4772727272727273
name: Accuracy
SetFit with sentence-transformers/paraphrase-mpnet-base-v2
This is a SetFit model that can be used for Text Classification. This SetFit model uses sentence-transformers/paraphrase-mpnet-base-v2 as the Sentence Transformer embedding model. A LogisticRegression instance is used for classification.
The model has been trained using an efficient few-shot learning technique that involves:
- Fine-tuning a Sentence Transformer with contrastive learning.
- Training a classification head with features from the fine-tuned Sentence Transformer.
Model Details
Model Description
- Model Type: SetFit
- Sentence Transformer body: sentence-transformers/paraphrase-mpnet-base-v2
- Classification head: a LogisticRegression instance
- Maximum Sequence Length: 512 tokens
- Number of Classes: 9 classes
Model Sources
- Repository: SetFit on GitHub
- Paper: Efficient Few-Shot Learning Without Prompts
- Blogpost: SetFit: Efficient Few-Shot Learning Without Prompts
Model Labels
| Label | Examples |
|---|---|
| business and completing tasks |
|
| connecting with others |
|
| dreams and goals |
|
| engaging with hobbies and accomplishments |
|
| overcoming challenges |
|
| parenthood, taking care of something |
|
| professional and academic accomplishments |
|
| quality time and vacations |
|
| simple joys |
|
Evaluation
Metrics
| Label | Accuracy |
|---|---|
| all | 0.4773 |
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 SetFitModel
# Download from the 🤗 Hub
model = SetFitModel.from_pretrained("knharris4/harris")
# Run inference
preds = model("I felt happy and content last night. I was with my husband and daughter and we had just had dinner. We were hanging out, watching tv, eating cookies and playing games. It was amazing!")
Training Details
Training Set Metrics
| Training set | Min | Median | Max |
|---|---|---|---|
| Word count | 39 | 50.2222 | 73 |
| Label | Training Sample Count |
|---|---|
| business and completing tasks | 2 |
| connecting with others | 2 |
| dreams and goals | 2 |
| engaging with hobbies and accomplishments | 2 |
| overcoming challenges | 2 |
| parenthood, taking care of something | 2 |
| professional and academic accomplishments | 2 |
| quality time and vacations | 2 |
| simple joys | 2 |
Training Hyperparameters
- batch_size: (16, 16)
- num_epochs: (2, 2)
- max_steps: -1
- sampling_strategy: oversampling
- num_iterations: 15
- body_learning_rate: (2e-05, 2e-05)
- head_learning_rate: 2e-05
- 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.0416 | - |
| 1.4706 | 50 | 0.038 | - |
Framework Versions
- Python: 3.10.12
- SetFit: 1.1.0
- Sentence Transformers: 3.2.1
- Transformers: 4.44.2
- PyTorch: 2.5.0+cu121
- Datasets: 3.0.2
- Tokenizers: 0.19.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}
}