Aplicación distribuida para la detección de ambigüedades en los requerimientos de software utilizando técnicas de machine learning y bases de conocimiento

dc.contributor.advisorHernández Gutiérrez, Jairo
dc.contributor.authorHernández Capera, Fabián Mauricio
dc.contributor.authorNiño González, Julián David
dc.contributor.orcidHernández Gutiérrez, Jairo [0000-0003-3908-2763]
dc.date.accessioned2024-08-17T16:20:12Z
dc.date.available2024-08-17T16:20:12Z
dc.date.created2023-08-31
dc.descriptionEn este proyecto de grado, se abordó la creación de una aplicación web de enfoque distribuido, que utiliza técnicas avanzadas de Machine Learning y se apoya en bases de conocimiento, con el objetivo de identificar y resolver ambigüedades presentes en los requerimientos de software. Para lograrlo, se diseñó un método que combina algoritmos de aprendizaje automático con información almacenada en bases de datos vectoriales, permitiendo una detección precisa y eficiente de las ambigüedades más comunes. La aplicación final se destaca por su interfaz de fácil acceso y su rendimiento excepcional, respaldado adicionalmente por una infraestructura distribuida en la nube que asegura una distribución equitativa de la carga y una seguridad robusta a través de la aplicación de JSON Web Tokens. En conjunto, este proyecto culmina en una solución tecnológica innovadora que potencia la calidad y eficiencia en el proceso de desarrollo de software al abordar de manera efectiva las ambigüedades presentes en los requerimientos.
dc.description.abstractIn this degree project, the creation of a distributed approach web application was addressed, which uses advanced Machine Learning techniques and is supported by knowledge bases, with the objective of identifying and resolving ambiguities present in software requirements. To achieve this, a method was designed that combines machine learning algorithms with information stored in vector databases, allowing an accurate and efficient detection of the most common ambiguities. The final application stands out for its easy-to-access interface and exceptional performance, additionally supported by a distributed cloud infrastructure that ensures equitable load distribution and robust security through the application of JSON Web Tokens. Overall, this project culminates in an innovative technological solution that enhances quality and efficiency in the software development process by effectively addressing the ambiguities present in the requirements.
dc.description.sponsorshipEprocess S.A.Sspa
dc.format.mimetypepdfspa
dc.identifier.urihttp://hdl.handle.net/11349/39845
dc.language.isospa
dc.relation.referencesReQtest. (2020). ReQtest – A Complete Guide. Recuperado de https://reqtest.com/what-isreqtest/.
dc.relation.referencesIBM. (2021). IBM Rational DOORS. Recuperado de https://www.ibm.com/products/rationaldoors.
dc.relation.referencesJama Software. (2021). Jama Connect. Recuperado de https://www.jamasoftware.com/. Micro Focus. (2021). CaliberRM. Recuperado de https://www.opentext.com/. Sparx Systems. (2021). Enterprise Architect. Recuperado de https://sparxsystems.com/products/ea/index.html
dc.relation.referencesPauzi, Z., & Capiluppi, A. (2023). Applications of natural language processing in software traceability: A systematic mapping study. Recuperado de https://www.sciencedirect.com/science/article/pii/S0164121223000110?via%3Dihub
dc.relation.referencesSiahaan, D., Raharjana, I. K., & Fatichah, C. (2023). User Story Extraction from Natural Language for Requirements Elicitation: Identify Software-Related Information from Online News. Recuperado de https://www.sciencedirect.com/science/article/abs/pii/S0950584923000496?via%3Dihub.
dc.relation.referencesRiaz, M. Q., Butt, W. H., & Rehman, S. (2019). Automatic Detection of Ambiguous Software Requirements: An Insight. Recuperado de https://ieeexplore.ieee.org/document/8714682
dc.relation.referencesRajender Kumar Surana, C. S., Shriya, Gupta, D. B., & Shankar, S. P. (2019). Intelligent Chatbot for Requirements Elicitation and Classification. Recuperado de https://ieeexplore.ieee.org/document/9016907.
dc.relation.referencesLiu, K., Reddivari, S., & Reddivari, K. (2022). Artificial Intelligence in Software Requirements Engineering: State-of-the-Art. Recuperado de https://ieeexplore.ieee.org/document/9874229
dc.relation.referencesElsevier. (2023). A review on risk assessment techniques for building services. Recuperado de https://linkinghub.elsevier.com/retrieve/pii/S0950584923000496.
dc.relation.referencesScienceDirect. (s.f.). (2023) Explore scientific, technical, and medical research on ScienceDirect. Recuperado de https://www.sciencedirect.com/
dc.relation.referencesHealth Data Miner. (2019). CRISP-DM: Una metodología para minería de datos en salud. Recuperado el 19 de marzo de 2023, Recuperado de https://healthdataminer.com/datamining/crisp-dm-una-metodologia-para-mineria-de-datos-en-salud/
dc.relation.referencesBiblioteca Hugging Face Transformers. (2023) Huggingface Recuperado de https://github.com/huggingface/transformers
dc.relation.referencesPinecone (2023) Búsqueda de Similitud Vectorial a Escala. Recuperado de https://www.pinecone.io/
dc.relation.referencesGensim. (2023). Documentación vía GitHub Recuperado de https://radimrehurek.com/gensim/auto_examples/index.html#core-tutorials.
dc.relation.referencesPinecone. (2023). Choosing index type and size Recuperado de https://docs.pinecone.io/docs/choosing-index-type-and-size
dc.relation.referencesHugging Face (2023). Transformers Recuperado de https://huggingface.co/docs/transformers/index.
dc.relation.referencesAbstracta Chile. (2023). Herramienta para pruebas de API: Review de Insomnia. Recuperado de https://cl.abstracta.us/blog/insomnia-herramienta-pruebas-api/.
dc.relation.referencesJones, M., Bradley, J., & Sakimura, N. (2015). JSON Web Token (JWT). RFC 7519. Recuperado de https://tools.ietf.org/html/rfc7519 Auth0. (n.d.). JSON Web Token Introduction. Recuperado de https://auth0.com/learn/json-webtokens/
dc.relation.referencesLeon,E. (2020). Procesamiento del lenguaje natural con Python. Recuperado de https://www.baoss.es/procesamiento-del-lenguaje-natural-pln-con-python/
dc.relation.referencesFernandez. (2023) ChatGPT: Que es, cómo usarlo y qué puedes hacer con este chat de Inteligencia Artificial Recuperado de: https://www.xataka.com/basics/chatgpt-que-como-usarlo-quepuedes-hacer-este-chat-inteligencia-artificial.
dc.relation.referencesTripathi, R. (2023). What are vector embeddings. Recuperado de www.pinecone.io/learn/vectorembeddings/
dc.relation.referencesPinecone. (2023). Arquitectura de datos. Recuperado de https://www.pinecone.io/
dc.relation.referencesPinecoce. (2023). Modelo Embeeding. Recuperado de www.pinecone.io/learn/vector-embeddings/
dc.relation.referencesRivas, A. (2023) Normas APA: La guía definitiva para presentar trabajos escritos. Guía Normas APA. Recuperado de https://normasapa.in/
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*
dc.rights.accesoAbierto (Texto Completo)spa
dc.rights.accessrightsOpenAccessspa
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.subjectInteligencia Artificialspa
dc.subjectDetección de ambigüedadesspa
dc.subjectAplicación distribuidaspa
dc.subjectRequerimientos de softwarespa
dc.subjectMachine Learningspa
dc.subjectBases de conocimientospa
dc.subjectDesarrollo de Softwarespa
dc.subjectProcesamiento de lenguaje naturalspa
dc.subjectAprendizaje automáticospa
dc.subjectAmbigüedad en requisitosspa
dc.subjectToma de decisionesspa
dc.subjectValidación automática de requisitosspa
dc.subject.keywordDistributed applicationspa
dc.subject.keywordAmbiguity detectionspa
dc.subject.keywordSoftware requirementsspa
dc.subject.keywordMachine Learningspa
dc.subject.keywordKnowledge basesspa
dc.subject.keywordsoftware developmentspa
dc.subject.keywordNatural language processingspa
dc.subject.keywordAmbiguity in requirementsspa
dc.subject.keyworddecision makingspa
dc.subject.keywordAutomatic requirements validationspa
dc.subject.keywordArtificial intelligencespa
dc.subject.lembIngeniería Telemática -- Tesis y disertaciones académicas
dc.subject.lembAnálisis de información -- Información
dc.subject.lembAprendizaje automático -- Inteligencia artificial
dc.subject.lembSoftware -- Programación
dc.subject.lembProcesamiento electrónico de datos -- Bases de datos
dc.titleAplicación distribuida para la detección de ambigüedades en los requerimientos de software utilizando técnicas de machine learning y bases de conocimientospa
dc.title.titleenglishDistributed application for detecting ambiguities in software requirements using machine learning techniques and knowledge basesspa
dc.typebachelorThesisspa
dc.type.coarhttp://purl.org/coar/resource_type/c_7a1f
dc.type.degreePasantíaspa
dc.type.driverinfo:eu-repo/semantics/bachelorThesis

Archivos

Bloque original

Mostrando 1 - 2 de 2
Cargando...
Miniatura
Nombre:
Trabajo de grado
Tamaño:
3.97 MB
Formato:
Adobe Portable Document Format
Descripción:
Trabajo de grado
No hay miniatura disponible
Nombre:
Licencia de uso y autorización
Tamaño:
672.26 KB
Formato:
Adobe Portable Document Format
Descripción:
Licencia de uso y autorización

Bloque de licencias

Mostrando 1 - 1 de 1
No hay miniatura disponible
Nombre:
license.txt
Tamaño:
7 KB
Formato:
Item-specific license agreed upon to submission
Descripción: