/ Модель

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

Контекст
2 048 токенов
Параметры
29 млн
Лицензия
CC BY-NC 4.0
Архитектура
bert · dense
Опубликована
31 июл 2024

spamNS_v1

Классификация текстаТекст → label3 профессии

Русскоязычная BERT-модель, которая классифицирует сообщения как спам или не спам.

764скачиваний за 30 дней2лайкавеса обновлены1 авг 2024

Бенчмарки

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

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

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

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

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

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

RUSpam/spamNS_v1 — русскоязычная модель классификации текста для определения спама. Она основана на cointegrated/rubert-tiny2 и дообучена на датасете RUSpam/spam_dataset_v6; архитектура — BERT для классификации последовательностей, размер — 29 млн параметров. Модель принимает текст и определяет, является ли сообщение спамом.

Модель предназначена для фильтрации нежелательных сообщений, в том числе в приложениях, использующих ruSpamLib. Поддерживает русский язык, использует формат safetensors и рассчитана на контекст до 2048 токенов. Распространяется по лицензии CC BY-NC 4.0, которая ограничивает коммерческое использование.

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

  • фильтрация спама в сообщениях
  • проверка входящих SMS на спам
  • классификация текстовых обращений как спам или не спам

Ограничения

Модель обучена для русскоязычных данных и не заявлена как универсальный классификатор для других языков. Лицензия CC BY-NC 4.0 не допускает коммерческого использования.

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

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

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

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

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

Открыть на Hugging Face

RUSpam/spamNS_v1

Описание

Это модель определения спама, основанная на архитектуре cointegrated/rubert-tiny2, дообученная на русскоязычных данных о спаме. Она классифицирует текст как спам или не спам.

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

import re
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_name = 'RUSpam/spamNS_v1'
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

model = AutoModelForSequenceClassification.from_pretrained(model_name, num_labels=1).to(device).eval()
tokenizer = AutoTokenizer.from_pretrained(model_name)

def clean_text(text):
    text = re.sub(r'http\S+', '', text)
    text = re.sub(r'[^А-Яа-я0-9 ]+', ' ', text)
    text = text.lower().strip()
    return text

def classify_message(message):
    message = clean_text(message)
    encoding = tokenizer(message, padding='max_length', truncation=True, max_length=128, return_tensors='pt')
    input_ids = encoding['input_ids'].to(device)
    attention_mask = encoding['attention_mask'].to(device)

    with torch.no_grad():
        outputs = model(input_ids, attention_mask=attention_mask).logits
        pred = torch.sigmoid(outputs).cpu().numpy()[0][0]

    is_spam = int(pred >= 0.5)
    return is_spam

if __name__ == '__main__':
    while True:
        message = input("Введите сообщение для классификации (или 'exit' для выхода): ")
        if message.lower() == 'exit':
            break
        is_spam = classify_message(message)
        print(f"Сообщение {'является спамом' if is_spam else 'не является спамом'}")

Использование при помощи нашей библиотеки

from ruSpamLib import is_spam

message = input("Введите сообщение: ")

pred_average = is_spam(message, model_name="spamNS_v1")

print(f"Prediction: {'Spam' if pred_average else 'Not Spam'}")

Цитирование

@MISC{RUSpam/spamNS_V1,
    author  = {Kirill Fedko (Neurospacex)},
    title   = {Russian Spam Classification Model},
    url     = {https://huggingface.co/RUSpam/spamNS_V1/},
    year    = 2024
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
026a940

0 моделей