근거 · 품질과 성능
벤치마크
형태 검색 품질과 실행 비용을 서로 다른 workload로 측정합니다. 모든 품질 비교는 raw와 contract-adjusted 결과를 함께 표시하며, 성능은 초기화·처리량·지연 시간·메모리를 별도 단위로 유지합니다.
평가 범위
Canonical은 사람이 표준 맞춤법을 확인한 500개 양성·500개 음성 사례입니다. 제품과 Kiwi, Lindera, MeCab-ko, KOMORAN은 같은 표제어·품사·문장 과제를 수행합니다.
Robust는 실제 오류 문장 250개 양성·250개 음성 사례입니다. 표준문 결과와 합산하지 않으며 robustness 설정, 오류 위치와 입력 분모를 별도로 기록합니다.
Query matrix는 같은 문장에 여러 양성·음성 질의를 적용해 부분 회수와 문장 안 오탐을 측정합니다. 제품 계약 검토 registry가 strict corpus gold와 다른 기대값을 선언할 수 있는 평가군입니다.
Raw와 contract-adjusted 지표
Raw는 원본 corpus gold를 그대로 사용합니다. TP, FP, TN, FN과 여기서 계산한 precision, recall, F1을 수정하지 않습니다.
Contract-adjusted는 제품 실행 전에 고정한 registry를 같은 예측에 적용합니다. 의미로 구분할 수 없는 동형이의, source에 정렬된 내부 성분과 gold span 오류를 재분류하고, 제품 입력 계약에 속하지 않는 비표준 입력만 제외합니다. 구현이 어렵거나 아직 지원하지 않는 문법은 제외하지 않습니다.
Contract review가 없는 평가군은 raw 기대값을 그대로 사용합니다. 이때 두 결과가 같고 reviewed cases가 0이라는 사실도 결과에 포함합니다. 보정 결과만 남기거나 raw 결과를 숨기지 않습니다.
Full-POS query matrix의 raw FN 4와 FNᶜ 0은 같은 실행 결과를 두 계약으로 읽은 값입니다. Raw FN 4는 strict gold span을 회수하지 못한 사례입니다. Registry는 그중 의미 구조로 구분할 수 없는 동형이의와 source에 정렬된 검색 성분을 제품 목표의 양성으로 선언합니다. 따라서 FNᶜ 0은 네 사례가 제품 목표 밖의 false negative라는 뜻이며, 제품이 네 오류를 수정했다는 뜻이 아닙니다.
Canonical 품질
Canonical confusion matrix
| 제품 | Raw TP / FP / TN / FN | TPᶜ / FPᶜ / TNᶜ / FNᶜ |
|---|---|---|
| kfind embedded | 461 / 1 / 499 / 39 | 461 / 1 / 499 / 39 |
| kfind full POS | 498 / 1 / 499 / 2 | 498 / 1 / 499 / 2 |
| Kiwi | 418 / 0 / 500 / 82 | 418 / 0 / 500 / 82 |
| Lindera | 377 / 0 / 500 / 123 | 377 / 0 / 500 / 123 |
| MeCab-ko | 390 / 0 / 500 / 110 | 390 / 0 / 500 / 110 |
| KOMORAN | 393 / 0 / 500 / 107 | 393 / 0 / 500 / 107 |
Query matrix 품질
Robust 품질
성능 측정 단위
형태 품질 workload는 fresh process에서 warm-up 1회 뒤 5회 측정합니다. 다음 표의 값은 중앙값이며, 품질 지표와 하나의 점수로 합치지 않습니다.
| 제품 | 초기화 | cases/s | p95 | peak RSS |
|---|---|---|---|---|
| kfind embedded | 0.0376 s | 37,895.2 | 0.0591 ms | 41.3 MiB |
| kfind full POS | 0.0690 s | 25,063.4 | 0.1105 ms | 57.9 MiB |
원본 자료
승인 snapshot은 source report의 Git revision과 SHA-256을 보존합니다. 측정 환경, fixture checksum, 도구 버전과 개별 실패 사례는 원본 보고서에서 확인할 수 있습니다.
eba559f751a8b53d7e57c330aaf53da49fd7fb1d · 9228d8f0f910008bc3fc1f0bf4d1bd6fa3a27d567eedae94d5fc08761f822d7b