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 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, birthdayedit_phone- Update contact's phone numberedit_email- Update contact's email addressedit_address- Update contact's addressdelete_contact- Delete a contactshow_contact- Show details of a specific contactshow_contacts- List all contactssearch_contacts- Search for contacts
Notes
add_note- Add a note to a contactshow_notes- Show all notes or notes for a contactedit_note- Edit an existing notedelete_note- Delete a note
Tags
add_tag- Add a tag to a contactremove_tag- Remove a tag from a contact
Other
show_birthdays- Show upcoming birthdayshelp- Show help messageexit- Exit the application
Usage
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:
@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
- Issues: Please report issues on GitHub
- Downloads last month
- 28
Model tree for kms-engineer/assistant-bot-intent-classifier
Base model
FacebookAI/roberta-baseEvaluation results
- Accuracyself-reported0.950