Identification des monuments ARIA
Ce projet stocke des scripts pour l'évaluation d'une approche d'identification automatique des ARIA-Landmarks dans les applications Web. L'approche est basée sur la classification et le regroupement des éléments DOM pour identifier les éléments ayant la plus forte probabilité d'être des monuments ARIA.
Le projet a été implémenté en Python et présente un Dockerfile permettant de générer une image Docker capable d'exécuter les scripts.
Le fichier principal du projet (main.py) exécute plusieurs activités pour mener à bien l'identification des ARIA-Landmarks. Les activités et leurs ressources d’entrée/sortie sont décrites ci-dessous :
- Formation du classificateur (pipeline.cross_validation.fit_classifier) : entraîne un classificateur (SVM, KNN, DT ou RF) à l'aide de l'ensemble de données de formation (./data/training.classified.csv) et enregistre les fichiers marinés de l'extracteur et du classificateur générés dans ;/results /dossier classificateur. Les scripts exécutent également un CV 10 fois pour générer des rapports de précision pour le classificateur.
- Fusionner les rapports de CV (pipeline.merge_cv_reports.merge_reports) : fusionnez les rapports d'exactitude des CV générés lors de l'activité précédente dans une seule feuille de calcul pour analyse (./results/accuracy.xlsx). Ce fichier contient des rapports de précision prenant en compte le score F1/précision et rappel pour chaque classe, la macro moyenne et les valeurs moyennes pondérées. La feuille de calcul présente également la fréquence à laquelle chaque caractéristique des modèles de classification a été utilisée pour composer la paire extracteur/classificateur.
- Classer l'ensemble de données de test (pipeline.classify_test_dataset) : utilise l'extracteur/classificateur RF adapté (./results/classifier) pour classer les échantillons disponibles dans l'ensemble de données de test (./data/test/). L'ensemble de données de test est composé de données extraites d'éléments de différentes applications Web. Les résultats de cette activité sont stockés dans le dossier ./resutls/test.
- Prédictions des ensembles de données de test de clustering (pipeline.clustering_rows.cluster_rows) : regroupez les résultats de la classification des ensembles de données de test en fonction de leur dénomination de classe et de leurs caractéristiques de position/taille. Pour chaque cluster, seul l’élément ayant la plus forte probabilité d’être un repère ARIA est signalé. Les résultats de cette activité sont stockés dans le dossier ./results/clusters.
- Génération de rapports d'images (pipeline.image_report.generate_reports) : génère des rapports d'images pour les points de repère ARIA identifiés lors de l'activité précédente (dossier ./results/clusters) et les captures d'écran des applications Web respectives (dossier ./data/screenshots). Des rapports d'images sont générés pour chaque point de repère ARIA identifié lors des activités précédentes et sont stockés dans le dossier ./results/image-reports.