화자 귀속(Speaker Attribution) 검출 방식

이직로그 페르소나 챗 — "누가 이 대사를 말했는가"를 패널에서 추출하는 파이프라인과 신뢰도 설계.
대사를 캐릭터 말투뱅크로 쓰려면 화자 귀속이 필요하다. 그런데 웹툰에서 이게 가장 어렵다 — OCR(대사 읽기)은 거의 완벽하지만, "누가 말했는지"는 그림만으로 단정하기 어렵다. 이 페이지는 그 문제를 어떻게 다루는지, 그리고 어디서 실패하는지를 솔직하게 보여준다.

1왜 어려운가

말풍선 화자가 패널 밖 — 말풍선 꼬리가 화면 밖 인물을 가리키는 경우가 흔하다.
듣는 사람만 보임 — 패널엔 반응하는 인물(청자)만 그려지고 화자는 안 보인다.
한 패널 다중 턴 — 질문과 답변이 한 컷에 섞여 화자가 둘 이상이다.
폰·회상·나레이션 — 1인 패널이어도 대사는 폰 너머 상대나 회상 속 인물의 말일 수 있다.
인물 오식별 전파 — VLM이 패널 속 인물을 잘못 보면(조이↔동구 등) 화자 귀속도 통째로 틀린다.

2파이프라인

① 패널 분석
👑 Gemma 4 31B(VLM 비교 우승)가 패널마다 OCR 대사 · 장면묘사 · 등장인물 · 화자추측을 JSON으로 추출.
② 신뢰 필터
화자추측을 그대로 믿지 않고, 근거의 강도로 3등급(scene✓ / solo / 추측)을 매긴다.
③ 말투뱅크
scene✓·solo만 캐릭터 뱅크에 넣고, 모호한 추측은 "불확실"로 분리(데모 제외).

핵심 원칙: few-shot 말투엔 양보다 순도. 틀린 귀속 한 줄이 캐릭터 말투를 오염시키므로, 애매하면 버린다.

33단계 신뢰 시스템

등급판정 근거신뢰
scene✓장면묘사가 화자를 명시 — "조이가 …칭찬하고 있다"처럼 'X가 …말/물/답/칭찬/설명' 패턴이면 그 대사는 X.높음 → 뱅크
solo1인 패널(등장인물 1명) — 그 인물이 화자일 확률이 높다(단, 폰·회상이면 틀릴 수 있음).중간 → 뱅크
추측다인 패널의 모델 추측 — 누가 말했는지 근거가 약함.낮음 → 제외

4실제 사례

✓ 성공 — scene✓
장면묘사: "사무실에서 조이가 동구의 정리 정돈 상태를 칭찬하고 있다"
"듣던대로 꼼꼼하시네요." → 조이 scene✓

장면이 화자(조이)와 행위(칭찬)를 명시 → 확실하게 조이 뱅크로.

✗ 실패 — 인물 오식별이 화자 귀속까지 오염
패널 실제: 갈색 단발·분홍 상의의 조이가 노트북 앞에서 혼잣말. (남자 주인공 동구 아님)
그런데 Gemma 분석: 등장인물 [동구] · 장면묘사 "동구가 …자신의 심경을 이야기" — 인물을 조이→동구로 오인
"가만히 있어도 경력은 쌓이는데, 퍼포먼스는 그대로인 느낌?"
동구 뱅크로 잘못 귀속 solo  (실제 화자: 조이)

대사 자체는 조이의 것이 맞다. 문제는 상위 단계인 시각적 인물 식별이 틀린 것 — Gemma가 1인 패널의 인물을 동구로 잘못 보니, scene묘사도 solo 규칙도 그 오류를 그대로 물려받아 동구 뱅크로 갔다. 즉 화자 귀속의 정확도는 인물 식별의 정확도에 종속된다(여기선 명백한 여성을 남주로 오인).

5해결 — 시각 인물식별 교차검증

Gemma의 인물 라벨을 그대로 믿지 않고, 독립적인 시각 식별과 대조한다 — 얼굴 검출 + CCIP 임베딩 클러스터링(char_assign, 3,396개 얼굴)으로 "패널에 실제 누가 있나"를 따로 구한 뒤, Gemma 라벨과 다르면 시각 쪽을 신뢰해 교정한다. CCIP는 정체성(얼굴) 기반이라 조이↔동구 같은 오인에 강하다.

같은 패널 — char_assign 시각 식별: 조이 (CCIP, 비치비, h=160)
"가만히 있어도 경력은 쌓이는데…" → 조이로 교정됨 👁교정 scene→visual

Gemma=동구 ↔ 시각=조이 모순 → 시각 우선 → 조이 뱅크로 정정. 앞 10화에서 18건 교정 · 210건 확증. 세 신호(시각·장면·대화)가 서로를 검증한다.

6결과 — 순도 우선 분배

scene✓ 141
solo 205
추측 168
99조이 신뢰대사 / 145
216동구 신뢰대사 / 318
31에스터 신뢰대사 / 51

신뢰(scene✓+solo)만 뱅크에 들어가고, 추측 168줄은 "불확실"로 분리된다. 앞 10화 기준.

7남은 한계와 다음 단계

시각 교차검증으로 인물 오식별은 상당 부분 잡았지만, 여전히 화자가 패널에 아예 없는 경우(폰 너머·회상·다음 컷)나 한 패널 다중 턴은 남는다. 순도 필터가 이런 모호분을 "불확실"로 빼서 뱅크 오염은 막지만, 회수율은 그만큼 준다.

다음 단계: ① 말풍선 검출(YOLO) + 꼬리 방향 기하 분석 → 말풍선이 가리키는 인물과 직접 매칭(패널 밖 화자도). ② 시퀀스(앞뒤 컷) 문맥 결합으로 턴테이킹 추적. 정리하면 시각(누가 있나) · 기하(누구를 가리키나) · 언어(대화 흐름) 세 신호를 합칠수록 정확해진다 — 지금은 그중 시각·언어를 결합한 상태.

관련: corpus 뷰어 · VLM 모델 비교