ARIA-Identifizierung von Sehenswürdigkeiten
Dieses Projekt speichert Skripte zur Evaluierung eines Ansatzes zur automatischen Identifizierung von ARIA-Landmarks in Webanwendungen. Der Ansatz basiert auf der Klassifizierung und Clusterung von DOM-Elementen, um Elemente mit der höchsten Wahrscheinlichkeit, ARIA-Sehenswürdigkeiten zu sein, zu identifizieren.
Das Projekt wurde in Python implementiert und stellt eine Docker-Datei zum Generieren eines Docker-Images zur Verfügung, mit dem die Skripte ausgeführt werden können.
Die Hauptdatei des Projekts (main.py) führt mehrere Aktivitäten zur Durchführung der Identifizierung von ARIA-Landmarks aus. Die Aktivitäten und ihre Input-/Output-Ressourcen werden im Folgenden beschrieben:
- Klassifikatortraining (pipeline.cross_validation.fit_classifier) : Trainiert einen Klassifikator (SVM, KNN, DT oder RF) mithilfe des Trainingsdatensatzes (./data/training.classified.csv) und speichert die generierten Extraktor- und Klassifikatordateien in ;/results /classifier-Ordner. Die Skripte führen außerdem einen 10-fachen CV aus, um Genauigkeitsberichte für den Klassifikator zu erstellen.
- CV-Berichte zusammenführen (pipeline.merge_cv_reports.merge_reports) : Führen Sie die in der vorherigen Aktivität generierten CV-Genauigkeitsberichte in einer einzigen Tabelle zur Analyse zusammen (./results/accuracy.xlsx). Diese Datei enthält Genauigkeitsberichte unter Berücksichtigung von F1-Score/Präzision und Recall für jede Klasse, Durchschnittsmakro und gewichtete Durchschnittswerte. Die Tabelle zeigt auch die Häufigkeit, mit der jedes Merkmal der Klassifizierungsmodelle zum Zusammenstellen des Extraktor/Klassifizierer-Paares verwendet wurde.
- Testdatensatz klassifizieren (pipeline.classify_test_dataset) : Verwendet den angepassten RF-Extraktor/Klassifikator (./results/classifier) zum Klassifizieren der im Testdatensatz verfügbaren Proben (./data/test/). Der Testdatensatz besteht aus Daten, die aus Elementen verschiedener Webanwendungen extrahiert wurden. Die Ergebnisse dieser Aktivität werden im Ordner ./resutls/test gespeichert.
- Clustering von Testdatensatzvorhersagen (pipeline.clustering_rows.cluster_rows) : Gruppieren Sie die Ergebnisse der Testdatensatzklassifizierung entsprechend ihrer Klassenbezeichnung und Positions-/Größenmerkmalen. Für jeden Cluster wird nur das Element mit der höchsten Wahrscheinlichkeit, ein ARIA-Landmark zu sein, gemeldet. Die Ergebnisse dieser Aktivität werden im Ordner ./results/clusters gespeichert.
- Generieren von Bildberichten (pipeline.image_report.generate_reports) : Erstellt Bildberichte für die in der vorherigen Aktivität identifizierten ARIA-Sehenswürdigkeiten (Ordner ./results/clusters) und die Screenshots der jeweiligen Webanwendungen (Ordner ./data/screenshots). Bildberichte werden für jeden in den vorherigen Aktivitäten identifizierten ARIA-Orientierungspunkt generiert und im Ordner ./results/image-reports gespeichert.