MétaCan
Menu
Retour à la cohorte
Enregistrement W7088574281 · doi:10.5281/zenodo.17318864

aminzadenoori/A-Comparison-of-Small-and-Large-Language-Models-for-Requirements-Classification: slmvsllm requirements classification-v3

2025· other· en· W7088574281 sur OpenAlexaboutno aff

Notice bibliographique

RevueZenodo (CERN European Organization for Nuclear Research) · 2025
Typeother
Langueen
DomaineEngineering
ThématiqueLaser-Ablation Synthesis of Nanoparticles
Établissements canadiensnon disponible
Organismes subventionnairesnon disponible
Mots-clésReplication (statistics)Task (project management)Computational modelNatural languageModeling languageSoftware

Résumé

récupéré en direct d'OpenAlex

Replication Package: Does Model Size Matter? A Comparison of Small and Large Language Models for Requirements Classification This repository contains the replication package for the research paper: "Does Model Size Matter? A Comparison of Small and Large Language Models for Requirements Classification" Mohammad Amin Zadenoori¹, Vincenzo De Martino²³, Jacek Dąbrowski⁴, Xavier Franch³, and Alessio Ferrari⁵ ¹ University of Padova, Italy ² Software Engineering (SeSa) Lab, University of Salerno, Italy ³ Universitat Politècnica de Catalunya, Spain ⁴ Lero, the Research Ireland Centre for Software, University of Limerick, Ireland ⁵ University College Dublin (UCD), Ireland Abstract [Context and motivation] Large language models (LLMs) show promising results in natural language processing (NLP) tasks for requirements engineering (RE). However, their use is limited by high computational cost, data-sharing risks, and dependence on external services. Small language models (SLMs) offer a lightweight, locally deployable alternative. [Question/problem] However, it remains unclear how well open-source SLMs perform compared to LLMs in RE tasks. [Principal idea/results] This preliminary study compares eight models, including three LLMs and five SLMs, on the task of requirements classification, using three datasets. We evaluated performance using precision, recall, and F1 metrics to assess their ability to classify functional vs non-functional, functional vs quality, and security vs non-security requirements. Results indicate that LLMs generalize slightly better. The best-performing LLMs achieved approximately 2% higher F1 scores compared to the top-performing SLMs across the evaluated classification tasks, while SLMs have lower computational demands and do not share sensitive data. [Contributions] Our contribution is twofold: (i) a systematic comparison of five SLMs and three LLMs, and (ii) evidence that SLMs can reliably support RE classification tasks on local infrastructure. Project Structure . ├── input/ # Input datasets used in the study │ ├── CPN.csv # Security classification dataset │ └── promise-reclass.csv # PROMISE reclassification dataset ├── output/ # Generated results and metrics │ ├── all_summary_metrics_nfr.csv │ ├── all_summary_metrics_promise_refined.csv │ └── all_summary_metrics_security.csv ├── prompts and descriptions/ # Prompt templates and class descriptions │ └── Prompt and descriptions.md ├── ReqSec.py # Security requirements classification ├── NFR.py # Functional vs Non-Functional classification ├── Promise-reclass.py # F, Q, onlyF, onlyQ classification └── README.md # This file Research Components Models Evaluated Small Language Models (SLMs) Qwen/Qwen2-7B-Instruct tiiuae/Falcon3-7B-Instruct ibm-granite/granite-3.2-8b-instruct mistralai/Ministral-8B-Instruct-2410 meta-llama/Meta-Llama-3-8B-Instruct Large Language Models (LLMs) Grok-4 GPT-5o (using OpenAI API) Claude-4 (using Anthropic API) Classification Tasks 1. Security Requirements Classification (ReqSec.py) Task: Binary classification of requirements as Security vs Non-Security Dataset: CPN.csv Key Finding: LLMs achieved ~2% higher F1 scores compared to top SLMs 2. Functional vs Non-Functional Requirements (NFR.py) Task: Binary classification of requirements as Functional vs Non-Functional Dataset: promise-reclass.csv Key Finding: SLMs demonstrated competitive performance with local deployment advantages 3. Fine-grained Requirements Classification (Promise-reclass.py) Task: Multi-class classification into Functional (F), Quality (Q), Only Functional (onlyF), and Only Quality (onlyQ) Dataset: promise-reclass.csv Key Finding: Both SLMs and LLMs effectively handle complex multi-class classification Experimental Setup Prompting Strategies Each classification task was evaluated using four prompting methods: CoT with Few-shot: Combined approach with examples and reasoning Evaluation Metrics Precision (P) Recall (R) F1-score F2-score (emphasizing recall) Key Experimental Features Dynamic batching based on GPU memory Majority voting with consensus mechanism Variance checking for prediction stability Comprehensive error handling Installation and Setup Prerequisites pip install torch transformers datasets scikit-learn pandas numpy requests openai Environment Variables Set the following API keys for LLM integration: # For Grok API export GROK_API_KEY="your_grok_api_key" # For Claude API export ANTHROPIC_API_KEY="your_anthropic_api_key" # For OpenAI API (GPT-5o) export OPENAI_API_KEY="your_openai_api_key" # Hugging Face token (for local models) export HF_TOKEN="your_huggingface_token" Usage Reproducing Security Classification Experiments python ReqSec.py Reproducing Functional vs Non-Functional Classification python NFR.py Reproducing Fine-grained Classification python Promise-reclass.py Key Findings Reproduction The experiments demonstrate that: LLMs show slightly better generalization with approximately 2% higher F1 scores across tasks SLMs provide practical alternatives with local deployment and data privacy advantages Both model types effectively handle complex requirements classification tasks The performance gap is minimal for many practical applications Output Interpretation Each script generates comprehensive CSV files containing: Overall metrics (Precision, Recall, F1, F2) Class-specific performance metrics Timing data for computational efficiency analysis Comparative performance between SLMs and LLMs Dataset Information CPN.csv Security requirements classification dataset Binary labels: Security (1) vs Non-Security (0) promise-reclass.csv PROMISE requirements repository with reclassified labels Supports multiple classification schemes including functional vs non-functional and quality attributes 📚 Dataset Attribution This project uses the following publicly available datasets: PROMISE Dataset Originally provided for the RE'17 Data Challenge by Jane Cleland-Huang and collaborators. Cleland-Huang, J., Mazrouee, S., Huang, L., & Port, D. (2007). nfr [Data set]. Zenodo. https://doi.org/10.5281/zenodo.268542 RE'17 Data Challenge: http://ctp.di.fct.unl.pt/RE2017/pages/submission/data_papers/ See also: Sayyad Shirabad, J. & Menzies, T.J. (2005). The PROMISE Repository of Software Engineering Databases. University of Ottawa. http://promise.site.uottawa.ca/SERepository Relabeled PROMISE Dataset Provided by Dalpiaz et al. for explainable requirements classification. Dalpiaz, F., Dell'Anna, D., Aydemir, F. B., & Çevikol, S. (2019). explainable-re/re-2019-materials. Zenodo. https://doi.org/10.5281/zenodo.3309669 SecReq Dataset Used for security requirements classification. Knauss, E., Houmb, S. H., Islam, S., Jürjens, J., & Schneider, K. (2021). SecReq [Data set]. Zenodo. https://doi.org/10.5281/zenodo.4530183 Citation If you use this replication package in your research, please cite our paper: @article{zadenoori2025model, title={Does Model Size Matter? A Comparison of Small and Large Language Models for Requirements Classification}, author={Zadenoori, Mohammad Amin and De Martino, Vincenzo and Dąbrowski, Jacek and Franch, Xavier and Ferrari, Alessio}, journal={Submitted for publication}, year={2025} } Contact For questions about this replication package, please contact: Mohammad Amin Zadenoori: amin.zadenoori@unipd.it License [Add appropriate license information based on your institution's policies]

Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.

