You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

xlm-roberta-large-xnli-product-attribute-classifier

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

Основана на joeddav/xlm-roberta-large-xnli и дообучена в формате NLI для задачи определения типа характеристики.


📌 Задача

Определение типа характеристики из текста.

Пример:

Текст Предсказание
длина 10 мм числовая характеристика
цвет - красный текстовая характеристика
покраска есть булевая характеристика
температура не менее 10 гр диапазонная характеристика
гарантия до 20.01.2002 характеристика с датой
размер 10x20x30 мм составная размерная характеристика

🧠 Подход

Модель обучена как NLI-классификатор:

  • premise: исходный текст
  • hypothesis: Тип этой характеристики — {label}

Модель предсказывает:

  • entailment → класс подходит
  • contradiction → класс не подходит

Для выбора класса используется вероятность entailment.


🏷 Классы

диапазонная характеристика
числовая характеристика
текстовая характеристика
булевая характеристика
характеристика с датой
составная размерная характеристика

🚀 Использование

Через transformers

from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline

MODEL_NAME = "GreenMap/xlm-roberta-large-xnli-ru-attribute-classifier"

CANDIDATE_LABELS = [
    "диапазонная характеристика",
    "числовая характеристика",
    "текстовая характеристика",
    "булевая характеристика",
    "характеристика с датой",
    "составная размерная характеристика"
]

tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME)

classifier = pipeline(
    task="zero-shot-classification",
    model=model,
    tokenizer=tokenizer
)

def get_characteristic_type(text):
    prefix = "Тип этой характеристики — {}"

    result = classifier(
        text,
        CANDIDATE_LABELS,
        hypothesis_template=prefix,
        multi_label=False
    )

    return result["labels"][0], result["scores"][0]

# Рекомендуется подавать характеристику в виде {"name"} : {"characteristic"}
# Пример: Длина : не более 80 мм
# Но не обязательно
label, score = get_characteristic_type("длина не более 80 мм")
print(label, score) # диапазонная характеристика

📊 Обучение

  • Базовая модель: joeddav/xlm-roberta-large-xnli
  • Формат: NLI (entailment / contradiction)
  • Шаблон:
Тип этой характеристики — {label}

📄 Лицензия

Унаследована от базовой модели.

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

Model tree for GreenMap/xlm-roberta-large-xnli-ru-attribute-classifier

Finetuned
(15)
this model