transformers safetensors bert text-classification generated_from_trainer dataset:legacy-datasets/banking77 base_model:google-bert/bert-base-uncased base_model:finetune:google-bert/bert-base-uncased license:apache-2.0 autotrain_compatible endpoints_compatible region:us
---
base_model: google-bert/bert-base-uncased
datasets:
- legacy-datasets/banking77
library_name: transformers
license: apache-2.0
metrics:
- accuracy
tags:
- generated_from_trainer
model-index:
- name: BERT-BankingClassifier
  results: []
---

<!-- 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. -->

# BERT-BankingClassifier

This model is a fine-tuned version of [google-bert/bert-base-uncased](https://huggingface.co/google-bert/bert-base-uncased) on an unknown dataset.
It achieves the following results on the evaluation set:
- Loss: 0.2867
- Accuracy: 0.9326

## Model description

This model is a BERT (bert-base-uncased) model fine-tuned using the Banking77 dataset for text classification tasks. Banking77 is a dataset designed to categorize customer support messages in the banking and finance domain into 77 distinct categories. This model is specifically tailored for classifying customer complaints and inquiries in the banking sector, helping to assign messages to the correct categories effectively.
Fine-Tuning Process : https://github.com/saribasmetehan/bank_administrative_assistant/blob/main/BERT_BankingClassifier.ipynb
| Label Index | Intent Category                                  |
|-------------|--------------------------------------------------|
| 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         |

## Example
```markdown
from transformers import pipeline, AutoTokenizer

text = "i forgot my PIN"
model_id = "saribasmetehan/BERT-BankingClassifier"

classifier = pipeline("text-classification", model=model_id)

preds = classifier(text)
print(preds)

#[{'label': 'LABEL_27', 'score': 0.9552194476127625}]
```



### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 5e-05
- train_batch_size: 16
- eval_batch_size: 16
- seed: 42
- optimizer: Use adamw_torch with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lr_scheduler_type: linear
- num_epochs: 4

### Training results

| Training Loss | Epoch | Step | Validation Loss | Accuracy |
|:-------------:|:-----:|:----:|:---------------:|:--------:|
| 2.5368        | 1.0   | 732  | 0.5945          | 0.8862   |
| 0.6013        | 2.0   | 1464 | 0.3156          | 0.9283   |
| 0.1507        | 3.0   | 2196 | 0.2895          | 0.9290   |
| 0.089         | 4.0   | 2928 | 0.2867          | 0.9326   |


### Framework versions

- Transformers 4.46.3
- Pytorch 2.5.1+cu121
- Datasets 3.1.0
- Tokenizers 0.20.3