# PPT → HTML Evaluation Benchmark 이 프로젝트는 **input PPTX**와 **변환된 HTML(Output)** 간의 텍스트 / 레이아웃 / 시각적 유사도를 평가하는 로컬 평가 도구입니다. --- ## Requirements - Python 3.10+ - pip (Windows 환경 기준) - 필요한 패키지는 requirements.txt로 설치 ```bash pip install -r requirements.txt pip install beautifulsoup4 ``` --- ## How to Run ### 1) Set PYTHONPATH ```bash set PYTHONPATH=src ``` --- ### 2) Prepare Sample List `data/raw/samples.csv` 파일 예: ``` id,pptx_path,html_path input_vs_v1,data/raw/pptx/input.pptx,data/raw/html/output_001.html input_vs_v2,data/raw/pptx/input.pptx,data/raw/html/output_002.html ``` --- ### 3) Preprocess ```bash python -m eval_ppt2html.cli preprocess data/raw/samples.csv --work-dir data ``` --- ### 4) Compute Metrics ```bash python -m eval_ppt2html.cli metrics data/processed/json --output-csv data/reports/metrics.csv ``` --- ## Project Structure ``` ppt2html-eval-benchmark/ src/eval_ppt2html/ cli.py models.py preprocess/ metrics/ captions/ utils/ data/ raw/ processed/ reports/ ``` --- ## 📊 Metrics - Text BLEU-like - Text Length Ratio - Layout IoU - Final Score (0~100) ------ ## Expected Evaluation Output (예상 평가 결과) 아래는 본 평가 도구를 실행했을 때 생성되는 `data/reports/metrics.csv`의 **예상 출력 예시**입니다. ### 평가 결과 예시 | sample_id | text_bleu | text_length_ratio | layout_iou | ssim | final_score | |---------------|-----------|-------------------|-------------|------|--------------| | input_vs_v1 | 82.3 | 0.97 | 0.71 | 0.00 | 78.1 | | input_vs_v2 | 76.4 | 1.05 | 0.62 | 0.00 | 72.0 | --- ### 컬럼 설명 | 컬럼명 | 설명 | |--------|------| | **sample_id** | 비교한 샘플 이름 (input vs output) | | **text_bleu** | 텍스트 유사도 (BLEU-like, 0~100) | | **text_length_ratio** | 텍스트 길이 비율 (1.0에 가까울수록 유사) | | **layout_iou** | 레이아웃 IoU 평균값 (0~1) | | **ssim** | 이미지 SSIM (현재 0으로 표시됨 — 동적 분석 미사용) | | **final_score** | 가중치 기반 종합 점수 (0~100) | --- ### Final Score 계산식 ```(yaml) final_score = ( 0.4 * (text_bleu / 100) 0.3 * layout_iou 0.3 * ssim ) * 100 ``` ### 해석 예시 - `input_vs_v1` 의 종합 점수 78.1 - `input_vs_v2` 의 종합 점수 72.0 → *input_vs_v1(output_001.html)이 원본 PPT와 더 유사함을 의미.*