/ Модель

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

Контекст
512 токенов
Лицензия
Apache 2.0
Архитектура
distilbert · dense
Базовая модель
distilbert-base-uncased
Библиотека
transformers
Опубликована
27 окт 2024

phishing-email-detection-distilbert_v2.4.1

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

Дообученная DistilBERT-модель классифицирует английские письма и URL как безопасные или потенциально фишинговые.

294 тыс.скачиваний за 30 дней31лайквеса обновлены28 окт 2024

Бенчмарки

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

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

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

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

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

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

Модель cybersectony/phishing-email-detection-distilbert_v2.4.1 разработана на основе DistilBERT и дообучена для многометочной классификации электронных писем и URL-адресов на безопасные и потенциально фишинговые. Она предназначена для первичного анализа писем и ссылок в почтовых фильтрах, средствах защиты и инструментах проверки подозрительных сообщений. Архитектура — DistilBertForSequenceClassification; модель принимает текст, поддерживает английский язык и имеет контекстное окно 512 токенов. Для обучения использован набор cybersectony/PhishingEmailDetectionv2.0; в карточке приведены метрики accuracy 99,58, F1 99,579, precision 99,583 и recall 99,58.

Модель сообщена как дообученная от distilbert/distilbert-base-uncased, использует формат safetensors и библиотеку Transformers. Лицензия — Apache-2.0. Метрики указаны в карточке модели и не гарантируют те же результаты на новых источниках писем и ссылок; результаты могут зависеть от распределения и качества входных данных.

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

  • первичная проверка входящих писем на признаки фишинга
  • классификация URL из писем как безопасных или подозрительных
  • сортировка писем для последующей проверки специалистом
  • интеграция классификатора в почтовый фильтр или защитный сервис

Ограничения

Модель обучена на пользовательском наборе данных, поэтому заявленные метрики могут не переноситься на новые типы фишинга, источники писем и ссылки. Контекст ограничен 512 токенами.

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

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

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

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

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

Открыть на Hugging Face

A distilBERT based Phishing Email Detection Model

Model Overview

This model is based on DistilBERT and has been fine-tuned for multilabel classification of Emails and URLs as safe or potentially phishing.

Key Specifications

  • Base Architecture: DistilBERT
  • Task: Multilabel Classification
  • Fine-tuning Framework: Hugging Face Trainer API
  • Training Duration: 3 epochs

Performance Metrics

  • Accuracy: 99.58
  • F1-score: 99.579
  • Precision: 99.583
  • Recall: 99.58

Dataset Details

The model was trained on a custom dataset of Emails and URLs labeled as legitimate or phishing. The dataset is available at cybersectony/PhishingEmailDetectionv2.0 on the Hugging Face Hub.

Usage Guide

Installation

pip install transformers
pip install torch

Quick Start

from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("cybersectony/phishing-email-detection-distilbert_v2.4.1")
import torch

# Load model and tokenizer
model = AutoModelForSequenceClassification.from_pretrained("cybersectony/phishing-email-detection-distilbert_v2.4.1")

def predict_email(email_text):
    # Preprocess and tokenize
    inputs = tokenizer(
        email_text,
        return_tensors="pt",
        truncation=True,
        max_length=512
    )
    
    # Get prediction
    with torch.no_grad():
        outputs = model(**inputs)
        predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
    
    # Get probabilities for each class
    probs = predictions[0].tolist()
    
    # Create labels dictionary
    labels = {
        "legitimate_email": probs[0],
        "phishing_url": probs[1],
        "legitimate_url": probs[2],
        "phishing_url_alt": probs[3]
    }
    
    # Determine the most likely classification
    max_label = max(labels.items(), key=lambda x: x[1])
    
    return {
        "prediction": max_label[0],
        "confidence": max_label[1],
        "all_probabilities": labels
    }

Example Usage

# Example usage
email = """
Dear User,
Your account security needs immediate attention. Please verify your credentials.
Click here: http://suspicious-link.com
"""

result = predict_email(email)
print(f"Prediction: {result['prediction']}")
print(f"Confidence: {result['confidence']:.2%}")
print("\nAll probabilities:")
for label, prob in result['all_probabilities'].items():
    print(f"{label}: {prob:.2%}")

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
DistilBertForSequenceClassification
Ревизия весов
6724dec

0 моделей