Comment cette classification a été obtenuedéplier

Prédiction machine sur la base complète

Imitation des enseignants

Ni prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.

score de la tête « metaresearch » (Codex)0,015
score de la tête « metaresearch » (Gemma)0,050
Version: metacan-v3-hybrid-931329e0061cStatut de validation: machine_predicted_unvalidated
Catégories candidatesaucune
Catégories consensuellesaucune
DomaineSignal candidat: aucune · Signal consensuel: aucune
Devis d'étudeSignal candidat: Sans objet · Signal consensuel: aucune
GenreSignal candidat: Logiciel · Signal consensuel: aucune
Score de désaccord entre enseignants0,019
Score d'incertitude au seuil0,082

Scores du classifieur distillé par catégorie (deux têtes)

CatégorieCodexGemma
Métarecherche0,0150,050
Méta-épidémiologie (sens strict)0,0020,001
Méta-épidémiologie (sens large)0,0010,003
Bibliométrie0,0040,002
Études des sciences et des technologies0,0010,001
Communication savante0,0030,006
Science ouverte0,0030,003
Intégrité de la recherche0,0020,003
Charge utile insuffisante (le modèle a refusé de juger)0,0190,010

Scores machine (provisoires)

Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.

Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.

Tête enseignante Opus0,086
Tête enseignante GPT0,301
Écart entre enseignants0,215 · la distance entre les deux têtes enseignantes sur ce seul travail
Statut de validationscore_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découle

Classification

machine, non validée

Prédiction automatique; un appel candidat d’une seule source (Gemma direct ou Codex distillé), pas un consensus.

Les modèles n’ont appliqué aucune catégorie : rien dans la taxonomie ne correspondait à ce travail.
Devis d'étudeSans objet
Domainenon disponible
GenreLogiciel

Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».

En bref

Citations0
Publié2025
Routes d'admission1
Résumé présentoui

Explorer davantage

Même revueZenodo (CERN European Organization for Nuclear Research)Même sujetLaser-Ablation Synthesis of NanoparticlesTravaux en français237 207