/ Модель

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

Контекст
514 токенов
Параметры
124 млн
Лицензия
MIT
Архитектура
xlm-roberta · dense
Опубликована
18 апр 2022

roberta-base-nli-stsb-theseus-bg

Сходство предложенийТекст → score5 профессий

Модель XLM-RoBERTa создаёт эмбеддинги болгарских предложений для поиска семантически похожего текста и сопоставления переводов.

76скачиваний за 30 дней2лайкавеса обновлены18 апр 2022

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это модель на базе XLM-RoBERTa для получения эмбеддингов предложений на болгарском языке и оценки их семантического сходства. Её обучил rmihaylov на закрытых параллельных данных на болгарском и английском языках: по подходу Sentence-BERT переведённые предложения учатся занимать близкие позиции в векторном пространстве. Модель чувствительна к регистру.

Чекпойнт содержит 124,5 млн параметров, принимает текст и выдаёт векторы; максимальный контекст — 514 токенов. После обучения модель сжали методом progressive module replacing. Лицензия — MIT. Она подходит для поиска похожих болгарских предложений и сопоставления переводов; качество на других языках и задачах не подтверждено.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

ROBERTA BASE (cased) trained on private Bulgarian-English parallel data

This is a Multilingual Roberta model. It could be used for creating embeddings of Bulgarian sentences.

Using the ideas from Sentence-BERT, the training is based on the idea that a translated sentence should be mapped to the same location in the vector space as the original sentence.

This model is cased: it does make a difference between bulgarian and Bulgarian.

It was trained on private Bulgarian-English parallel data.

Then, it was compressed via progressive module replacing.

How to use

Here is how to use this model in PyTorch:

>>> import scipy
>>> import torch
>>> from transformers import AutoModel, AutoTokenizer
>>> 
>>> model = AutoModel.from_pretrained('rmihaylov/roberta-base-nli-stsb-theseus-bg')
>>> tokenizer = AutoTokenizer.from_pretrained('rmihaylov/roberta-base-nli-stsb-theseus-bg')
>>>
>>> def embed(text):
>>>     inputs = tokenizer.encode_plus(text, return_tensors='pt')
>>>     outputs = model(**inputs)
>>>     sequence_output = outputs[0]
>>>     input_mask_expanded = inputs['attention_mask'].unsqueeze(-1).expand(sequence_output.size()).float()
>>>     embeddings = torch.sum(sequence_output * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
>>>     return embeddings.detach().numpy()[0]
>>> 
>>> 
>>> query_embedding = embed("Какви са съставките на бисквитките?")
>>> 
>>> questions = [
>>>     "Какво е бисквитка?",
>>>     "От какво са направени бисквитките?",
>>>     "Използват ли в Англия думата бисквитки?",
>>>     "Къде се правят бисквитките?",
>>>     "Какви видове бисквитки има?",
>>>     "Къде човек може да купи бисквитки?",
>>>     "Откъде дойде думата бисквитка?",
>>>     "Кое е чудовището на бисквитките?",
>>>     "Как да си направите бисквитки у дома?",
>>>     "Колко калории има типичната бисквитка?",
>>>     "Какви напитки вървят добре с бисквитките?",
>>>     "Бисквитките наричат ли се също сладки?"
>>>     ]
>>> 
>>> corpus, corpus_embeddings = [], []
>>> for question in questions:
>>>     embedding = embed(question)
>>>     corpus.append(question)
>>>     corpus_embeddings.append(embedding)
>>> 
>>> distances = scipy.spatial.distance.cdist([query_embedding], corpus_embeddings, "cosine")[0]
>>> 
>>> results = zip(range(len(distances)), distances)
>>> results = sorted(results, key=lambda x: x[1])
>>> 
>>> print([[corpus[idx].strip(), (1.0 - distance)] for idx, distance in results])

[['От какво са направени бисквитките?', 0.9855158537034977],
 ['Къде се правят бисквитките?', 0.9774093134195002],
 ['Какви видове бисквитки има?', 0.9766014240577192],
 ['Използват ли в Англия думата бисквитки?', 0.9446492058523037],
 ['Кое е чудовището на бисквитките?', 0.9269786184641834],
 ['Къде човек може да купи бисквитки?', 0.9268900421152592],
 ['Какво е бисквитка?', 0.9188155080718263],
 ['Бисквитките наричат ли се също сладки?', 0.9060368627614406],
 ['Откъде дойде думата бисквитка?', 0.9048309659657036],
 ['Какви напитки вървят добре с бисквитките?', 0.890836765118977],
 ['Как да си направите бисквитки у дома?', 0.8878968487540497],
 ['Колко калории има типичната бисквитка?', 0.8652821650136402]]

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

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

GPU в ailist

Универсальный рантайм

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

Подбираем GPU…

Класс архитектуры
XLMRobertaModel
Ревизия весов
d60f80a

0 моделей