larshubacher's picture
Add SetFit model
2cf59dc verified
metadata
base_model: deepset/gelectra-base
library_name: setfit
metrics:
  - accuracy
pipeline_tag: text-classification
tags:
  - setfit
  - sentence-transformers
  - text-classification
  - generated_from_setfit_trainer
widget:
  - text: Ein sehr schöner heller Shop, eine sehr freundliche Bedienung
  - text: >-
      Leider habe ich auch eine ganz mühselige Geschichte mit der Swisscom zu
      berichten. Ich habe anfangs April meinen Vertrag fristgemäss gekündigt.
      Habe ein neues Abo eines ebenfalls zu Swisscom gehörigen Tochter
      Unternehmen abgeschlossen. Leider funktionierte die Portierung nicht.
      Respektive Swisscom kündigte die Portierung schriftlich und ich kann
      wieder von vorne beginnen. Bei der Portierung seien von mir Angaben nicht
      komplett ausgefüllt worden ist der Grund der Ablehnung.


      Damit ich meine Rufnummer nicht verliere musste ich die Nummer neu
      aufschalten. Dies hatte zur Konsequenz das mein alter Vertrag wieder 2
      Monate Kündigungsfrist bekam. Ich bin ein langjähriger Swisscom Kunde.
      Firma, Privat und sogar Ferienwohnung laufen alle über Swisscom. Aber wie
      ich in diesen zwei Hotline‘s (Swisscom und Wingo) hin und her jongliert
      wurde, war wirklich zu viel des guten.

      Ich hoffe nun auf eine gemeinsame Lösung…

      Werde berichten…
  - text: >-
      Galaxus ist einfach TOP!🌟 habe sowas noch nie erlebt das Produkt kam mit
      einem Schaden an, der Schaden wurde gemeldet und es wurde direkt ein Neues
      geschickt. SEHR ZUFRIEDEN MIT GALAXUS!
  - text: >-
      Wartezeit im Callcenter unerhört lange!! Auf Band wird mitgeteilt, dass
      man 2 Minuten warten muss und dann ist man beinahe 20 Minuten in der
      Warteschlaufe für eine Auskunft. Das ist eine miserable Dienstleistung und
      eine Katastrophe!
  - text: >-
      Ich bin mit dem Service der UBS am Claraplatz gar nicht zufrieden. Im Mai
      2021 wollte ich von der Postfinance zur UBS wechseln. Der Mitarbeiter D...
      sagte, er würde das Postkonto kündigen, was er nicht getan hat. Nun ist er
      seit mehr als einem Monat nicht erreichbar, obwohl ich mehrere Versuche
      machte, wurde ich immer wieder vertröstet. Auch habe ich noch nicht alle
      Bankkarten bekommen. Jetzt ist schon Mitte Oktober. Das ist alles sehr
      mühsam mit den Mitarbeitenden am Claraplatz Basel.
inference: false
model-index:
  - name: SetFit with deepset/gelectra-base
    results:
      - task:
          type: text-classification
          name: Text Classification
        dataset:
          name: Unknown
          type: unknown
          split: test
        metrics:
          - type: accuracy
            value: 0.023728813559322035
            name: Accuracy

SetFit with deepset/gelectra-base

This is a SetFit model that can be used for Text Classification. This SetFit model uses deepset/gelectra-base as the Sentence Transformer embedding model. A OneVsRestClassifier instance is used for classification.

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.

Model Details

Model Description

  • Model Type: SetFit
  • Sentence Transformer body: deepset/gelectra-base
  • Classification head: a OneVsRestClassifier instance
  • Maximum Sequence Length: 512 tokens

Model Sources

Evaluation

Metrics

Label Accuracy
all 0.0237

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("larshubacher/setfitdeepset_gelectra-base")
# Run inference
preds = model("Ein sehr schöner heller Shop, eine sehr freundliche Bedienung")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 4 50.5234 331

Training Hyperparameters

  • batch_size: (16, 16)
  • num_epochs: (1, 1)
  • max_steps: -1
  • sampling_strategy: oversampling
  • num_iterations: 20
  • 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
  • seed: 42
  • eval_max_steps: -1
  • load_best_model_at_end: False

Training Results

Epoch Step Training Loss Validation Loss
0.0031 1 0.4768 -
0.1562 50 0.244 -
0.3125 100 0.1326 -
0.4688 150 0.1522 -
0.625 200 0.0991 -
0.7812 250 0.1375 -
0.9375 300 0.1216 -

Framework Versions

  • Python: 3.11.11
  • SetFit: 1.0.3
  • Sentence Transformers: 3.0.1
  • Transformers: 4.40.2
  • PyTorch: 2.5.1+cu121
  • Datasets: 2.21.0
  • 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}
}