/ Модель

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

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

phishing-email-detection-distilbert_v2.1

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

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

713скачиваний за 30 дней5лайковвеса обновлены23 окт 2024

Бенчмарки

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

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

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

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

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

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

Модель cybersectony/phishing-email-detection-distilbert_v2.1 разработана на основе DistilBERT и дообучена для многометочной классификации электронных писем и URL-адресов на безопасные и потенциально фишинговые. Она использует архитектуру DistilBertForSequenceClassification и принимает текст длиной до 512 токенов. Модель предназначена для фильтрации писем и проверки ссылок на признаки фишинга; в README заявлены F1-score 97,717, точность 97,716, precision 97,736 и recall 97,717 на пользовательском наборе данных cybersectony/PhishingEmailDetection.

Модель рассчитана на англоязычный текст и распространяется в формате Safetensors через Transformers. Лицензия — Apache-2.0. Заявленные метрики относятся к данным README; состав оценки и обобщение на другие источники писем и ссылок не описаны.

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

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

Ограничения

Модель и заявленные метрики ориентированы на английский язык; README не описывает протокол оценки и качество на данных, отличающихся от использованного набора. Ограничение входной длины — 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

  • F1-score: 97.717
  • Accuracy: 97.716
  • Precision: 97.736
  • Recall: 97.717

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/PhishingEmailDetection on the Hugging Face Hub.

Usage Guide

Installation

pip install transformers
pip install torch

Quick Start

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

# Load model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("your-username/model-name")
model = AutoModelForSequenceClassification.from_pretrained("your-username/model-name")

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
Ревизия весов
e94292b

0 моделей