/ Модель

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

Контекст
514 токенов
Параметры
305 млн
Архитектура
xlm-roberta · dense
Опубликована
17 ноя 2025

paraphrase-multilingual-mpnet-base-v2-eutekne-filtri-materia-lv1

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

Дообученный XLM-RoBERTa-энкодер для поиска подходящих предметных категорий по тексту юридического вопроса.

102скачиваний за 30 дней0лайковвеса обновлены17 ноя 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель giacomorossojakala/paraphrase-multilingual-mpnet-base-v2-eutekne-filtri-materia-lv1 — дообученная версия paraphrase-multilingual-mpnet-base-v2 для классификации юридических вопросов по категориям из набора Eutekne domande_fitlri_materie. Разработчик формулирует многометочную классификацию как задачу поиска: модель кодирует вопрос и текстовые описания категорий одним энкодером, после чего выбираются ближайшие категории.

Модель предназначена для распределения юридических вопросов по предметным категориям Eutekne. Она построена на архитектуре XLM-RoBERTa, содержит 305,2 млн параметров и принимает текстовые запросы и описания категорий; результатом служат векторные представления для сопоставления по близости. Контекст — до 514 токенов. Обучающая, валидационная и тестовая выборки содержали 4044, 867 и 867 примеров соответственно.

В карточке указана лицензия Apache-2.0. Модель ориентирована на категории обучающего набора, поэтому качество на иных юридических таксономиях или вне домена не подтверждено; в README приведены заголовок оценки, но не сами результаты.

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

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

Ограничения

Модель обучена на категориях и примерах Eutekne; перенос на другие юридические таксономии не подтверждён. Результаты оценки в README не приведены.

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

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

Открыть на Hugging Face

Model Description

This model is a fine-tuned paraphrase-multilingual-mpnet-base-v2 for a multi-label text classification on Eutekne domande_fitlri_materie train dataset.

The multi-label text classification task is faced as a retrieval problem: given a query and a list of description of labels, they are encoded with the same ambedder and the neareast neighbors are retrieved.

Intended Use

This model is intended for classifying legal questions into categories. These categories are based on the Eutekne domande_fitlri_materie.

Training Details

Base Model

This model is a finetuning of: paraphrase-multilingual-mpnet-base-v2

Training Data

{
  "train_samples": 4044,
  "val_samples": 867,
  "test_samples": 867
}

Training Hyperparameters

{
  "batch_size": 16,
  "learning_rate": 2e-05,
  "num_epochs": 30,
  "max_length": 256
}

Evaluation Results

|              |   validation_results |   test_results |
|:-------------|---------------------:|---------------:|
| accuracy_1   |             0.745098 |       0.733564 |
| accuracy_3   |             0.906574 |       0.890427 |
| accuracy_5   |             0.944637 |       0.934256 |
| accuracy_10  |             0.980392 |       0.966551 |
| precision_1  |             0.745098 |       0.733564 |
| precision_3  |             0.381392 |       0.365244 |
| precision_5  |             0.25098  |       0.242676 |
| precision_10 |             0.135755 |       0.133679 |
| recall_1     |             0.214194 |       0.215273 |
| recall_3     |             0.29301  |       0.287529 |
| recall_5     |             0.314612 |       0.310036 |
| recall_10    |             0.334751 |       0.332891 |
| f1_1         |             0.311139 |       0.309736 |
| f1_3         |             0.301874 |       0.290957 |
| f1_5         |             0.254062 |       0.246131 |
| f1_10        |             0.178015 |       0.174662 |
| mrr_1        |             0.745098 |       0.733564 |
| mrr_3        |             0.8193   |       0.804306 |
| mrr_5        |             0.828124 |       0.814456 |
| mrr_10       |             0.832849 |       0.818709 |
| r_precision  |             0.303022 |       0.300296 |

How to Use

from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity

repo_id = f"giacomorossojakala/paraphrase-multilingual-mpnet-base-v2-eutekne-filtri-materia-lv1"
model = SentenceTransformer(repo_id, device=device)

downloaded_path = hf_hub_download(repo_id=HF_REPO_ID, filename="label_description.json", token=HF_TOKEN)
print(f"File downloaded to: /root/.cache/huggingface/hub/models--giacomorossojakala--paraphrase-multilingual-mpnet-base-v2-eutekne-filtri-materia-lv1/snapshots/b70b25241cea5f87305b6685d896eb81041fc649/label_description.json")
label_descriptions = json.load(open(downloaded_path, "r"))

# Get predictions
custom_text = "acquista casa nel 2025 lavori ristrutturazione ma andrà ad abitare nel 2026, detrazioni 50%?"

def classify_text(text, model, label_descriptions, top_k=5):
    '''
    Classify a text by computing similarity with all label descriptions.

    Args:
        text: Input text to classify
        model: Trained SentenceTransformer model
        label_descriptions: Dict mapping label codes to descriptions
        top_k: Number of top predictions to return

    Returns:
        List of (label, similarity_score) tuples, sorted by score (descending)
    '''

    # Get label list and descriptions
    label_list = sorted(list(label_descriptions.keys()))
    label_texts = [label_descriptions[label] for label in label_list]

    # Encode question and all labels
    question_embedding = model.encode(text, convert_to_numpy=True)
    label_embeddings = model.encode(label_texts, convert_to_numpy=True, show_progress_bar=False)

    # Compute cosine similarities
    similarities = cosine_similarity([question_embedding], label_embeddings)[0]

    # Get top-k
    top_k_indices = np.argsort(similarities)[::-1][:top_k]
    predictions = [(label_list[idx], similarities[idx]) for idx in top_k_indices]

    return predictions



predictions = classify_text(custom_text, model, label_descriptions, top_k=5)

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей