--- 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 --- # 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