| --- |
| language: en |
| license: mit |
| tags: |
| - text-classification |
| - intent-classification |
| - contact-management |
| - roberta |
| base_model: roberta-base |
| datasets: |
| - custom |
| model-index: |
| - name: assistant-bot-intent-classifier |
| results: |
| - task: |
| type: text-classification |
| name: Intent Classification |
| metrics: |
| - type: accuracy |
| value: 0.95 |
| name: Accuracy |
| --- |
| |
| # Intent Classifier for Contact Management Assistant Bot |
|
|
| This model is a fine-tuned RoBERTa-base model for intent classification in contact management tasks. |
|
|
| ## Model Description |
|
|
| - **Developed by:** Mykyta Kotenko |
| - **Base Model:** [roberta-base](https://huggingface.co/roberta-base) by Facebook AI |
| - **Task:** Text Classification (Intent Recognition) |
| - **Language:** English |
| - **License:** MIT |
|
|
| ## Supported Intents |
|
|
| This model recognizes 15+ different intents for contact management: |
|
|
| ### Contact Management |
| - `add_contact` - Add new contact with name, phone, email, address, birthday |
| - `edit_phone` - Update contact's phone number |
| - `edit_email` - Update contact's email address |
| - `edit_address` - Update contact's address |
| - `delete_contact` - Delete a contact |
| - `show_contact` - Show details of a specific contact |
| - `show_contacts` - List all contacts |
| - `search_contacts` - Search for contacts |
|
|
| ### Notes |
| - `add_note` - Add a note to a contact |
| - `show_notes` - Show all notes or notes for a contact |
| - `edit_note` - Edit an existing note |
| - `delete_note` - Delete a note |
|
|
| ### Tags |
| - `add_tag` - Add a tag to a contact |
| - `remove_tag` - Remove a tag from a contact |
|
|
| ### Other |
| - `show_birthdays` - Show upcoming birthdays |
| - `help` - Show help message |
| - `exit` - Exit the application |
|
|
| ## Usage |
|
|
| ```python |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline |
| |
| # Load model and tokenizer |
| tokenizer = AutoTokenizer.from_pretrained("kms-engineer/assistant-bot-intent-classifier") |
| model = AutoModelForSequenceClassification.from_pretrained("kms-engineer/assistant-bot-intent-classifier") |
| |
| # Create classification pipeline |
| classifier = pipeline("text-classification", model=model, tokenizer=tokenizer) |
| |
| # Classify intent |
| text = "add contact John Smith 212-555-0123 john@example.com" |
| result = classifier(text) |
| print(result) |
| # Output: [{'label': 'add_contact', 'score': 0.98}] |
| |
| # More examples |
| examples = [ |
| "update phone for Sarah to 555-1234", |
| "show all my contacts", |
| "delete contact Bob", |
| "add note for Alice: Call back tomorrow" |
| ] |
| |
| for text in examples: |
| result = classifier(text) |
| print(f"{text} → {result[0]['label']} ({result[0]['score']:.2f})") |
| ``` |
|
|
| ## Training Details |
|
|
| - **Base Model:** roberta-base |
| - **Training Dataset:** Custom dataset with contact management commands |
| - **Learning Rate:** 2e-5 |
| - **Batch Size:** 16 |
| - **Epochs:** 3-5 |
| - **Optimizer:** AdamW |
|
|
| ## Intended Use |
|
|
| This model is designed for: |
| - Contact management applications |
| - Personal assistant bots |
| - CRM systems with natural language interface |
| - Voice-controlled contact management |
|
|
| ## Limitations |
|
|
| - Optimized for English language only |
| - Best performance on contact management domain |
| - May not generalize well to other domains without fine-tuning |
|
|
| ## Example Predictions |
|
|
| ``` |
| Input: "add new contact John Doe 555-1234 john@email.com" |
| Output: add_contact (confidence: 0.99) |
| |
| Input: "change email for Sarah to sarah@newmail.com" |
| Output: edit_email (confidence: 0.97) |
| |
| Input: "show me all contacts" |
| Output: show_contacts (confidence: 0.98) |
| |
| Input: "delete contact Bob" |
| Output: delete_contact (confidence: 0.96) |
| |
| Input: "add tag 'work' to Alice" |
| Output: add_tag (confidence: 0.95) |
| ``` |
|
|
| ## Model Architecture |
|
|
| Based on RoBERTa (Robustly Optimized BERT Pretraining Approach): |
| - 12 transformer layers |
| - 768 hidden dimensions |
| - 12 attention heads |
| - ~125M parameters |
|
|
| ## Citation |
|
|
| If you use this model, please cite: |
|
|
| ```bibtex |
| @misc{kotenko2025intentclassifier, |
| author = {Kotenko, Mykyta}, |
| title = {Intent Classifier for Contact Management Assistant Bot}, |
| year = {2025}, |
| publisher = {Hugging Face}, |
| howpublished = {\url{https://huggingface.co/kms-engineer/assistant-bot-intent-classifier}}, |
| note = {Based on RoBERTa by Facebook AI} |
| } |
| ``` |
|
|
| ## Acknowledgments |
|
|
| - **Base Model:** RoBERTa by Facebook AI Research |
| - **Framework:** Hugging Face Transformers |
| - **Inspiration:** Contact management and personal assistant applications |
|
|
| ## License |
|
|
| MIT License - See LICENSE file for details. |
|
|
| This model is a derivative work based on RoBERTa, which is licensed under MIT License by Facebook, Inc. |
|
|
| ## Contact |
|
|
| - **Author:** Mykyta Kotenko |
| - **Repository:** [assistant-bot](https://github.com/kms-engineer/assistant-bot) |
| - **Issues:** Please report issues on GitHub |
|
|