# task-2949 [판독불가] 갭 채우기 (확대 재판독)

- 수행자: 헤임달 (dev2 QA)
- 일시: 2026-08-13
- 대상: `/home/jay/workspace/teams/dev2/task-2949/ocr_full/*.md` (18개)
- 원본(읽기 전용): `/home/jay/.cokacdir/workspace/autoset/실비실손자료/` 및 `총정리(KB손보)/`
- 작업 사본: `/tmp/ocr2949_G/` (원본은 사본 복사만 수행, 수정/삭제 없음)
- 원본 무결성: 작업 후 sha256 재계산 → `logs/source_sha256.txt` 의 18개 해시와 **전부 일치**. 원본 무수정 확인
- 판독 도구: PIL(LANCZOS 6~40배 확대) + 헤임달 직접 판독 + 아누 vision (`env -u CLAUDECODE claude -p --model opus --allowedTools Read`) 블라인드 판독
- 블라인드 원칙: 모든 아누 프롬프트에 정답 후보 단어·수치를 넣지 않음. "Read 도구만 사용 / 보이는 글자만 축자 전사 / 흐릿하면 [판독불가] / 추측·창작 금지" 문구 고정 사용

---

## 1. 갭필 전/후 요약

**항목(판독 대상) 기준**

| 구분 | 건수 |
|---|---|
| 갭필 전 판독불가 항목 | **22** |
| 완전 해소(확정) | **8** |
| 부분 해소(문구 대부분 복원, 일부 자리 잔존) | **14** |
| 전혀 해소 못 한 항목 | **0** |

**토큰(`[판독불가]` 문자열) 기준**

| 구분 | 개수 |
|---|---|
| 갭필 전 (본문+메타) | 33 |
| 갭필 후 본문+메타 (`### 갭필 이력` 제외) | 159 |
| 갭필 후 파일 전체 (이력 섹션 포함) | 292 |

> ★ 토큰 수가 늘어난 이유: 1차 OCR 은 하단 고지문 **문단 전체**를 `[판독불가]` 1토큰으로 뭉뚱그렸다.
> 갭필로 문단의 약 85% 를 축자 복원하면서, 남은 미판독 자리를 **글자 단위 6개소(10토큰)** 로 쪼개 표기했다.
> 따라서 토큰 수 증가는 정보 손실이 아니라 **해상도 상승(문단 단위 → 글자 단위)** 이다.
> 실질 미판독 분량은 페이지당 **한글 10자 + 괄호구 1개소** 로 줄었다.

## 2. 파일별 표

`후(본문)` = `### 갭필 이력` 섹션을 제외한 본문+판독메타의 토큰 수.

| 슬러그 | 전 토큰 | 후(본문) | 후(전체) | 항목 수 | 해소 | 부분해소 | 미해소 |
|---|---|---|---|---|---|---|---|
| A01_기준표_협회공시 | 0 | 0 | 0 | 0 | - | - | - |
| A02_변천사_보장제외 | 0 | 0 | 0 | 0 | - | - | - |
| KB00 | 0 | 0 | 0 | 0 | - | - | - |
| KB01 | 2 | 11 | 20 | 1 | 0 | 1 (고지문) | 0 |
| KB02 | 2 | 12 | 21 | 1 | 0 | 1 (고지문) | 0 |
| KB03 | 1 | 11 | 20 | 1 | 0 | 1 (고지문) | 0 |
| KB04 | 6 | 11 | 22 | 4 | **3** (셀 3건) | 1 (고지문) | 0 |
| KB05 | 2 | 11 | 20 | 1 | 0 | 1 (고지문) | 0 |
| KB06 | 3 | 12 | 21 | 1 | 0 | 1 (고지문) | 0 |
| KB07 | 2 | 12 | 21 | 1 | 0 | 1 (고지문) | 0 |
| KB08 | 2 | 12 | 21 | 1 | 0 | 1 (고지문) | 0 |
| KB09 | 2 | 12 | 21 | 1 | 0 | 1 (고지문) | 0 |
| KB10 | 1 | 11 | 20 | 1 | 0 | 1 (고지문) | 0 |
| KB11 | 6 | 11 | 24 | 5 | **4** (공제금액 3 + 비고 1) | 1 (고지문) | 0 |
| KB12 | 2 | 11 | 21 | 2 | **1** (아이콘 글자) | 1 (고지문) | 0 |
| KB13 | 1 | 11 | 20 | 1 | 0 | 1 (고지문) | 0 |
| KB14 | 1 | 11 | 20 | 1 | 0 | 1 (고지문) | 0 |
| KB15 | 0 | 0 | 0 | 0 | - | - | - |
| **계** | **33** | **159** | **292** | **22** | **8** | **14** | **0** |

