File size: 4,662 Bytes
101a791
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
765fa9a
 
101a791
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
765fa9a
101a791
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
---
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 [email protected]"
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 [email protected]"
Output: add_contact (confidence: 0.99)

Input: "change email for Sarah to [email protected]"
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