Step 9 (Group I) of v0.20.0 sub-item 1 (scanned PDF OCR) plan.
I3 — crates/kebab-app/tests/ingest_pdf_ocr_smoke.rs (신규):
- ingest_with_mock_ocr_yields_pdf_ocr_summary — `#[ignore]` real Ollama,
ingest_with_config production path + IngestItem.pdf_ocr_pages verify.
- ocr_text_indexed_and_searchable — `#[ignore]` real Ollama, app.search
의 OCR text indexed verify (§ Acceptance #2).
- ingest_with_cancel_aborts_mid_pdf — production cancel chain (pre-set
cancel=true + dummy endpoint, no panic/deadlock verify).
I4 — crates/kebab-parse-pdf/tests/text_extractor_regression.rs (신규):
- vector_pdf_extract_byte_identical_to_baseline — F4 mojibake.pdf 의 vector
PDF path canonical 의 byte-identical 보존 (Step 1-8 모든 변경 전후 invariant).
- baseline 신규 = tests/snapshots/vector_pdf_canonical.json (first run create).
- normalize_provenance_timestamps inline helper (R-3 mitigation, workspace
전체 부재 — 신규 12-line).
I5 — crates/kebab-parse-pdf/tests/ocr_e2e.rs (신규):
- f1_alnum_accuracy_ge_85 / f2_alnum_accuracy_ge_70 — `#[ignore]` real
Ollama qwen2.5vl:3b, § Acceptance §9 #3 의 implementation.
- alnum metric = strsim::levenshtein (dev-dep 추가).
- truth file copy from PoC scratch (page1.txt + page2-batchim.txt) →
scanned_page1_truth.txt + scanned_page2_truth.txt.
- kebab-parse-image dev-dep 추가 (OllamaVisionOcr::from_parts 호출용).
parser isolation invariant 의 dev-dep exception (spec §3.1, dep graph
baseline -e normal 보존).
spec: docs/superpowers/specs/2026-05-27-pdf-scanned-ocr-spec.md
plan: docs/superpowers/plans/2026-05-27-pdf-scanned-ocr-plan.md (Step 9 I3+I4+I5)
prior: c9e0594 (Step 8 CLI printer)
contract: §9
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
54 lines
3.2 KiB
Plaintext
54 lines
3.2 KiB
Plaintext
한국어 OCR 의 받침 처리 정확도 측정용 page
|
|
|
|
본 페이지는 Tesseract 의 "Detected diacritics" 경고가 가리키는 받침 (종성)
|
|
인식 약점을 isolate 측정하기 위한 fixture 입니다.
|
|
|
|
1. 단순 받침 모음
|
|
- 단일 자음: 각, 간, 갈, 감, 갑, 갓, 강, 낙, 난, 날, 남, 납, 낫, 낭
|
|
- 받침 ㄱ: 학생, 식당, 약속, 작품, 음악, 책방, 박사, 직업, 목표, 적극적
|
|
- 받침 ㄴ: 친구, 인생, 운명, 분야, 단어, 관심, 인간, 진리, 안녕, 인사
|
|
- 받침 ㄷ: 받침, 듣다, 닫다, 굳다, 곧, 뜻, 멋, 옷, 짓다, 맺다
|
|
- 받침 ㄹ: 알다, 살다, 일상, 길이, 발음, 별명, 졸업, 길거리, 일요일
|
|
- 받침 ㅁ: 그림, 사람, 마음, 점심, 봄, 새벽, 검사, 점점, 다음, 처음
|
|
- 받침 ㅂ: 입학, 답안, 합격, 잡지, 컵, 밥, 십대, 압력, 깁스, 갈증
|
|
- 받침 ㅅ: 옷, 곳, 멋, 짓, 벗, 깃, 갓, 빗, 솟, 첫째, 갓길, 옷장
|
|
- 받침 ㅇ: 영화, 강의, 정답, 평균, 동물, 풍경, 송별, 응원, 항상, 통화
|
|
- 받침 ㅈ: 낮, 빛, 옻, 갖다, 빚, 짓, 맞다, 잊다, 좇다, 갖춤, 짖다
|
|
- 받침 ㅊ: 꽃, 빛, 낯, 숯, 옻, 닻, 빚, 갖, 닻, 쫓다, 옻나무, 닻줄
|
|
- 받침 ㅋ: 들녘, 부엌, 들녘길, 부엌일, 들녘 풍경
|
|
- 받침 ㅌ: 밭, 솥, 끝, 곁, 팥, 받, 솥뚜껑, 밭일, 끝없다, 팥죽
|
|
- 받침 ㅍ: 잎, 숲, 옆, 짚, 늪, 깊다, 갚다, 높다, 옆자리, 무릎
|
|
- 받침 ㅎ: 좋다, 많다, 끊다, 닿다, 옳다, 잃다, 싫다, 뚫다, 놓다, 쌓다
|
|
|
|
2. 겹받침 (이중 자음)
|
|
- ㄳ: 몫, 삯, 넋, 몫이, 삯을, 넋이
|
|
- ㄵ: 앉다, 얹다, 앉아, 얹어, 앉으니
|
|
- ㄶ: 많다, 끊다, 괜찮다, 않다, 많이, 끊임없이
|
|
- ㄺ: 닭, 흙, 칡, 읽다, 굵다, 늙다, 닭고기, 흙길
|
|
- ㄻ: 삶, 닮다, 굶다, 옮기다, 곪다, 삶의, 닮은
|
|
- ㄼ: 넓다, 짧다, 얇다, 떫다, 넓이, 짧게, 얇은
|
|
- ㄽ: 외곬, 외곬으로 (드문 받침)
|
|
- ㄾ: 핥다, 훑다, 핥아, 훑어, 핥는
|
|
- ㄿ: 읊다, 읊어, 읊는 (드문)
|
|
- ㅀ: 잃다, 싫다, 끓다, 닳다, 뚫다, 잃어, 싫어
|
|
- ㅄ: 값, 없다, 가엾다, 값이, 없이, 가엾은
|
|
|
|
3. 한자 + 한글 받침 혼용
|
|
大韓民國의 韓國語는 表音文字 한글로 表記한다. 學生은 學校에서 工夫하고
|
|
先生님은 講義하신다. 古代 朝鮮의 文化는 中國과 日本에 影響을 주었다.
|
|
經濟學者들은 物價 上昇을 警告한다. 國民은 政府의 政策을 信賴해야 한다.
|
|
이 문장의 받침이 한자와 함께 정확히 인식되는지가 중요한 측정 지표다.
|
|
|
|
4. 받침 의미 변화 예시
|
|
- 산다 (live) vs 산 (mountain) vs 살다 (live) vs 살 (flesh)
|
|
- 가다 (go) vs 간 (liver) vs 갔다 (went) vs 강 (river)
|
|
- 먹다 (eat) vs 먹 (ink stick) vs 먹었다 (ate) vs 멍 (bruise)
|
|
- 보다 (see) vs 본 (origin) vs 봤다 (saw) vs 봄 (spring)
|
|
받침 한 글자 차이로 의미 완전 변경 → OCR 정확도가 검색 결과 직결.
|
|
|
|
5. 외래어 받침
|
|
- 마이크, 컴퓨터, 인터넷, 텔레비전, 라디오, 카메라, 스피커
|
|
- 시스템, 프로그램, 데이터, 알고리즘, 인공지능, 머신러닝
|
|
- 박테리아, 바이러스, 백신, 안티바이러스, 방화벽
|
|
- 파일, 폴더, 디렉토리, 다운로드, 업로드, 백업
|