---

## 3. 항목별 상세

### 3-1. 페이지 하단 소형 고지문 — KB01~KB14 (14건, 동일 문구)

**위치 특정 (잉크 프로파일)**

전 페이지 하단 y=800~830 밴드를 열 단위 잉크 프로파일로 분석한 결과, 페이지가 좌우 대칭 레이아웃임을 확인:

| 페이지 | 고지문 x 범위 | 페이지번호 라벨 x 범위 |
|---|---|---|
| 홀수(01,03,05,07,09,11,13) | 134 ~ 566 | 28 ~ 107 (좌측) |
| 짝수(02,04,06,08,10,12,14) | 28 ~ 462 | 487 ~ 566 (우측) |

행 위치는 전 페이지 공통: 1행 y=807~815, 2행 y=816~824 (글자 높이 약 7px).

**크롭 / 확대**

| 산출물 | 크롭 박스 | 배율 | 방법 |
|---|---|---|---|
| `foot_01_L1/L2.png` | (132,805,568,816) / (132,814,568,825) | 16x | LANCZOS, 5분할 세로 스택(6px 중첩) |
| `foot_02_L1/L2.png` | (26,805,464,816) / (26,814,464,825) | 16x | 동일 |
| `avg_even.png` | 짝수 7페이지 (x 20~470, y 800~832) **화소 평균 합성** | - | 압축 노이즈 감쇄 |
| `avgE_L1/L2.png` | avg_even 기준 (8,4,445,17) / (8,13,445,26) | 22x | 8분할 세로 스택 |
| `q_A~q_E.png`, `w1/w2`, `zoom01_*` | 개별 어절 | 26~40x | 타이브레이크용 |

> 언샤프 마스크는 자모 경계를 블롭으로 뭉개서 오히려 판독을 악화시켰다(시도 후 폐기). 최종은 **LANCZOS 순수 확대**만 사용.

**판독 3회 (블라인드)**

1. 헤임달 직접 (페이지 01 16x 스트립 / 평균본 22x 스트립 — 서로 다른 렌더링 2회)
2. 아누 vision opus, `foot_02_L1.png` / `foot_02_L2.png` (5분할)
3. 아누 vision opus, `avgE_L1.png` / `avgE_L2.png` (8분할, 평균 합성본)

추가로 어절 단위 초확대(26~40x) 크롭 5종을 아누에 블라인드 투입했으나, **문맥이 없는 좁은 크롭은 아누가 거의 전부 `[판독불가]`로 반환**하여 타이브레이크에 기여하지 못했다(사실 기술).

**확정 문구 (2회 이상 일치한 토큰만 반영)**

```
본 내용은 [판독불가][판독불가][판독불가][판독불가] 컨설턴트를 위해 실손의료보험의 특징을
발췌해 놓은 자료로 누락된 내용이 있을 수 있습니다. 상품 판매시 반드시 해당상품의 약관을
확인해 주시기 바랍니다. 약관 미확인으로 발생[판독불가] [판독불가][판독불가] 및 분쟁에 대해서
일체의 책임을 지지 않습니다. ※ 본 자료는 사내교육용 자료이므로, 고객[판독불가]
제시[판독불가]교부할 수 없으며 보험안내자료[판독불가] 사용을 엄격히 금지합니다.
```

