RequirementClassifier

Version: 27

Model Description

This model is a fine-tuned BERT model for binary classification of software requirements. It classifies text as either "requirement" or "non-requirement".

Intended Uses

  • Classify software requirement documents
  • Identify requirement vs non-requirement statements
  • Automated requirement extraction from documents

Training Data

The model was trained on the PROMISE NFR dataset with additional non-requirement examples.

Usage

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

# Load model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("rajinikarcg/RequirementClassifier")
model = AutoModelForSequenceClassification.from_pretrained("rajinikarcg/RequirementClassifier")

# Prepare input
text = "The system shall respond within 2 seconds"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)

# Get prediction
with torch.no_grad():
    outputs = model(**inputs)
    logits = outputs.logits
    prediction = torch.argmax(logits, dim=-1).item()

# Map to label
labels = ["non-requirement", "requirement"]
print(f"Prediction: {labels[prediction]}")

Version History

  • 27: Latest version

Citation

If you use this model, please cite the PROMISE NFR dataset.

Downloads last month
10
Safetensors
Model size
0.1B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Evaluation results