/ Модель

Характеристики

Контекст
512 токенов
Параметры
95 млн
Архитектура
bert · dense
Базовая модель
NepaliBERT
Библиотека
sentence-transformers
Опубликована
7 июн 2024

sentence_similarity_nepali_v2

ЭмбеддингиТекст → embedding9 профессий

Модель Sentence Transformers на базе NepaliBERT создаёт векторы непальских текстов для поиска и оценки семантического сходства.

392скачиваний за 30 дней4лайкавеса обновлены5 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

syubraj/sentence_similarity_nepali_v2 — модель Sentence Transformers, дообученная разработчиком на базе Rajan/NepaliBERT для представления непальских предложений и абзацев в виде плотных векторов. Она построена на архитектуре BERT, содержит 95 млн параметров и использует усреднение токенных представлений; размерность вектора — 768, функция сходства — косинусная. Максимальная длина входа составляет 512 токенов.

Модель предназначена для оценки семантического сходства текстов и может применяться для семантического поиска, поиска перефразирований, кластеризации и классификации текста. В README приведена оценка на непальском наборе STS-B: корреляция Спирмена для косинусного сходства составляет 0,6623.

Для использования нужны непальские предложения или абзацы; на выходе модель формирует векторы, которые можно сравнивать по косинусному сходству. Модель распространяется в формате Safetensors, лицензия в предоставленных данных не указана.

Сценарии применения

  • Оценка сходства между непальскими предложениями
  • Семантический поиск по непальским документам
  • Поиск перефразирований на непальском языке
  • Кластеризация непальских текстов по смыслу
  • Подготовка векторных признаков для классификации непальских текстов

Ограничения

Максимальная длина входа — 512 токенов; для более длинных текстов потребуется предварительная обработка. Приведённые в README результаты относятся к непальскому STS-B и сами по себе не подтверждают качество на других задачах или языках.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

sentence_similarity_nepali_v2

A Nepali sentence-embedding model. It maps a Nepali sentence (Devanagari script) to a 768-dimensional vector, so that sentences with similar meaning end up close together under cosine similarity.

It is a Sentence Transformers model fine-tuned from Rajan/NepaliBERT on syubraj/stsb_nepali, a Nepali translation of the STS Benchmark.

TaskSemantic textual similarity, sentence embeddings
LanguageNepali (ne)
Embedding size768
Max sequence length512 tokens
Similarity functionCosine
Size81.9M parameters, about 328 MB (float32)
Dev-set scoreSpearman 0.662, Pearson 0.697 (cosine)

Quick start

pip install -U sentence-transformers
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("syubraj/sentence_similarity_nepali_v2")

sentences = [
    "रातो, डबल डेकर बस।",
    "रातो डबल डेकर बस।",
    "दुई कालो कुकुर हिउँमा हिंड्दै।",
]

embeddings = model.encode(sentences)
print(embeddings.shape)  # (3, 768)

# Pairwise cosine similarity, shape [3, 3]
similarities = model.similarity(embeddings, embeddings)
print(similarities)

The model was trained to output a cosine similarity that matches the STS score divided by 5. A score near 1.0 means the two sentences say the same thing, and a score near 0.0 means they are unrelated.

Semantic search

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("syubraj/sentence_similarity_nepali_v2")

query = "एउटा विमान उडिरहेको छ।"
corpus = [
    "हवाई जहाज उडिरहेको छ।",
    "एउटा मान्छे बाँसुरी बजाउँदै छ।",
    "तीन जना चेस खेल्दै छन्।",
    "एउटी महिला मासु फ्राइरहेकी छिन्।",
]

query_embedding = model.encode(query)
corpus_embeddings = model.encode(corpus)

scores = model.similarity(query_embedding, corpus_embeddings)[0]
for score, sentence in sorted(zip(scores.tolist(), corpus), reverse=True):
    print(f"{score:.3f}  {sentence}")

With Transformers only

The pooling step is a mean over token embeddings, weighted by the attention mask.

import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer

model_id = "syubraj/sentence_similarity_nepali_v2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModel.from_pretrained(model_id)

sentences = ["रातो, डबल डेकर बस।", "रातो डबल डेकर बस।"]
batch = tokenizer(sentences, padding=True, truncation=True, max_length=512, return_tensors="pt")

with torch.no_grad():
    token_embeddings = model(**batch).last_hidden_state

mask = batch["attention_mask"].unsqueeze(-1).float()
embeddings = (token_embeddings * mask).sum(dim=1) / mask.sum(dim=1).clamp(min=1e-9)
embeddings = F.normalize(embeddings, p=2, dim=1)

print(embeddings @ embeddings.T)  # cosine similarity

Intended uses

  • Scoring how similar two Nepali sentences are.
  • Semantic search and duplicate or paraphrase detection over short Nepali texts.
  • Clustering or grouping Nepali sentences by meaning.
  • Sentence features for downstream Nepali classifiers.
  • A starting checkpoint for further fine-tuning on your own Nepali pairs.

Out of scope

  • Languages other than Nepali, and cross-lingual matching (for example Nepali to English). The model is monolingual.
  • Romanized Nepali or heavily code-mixed text. The training data is in Devanagari.
  • Long documents. The model was trained on single sentences; see Limitations.
  • High-stakes decisions based on a similarity threshold alone, such as plagiarism rulings or legal and medical matching.

Evaluation

Evaluated on the held-out dev set stsb-dev-nepali with Sentence Transformers' EmbeddingSimilarityEvaluator. The figures are for the published weights (the final training checkpoint).

