nickprock's picture
Librarian Bot: Add base_model information to model (#7)
99efd76
---
license: mit
tags:
- generated_from_trainer
datasets:
- banking77
metrics:
- accuracy
widget:
- text: 'Can I track the card you sent to me? '
example_title: Card Arrival Example
- text: Can you explain your exchange rate policy to me?
example_title: Exchange Rate Example
- text: I can't pay by my credit card
example_title: Card Not Working Example
base_model: distilbert-base-uncased
model-index:
- name: distilbert-base-uncased-banking77-classification
results:
- task:
type: text-classification
name: Text Classification
dataset:
name: banking77
type: banking77
args: default
metrics:
- type: accuracy
value: 0.924025974025974
name: Accuracy
- task:
type: text-classification
name: Text Classification
dataset:
name: banking77
type: banking77
config: default
split: test
metrics:
- type: accuracy
value: 0.924025974025974
name: Accuracy
verified: true
- type: precision
value: 0.9278003086307286
name: Precision Macro
verified: true
- type: precision
value: 0.924025974025974
name: Precision Micro
verified: true
- type: precision
value: 0.9278003086307287
name: Precision Weighted
verified: true
- type: recall
value: 0.9240259740259743
name: Recall Macro
verified: true
- type: recall
value: 0.924025974025974
name: Recall Micro
verified: true
- type: recall
value: 0.924025974025974
name: Recall Weighted
verified: true
- type: f1
value: 0.9243068139192414
name: F1 Macro
verified: true
- type: f1
value: 0.924025974025974
name: F1 Micro
verified: true
- type: f1
value: 0.9243068139192416
name: F1 Weighted
verified: true
- type: loss
value: 0.31516405940055847
name: loss
verified: true
---
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->
# distilbert-base-uncased-banking77-classification
This model is a fine-tuned version of [distilbert-base-uncased](https://huggingface.co/distilbert-base-uncased) on the banking77 dataset.
It achieves the following results on the evaluation set:
- Loss: 0.3152
- Accuracy: 0.9240
- F1 Score: 0.9243
## Model description
This is my first fine-tuning experiment using Hugging Face.
Using distilBERT as a pretrained model, I trained a classifier for online banking queries.
It could be useful for addressing tickets.
## Intended uses & limitations
The model can be used on text classification. In particular is fine tuned on banking domain.
## Training and evaluation data
The dataset used is [banking77](https://huggingface.co/datasets/banking77)
The 77 labels are:
|label|intent|
|:---:|:----:|
|0|activate_my_card|
|1|age_limit|
|2|apple_pay_or_google_pay|
|3|atm_support|
|4|automatic_top_up|
|5|balance_not_updated_after_bank_transfer|
|6|balance_not_updated_after_cheque_or_cash_deposit|
|7|beneficiary_not_allowed|
|8|cancel_transfer|
|9|card_about_to_expire|
|10|card_acceptance|
|11|card_arrival|
|12|card_delivery_estimate|
|13|card_linking|
|14|card_not_working|
|15|card_payment_fee_charged|
|16|card_payment_not_recognised|
|17|card_payment_wrong_exchange_rate|
|18|card_swallowed|
|19|cash_withdrawal_charge|
|20|cash_withdrawal_not_recognised|
|21|change_pin|
|22|compromised_card|
|23|contactless_not_working|
|24|country_support|
|25|declined_card_payment|
|26|declined_cash_withdrawal|
|27|declined_transfer|
|28|direct_debit_payment_not_recognised|
|29|disposable_card_limits|
|30|edit_personal_details|
|31|exchange_charge|
|32|exchange_rate|
|33|exchange_via_app|
|34|extra_charge_on_statement|
|35|failed_transfer|
|36|fiat_currency_support|
|37|get_disposable_virtual_card|
|38|get_physical_card|
|39|getting_spare_card|
|40|getting_virtual_card|
|41|lost_or_stolen_card|
|42|lost_or_stolen_phone|
|43|order_physical_card|
|44|passcode_forgotten|
|45|pending_card_payment|
|46|pending_cash_withdrawal|
|47|pending_top_up|
|48|pending_transfer|
|49|pin_blocked|
|50|receiving_money|
|51|Refund_not_showing_up|
|52|request_refund|
|53|reverted_card_payment?|
|54|supported_cards_and_currencies|
|55|terminate_account|
|56|top_up_by_bank_transfer_charge|
|57|top_up_by_card_charge|
|58|top_up_by_cash_or_cheque|
|59|top_up_failed|
|60|top_up_limits|
|61|top_up_reverted|
|62|topping_up_by_card|
|63|transaction_charged_twice|
|64|transfer_fee_charged|
|65|transfer_into_account|
|66|transfer_not_received_by_recipient|
|67|transfer_timing|
|68|unable_to_verify_identity|
|69|verify_my_identity|
|70|verify_source_of_funds|
|71|verify_top_up|
|72|virtual_card_not_working|
|73|visa_or_mastercard|
|74|why_verify_identity|
|75|wrong_amount_of_cash_received|
|76|wrong_exchange_rate_for_cash_withdrawal|
## Training procedure
```
from transformers import pipeline
pipe = pipeline("text-classification", model="nickprock/distilbert-base-uncased-banking77-classification")
pipe("I can't pay by my credit card")
```
### Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 2e-05
- train_batch_size: 64
- eval_batch_size: 64
- seed: 42
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- num_epochs: 20
### Training results
| Training Loss | Epoch | Step | Validation Loss | Accuracy | F1 Score |
|:-------------:|:-----:|:----:|:---------------:|:--------:|:--------:|
| 3.8732 | 1.0 | 157 | 3.1476 | 0.5370 | 0.4881 |
| 2.5598 | 2.0 | 314 | 1.9780 | 0.6916 | 0.6585 |
| 1.5863 | 3.0 | 471 | 1.2239 | 0.8042 | 0.7864 |
| 0.9829 | 4.0 | 628 | 0.8067 | 0.8565 | 0.8487 |
| 0.6274 | 5.0 | 785 | 0.5837 | 0.8799 | 0.8752 |
| 0.4304 | 6.0 | 942 | 0.4630 | 0.9042 | 0.9040 |
| 0.3106 | 7.0 | 1099 | 0.3982 | 0.9088 | 0.9087 |
| 0.2238 | 8.0 | 1256 | 0.3587 | 0.9110 | 0.9113 |
| 0.1708 | 9.0 | 1413 | 0.3351 | 0.9208 | 0.9208 |
| 0.1256 | 10.0 | 1570 | 0.3242 | 0.9179 | 0.9182 |
| 0.0981 | 11.0 | 1727 | 0.3136 | 0.9211 | 0.9214 |
| 0.0745 | 12.0 | 1884 | 0.3151 | 0.9211 | 0.9213 |
| 0.0601 | 13.0 | 2041 | 0.3089 | 0.9218 | 0.9220 |
| 0.0482 | 14.0 | 2198 | 0.3158 | 0.9214 | 0.9216 |
| 0.0402 | 15.0 | 2355 | 0.3126 | 0.9224 | 0.9226 |
| 0.0344 | 16.0 | 2512 | 0.3143 | 0.9231 | 0.9233 |
| 0.0298 | 17.0 | 2669 | 0.3156 | 0.9231 | 0.9233 |
| 0.0272 | 18.0 | 2826 | 0.3134 | 0.9244 | 0.9247 |
| 0.0237 | 19.0 | 2983 | 0.3156 | 0.9244 | 0.9246 |
| 0.0229 | 20.0 | 3140 | 0.3152 | 0.9240 | 0.9243 |
### Framework versions
- Transformers 4.20.1
- Pytorch 1.12.0+cu113
- Datasets 2.3.2
- Tokenizers 0.12.1