ARIA-Identificación de puntos de referencia
Este proyecto almacena scripts para la evaluación de un enfoque para identificar automáticamente ARIA-Landmarks en aplicaciones web. El enfoque se basa en la clasificación y agrupación de elementos DOM para identificar elementos con la mayor probabilidad de ser puntos de referencia ARIA.
El proyecto se implementó en Python y presenta un Dockerfile para generar una imagen de Docker capaz de ejecutar los scripts.
El archivo principal del proyecto (main.py) ejecuta múltiples actividades para realizar la identificación de ARIA-Landmarks. Las actividades y sus recursos de entrada/salida se describen a continuación:
- Entrenamiento de clasificador (pipeline.cross_validation.fit_classifier) : entrena un clasificador (SVM, KNN, DT o RF) usando el conjunto de datos de entrenamiento (./data/training.classified.csv) y guarda los archivos encurtidos del clasificador y extractor generados en ;/results /carpeta clasificadora. Los scripts también ejecutan CV 10 veces para generar informes de precisión para el clasificador.
- Fusionar informes de CV (pipeline.merge_cv_reports.merge_reports) : fusiona los informes de precisión de CV generados en la actividad anterior en una única hoja de cálculo para su análisis (./results/accuracy.xlsx). Este archivo contiene informes de precisión considerando F1-Score/Precision y Recall para cada clase, macro promedio y valores promedio ponderados. La hoja de cálculo también presenta la frecuencia con la que se utilizó cada característica de los modelos de clasificación para componer el par extractor/clasificador.
- Clasificar conjunto de datos de prueba (pipeline.classify_test_dataset) : utiliza el extractor/clasificador de RF instalado (./results/classifier) para clasificar las muestras disponibles en el conjunto de datos de prueba (./data/test/). El conjunto de datos de prueba se compone de datos extraídos de elementos de diferentes aplicaciones web. Los resultados de esta actividad se almacenan en la carpeta ./resutls/test.
- Agrupación de predicciones de conjuntos de datos de prueba (pipeline.clustering_rows.cluster_rows) : agrupa los resultados de la clasificación del conjunto de datos de prueba de acuerdo con su denominación de clase y características de posición/tamaño. Para cada grupo, solo se informa el elemento con mayor probabilidad de ser un punto de referencia ARIA. Los resultados de esta actividad se almacenan en la carpeta ./results/clusters.
- Generación de informes de imágenes (pipeline.image_report.generate_reports) : genera informes de imágenes para los puntos de referencia ARIA identificados en la actividad anterior (carpeta ./results/clusters) y las capturas de pantalla de las respectivas aplicaciones web (carpeta ./data/screenshots). Los informes de imágenes se generan para cada punto de referencia ARIA identificado en las actividades anteriores y se almacenan en la carpeta ./results/image-reports.