This model is a fine-tuned version of
sentence-transformers/all-MiniLM-L6-v2
on Software Requirements Dataset (SWARD) for classifying 19 Non-functional requirements. Note that based on literature, two out of 19 classes are Data and Behavior, belong to types of Functional software requirements. It achieves the following results on the evaluation set:
Train Loss: 0.1691
Validation Loss: 0.7548
Epoch: 14
Final Macro F1-score: 0.79
Labels
:
0 or A -> Availability;
1 or AC -> Access Control;
2 or AU -> Audit;
3 or B -> Behaviour;
4 or D -> Data;
5 or FT -> Fault Tolerance;
6 or I -> Interface/Interoperability;
7 or LE -> Legal;
8 or LF -> Look and Feel;
9 or MN -> Maintainability;
10 or O -> Operational;
11 or PE -> Performance;
12 or PO -> Portability;
13 or RL -> Reliability;
14 or SA -> Safety;
15 or SC -> Scalability;
16 or SE -> Security;
17 or ST -> Stability;
18 or US -> Usability;
Usage Pipeline
from transformers import pipeline
frame_work = 'tf'
task = 'text-classification'
model_ckpt = 'kasrahabib/KM35NCDF '
software_requirment_cls = pipeline(task = task, model = model_ckpt, framework = frame_work)
example_1_US = 'Application needs to keep track of subtasks in a task.'
example_2_PE = 'The system shall allow users to enter time in several different formats.'
example_3_AC = 'The system shall allow users who hold any of the ORES/ORELSE/PROVIDER keys to be viewed as a clinical user and has full access privileges to all problem list options.'
software_requirment_cls([example_1_US, example_2_PE, example_3_AC])
import numpy as np
from transformers import AutoTokenizer, TFAutoModelForSequenceClassification
model_ckpt = 'kasrahabib/KM35NCDF '
tokenizer = AutoTokenizer.from_pretrained(model_ckpt)
model = TFAutoModelForSequenceClassification.from_pretrained(model_ckpt)
example_1_US = 'Application needs to keep track of subtasks in a task.'
example_2_PE = 'The system shall allow users to enter time in several different formats.'
example_3_AC = 'The system shall allow users who hold any of the ORES/ORELSE/PROVIDER keys to be viewed as a clinical user and has full access privileges to all problem list options.'
requirements = [example_1_US, example_2_PE, example_3_AC]
encoded_requirements = tokenizer(requirements, return_tensors = 'np', padding = 'longest')
y_pred = model(encoded_requirements).logits
classifications = np.argmax(y_pred, axis = 1)
classifications = [model.config.id2label[output] for output in classifications]
print(classifications)
['US', 'PE', 'AC']
Usage Locally Downloaded (e.g., GitHub):
1 - Clone the repository:
git lfs install
git clone url_of_repo
2 - Locate the path to the downloaded directory
3 - Write the link to the path in the
model_ckpt
variable
Then modify the code as below:
import numpy as np
from transformers import AutoTokenizer, TFAutoModelForSequenceClassification
model_ckpt = 'rest_of_the_path/KM35NCDF '
tokenizer = AutoTokenizer.from_pretrained(model_ckpt)
model = TFAutoModelForSequenceClassification.from_pretrained(model_ckpt)
example_1_US = 'Application needs to keep track of subtasks in a task.'
example_2_PE = 'The system shall allow users to enter time in several different formats.'
example_3_AC = 'The system shall allow users who hold any of the ORES/ORELSE/PROVIDER keys to be viewed as a clinical user and has full access privileges to all problem list options.'
requirements = [example_1_US, example_2_PE, example_3_AC]
encoded_requirements = tokenizer(requirements, return_tensors = 'np', padding = 'longest')
y_pred = model(encoded_requirements).logits
classifications = np.argmax(y_pred, axis = 1)
classifications = [model.config.id2label[output] for output in classifications]
print(classifications)
Training hyperparameters
The following hyperparameters were used during training:
KM35NCDF huggingface.co is an AI model on huggingface.co that provides KM35NCDF's model effect (), which can be used instantly with this kasrahabib KM35NCDF model. huggingface.co supports a free trial of the KM35NCDF model, and also provides paid use of the KM35NCDF. Support call KM35NCDF model through api, including Node.js, Python, http.
KM35NCDF huggingface.co is an online trial and call api platform, which integrates KM35NCDF's modeling effects, including api services, and provides a free online trial of KM35NCDF, you can try KM35NCDF online for free by clicking the link below.
kasrahabib KM35NCDF online free url in huggingface.co:
KM35NCDF is an open source model from GitHub that offers a free installation service, and any user can find KM35NCDF on GitHub to install. At the same time, huggingface.co provides the effect of KM35NCDF install, users can directly use KM35NCDF installed effect in huggingface.co for debugging and trial. It also supports api for free installation.