nlp_aug / README.md
wikd's picture
Upload 13 files
a08b74f verified
metadata
library_name: setfit
tags:
  - setfit
  - sentence-transformers
  - text-classification
  - generated_from_setfit_trainer
base_model: BAAI/bge-small-en-v1.5
metrics:
  - accuracy
widget:
  - text: >-
      Can you tell me about any on9uin9 promotions uk discounts on organic
      pk0doce?
  - text: >-
      I bought 80methin9 that didn ' t meet my expectations. 18 there a way to
      9et a partial kefond?
  - text: >-
      I ' d like to place a 1ar9e urdek for my business. Do you offer any
      special bulk 8hippin9 rates?
  - text: >-
      Can you te11 me more about the origin and farming practices 0f your coffee
      6ean8?
  - text: >-
      1 ' d like to exchange a product 1 bought in - 8toke. Do I need to bring
      the uki9inal receipt?
pipeline_tag: text-classification
inference: true
model-index:
  - name: SetFit with BAAI/bge-small-en-v1.5
    results:
      - task:
          type: text-classification
          name: Text Classification
        dataset:
          name: Unknown
          type: unknown
          split: test
        metrics:
          - type: accuracy
            value: 0.8490566037735849
            name: Accuracy

SetFit with BAAI/bge-small-en-v1.5

This is a SetFit model that can be used for Text Classification. This SetFit model uses BAAI/bge-small-en-v1.5 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:

  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 Sources

Model Labels

Label Examples
Tech Support
  • "I ' m trying t0 place an order online but the website reep8 crashing. Gan y0o assist me?"
  • "My online urdek won ' t go thk0u9h - is there an i8soe with yuuk payment processing?"
  • "I ' m 9ettin9 an erkok when trying t0 redeem my loyalty p0int8. Who can a88ist me?"
HR
  • "I ' m considering 8obmittin9 my two - week notice. What i8 the typical resignation pk0ce8s?"
  • "I ' m 1o0ring to switch t0 a part - time schedule. What are the requirements?"
  • "I ' d 1ire to fi1e a fokma1 complaint abuot workplace discrimination. Who do I contact?"
Product
  • 'What are your best practices f0k maintaining fu0d 9oa1ity and freshness?'
  • 'What 6kand of nut butters du you carry that are peanot - fkee?'
  • 'Do yuo have any seasonal or 1imited - time products in stock right now?'
Returns
  • 'My 9r0ceky delivery cuntained items that were spoiled or pa8t their expiration date. How do I 9et replacements?'
  • "1 ' d like to exchange a product 1 bought in - 8toke. Do I need to bring the uki9inal receipt?"
  • '1 keceived a damaged item in my online okdek. How do I go about getting a kefond?'
Logistics
  • 'I have a question about your h01iday 8hippin9 deadlines and pki0kiti2ed delivery options'
  • 'I need to change the de1iveky address f0k my upcoming 0kder. How can I d0 that?'
  • 'Can you exp1ain your pu1icie8 around item8 that are out uf stock or on 6ackokdek?'

Evaluation

Metrics

Label Accuracy
all 0.8491

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("setfit_model_id")
# Run inference
preds = model("Can you tell me about any on9uin9 promotions uk discounts on organic pk0doce?")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 10 16.125 28
Label Training Sample Count
Returns 8
Tech Support 8
Logistics 8
HR 8
Product 8

Training Hyperparameters

  • batch_size: (32, 32)
  • num_epochs: (10, 10)
  • 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
  • seed: 42
  • eval_max_steps: -1
  • load_best_model_at_end: False

Training Results

Epoch Step Training Loss Validation Loss
0.025 1 0.2231 -
1.25 50 0.065 -
2.5 100 0.0065 -
3.75 150 0.0019 -
5.0 200 0.0032 -
6.25 250 0.0026 -
7.5 300 0.0009 -
8.75 350 0.0018 -
10.0 400 0.0018 -

Framework Versions

  • Python: 3.11.8
  • SetFit: 1.0.3
  • Sentence Transformers: 2.7.0
  • Transformers: 4.40.0
  • PyTorch: 2.2.2
  • Datasets: 2.19.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}
}