File size: 1,723 Bytes
07d0e83
d8db2e4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
07d0e83
 
d8db2e4
07d0e83
d8db2e4
07d0e83
d8db2e4
07d0e83
d8db2e4
 
07d0e83
d8db2e4
07d0e83
d8db2e4
 
 
07d0e83
d8db2e4
07d0e83
d8db2e4
07d0e83
d8db2e4
07d0e83
d8db2e4
 
 
07d0e83
d8db2e4
 
 
07d0e83
d8db2e4
 
 
07d0e83
d8db2e4
 
 
 
 
07d0e83
d8db2e4
 
 
 
07d0e83
d8db2e4
07d0e83
d8db2e4
07d0e83
d8db2e4
07d0e83
d8db2e4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---
language: en
tags:
- text-classification
- requirements-engineering
- bert
datasets:
- promise-nfr
metrics:
- accuracy
- f1
model-index:
- name: RequirementClassifier
  results:
  - task:
      type: text-classification
      name: Requirement Classification
    dataset:
      name: PROMISE NFR
      type: promise-nfr
    metrics:
    - type: accuracy
      name: Accuracy
      value: 0.0
---

# 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

```python
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.