**판정: 부분해소.** 14개 파일 전부 동일 문구로 교체함.

**토큰별 판정 근거**

| 자리 | 헤임달 | 아누 1회차 | 아누 2회차 | 판정 |
|---|---|---|---|---|
| 본 내용은 | ✔ | ✔ | ✔ | 확정 |
| "컨설턴트" 앞 4자 | "영업현장"(저확신) | 판독불가 | 판독불가 | **미해소** |
| 컨설턴트를 | ✔ | ✔ | 부분(`컨설[X]트를`) | 확정 |
| 위해 / 위하여 | 위해 | 위하여 | 위해 | 확정("위해", 2:1) |
| 실손의료보험의 특징을 | ✔ | ✔ | ✔ | 확정 |
| 발췌해 | (형태만, 저확신) | 발췌해 | 발췌해 | 확정 |
| 놓은 / 높은 | 놓은 | 놓은 | 높은 | 확정("놓은", 2:1) |
| 자료로 … 있을 수 있습니다. | ✔ | ✔ | ✔ | 확정 |
| 상품 판매시 … 주시기 바랍니다. | ✔ | ✔ | 부분 | 확정 |
| 약관 미확인으로 | ✔ | ✔ | 부분 | 확정 |
| 발생 + 1자 | 된 | 한 | 한 | **미해소** (2:2 갈림) |
| "및" 앞 2자 | 민원 | 안전 | 인적 | **미해소** (3회 전부 상이) |
| 및 분쟁에 대해서 | ✔ | ✔ | ✔ | 확정 |
| 일체의 | ✔ | 판독불가 | ✔ | 확정 |
| 책임을 지지 않습니다. ※ 본 자료는 사내교육용 자료이므로 | ✔ | ✔ | ✔ | 확정 |
| "고객" 뒤 조사 | 에게 | 께 | 판독불가 | **미해소** |
| 제시 | ✔ | ✔ | ✔ | 확정 |
| "제시" 뒤 구분기호 | · | 판독불가 | 판독불가 | **미해소** |
| 교부할 수 없으며 보험안내자료 | ✔ | ✔ | ✔ | 확정 |
| "보험안내자료" 뒤 괄호구 | (광고,선전물)의 | 판독불가 | 판독불가 | **미해소** |
| 사용을 엄격히 금지합니다. | ✔ | ✔ | ✔ | 확정 |

**교차 검증**: 홀수 페이지 렌더링(01)과 짝수 페이지 렌더링(02·평균본)에서 **같은 문구**가 나왔다. 두 레이아웃은 물리적으로 다른 x 좌표에 인쇄되어 있으므로, 동일 결과는 독립 확인으로 취급했다.

**미해소 사유 (사실)**
- 원본이 595×842px = A4 72dpi. 고지문 글자 높이 **약 7px**, 글자 피치 약 5.7px.
- 업스케일(LANCZOS)은 정보량을 늘리지 못한다. 확대는 판독 모델의 인식률만 올릴 뿐이다.
- 짝수 7페이지 화소 평균(다중 프레임 노이즈 감쇄)까지 적용했으나, 페이지 간 서브픽셀 위상이 동일해 **초해상 이득이 없었다**(평균 후 자모 경계 변화 없음).
- 미해소 6개소는 전부 획 굵기 1px 미만 요소(ㅁ/ㅇ 구분, ㄷ/ㅎ 구분, 조사 1자, 중점 기호, 괄호 안 4자)에 해당.

### 3-2. KB04 — 표1 흥국화재 셀 (2건)

- 원래 표기: `흥국: [판독불가]품/특약별 상이` (정신질환/행동장애 행, 선천성 기형 행)
- 크롭: (158,276,258,300) / (158,588,258,615), **LANCZOS 14배**
- 판독 결과 원문: `흥국 : 상품/특약별 상이`
- 판독 2회(원본 직접 열람 + 14배 크롭) 일치 → **확정**. `[판독불가]` 1자 = `상`

