/ Модель

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

Контекст
258 токенов
Параметры
162 млн
Лицензия
Apache 2.0
Архитектура
roberta · dense
Библиотека
sentence-transformers
Опубликована
20 апр 2024

vietnamese-embedding

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

Модель на основе PhoBERT кодирует вьетнамские предложения в эмбеддинги для семантического поиска, сравнения сходства и кластеризации.

6 403скачиваний за 30 дней56лайковвеса обновлены23 окт 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dangvantuan/vietnamese-embedding — модель эмбеддингов предложений для вьетнамского языка, разработанная на основе PhoBERT с архитектурой RoBERTa. Она преобразует текст векторы размерности 768 и предназначена для семантического поиска, сравнения сходства предложений и кластеризации текстов.

Модель построена на Sentence Transformers: использует среднее объединение токенных представлений и поддерживает последовательности до 512 токенов согласно README; метаданные каталога указывают контекст 258 токенов. Веса содержат 162,4 млн параметров. Обучение включало SimCSE с контрастивным обучением, а также дообучение на наборах XNLI-vn и STSB-vn. В карточке приведены результаты оценки корреляции на наборах семантического сходства для вьетнамского языка.

Модель подходит для поиска семантически близких фраз и группировки вьетнамских текстов по смыслу. Она принимает текст и возвращает векторные представления; результаты для других языков карточкой не подтверждены. Распространяется по лицензии Apache-2.0.

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

  • семантический поиск по вьетнамским текстам
  • сравнение смыслового сходства вьетнамских предложений
  • ранжирование предложений по семантической близости
  • кластеризация вьетнамских текстов по смыслу
  • создание эмбеддингов предложений для поиска

Ограничения

Модель предназначена для вьетнамского языка, поэтому её пригодность для других языков не подтверждена. Контекст указан по-разному: README приводит максимум 512 токенов, а метаданные каталога — 258.

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

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

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

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

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

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

Открыть на Hugging Face

Model Description:

vietnamese-embedding is the Embedding Model for Vietnamese language. This model is a specialized sentence-embedding trained specifically for the Vietnamese language, leveraging the robust capabilities of PhoBERT, a pre-trained language model based on the RoBERTa architecture. The model utilizes PhoBERT to encode Vietnamese sentences into a 768-dimensional vector space, facilitating a wide range of applications from semantic search to text clustering. The embeddings capture the nuanced meanings of Vietnamese sentences, reflecting both the lexical and contextual layers of the language.

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Training and Fine-tuning process

The model underwent a rigorous four-stage training and fine-tuning process, each tailored to enhance its ability to generate precise and contextually relevant sentence embeddings for the Vietnamese language. Below is an outline of these stages:

Stage 1: Initial Training

Stage 2: Continued Fine-tuning

  • Dataset: XNLI-vn
  • Method: Continued fine-tuning using Multi-Negative Ranking Loss. This stage focused on improving the model's ability to discern and rank nuanced differences in sentence semantics.

Stage 3: Continued Fine-tuning for Semantic Textual Similarity on STS Benchmark

  • Dataset: STSB-vn
  • Method: Fine-tuning specifically for the semantic textual similarity benchmark using Siamese BERT-Networks configured with the 'sentence-transformers' library. This stage honed the model's precision in capturing semantic similarity across various types of Vietnamese texts.

Stage 4: Advanced Augmentation Fine-tuning

  • Dataset: STSB-vn with generate silver sample from gold sample
  • Method: Employed an advanced strategy using Augmented SBERT with Pair Sampling Strategies, integrating both Cross-Encoder and Bi-Encoder models. This stage further refined the embeddings by enriching the training data dynamically, enhancing the model's robustness and accuracy in understanding and processing complex Vietnamese language constructs.

Usage:

Using this model becomes easy when you have sentence-transformers installed:

pip install -U sentence-transformers
pip install -q pyvi

Then you can use the model like this:

from sentence_transformers import SentenceTransformer
from pyvi.ViTokenizer import tokenize

