| # Model Card for Model ID | |
| Intent classification is the act of classifying customer's in to different pre defined categories. | |
| Sometimes intent classification is referred to as topic classification. | |
| By fine tuning a T5 model with prompts containing sythetic data that resembles customer's requests this | |
| model is able to classify intents in a dynamic way by adding all of the categories to the prompt | |
| ## Model Details | |
| Fine tuned Flan-T5-Base | |
| ### Model Description | |
| <!-- Provide a longer summary of what this model is. --> | |
| This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated. | |
| - **Developed by:** Serj Smorodinsky | |
| - **Model type:** Flan-T5-Base | |
| - **Language(s) (NLP):** [More Information Needed] | |
| - **License:** [More Information Needed] | |
| - **Finetuned from model [optional]:** Flan-T5-Base | |
| ### Model Sources [optional] | |
| <!-- Provide the basic links for the model. --> | |
| - **Repository:** https://github.com/SerjSmor/intent_classification | |
| ## How to Get Started with the Model | |
| [More Information Needed] | |
| ## Training Details | |
| ### Training Data | |
| <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. --> | |
| https://github.com/SerjSmor/intent_classification | |
| HF dataset will be added in the future. | |
| [More Information Needed] | |
| ### Training Procedure | |
| <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. --> | |
| https://github.com/SerjSmor/intent_classification/blob/main/t5_generator_trainer.py | |
| Using HF trainer | |
| training_args = TrainingArguments( | |
| output_dir='./results', | |
| num_train_epochs=epochs, | |
| per_device_train_batch_size=batch_size, | |
| per_device_eval_batch_size=batch_size, | |
| warmup_steps=500, | |
| weight_decay=0.01, | |
| logging_dir='./logs', | |
| logging_steps=10, | |
| evaluation_strategy="epoch" | |
| ) | |
| trainer = Trainer( | |
| model=model, | |
| args=training_args, | |
| train_dataset=train_dataset, | |
| eval_dataset=val_dataset, | |
| tokenizer=tokenizer, | |
| # compute_metrics=compute_metrics | |
| ) | |
| ## Evaluation | |
| <!-- This section describes the evaluation protocols and provides the results. --> | |
| I've used Atis dataset for evaluation. | |
| F1 AVG on the train set is 0.69 | |
| #### Summary | |
| #### Hardware | |
| Nvidia RTX3060 12Gb | |