Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/27589
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2020_BrunoCordeiroMendes_tcc.pdf441,72 kBAdobe PDFver/abrir
Título: Software requirements classification using machine learning algorithms
Autor(es): Mendes, Bruno Cordeiro
Orientador(es): Canedo, Edna Dias
Assunto: Aprendizado de máquina
Algoritmos de computador
Engenharia de software
Data de apresentação: 24-Nov-2020
Data de publicação: 21-Mai-2021
Referência: MENDES, Bruno Cordeiro. Software requirements classification using machine learning algorithms. 2020. 47 f., il. Trabalho de conclusão de curso (Bacharelado em Ciência da Computação)—Universidade de Brasília, Brasília, 2020.
Resumo: A classificação correta de requisitos tornou-se uma tarefa essencial dentro da engenharia de software. Este estudo mostra uma comparação entre as técnicas de extração de fea- tures para textos, e entre algoritmos de aprendizado de máquina para o problema de classificação de requisitos de software para responder as duas questões principais “Qual a melhor técnica (Bag of Words (BoW) vs. Term Frequency – Inverse DocumentFrequency (TF-IDF ) vs. Chi Squared (CHI2 ))) para classificar Requisitos de Software em Requisi- tos Funcionais (FR) e Requisitos Não Funcionais (NF), e as subclasses de Requisitos Não Funcionais? ” e “Qual Algoritmo de Aprendizado de Máquina fornece o melhor desem- penho para a tarefa de classificação de requisitos?”. O dataset utilizado para realizar a pesquisa foi o PROMISE_exp, um conjunto de dados criado recentemente que expande o já conhecido repositório PROMISE, um repositório que contém requisitos de software rotulados. Todos os documentos do banco de dados foram limpos com um conjunto de etapas de normalização e as duas técnicas de feature extraction, e a técnica de feature selection usadas foram BoW, TF-IDF e CHI2 respectivamente. Os algoritmos utiliza- dos para classificação foram Regressão Logística (LR), Support Vector Machine (SVM), Multinomial Naive Bayes (MNB) e k-vizinhos mais próximos (kNN). O diferencial do nosso trabalho se encontra nos dados utilizados para a realização do experimento, no de- talhamento das etapas utilizadas para reproduzir a classificação e na comparação entre BoW, TF-IDF e CHI2 para este repositório, que até o presente momento não foi abordada por outros estudos. Este trabalho servirá de referência para a comunidade de engenharia de software e ajudará outros pesquisadores a entenderem o processo de classificação de requisitos. Notamos que o uso de TF-IDF seguido do uso de LR teve um melhor resultado de classificação para diferenciar os requisitos, com um F1-score de 0,91 na classificação binária (vinculada com SVM nesse caso), 0,74 na classificação de NF e 0,78 em uma clas- sificação geral. Como trabalhos futuros, pretendemos comparar mais algoritmos e novas formas de melhorar a precisão de nossos modelos.
Abstract: The correct classification of requirements has become an essential task within software engineering. This study shows a comparison among the text feature extraction tech- niques, and machine learning algorithms to the problem of requirements engineer classi- fication. Our aim is to answer two major questions “Which works best (Bag of Words (BoW) vs. Term Frequency–Inverse Document Frequency (TF-IDF) vs. Chi Squared (CHI2 )) for classifying Software Requirements into Functional Requirements (FR) and Non-Functional Requirements (NF), and the sub-classes of Non-Functional Requirements?” and “Which Machine Learning Algorithm provides the best performance for the require- ments classification task?”. The data used to perform the research was the PROMISE_exp, a recently made dataset that expands the already known PROMISE repository, a repos- itory that contains labeled software requirements. All the documents from the database were cleaned with a set of normalization steps and the two feature extractions, and the feature selection techniques used were BoW, TF-IDF and CHI2 respectively. The al- gorithms used for classification were Logist Regression (LR), Support Vector Machine (SVM), Multinomial Naive Bayes (MNB) and k-Nearest Neighbors (kNN). The novelty of our work is the data used to perform the experiment, the details of the steps used to reproduce the classification, and the comparison between BoW, TF-IDF and CHI2 for this repository not having been covered by other studies. This work will serve as a reference for the software engineering community and will help other researchers to understand the requirement classification process. We noticed that the use of TF-IDF followed by the use of LR had a better classification result to differentiate requirements, with an F-measure of 0.91 in binary classification (tying with SVM in that case), 0.74 in NF classification and 0.78 in general classification. As future work we intend to compare more algorithms and new forms to improve the precision of our models.
Informações adicionais: Trabalho de conclusão de curso (graduação)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2020.
Licença: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta.
Aparece na Coleção:Ciência da Computação



Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.