ARIA-Определение достопримечательностей
В этом проекте хранятся сценарии для оценки подхода к автоматической идентификации ARIA-Landmarks в веб-приложениях. Подход основан на классификации и кластеризации элементов DOM для выявления элементов с наибольшей вероятностью быть ориентирами ARIA.
Проект реализован на Python и представляет собой Dockerfile для создания образа Docker, способного запускать сценарии.
Основной файл проекта (main.py) выполняет несколько действий по идентификации ARIA-Landmarks. Действия и их входные/выходные ресурсы описаны ниже:
- Обучение классификатора (pipeline.cross_validation.fit_classifier) : обучает классификатор (SVM, KNN, DT или RF) с использованием набора обучающих данных (./data/training.classified.csv) и сохраняет сгенерированные файлы экстрактора и классификатора в ;/results. /папка классификатора. Скрипты также запускают 10-кратное резюме для создания отчетов о точности для классификатора.
- Объединить отчеты CV (pipeline.merge_cv_reports.merge_reports) : объединить отчеты о точности CV, созданные в предыдущем действии, в одну электронную таблицу для анализа (./results/accuracy.xlsx). Этот файл содержит отчеты о точности с учетом F1-Score/Precision и Recall для каждого класса, среднего макроса и средневзвешенных значений. В электронной таблице также представлена частота использования каждой особенности моделей классификации для составления пары экстрактор/классификатор.
- Классифицировать набор тестовых данных (pipeline.classify_test_dataset) : использует встроенный RF-экстрактор/классификатор (./results/classifier) для классификации образцов, доступных в наборе тестовых данных (./data/test/). Набор тестовых данных состоит из данных, извлеченных из элементов различных веб-приложений. Результаты этого действия сохраняются в папке ./resutls/test.
- Кластеризация прогнозов набора тестовых данных (pipeline.clustering_rows.cluster_rows) : кластеризация результатов классификации набора тестовых данных в соответствии с их наименованием класса и особенностями положения/размера. Для каждого кластера сообщается только об элементе с наибольшей вероятностью быть ориентиром ARIA. Результаты этого действия сохраняются в папке ./results/clusters.
- Создание отчетов об изображениях (pipeline.image_report.generate_reports) : генерирует отчеты об изображениях для ориентиров ARIA, определенных в предыдущем действии (папка ./results/clusters), и снимков экрана соответствующих веб-приложений (папка ./data/screenshots). Отчеты об изображениях создаются для каждого ориентира ARIA, определенного в предыдущих действиях, и сохраняются в папке ./results/image-reports.