Expand description
§Evaluation Module
형태소 분석 정확도 측정 인프라
§주요 기능
- Token Accuracy: 토큰 단위 정확도
- Sentence Accuracy: 문장 단위 완전 일치율
- POS Accuracy: 품사 태그 정확도
- Precision/Recall/F1: 토큰 기준
- 품사별 정확도 리포트
§예제
use mecab_ko_core::evaluate::{evaluate_dataset, TestDataset};
use mecab_ko_core::tokenizer::Tokenizer;
let mut tokenizer = Tokenizer::new().unwrap();
let dataset = TestDataset::from_tsv("data/eval/sample.tsv").unwrap();
let result = evaluate_dataset(&mut tokenizer, &dataset);
println!("Token Accuracy: {:.2}%", result.token_accuracy * 100.0);
println!("F1 Score: {:.3}", result.f1_score);Structs§
- Dual
Metric Result - 이중 메트릭 평가 결과 (Sprint 124)
- Eojeol
Surface Result - 어절 surface-only 메트릭 결과 (Sprint 133 P2).
- Evaluation
Result - 평가 결과
- Gold
Sentence - 정답 문장
- Gold
Token - 정답 토큰
- PosStats
- 품사별 통계
- Test
Dataset - 테스트 데이터셋
Enums§
- Evaluate
Error - 평가 에러 타입
Constants§
- TAG_
EQUIVALENCE_ GROUPS - POS 태그 동치 그룹 — Conservative (Sprint 125 + 126).
- TAG_
EQUIVALENCE_ GROUPS_ PRACTICAL - POS 태그 동치 그룹 — Practical (Sprint 126 P1).
Functions§
- evaluate_
dataset - 데이터셋 평가
- evaluate_
dataset_ dual - 이중 메트릭 평가 (strict 모드, 기본).
- evaluate_
dataset_ dual_ lenient - 이중 메트릭 평가 (lenient 모드, Sprint 125).
- evaluate_
dataset_ dual_ per_ eojeol - 이중 메트릭 평가 — per-eojeol 어절 + strict POS/surface (편의 함수).
- evaluate_
dataset_ dual_ per_ eojeol_ with_ match - 이중 메트릭 평가 — per-eojeol 알고리즘 (Sprint 128 P1+P2).
- evaluate_
dataset_ dual_ with_ match - 이중 메트릭 평가 (POS + surface 비교 함수 주입, Sprint 128 P2).
- evaluate_
dataset_ dual_ with_ pos_ match - 이중 메트릭 평가 (POS 비교 함수 주입, Sprint 125).
- evaluate_
dataset_ eojeol_ surface_ only - 어절 surface-only 평가 (strict, 편의 함수).
- evaluate_
dataset_ eojeol_ surface_ only_ with_ match - 어절 surface-only 평가 (Sprint 133 P2, 검색/인덱싱 use case).
- evaluate_
dataset_ sejong - 세종 코퍼스 호환 모드로 데이터셋 평가 (strict 기본).
- evaluate_
dataset_ sejong_ lenient - 세종 호환 모드 평가 (lenient, Sprint 125).
- evaluate_
dataset_ sejong_ with_ match - 세종 호환 모드 평가 (POS + surface 비교 함수 주입, Sprint 128 P2).
- evaluate_
dataset_ sejong_ with_ pos_ match - 세종 호환 모드 평가 (POS 비교 함수 주입, Sprint 125).
- evaluate_
tokens - 토큰 리스트 평가
- evaluate_
tokens_ aligned - Greedy alignment 기반 토큰 평가 (strict 기본).
- evaluate_
tokens_ aligned_ with_ match - Greedy alignment 기반 토큰 평가 (POS + surface 비교 함수 주입, Sprint 128 P2).
- evaluate_
tokens_ aligned_ with_ pos_ match - Greedy alignment 기반 토큰 평가 (POS 비교 함수 주입, Sprint 125).
- pos_
eq_ strict - 엄격(strict) POS 비교 — 기본 동작.
- pos_
tags_ equivalent - 두 POS 태그가 conservative 동치 그룹 기준 동일한지 확인 (Sprint 125+126).
- pos_
tags_ equivalent_ practical - 두 POS 태그가 practical 동치 그룹 기준 동일한지 확인 (Sprint 126 P1).
- surface_
eq_ canonical - Canonical surface 비교 (Sprint 128 P2).
- surface_
eq_ canonical_ lenient - Canonical + inflectional ending normalization (Sprint 128 P2 + Sprint 134 P3).
- surface_
eq_ strict - 엄격(strict) surface 비교 — 기본 동작.
Type Aliases§
- PosMatch
Fn - POS 일치 판단 함수 타입 (Sprint 125).
- Result
- 평가 결과 타입
- Surface
Match Fn - Surface 일치 판단 함수 타입 (Sprint 128 P2).