Kurdish Sorani Sentence Embedding Model

A Kurdish Sorani sentence embedding model for Central Kurdish (ckb). It maps Kurdish sentences to 512-dimensional vectors for semantic search, retrieval (RAG), clustering and sentence similarity.

Unlike the multilingual models adapted for Kurdish by vocabulary trimming, this model was trained on Kurdish text: a RoBERTa base trained from scratch on a 1-million-sentence Kurdish corpus with a custom 32k Kurdish BPE tokenizer, then fine-tuned with contrastive learning (MultipleNegativesRankingLoss) on ~22k Kurdish sentence pairs with hard negatives.

If you searched for a "Kurdish sentence embedding model", a "Sorani semantic search model", or a "ckb text embedding model" — this is one, and it is trained on Kurdish rather than repurposed from a multilingual model.

Usage

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("haryads/kurdish-sentence-embeddings")

sentences = [
    "کەشوهەوای ئەمڕۆ زۆر باراناوییە",
    "ئەمڕۆ ئاسمان دەگرێت و باران دەبارێت",
    "من حەزم لە خواردنی شۆربای نیسکە",
]
emb = model.encode(sentences)
print(model.similarity(emb, emb))

Evaluation

Measured on an internal Kurdish benchmark: a retrieval task (match a sentence to its lemmatized form among 1,000 candidates) and a topic-separation task (800 triplets). Compared against paraphrase-multilingual-MiniLM-L12-v2 on identical data.

Model Retrieval R@1 MRR Topic accuracy
This model 0.978 0.984 0.931
paraphrase-multilingual-MiniLM-L12-v2 0.960 0.970 0.786
RoBERTa base, mean-pooled (no fine-tuning) 0.930 0.944 0.635

The model outperforms the multilingual baseline on Kurdish for both retrieval and topic separation.

Details

  • Output dimension: 512
  • Max sequence length: 128 tokens
  • Pooling: mean, with L2 normalization
  • Base: from-scratch Kurdish RoBERTa + 32k Kurdish BPE tokenizer
  • Fine-tuning: MultipleNegativesRankingLoss on paraphrase, lemma and topic pairs with hard negatives
  • Language: Central Kurdish / Sorani (ckb), Arabic script

Intended use and limits

Best for Kurdish semantic search, retrieval (RAG), clustering and similarity. Sorani only for now. Trained on news-heavy text, so very domain-specific or colloquial input may need in-domain fine-tuning. For best results, normalize input (Arabic vs. Kurdish ی/ک, ZWNJ, digits) before encoding.

License

Apache-2.0.

Downloads last month
17
Safetensors
Model size
35.6M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for haryads/kurdish-sentence-embeddings

Finetuned
(1)
this model