Downloads · 30 days
21
24% of all-time downloads
salmamohammedhamed22/arabic-eou-model
arabic-eou-model is a text classification model from salmamohammedhamed22. Use it when you need a label for a piece of text. The card lists the license as mit.
Base model: UBC-NLP/marbertv2 Model type: Sequence Classification (Binary: EOU vs CONTINUE) Language: Arabic (Saudi dialect focus) Trained on: 30,000 examples (≈15k positive + 15k negative) Framework: Hugging Face Tra…
Downloads · 30 days
21
24% of all-time downloads
All-time downloads
88
Public
Parameters
163M
651 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors651 MB · 99%
From the Hugging Face model README
Base model: UBC-NLP/marbertv2
Model type: Sequence Classification (Binary: EOU vs CONTINUE)
Language: Arabic (Saudi dialect focus)
Trained on: 30,000 examples (≈15k positive + 15k negative)
Framework: Hugging Face Transformers
This model is a fine-tuned MarBERTv2 transformer for predicting End-of-Utterance (EOU) in Arabic conversations. It predicts whether a speaker has finished their turn based on transcription text, enabling real-time turn-taking in AI voice agents.
The model was trained specifically to integrate with LiveKit agents, which provide up to 6 previous turns to the EOU model. To leverage this, the training dataset includes sliding window context of up to 4 previous turns combined with the current utterance using the [SEP] token. This allows turn-aware predictions, rather than relying solely on the last utterance.
UBC-NLP/marbertv20: CONTINUE1: EOUhidden_dropout_prob = 0.3attention_probs_dropout_prob = 0.3eval_lossValidation metrics (last epoch):
Training metrics (last epoch):
Test set results:
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Load model and tokenizer
model_name = "salmamohammedhamed22/arabic-eou-model"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# Example input with context
text = "مرحبا كيف حالك [SEP] تمام الحمد لله."
inputs = tokenizer(text, return_tensors="pt")
outputs = model(**inputs)
probs = torch.softmax(outputs.logits, dim=-1)
print(f"EOU probability: {probs[0][1].item():.3f}") # probability of end-of-utterance