Downloads · 30 days
12
4% of all-time downloads
metanovus/ruroberta-ecom-tech-best
ruroberta-ecom-tech-best is a text classification model from metanovus. Use it when you need a label for a piece of text. The card lists the license as apache-2.0.
This model was developed for multi-label classification of customer feedback in the food delivery domain. It can identify up to 50 different aspects/issues from user reviews and feedback messages.
Downloads · 30 days
12
4% of all-time downloads
All-time downloads
300
Public
Repo size
2.8 GB
Likes
1
Public
Click a slice to open those files.
.bin1.4 GB · 50%
From the Hugging Face model README
This model was developed for multi-label classification of customer feedback in the food delivery domain. It can identify up to 50 different aspects/issues from user reviews and feedback messages.
The model is designed to analyze customer feedback on Russian and automatically categorize it into multiple relevant labels, helping businesses quickly identify and address various aspects of their food delivery service.
The model is evaluated using a strict full match accuracy metric that requires exact matching between predicted and target labels.
# Correct prediction (100% accuracy):
Target: "0 1 10"
Prediction: "0 1 10"
# Incorrect predictions (0% accuracy):
Target: "0 1 10"
Prediction: "0 1" # Partial match is considered incorrect
Target: "0 1 10"
Prediction: "0 1 10 2" # Extra label is considered incorrect
-> Full labels see here
The model can be used for:
The model was trained as part of an NLP competition focused on improving customer feedback analysis in the food delivery industry. It uses state-of-the-art transformer architecture optimized for multi-label classification tasks.
import torch
from transformers import RobertaTokenizer, RobertaForSequenceClassification
model_name = 'ai-forever/ruRoberta-large'
device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu')
tokenizer = RobertaTokenizer.from_pretrained(model_name)
class_descriptions = pd.read_csv('files/trends_description.csv')
class BERTClass(torch.nn.Module):
def __init__(self):
super(BERTClass, self).__init__()
self.bert_model = RobertaForSequenceClassification.from_pretrained(
'metanovus/ruroberta-ecom-tech-best',
return_dict=True,
problem_type='multi_label_classification',
num_labels=50
)
def forward(self, input_ids, attn_mask, token_type_ids):
output = self.bert_model(
input_ids,
attention_mask=attn_mask,
token_type_ids=token_type_ids
)
return output.logits
model = BERTClass().to(device)