ARIA-랜드마크 식별
이 프로젝트는 웹 애플리케이션에서 ARIA 랜드마크를 자동으로 식별하는 접근 방식을 평가하기 위한 스크립트를 저장합니다. 이 접근 방식은 ARIA 랜드마크가 될 가능성이 가장 높은 요소를 식별하기 위한 DOM 요소 분류 및 클러스터링을 기반으로 합니다.
이 프로젝트는 Python으로 구현되었으며 스크립트를 실행할 수 있는 Docker 이미지를 생성하기 위한 Dockerfile을 제공합니다.
프로젝트의 기본 파일(main.py)은 ARIA 랜드마크 식별을 수행하기 위한 여러 활동을 실행합니다. 다음은 활동과 해당 입력/출력 리소스에 대해 설명합니다.
- 분류자 훈련(pipeline.cross_validation.fit_classifier) : 훈련 데이터 세트(./data/training.classified.csv)를 사용하여 분류자(SVM, KNN, DT 또는 RF)를 훈련하고 생성된 추출기 및 분류기 피클 파일을 ;/results에 저장합니다. /분류자 폴더. 또한 스크립트는 분류기에 대한 정확도 보고서를 생성하기 위해 10배 CV를 실행합니다.
- CV 보고서 병합(pipeline.merge_cv_reports.merge_reports) : 이전 활동에서 생성된 CV 정확도 보고서를 분석용 단일 스프레드시트(./results/accuracy.xlsx)로 병합합니다. 이 파일에는 각 클래스에 대한 F1-Score/Precision 및 Recall, 평균 매크로 및 가중 평균 값을 고려한 정확도 보고서가 포함되어 있습니다. 또한 스프레드시트는 분류 모델의 각 기능이 추출기/분류기 쌍을 구성하는 데 사용된 빈도를 나타냅니다.
- 테스트 데이터 세트 분류(pipeline.classify_test_dataset) : 테스트 데이터 세트(./data/test/)에서 사용 가능한 샘플을 분류하기 위해 적합한 RF 추출기/분류자(./results/classifier)를 사용합니다. 테스트 데이터 세트는 다양한 웹 애플리케이션의 요소에서 추출된 데이터로 구성됩니다. 이 활동의 결과는 ./resutls/test 폴더에 저장됩니다.
- 클러스터링 테스트 데이터 세트 예측(pipeline.clustering_rows.cluster_rows) : 클래스 명칭 및 위치/크기 기능에 따라 테스트 데이터 세트 분류 결과를 클러스터링합니다. 각 클러스터에 대해 ARIA 랜드마크가 될 가능성이 가장 높은 요소만 보고됩니다. 이 활동의 결과는 ./results/clusters 폴더에 저장됩니다.
- 이미지 보고서 생성(pipeline.image_report.generate_reports) : 이전 활동(./results/clusters 폴더)에서 식별된 ARIA 랜드마크에 대한 이미지 보고서와 해당 웹 애플리케이션의 스크린샷(./data/screenshots 폴더)을 생성합니다. 이전 활동에서 식별된 각 ARIA 랜드마크에 대해 이미지 보고서가 생성되고 ./results/image-reports 폴더에 저장됩니다.