### 3-3. KB04 — 표1 한화(구 제일)/ACE 셀 (1건)

- 원래 표기: `한화[구 제일, ACE: 2007.04` (괄호 구조 불명으로 판독불가 계수)
- 크롭: (455,714,570,745), **LANCZOS 12배**
- 판독 결과 원문: `한화(구 제일), ACE : 2007.04`
- **확정**

### 3-4. KB11 — 표2 비급여특약 공제금액 3건 ★중점

- 원래 표기: `- 1회당 [판독불가]과 보장대상의료비의 30% 중 큰 금액 공제 후 보상` (도수치료행 / 주사치료행 / MRI행)
- 크롭: (140,505,470,545) · (140,548,470,592) · (140,645,470,672), **LANCZOS 6배**
- 판독 결과 원문 (3행 전부 동일):
  `- 1회당 2만원 또는 보장대상의료비의 30%중 큰 금액 공제 후 보상`
- 판독 2회 이상 독립(페이지 전체 열람 + 행 단위 6배 크롭 3회) — **전부 일치 → 확정**
- 부수 교정: 1차 OCR 의 접속사 `과` 는 오독이며 원문은 `또는`
- **사후 대조(블라인드 이후)**: KB13(4세대, 21.7.1~) 동일 항목은 `3만원 또는 …` 이다.
  KB11 은 3세대(17.4.1~21.6.30)로 `2만원`. 세대 차이에 따른 **별개 값**이며 상충이 아니다.
  프롬프트/크롭 판독 과정 어디에도 후보값 `3만원`을 노출하지 않았음.

### 3-5. KB11 — 표2 MRI 행 비고란 (1건)

- 원래 표기: `2개 이상 부위나 [판독불가] 2회 이상 받은 경우?`
- 크롭: (462,605,580,675), **LANCZOS 10배**
- 판독 결과 원문: `1회 입/통원하여 2개 이상 부위나 동일부위 2회 이상 받은 경우?`
- **확정**. (KB13 동일 항목이 `동일 부위`로 기재되어 있어 교차 정합)

### 3-6. KB12 — 제목 좌측 아이콘 내부 글자 (1건)

- 원래 표기: `노란색 스탬프형 배지 아이콘 — 배지 내부 글자 [판독불가]`
- 크롭: (20,20,300,120), **LANCZOS 5배**
- 판독 결과 원문: 아이콘 실체는 배지가 아니라 **책 모양 아이콘**, 표지 글자는 `실손 약관`(2행 배치)
- **확정**. 1차 OCR 의 "노란색 스탬프형 배지" 라는 형태 기술 자체가 오기였음

---

## 4. 반영 내역

- 해소/부분해소된 항목은 `ocr_full/<슬러그>.md` 본문의 `[판독불가]` 를 실제 문자열로 교체
- 각 파일 `## 판독 메타` 하위(파일 말미)에 `### 갭필 이력` 섹션 신설 — 원래 표기 → 확정 문구, 크롭 좌표, 배율, 판독 횟수, 모델, 판정(확정/부분해소/미해소) 기록
- `- 판독불가 개수:` 메타 라인을 잔여 기준으로 갱신
- 미해소 자리는 **교체하지 않고** `[판독불가]` 유지 + 이력에 후보 판독값과 갈린 사유 명기

## 5. 남은 한계 (사실)

- 하단 고지문 6개소는 **현재 원본 해상도로는 추가 해소 불가**. 해소하려면 (a) 더 높은 해상도의 원본 PDF/이미지 확보, 또는 (b) KB손해보험 동종 자료의 동일 고지문 대조가 필요하다. 후자는 외부 자료 대조이므로 "이미지 축자 전사"와는 성격이 다르며 별도 승인 사항으로 남긴다.
- KB00(표지)·KB15 는 원래 판독불가 0건이며 이번 작업 대상 아님.
- A01/A02 는 판독불가 0건. A01 하단 각주는 선행 `logs/footnote_verification.md` 에서 이미 확정 처리됨.
