TestingCapstone's picture
Update README.md
45ba90f verified
---
pipeline_tag: text-classification
license: apache-2.0
base_model: bert-large-uncased
tags:
- generated_from_trainer
- phishing
- BERT
- cybersecurity
- text-classification
metrics:
- accuracy
- precision
- recall
model-index:
- name: phishing-email-detector-capstone
results: []
widget:
- text: https://www.verif22.com
example_title: Phishing URL
- text: >
Dear colleague,
An important update about your email has exceeded your storage limit.
You will not be able to send or receive messages until you reactivate your account.
We will close all older versions of our Mailbox as of Friday, June 12, 2023.
To activate and complete the required information, click here (https://ec-ec.squarespace.com).
Your account must be reactivated today to regenerate new space.
— Management Team
example_title: Phishing Email
- text: >
You have access to FREE Video Streaming in your plan.
REGISTER with your email and password, then select the monthly subscription option.
https://bit.ly/3vNrU5r
example_title: Phishing SMS
- text: >
if(data.selectedIndex > 0){$('#hidCflag').val(data.selectedData.value);};
var sprypassword1 = new Spry.Widget.ValidationPassword("sprypassword1");
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprypassword1", "email");
example_title: Phishing Script
- text: Hi, this model is really accurate :)
example_title: Benign Message
language:
- en
---
# 🧠 Phishing Detection Model (BERT-Large-Uncased)
A transformer-based model fine-tuned to detect **phishing content** across multiple formats — including **emails, URLs, SMS messages, and scripts**.
Built on **BERT-Large-Uncased**, it leverages deep contextual understanding of language to classify text as *phishing* or *benign* with high accuracy.
---
## 📌 Model Details
**Base model:** `bert-large-uncased`
**Architecture:** 24 layers • 1024 hidden size • 16 attention heads • ~336M parameters
**License:** Apache 2.0
**Language:** English
**Pipeline tag:** `text-classification`
---
## 🧩 Model Description
This model was trained to identify phishing-related content by analyzing linguistic and structural patterns commonly found in malicious communications.
By leveraging BERT’s bidirectional transformer architecture, it effectively detects phishing attempts even when the message appears legitimate or well-written.
### Key Features
- Detects **phishing attempts** in text, emails, URLs, and scripts
- Useful for **cybersecurity applications**, such as email gateways or web filtering systems
- Capable of identifying **varied phishing tactics** (impersonation, link manipulation, credential harvesting, etc.)
---
## 🎯 Intended Uses
**Recommended use cases:**
- Classify messages, emails, and URLs as *phishing* or *benign*
- Integrate into automated **security pipelines**, email filtering tools, or chat moderation systems
- Aid in **phishing research** or awareness programs
**Limitations:**
- May trigger **false positives** on legitimate content with financial or urgent language
- Optimized for **English text** only
- Should be part of a **multi-layered defense strategy**, not a standalone cybersecurity control
---
## 📊 Evaluation Results
| Metric | Score |
|--------|--------|
| **Loss** | 0.1953 |
| **Accuracy** | 0.9717 |
| **Precision** | 0.9658 |
| **Recall** | 0.9670 |
| **False Positive Rate** | 0.0249 |
---
## ⚙️ Training Details
### Hyperparameters
| Parameter | Value |
|------------|--------|
| **Learning rate** | 2e-05 |
| **Train batch size** | 16 |
| **Eval batch size** | 16 |
| **Seed** | 42 |
| **Optimizer** | Adam (β₁=0.9, β₂=0.999, ε=1e-08) |
| **LR scheduler** | Linear |
| **Epochs** | 4 |
### Training Results
| Training Loss | Epoch | Step | Validation Loss | Accuracy | Precision | Recall | False Positive Rate |
|:-------------:|:-----:|:-----:|:---------------:|:--------:|:---------:|:------:|:-------------------:|
| 0.1487 | 1.0 | 3866 | 0.1454 | 0.9596 | 0.9709 | 0.9320 | 0.0203 |
| 0.0805 | 2.0 | 7732 | 0.1389 | 0.9691 | 0.9663 | 0.9601 | 0.0243 |
| 0.0389 | 3.0 | 11598 | 0.1779 | 0.9683 | 0.9778 | 0.9461 | 0.0156 |
| 0.0091 | 4.0 | 15464 | 0.1953 | 0.9717 | 0.9658 | 0.9670 | 0.0249 |
---
## 🧠 Example Inference
Try the model in Python using the `transformers` library:
```python
from transformers import pipeline
# Load the phishing detection model
classifier = pipeline("text-classification", model="your-username/phishing-email-detector-capstone")
# Example texts
examples = [
"Dear colleague, your email storage is full. Click here to verify your account: https://secure-update-login.com",
"Hi team, the meeting starts at 2 PM today.",
"You have won a free gift card! Claim now at http://bit.ly/3xYzabc"
]
# Run inference
for text in examples:
result = classifier(text)[0]
print(f"Text: {text}\nPrediction: {result['label']} (score: {result['score']:.4f})\n")