sentences = ["Hà Nội là thủ đô của Việt Nam", "Đà Nẵng là thành phố du lịch"]
tokenizer_sent = [tokenize(sent) for sent in sentences]

model = SentenceTransformer('dangvantuan/vietnamese-embedding')
embeddings = model.encode(tokenizer_sent)
print(embeddings)

Evaluation

The model can be evaluated as follows on the Vienamese data of stsb.

from sentence_transformers import SentenceTransformer
from sentence_transformers import SentenceTransformer
from sentence_transformers.readers import InputExample
from datasets import load_dataset
from pyvi.ViTokenizer import tokenize
def convert_dataset(dataset):
    dataset_samples=[]
    for df in dataset:
        score = float(df['score'])/5.0  # Normalize score to range 0 ... 1
        inp_example = InputExample(texts=[tokenize(df['sentence1']), 
                                    tokenize(df['sentence2'])], label=score)
        dataset_samples.append(inp_example)
    return dataset_samples

# Loading the dataset for evaluation
vi_sts = load_dataset("doanhieung/vi-stsbenchmark")["train"]
df_dev = vi_sts.filter(lambda example: example['split'] == 'dev')
df_test = vi_sts.filter(lambda example: example['split'] == 'test')

# Convert the dataset for evaluation

# For Dev set:
dev_samples = convert_dataset(df_dev)
val_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(dev_samples, name='sts-dev')
val_evaluator(model, output_path="./")

# For Test set:
test_samples = convert_dataset(df_test)
test_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(test_samples, name='sts-test')
test_evaluator(model, output_path="./")

Test Result:

The performance is measured using Pearson and Spearman correlation:

Metric for all dataset of Semantic Textual Similarity on STS Benchmark

You can run an evaluation on this Colab

Pearson score

Model[STSB][STS12][STS13][STS14][STS15][STS16][SICK]Mean
dangvantuan/vietnamese-embedding84.8787.2385.3982.9486.9179.3982.7784.21
VoVanPhuc/sup-SimCSE-VietNamese-phobert-base81.5285.0278.2275.9481.5375.3977.7579.33
keepitreal/vietnamese-sbert80.5478.5880.7576.9882.5773.2180.1678.97
bkai-foundation-models/vietnamese-bi-encoder73.3067.8471.6969.8078.4074.2976.0173.04

Spearman score

Model[STSB][STS12][STS13][STS14][STS15][STS16][SICK]Mean
dangvantuan/vietnamese-embedding84.8479.0485.3081.3887.0679.9579.5882.45
VoVanPhuc/sup-SimCSE-VietNamese-phobert-base81.4376.5179.1974.9181.7276.5776.4578.11
keepitreal/vietnamese-sbert80.1669.0880.9973.6782.8174.3073.4076.34
bkai-foundation-models/vietnamese-bi-encoder72.1663.8671.8266.2078.6274.2470.8771.11

Citation

@article{reimers2019sentence,
   title={Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks},
   author={Nils Reimers, Iryna Gurevych},
   journal={https://arxiv.org/abs/1908.10084},
   year={2019}
}


@article{martin2020camembert,
   title={CamemBERT: a Tasty French Language Mode},
   author={Martin, Louis and Muller, Benjamin and Su{\'a}rez, Pedro Javier Ortiz and Dupont, Yoann and Romary, Laurent and de la Clergerie, {\'E}ric Villemonte and Seddah, Djam{\'e} and Sagot, Beno{\^\i}t},
   journal={Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics},
   year={2020}
}
@article{thakur2020augmented,
  title={Augmented SBERT: Data Augmentation Method for Improving Bi-Encoders for Pairwise Sentence Scoring Tasks},
  author={Thakur, Nandan and Reimers, Nils and Daxenberger, Johannes and Gurevych, Iryna},
  journal={arXiv e-prints},
  pages={arXiv--2010},
  year={2020}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
RobertaModel
Ревизия весов
4ab46e4

0 моделей