NeuroSpaceX/ruSpamNS-tiny_V1

NeuroSpaceX
Clasificación de texto

Esta es una modelo de detección de spam, basada en la arquitectura cointegrated/rubert-tiny, entrenada en datos de spam en ruso. Clasifica el texto como spam o no spam.

Como usar

import re
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_name = 'NeuroSpaceX/spamNS-tiny_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 'не является спамом'}")

Funcionalidades

Clasificación de texto
Transformers
Safetensors
Detección de spam en ruso

Casos de uso

Detección de spam en mensajes de texto
Filtrado de correos electrónicos
Moderación de contenido en redes sociales