Downloads · 30 days
24
39% of all-time downloads
ademchaoua/freelance-offer-request-classifier
freelance-offer-request-classifier is a text classification model from ademchaoua. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as mit.
Fine-tuned all-MiniLM-L6-v2 (22M params) that classifies short freelance-community messages into one of three categories:
Downloads · 30 days
24
39% of all-time downloads
All-time downloads
62
Public
Parameters
22.7M
114 MB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors90.9 MB · 78%
From the Hugging Face model README
Fine-tuned all-MiniLM-L6-v2 (22M params) that classifies short freelance-community
messages into one of three categories:
Evaluated on a held-out validation split (15% of training data, not seen during training):
| Class | Precision | Recall | F1 |
|---|---|---|---|
| offer | 0.74 | 0.87 | 0.80 |
| request | 0.93 | 0.88 | 0.90 |
| neither | 0.86 | 0.78 | 0.82 |
| accuracy | 0.85 | ||
| macro avg | 0.84 | 0.84 | 0.84 |
Trained on 2,614 messages collected from freelance-community Telegram groups.
The model still struggles with the phrasing pattern "I'm looking for [role] opportunities" when the speaker is actually offering their own skill (it tends to predict "request" instead of "offer" for this pattern with high confidence). If your use case is sensitive to this, consider a post-processing rule for this specific phrasing, or contribute additional labeled examples.
from optimum.onnxruntime import ORTModelForSequenceClassification
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("ademchaoua/freelance-offer-request-classifier", subfolder="onnx")
model = ORTModelForSequenceClassification.from_pretrained("ademchaoua/freelance-offer-request-classifier", subfolder="onnx")
inputs = tokenizer("I offer web scraping services", return_tensors="pt")
outputs = model(**inputs)
pred = outputs.logits.argmax(-1).item()
print(model.config.id2label[pred])
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
tokenizer = AutoTokenizer.from_pretrained("ademchaoua/freelance-offer-request-classifier")
model = AutoModelForSequenceClassification.from_pretrained("ademchaoua/freelance-offer-request-classifier")
inputs = tokenizer("Need a copywriter for email sequences", return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
pred = logits.argmax(-1).item()
print(model.config.id2label[pred])
sentence-transformers/all-MiniLM-L6-v2