Similarity functionPearsonSpearman
Cosine0.69710.6623
Euclidean0.63400.6090
Manhattan0.63320.6079
Dot product0.48480.5306

How to read this:

  • Use cosine similarity. Dot product is clearly worse because the embeddings are not length-normalised.
  • A Spearman correlation of 0.66 is moderate. The model ranks sentence pairs sensibly but not precisely, so treat scores as a ranking signal and tune any threshold on your own data.
  • The dev set is a held-out portion of the same translated data, not the official STS-B dev or test split. These numbers are not directly comparable to published STS-B results.

Model details

Developed bysyubraj
Model typeSentence Transformer (bi-encoder)
Base modelRajan/NepaliBERT, a BERT model pre-trained on Nepali with masked language modelling
EncoderBERT, 6 layers, 12 attention heads, hidden size 768
Vocabulary50,000 WordPiece tokens, cased
PoolingMean of token embeddings
Previous versionsyubraj/sentence_similarity_nepali
DOI10.57967/hf/3115
SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_mean_tokens': True})
)

Training

Data

syubraj/stsb_nepali contains 5,749 Nepali sentence pairs translated from stsb_multi_mt, each with a human similarity score from 0 to 5. The sentences come from the STS Benchmark's original domains: image captions, news headlines and forum posts.

  • 4,599 pairs (about 80%) were used for training; evaluation uses a held-out dev set.
  • Scores were divided by 5 to give labels between 0.0 and 1.0 (mean label 0.54).
  • Sentences are short: about 19 tokens on average, 81 at most, in the first 1,000 training samples.
sentence_0sentence_1label
एक व्यक्ति प्याज काट्दै छ।एउटा बिरालो शौचालयमा पपिङ गर्दैछ।0.00
क्यानडाको तेल रेल विस्फोटमा थप मृत्यु हुने अपेक्षा गरिएको छक्यानडामा रेल दुर्घटनामा पाँच जनाको मृत्यु भएको छ0.56
एउटी महिला झिंगा माझ्दै छिन्।एउटी महिला केही झिंगा माझ्दै।1.00

Procedure

Both sentences of a pair are encoded with the same network, and CosineSimilarityLoss (mean squared error between the cosine similarity and the label) is minimised.

HyperparameterValue
Epochs100 (28,800 steps)
Batch size16
Learning rate5e-5, linear decay, no warmup
OptimizerAdamW (betas 0.9 and 0.999, epsilon 1e-8, no weight decay)
Max gradient norm1
Precisionfloat32
Seed42

Training curve

EpochDev Spearman (cosine)
10.5355
50.6356
100.6332
140.6610
250.6699
410.6734 (best)
500.6619
750.6639
1000.6623 (published)

Most of the gain comes in the first 15 epochs. After that the dev score stays between about 0.65 and 0.67, while the training loss keeps falling from 0.0723 to 0.0007. The model therefore fits the training pairs almost exactly without generalising further, and a much shorter run would give the same quality. The published weights are from the final epoch, not the best one (0.6734 at epoch 41).

Framework versions

  • Python 3.10.13
  • Sentence Transformers 3.0.0
  • Transformers 4.41.2
  • PyTorch 2.1.2
  • Accelerate 0.30.1
  • Datasets 2.19.2
  • Tokenizers 0.19.1

Limitations

  • Moderate accuracy. A dev-set Spearman of 0.66 leaves room for clear ranking mistakes, especially between pairs of middling similarity.
  • Translated training data. The model learned from translated English sentences, some of which read as literal or unnatural Nepali. It has not been evaluated on text written natively in Nepali.
  • Narrow domains. Image captions, news headlines and forum posts. Expect weaker results on legal, medical, technical, literary or conversational text.
  • Short sentences only. Inputs up to 512 tokens are accepted and longer ones are truncated, but behaviour on paragraphs and documents is untested.
  • Symmetric similarity. The model was not trained on question and answer or query and passage pairs, so retrieval with short queries against longer passages may underperform.
  • Small dataset, long training. 4,599 pairs for 100 epochs means the model is closely fitted to its training set.
  • Inherited bias. Social and cultural biases from the base model's pre-training text and from the STS Benchmark carry over.

Citation

If you use this model, please cite it:

@misc{syubraj2024sentencesimilaritynepaliv2,
  author    = {syubraj},
  title     = {sentence\_similarity\_nepali\_v2},
  year      = {2024},
  publisher = {Hugging Face},
  doi       = {10.57967/hf/3115},
  url       = {https://huggingface.co/syubraj/sentence_similarity_nepali_v2}
}

Sentence-BERT:

@inproceedings{reimers-2019-sentence-bert,
  title     = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
  author    = "Reimers, Nils and Gurevych, Iryna",
  booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
  month     = "11",
  year      = "2019",
  publisher = "Association for Computational Linguistics",
  url       = "https://arxiv.org/abs/1908.10084",
}

STS Benchmark:

@inproceedings{cer-etal-2017-semeval,
  title     = "{S}em{E}val-2017 Task 1: Semantic Textual Similarity Multilingual and Crosslingual Focused Evaluation",
  author    = "Cer, Daniel and Diab, Mona and Agirre, Eneko and Lopez-Gazpio, I{\~n}igo and Specia, Lucia",
  booktitle = "Proceedings of the 11th International Workshop on Semantic Evaluation ({S}em{E}val-2017)",
  year      = "2017",
  publisher = "Association for Computational Linguistics",
  url       = "https://aclanthology.org/S17-2001",
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
BertModel
Ревизия весов
87663a8

0 моделей