ppt-eval-benchmark/README.md

134 lines
2.5 KiB
Markdown

# 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와 더 유사함을 의미.*