revista cubana  
de transformación digital  
RNPS 2487 • ISSN 2708-3411  
vꢀꢁ. 4 • Nro. 1 • enero-marzo 2023 • e203  
artículo original  
Método de extracción automática  
de requisitos de software a partir  
de información textual no estructurada  
Method of Automatic Extraction of Software Requirements  
from Non-Structured Textual Information  
Amanda Hernández Carreras  
ahernandezc@ceis.cujae.edu.cu • https://orcid.org/0000-0002-6776-9434  
Alfredo Simón Cuevas  
asimon@ceis.cujae.edu.cu • https://orcid.org/0000-0001-9648-6209  
Universidad Tecnológica de la Habana “JosÉ anTonio ecHeverrÍa”, cUJae, cUba  
Anaisa Hernández González  
anaisa@ceis.cujae.edu.cu • https://orcid.org/00000-0003-1169-301X  
Universidad de granada, españa  
Recibido: 2023-01-19 • Aceptado: 2023-02-26  
RESUMEN  
La obtención de requisitos es una de las fases más importantes y críticas en el  
desarrollo de software, debido a la influencia de sus resultados en el éxito de los  
proyectos. El análisis documental constituye una de las técnicas más utilizadas  
en este proceso. La ejecución manual de este análisis se ha caracterizado por el  
alto consumo de tiempo y la frecuente aparición de errores, motivando el de-  
sarrollo de investigaciones enfocadas en su automatización. El procesamiento  
del lenguaje natural para la ingeniería de requisitos es un área de investigación  
y desarrollo que busca aplicar técnicas, herramientas y recursos de procesa-  
miento del lenguaje natural (PLN) al proceso de ingeniería de requisitos (RE),  
para colaborar con los analistas humanos en la realización de diversas tareas  
lingüísticas. En el trabajo se presenta un método para la extracción automáti-  
ca de requisitos de software, a partir de información textual no estructurada.  
El método propuesto se enfoca en el análisis sintáctico apoyado en patrones  
léxico-sintácticos, análisis de dependencias y un enfoque basado en la combi-  
nación de ambas técnicas de educción. Las métricas de precisión, cobertura  
y Medida-F fueron computadas, comparando el requisito que se obtuvo con  
Método de extracción automática de requisitos de software a partir  
de información textual no estructurada  
Hꢀꢁꢂáꢂꢃꢀz cꢄꢁꢁꢀꢁꢄꢅ a., sꢆꢇꢈꢂ cꢉꢀꢊꢄꢅ, a., Hꢀꢁꢂáꢂꢃꢀz gꢋꢂzáꢌꢀz, a.  
revista cubana  
de transformación digital  
el elaborado manualmente por el experto. En esta comparación se empleó la  
distancia Levenshtein, usando como umbral de aceptación el 60 %. Los resul-  
tados demuestran relevancia en el valor de la precisión, por parte de la técnica  
de extracción basada en patrones, así como en la cobertura y Medida-F, para  
la solución que integra ambas técnicas de extracción de información.  
Palabras clave: captura de requisitos, extracción automática de requisitos,  
procesamiento de lenguaje natural.  
ABSTRACT  
Obtaining requirements is one of the most important and critical phases in  
software development, due to the influence of its results on the success of the  
projects. Documentary analysis is one of the most used techniques in this pro-  
cess. e manual execution of this analysis has been characterized by the high  
consumption of time and the frequent appearance of errors, motivating the  
development of investigations focused on its automation. Natural Language  
Processing for Requirements Engineering (PLNRE) is an area of research and  
development that seeks to apply Natural Language Processing (PLN) techni-  
ques, tools, and resources to the Requirements Engineering (RE) process, to help  
human analysts to carry out various linguistic tasks. In the work, a method for  
the automatic extraction of software requirements, from unstructured textual  
information, was presented. e proposed method focuses on syntactic analysis  
based on lexical-syntactic patterns, on dependency analysis and an approach  
based on the combination of both eduction techniques. e Precision, Coverage  
and Measure-F metrics were computed by comparing the requirement that was  
obtained, with the one elaborated manually by the expert. In this comparison,  
the Levenshtein distance was used, using 60% as the acceptance threshold. e  
results obtained demonstrate a relevance in the value of precision by the pat-  
tern-based extraction technique, as well as in the coverage and F-measure for  
the solution that integrates both information extraction techniques.  
Keywords: requirements capture, automatic requirements extraction, natural  
language processing.  
INTRODUCCIÓN  
La Ingeniería de Requisitos (IR) constituye una de las etapas más importantes en el desarro-  
llo de proyectos de software, ya que su ciclo de desarrollo está basado fundamentalmente en  
Método de extracción automática de requisitos de software a partir  
de información textual no estructurada  
Hꢀꢁꢂáꢂꢃꢀz cꢄꢁꢁꢀꢁꢄꢅ a., sꢆꢇꢈꢂ cꢉꢀꢊꢄꢅ, a., Hꢀꢁꢂáꢂꢃꢀz gꢋꢂzáꢌꢀz, a.  
revista cubana  
de transformación digital  
cómo se capturan, diseñan, implementan, prueban y despliegan los requisitos. La ocurrencia  
de errores en los requisitos especificados puede provocar numerosas consecuencias, como:  
retardo en la terminación del proyecto, incremento de los costos e insatisfacción de los solici-  
tantes, entre otros (Shadab, 2014).  
Entre las actividades que se llevan en la Ingeniería de Requisitos, la captura de requisitos  
es la fase más importante y crítica en el proceso, debido al alto consumo de tiempo que se re-  
quiere para su ejecución y el impacto negativo que pueden tener sus resultados en el produc-  
to final (Hendrik, 2013) (Abbasi et al., 2015), y porque la mayor parte de los sistemas fallan  
debido a errores en este proceso de captura (Garg, Agarwal, & Khan, 2015). Para lograr un  
producto software de calidad, los requisitos deben satisfacer varias características y cumplir  
ciertos criterios. Además, un requisito debería ser completo, correcto, realizable, necesario,  
priorizable, no ambiguo y verificable (Alonso, 2016). La delimitación del alcance del proyecto  
constituye otro de los elementos críticos de la captura de requisitos (Bourque, Dupuis, Abran,  
Moore, & Tripp, 2014), por lo que con el objetivo de reducir los problemas se han definido nu-  
merosas técnicas y herramientas.  
Los requisitos provienen de varias partes interesadas que tienen diferentes necesidades,  
funciones y responsabilidades, y como tales son propensas a que se produzcan conflictos, por  
rejemplo, la interferencia, la interdependencia y la incoherencia (Lamsweerde, Darimont, &  
Letier, 1998). Además, los requisitos generalmente se especifican en lenguaje natural, lo que  
aumenta la complejidad de la ingeniería de requisitos, debido a la ambigüedad inherente, la  
incompletitud y la inexactitud del lenguaje natural (Denger, Berry, & Kamsties, 2003). Estos  
factores hacen que las tareas de IR sean desafiantes, lentas y propensas a errores, principal-  
mente para proyectos grandes, ya que es necesario procesar, analizar y comprender grandes  
volúmenes de requisitos (Vlas & Robinson, 2011).  
Se han llevado a cabo muchas investigaciones sobre la automatización de diferentes tareas  
de RE (Dalpiaz, Ferrari, Franch, & Palomares, 2018). Los enfoques propuestos generalmente  
comienzan aplicando un conjunto de pasos de Procesamiento del Lenguaje Natural (PLN),  
que extraen información y características lingüísticas de los textos de requisitos y construyen  
varias representaciones basadas en PLN. Este trabajo se centra en la automatización de la ex-  
tracción de requisitos, apoyándose en herramientas y técnicas de procesamiento de lenguaje  
natural.  
En Dalpiaz, Ferrari, Franch, & Palomares (2018) se analizan varias publicaciones sobre la  
relación entre las tareas de PLN y IR, y se encontraron trabajos que se centran en la identifi-  
cación de defectos de calidad y ambigüedad, clasificación y agrupación de grandes colecciones  
de requisitos, extracción de abstracciones clave, generación de modelos y trazabilidad entre  
los requisitos de lenguaje natural (NL).  
En Hussain, Kosseim, & Ormandjieva (2008), la metodología destinada a mejorar la detec-  
ción de los requisitos no funcionales (RNF) en los documentos de requisitos, usa el Stanford  
Parser para derivar morfológicamente las palabras y extraer cinco características sintácticas  
de cada una de las instancias de entrenamiento (oraciones) del corpus.  
Método de extracción automática de requisitos de software a partir  
de información textual no estructurada  
Hꢀꢁꢂáꢂꢃꢀz cꢄꢁꢁꢀꢁꢄꢅ a., sꢆꢇꢈꢂ cꢉꢀꢊꢄꢅ, a., Hꢀꢁꢂáꢂꢃꢀz gꢋꢂzáꢌꢀz, a.  
revista cubana  
de transformación digital  
En Rolland & Salinesi (2009), el procedimiento que se desarrolla es el enfoque L’Ecritoire  
(
Rolland, Souveyet & Ben-Achour, 1998), con una relación bidireccional. Así como los obje-  
tivos pueden ayudar en el descubrimiento de escenarios, los escenarios pueden ayudar en el  
descubrimiento objetivo. La solución total está en dos partes; se crean escenarios textuales que  
son los que producen un objetivo. La correspondencia entre un patrón semántico y el modelo  
de escenario define la relación entre la forma textual de un escenario y su forma conceptual.  
En Murugesh & Jaya (2015), una tarea importante para lograr este objetivo es construir  
una ontología consistente en un conjunto de conceptos, es decir, entidades, atributos y rela-  
ciones basadas en el dominio de aplicación de interés. La ontología construida aquí representa  
el conocimiento del dominio y los requisitos son el subconjunto especializado de este.  
En el documento descrito en Shah, Patel, & Jinwala (2016), se propone un enfoque semiau-  
tomático llamado RNF-Specifier, cuyo objetivo es generar especificaciones precisas, a partir de  
requisitos informales, incluidos los RNF. El enfoque consta de cinco módulos, a saber, prepro-  
cesamiento, resolución de ambigüedades, formación de ontologías, generación de diagramas  
UML y clasificación de RNF. Inicialmente, el ingeniero de requisitos recopila el conocimiento  
del dominio de los usuarios por medio de varios enfoques de comunicación: cuestionarios,  
entrevistas, lista de chequeo, prototipado, reuniones, entre otros. Una vez finalizada la fase de  
comunicación, el ingeniero de requisitos representa la información recopilada por medio de  
archivos de texto, documentos, gráficos o modelos UML (o sea, diagramas de caso de uso, de  
clase, de secuencia).  
En Meth, Maedche, & Einoeder (2013) se explora cómo la cantidad y el tipo de conoci-  
miento afectan la calidad de obtención de requisitos en dos simulaciones consecutivas. La  
recuperación puede verse como una medida de completitud, comparando el número de requi-  
sitos identificados con el número total de requisitos existentes en un documento.  
El documento (Lili, 2010) propone un método para obtener los requisitos del usuario en la  
industria de maquinaria, basado en la regla de asociación de texto. El primer paso es el pre-  
procesamiento de datos de los requisitos del usuario. El modelo de espacio vectorial se utiliza  
para describir los requisitos del usuario. En segundo lugar, se utiliza una teoría mejorada de  
la regla de asociación gris para calcular el grado de correlación entre las palabras caracterís-  
ticas y los nombres propios de la industria de la maquinaria. Luego se construye la matriz de  
candidatos a nombres propios, seleccionando una palabra de mayor grado de correlación. Fi-  
nalmente, el requerimiento del usuario se obtiene utilizando la matriz ponderada.  
El método de extracción propuesto por Pablo & Marcos (2012) consta de tres pasos orga-  
nizados como una cadena de comandos en una canalización:  
1
. Análisis de dependencias: cada frase del texto de entrada se analiza mediante el analiza-  
dor basado en dependencias DepPattern (Otero & González, 2011).  
2
. Cláusulas constituyentes: para cada oración analizada se descubren las cláusulas ver-  
bales que contiene, y luego para cada cláusula se identifican los participantes verbales,  
incluidas sus funciones: sujeto, objeto directo, atributo y complementos preposicionales.  
Método de extracción automática de requisitos de software a partir  
de información textual no estructurada  
Hꢀꢁꢂáꢂꢃꢀz cꢄꢁꢁꢀꢁꢄꢅ a., sꢆꢇꢈꢂ cꢉꢀꢊꢄꢅ, a., Hꢀꢁꢂáꢂꢃꢀz gꢋꢂzáꢌꢀz, a.  
revista cubana  
de transformación digital  
3
. Reglas de extracción: se aplica un conjunto de reglas sobre los componentes de la cláu-  
sula para extraer los triples objetivos.  
Como conclusión de este análisis se identificaron varias limitaciones, como la inexisten-  
cia de disminución de redundancias entre las frases extraídas, el que no existe procesamiento  
para el idioma español y el poco uso de la técnica de extracción de información basada en el  
análisis de dependencias.  
METODOLOGÍA  
En esta investigación fue necesario definir el procedimiento que se debe seguir para des-  
cribir el método de extracción automática de requisitos de software que se desarrolla (fi-  
gura 1). El proceso inicia cuando el usuario carga un archivo en formato texto, no estruc-  
turado, ya sea una entrevista, una descripción de proceso, etc.; seguidamente el texto es  
preprocesado, con el objetivo de limpiar el texto de ruido y estandarizar para que pueda  
ser procesado computacionalmente. Luego se procede, a partir de ese texto preprocesa-  
do, a la extracción de los requisitos candidatos por dos vías, análisis sintáctico basado en  
patrones léxico-sintácticos y en el análisis de dependencias, mostrando así una solución  
final afirmada en la combinación de ambas técnicas de extracción de información. Estos  
requisitos extraídos son filtrados, haciendo uso de una estrategia de reducción de redun-  
dancias, que se enfoca en eliminar aquellas frases que sean exactamente iguales y aque-  
llas que estén contenidas unas dentro de otras, seleccionando la frase más completa. Este  
conjunto de frases, luego de haber sido filtrado, se agrupa formando clústeres, a partir de  
la similitud semántica que exista por cada dos pares de frases. Estos clústeres son expor-  
tados al usuario en un archivo txt, concluyendo así el proceso de extracción automático  
de requisitos de software.  
Fꢀꢁ. 1 Fꢂujꢃ ꢄꢅ tꢆꢇꢈꢇjꢃ ꢄꢅ ꢂꢇ ꢉꢃꢂuꢊꢀꢋꢌ ꢍꢆꢃꢍuꢅꢉtꢇ (Fuꢅꢌtꢅ: ꢅꢂꢇꢈꢃꢆꢇꢊꢀꢋꢌ ꢍꢆꢃꢍꢀꢇ).