Gibberish Detector - Text Classification Model

High-performance gibberish detection model for identifying nonsensical text, spam, and incoherent input. Built with DistilBERT, achieving 97.36% accuracy in multi-class text classification.

This model is designed for production use with Akto's security frameworks and LLM protection systems.

🎯 Quick Start

from transformers import pipeline

# Initialize the gibberish detector
detector = pipeline("text-classification", model="TangoBeeAkto/gibberish-detector")

# Detect gibberish in text
result = detector("I love Machine Learning!")
print(result)
# Output: [{'label': 'clean', 'score': 0.99}]

πŸ”₯ Key Features

  • 🎯 97.36% Accuracy: High-performance gibberish detection
  • ⚑ Fast Inference: Optimized DistilBERT architecture
  • 🏷️ Multi-Class Detection: Noise, Word Salad, Mild Gibberish, and Clean text
  • πŸ”§ Easy Integration: Standard transformers pipeline
  • 🌐 Production Ready: Tested and validated for security applications
  • πŸ’š Efficient: Low computational footprint

Problem Description

The ability to process and understand user input is crucial for various applications, such as chatbots or downstream tasks. However, a common challenge faced in such systems is the presence of gibberish or nonsensical input. This project focuses on developing a gibberish detector for the English language.

The primary goal is to classify user input as either gibberish or non-gibberish, enabling more accurate and meaningful interactions with the system.

Label Categories

The model classifies text into 4 categories:

  1. Clean (0): Proper, meaningful sentences

    • Example: I love this website
  2. Mild Gibberish (1): Sentences with grammatical or syntactical errors

    • Example: I study in a teacher
  3. Noise (2): Random character sequences with no meaningful words

    • Example: dfdfer fgerfow2e0d qsqskdsd
  4. Word Salad (3): Valid words without coherent meaning

    • Example: apple banana car house randomly

πŸš€ Use Cases

Input Validation for Security Systems

def validate_user_input(text):
    result = detector(text)[0]
    if result['label'] in ['noise', 'word_salad']:
        return "Invalid input detected. Please provide meaningful text."
    return process_query(text)

Content Moderation

def moderate_content(post):
    classification = detector(post)[0]
    if classification['label'] != 'clean':
        return f"Content flagged: {classification['label']}"
    return "Content approved"

LLM Prompt Filtering

def filter_prompt(prompt):
    result = detector(prompt)[0]
    if result['label'] in ['noise', 'word_salad'] and result['score'] > 0.8:
        return "Potentially malicious or gibberish prompt detected"
    return "Prompt is valid"

πŸ› οΈ Installation & Usage

from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch

# Load model and tokenizer
model = AutoModelForSequenceClassification.from_pretrained("TangoBeeAkto/gibberish-detector")
tokenizer = AutoTokenizer.from_pretrained("TangoBeeAkto/gibberish-detector")

def detect_gibberish(text):
    inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True)
    with torch.no_grad():
        outputs = model(**inputs)
    
    probabilities = torch.nn.functional.softmax(outputs.logits, dim=-1)
    predicted_label_id = probabilities.argmax().item()
    
    return model.config.id2label[predicted_label_id]

# Example usage
print(detect_gibberish("Hello world!"))  # Output: clean
print(detect_gibberish("asdkfj asdf"))   # Output: noise

Model Details

  • Architecture: DistilBERT for Sequence Classification
  • Base Model: distilbert-base-uncased
  • Max Length: 64 tokens
  • Vocab Size: 30,522
  • Parameters: ~67M

Performance Metrics

  • Accuracy: 97.36%
  • F1 Score: 97.36%
  • Precision: 97.38%
  • Recall: 97.36%

ONNX Support

This model supports ONNX optimization for faster inference in production environments. Use with optimized runtimes for best performance.

Integration with Akto Security Framework

This model is optimized for use with Akto's LLM security and protection systems. It provides real-time gibberish detection for:

  • Prompt injection detection
  • Input validation
  • Content filtering
  • Security monitoring

License

This model is licensed under the MIT License.


Developed by Akto for enterprise security applications

Downloads last month
-
Safetensors
Model size
67M params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for TangoBeeAkto/gibberish-detector

Quantized
(40)
this model

Evaluation results