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.
NeuroSpaceX/ruSpamNS_v9
🚨 Для всех, кто запрашивал доступ, но он был закрыт или не выдан: ❗ Пожалуйста, отмените запрос и отправьте его заново, иначе доступ не будет предоставлен!
Описание
Это модель определения спама, основанная на архитектуре руберта, дообученная на русскоязычных данных о спаме. Она классифицирует текст как спам или не спам. Модель была обучена на 2,5 млн сообщений и содержит улучшения в обработке сложных случаев, таких как рекламные сообщения со схожей структурой с нормальным текстом.
Использование
import re
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
model_name = 'NeuroSpaceX/ruSpamNS_v9'
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 = text.strip()
text = text.replace('\n', ' ')
text = re.sub(r'[^\w\s,.!?]', '', text, flags=re.UNICODE)
text = re.sub(r'[!?]', '', text)
return text.lower()
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 'не является спамом'}")
Просьба при использовании данной модели указывать ссылку на данный репозиторий!
Цитирование
@MISC{NeuroSpaceX/ruSpamNS_v9,
author = {Kirill Fedko (NeuroSpaceX), Andrey Tolstóy},
title = {Russian Spam Classification Model},
url = {https://huggingface.co/NeuroSpaceX/ruSpamNS_v9},
year = 2024
}
Телеграм канал автора: https://t.me/spaceneuro
Бот, работающий на базе модели: https://t.me/ruSpamNS_bot
- Downloads last month
- 247