발화 라벨 Taxonomy v1.1 — 0615 파란색 라벨 정의서
SoT(라벨 정의). 코드 구현: apps/api/app/taxonomy.py. 예시 데이터: docs/golden_schema.jsonl.
근거: 데이터/README.md(파랑 #3057B9 = 3종 혼재), MASTERPLAN.md §3.1~§3.2(89개·77종, 3축 분리),
MEMORY_KNOWLEDGE_PERSONA_DESIGN.md §3.6(kb.chunk.label_id FK).
버전 = 1.1.0 (TAXONOMY_VERSION). 라벨 코드는 불변, 추가는 append-only.
v1.1.0(2026-07-15): 연구팀 태깅 축어록 4종(ch2_bps·ch3_gestalt·dbt_video·cbt_video) 정합을 위해
Technique 9종·ClientState 9종을 append-only 추가했다(§3.6, §4.1, §8 버전 이력).
0. 설계 원칙
0615 축어록의 파란색(#3057B9) 주석은 한 셀에 3종이 혼재한다(기법/내담자 상태/슈퍼바이저 논평).
학습 신호 오염을 막기 위해 3개의 독립 축으로 분리한다. 이것이 평가 AI 정답셋과 페르소나
상태전이 정답의 단일 원천이다.
- 3축 분리: (A) 기법 태그(상담자 발화) · (B) 내담자 상태 태그(내담자 발화) · (C) 슈퍼바이저 논평(둘 다).
- 위계: 기법은 5개 군집(category) 아래에 둔다 → 분포·과다/과소 집계·리뷰 게이지 축.
- 복수 부착: 한 발화에 기법·상태·논평이 각각 여러 개 붙을 수 있다.
- 부착 규칙: 기법은 상담자 발화에만, 상태는 내담자 발화에만(코드에서 강제,
Annotation.__post_init__).
- 원본 미적재: 0615 원문(미성년·자살사고)은 절대 적재하지 않는다. 예시는 합성 변형(
source="0615_synthetic").
1. 회기 단계 (Stage)
결정론 상태머신이 소유(LLM 아님). 발화는 발화 시점의 단계를 단일 값으로 기록한다.
| code |
단계 |
정의 |
라포 |
라포 형성 |
안전감·관계 구축, 비밀보장 구조화, 비자발성 완화 |
탐색 |
탐색 |
호소문제·정서·인지·위험요인(자살/자해) 탐색 |
개입 |
개입 |
직면·해석·인지재구성·교정적 정서체험 |
정리 |
정리 |
요약·과제·다음 회기 연결·종결 |
2. 화자 (Speaker)
| code |
화자 |
0615 대응 |
counselor |
상담자(수련생/상담사 AI) |
"상N" |
client |
내담자(가상내담자 AI) |
"내N" |
3. (A) 기법 라벨 (Technique) — 상담자 발화
각 라벨: 조작적 정의(무엇을 했을 때 부착하는가) + 0615 예시(실제 파랑 라벨에서 정규화).
3.1 RELATIONAL (관계 형성)
| code |
한글 |
조작적 정의 |
0615 표면 라벨 예시 |
empathy |
공감 |
내담자의 감정·입장을 정확히 알아차리고 그대로 되돌려, "이해받고 있다"를 전달 |
"공감" / "한숨이 무겁게 느껴지네요" |
reflection |
반영 |
내담자 발화·비언어의 핵심(정서/내용)을 거울처럼 재진술 |
"반영", "정서 반영", "내담자의 반응을 반영함" |
validation |
타당화 |
내담자의 감정·반응이 그 상황에서 자연스럽고 정당함을 인정 |
"타당화", "감정 노출의 타당화" |
holding |
홀딩 |
침묵·머뭇거림을 재촉 없이 견디며 안전한 공간을 유지(기다려 줌) |
"홀딩", "탐색과 홀딩" |
self_disclosure |
자기공개 |
상담자 자신의 정보·경험·마음을 라포 목적으로 적절히 개방 |
"라포형성을 위한 상담자의 자기 개방" |
affect_conveyance |
정서 전달 |
내담자를 향한 상담자 자신의 정서·태도를 명시적으로 전달 |
"상담자의 정서 전달" |
humor |
유머 |
무거운 분위기를 가볍게 만들어 참여를 촉진(상황·관계 고려) |
"유머" |
3.2 EXPLORATORY (탐색)
| code |
한글 |
조작적 정의 |
0615 표면 라벨 예시 |
exploration |
탐색 |
경험·맥락·의미를 더 드러내도록 묻거나 머무름 |
"탐색", "탐색질문" |
facilitative_question |
촉진질문 |
내담자가 더 말하도록 여는 개방형/참여 촉진 질문 |
"촉진", "참여 촉진 질문" |
risk_assessment |
위험사정 |
자살/자해/타해 위험 요인·경험·계획을 직접 탐색 |
"위험요인 탐색", "자해 위험 및 경험 탐색" |
consent_motivation_check |
동의·동기 확인 |
상담 동의·문제의식·변화 동기 수준을 확인 |
"동의확인, 동기수준 확인" |
opinion_check |
의견 확인 |
내담자의 생각·반응·주호소를 되짚어 확인 |
"내담자 의견 확인", "주호소 문제 재확인" |
3.3 INTERVENTION (개입)
| code |
한글 |
조작적 정의 |
0615 표면 라벨 예시 |
confrontation |
직면 |
내담자 발화·행동의 불일치/모순을 근거와 함께 마주하게 함 |
"기초자료를 활용하여 반응의 불일치에 직면시킴" |
interpretation |
해석 |
표면 너머의 의미·동기·패턴을 가설로 제시 |
"모순의 의미를 해석함", "비언어적 자극 해석", "행동의 재해석" |
3.4 STABILIZING (안정/지지)
| code |
한글 |
조작적 정의 |
0615 표면 라벨 예시 |
stabilization |
안정화 |
각성·정서를 진정시켜 안전 범위로 되돌림 |
"안정화" |
hope_instillation |
희망고취 |
변화 가능성·욕구를 비추어 희망을 불어넣음 |
"동기부여, 희망고취", "희망 고취, 욕구 반영" |
reinforcement |
강화 |
바람직한 개방·시도를 인정·격려해 지속을 촉진 |
"강화" |
normalization |
정상화 |
반응(감정 노출 등)을 보편적 경험으로 정상화 |
"감정 반응을 노출하는 것을 정상화함" |
3.5 STRUCTURING (구조화)
| code |
한글 |
조작적 정의 |
0615 표면 라벨 예시 |
principle_explanation |
상담원칙 설명 |
비밀보장·예외 등 상담 원칙·틀을 안내 |
"상담원칙에 대한 설명", "비밀보장 제외 원칙 설명" |
psychoeducation |
심리교육 |
보편적 교범·정보를 주관적 해석과 구별해 전달 |
"보편적 교범 전달, 주관적 해석과 구별" |
homework |
과제 부여 |
회기 간 실천 과제를 이해 가능하게 제시·확인 |
"다음 회기까지 해 와야 하는 과제 설명" |
3.6 v1.1.0 추가 기법 (연구팀 태깅 자료 정합)
연구팀 태깅 축어록 4종에서 관찰됐으나 v1.0 enum에 없던 기법. 군집은 기존 5개 위계에 편입한다.
예시 발화는 모두 합성이며 원문 인용이 아니다. 출처는 어느 태깅 파일 계열에서 유래했는지를 표기한다
(ch2_bps=첫 회기 BPS 워크북, ch3_gestalt=게슈탈트 3회기 도서, dbt_video=자해 DBT 영상, cbt_video=우울 CBT 영상).
| code |
한글 |
군집 |
조작적 정의 |
예시 발화(합성, 상담자) |
출처 |
clarification |
명료화 |
EXPLORATORY |
내담자 말의 뜻이 모호할 때 이해를 정확히 맞추기 위해 되묻거나 확인한다. 반영과 달리 되돌려 주기보다 '무엇을 뜻하는지'를 좁혀 묻는 데 목적이 있다. |
"방금 '견디기 힘들다'고 하셨는데, 그게 어떤 느낌에 더 가까운지 조금만 더 말해 줄 수 있을까요?" |
cbt_video, ch3_gestalt |
scaling |
수치화 질문 |
EXPLORATORY |
감정·증상의 강도를 숫자 척도로 표현하게 해 상태와 변화를 가늠한다. 막연한 정서를 비교 가능한 수치로 옮겨 개입 전후를 확인하는 CBT 기법이다. |
"지금 그 불안이 0에서 10 중에 어느 정도인지 숫자로 말해 볼 수 있을까요?" |
cbt_video |
chain_analysis |
체인분석 |
EXPLORATORY |
문제행동에 이르기까지의 촉발사건·감정·생각·행동을 사슬로 잘게 되짚어 개입 지점을 찾는다. 행동을 평가하지 않고 순서를 구체적으로 복원하는 것이 핵심이다. |
"그 충동이 올라오기 직전에 어떤 일이 있었고, 그때 무슨 감정이 먼저 지나갔는지 순서대로 같이 짚어 볼까요?" |
dbt_video |
cognitive_restructuring |
인지재구성 |
INTERVENTION |
이분법·파국화·독심술 같은 인지 왜곡을 확인하고, 연속선 사고·핵심신념 검토를 통해 사고를 재구성한다. cbt 파일 55건의 최대 공백이던 핵심 개입이다. |
"'완벽하지 않으면 실패'라고 느껴진다고 하셨는데, 그 사이에 여러 단계가 있다면 오늘 일은 어디쯤 놓일까요?" |
cbt_video |
behavioral_alternative |
대안행동 탐색 |
INTERVENTION |
부적응 행동 대신 시도해 볼 대안행동을 함께 탐색하고 실행을 계획한다. 지적이 아니라 선택지를 넓히는 방향으로 진행한다. |
"그 상황이 또 오면, 참는 것 말고 해 볼 수 있는 다른 행동으로 뭐가 있을지 같이 찾아볼까요?" |
cbt_video |
commitment_strategy |
전념 전략 |
INTERVENTION |
변화 목표에 스스로 전념하도록 이끌고(악마의 옹호자 등), 실행을 막을 방해물을 미리 예상해 대처를 정한다. |
"이걸 해 보기로 마음먹었다면, 한 주 안에 그걸 가로막을 만한 게 뭘지 미리 같이 생각해 둘까요?" |
dbt_video |
here_and_now_focus |
지금-여기 초점화 |
INTERVENTION |
과거 사실 캐내기보다 지금-여기에서 일어나는 알아차림·정서·신체 감각에 초점을 맞춘다(게슈탈트 현전·트래킹). |
"지금 그 말을 하면서 몸에서 뭐가 느껴지는지, 이 순간에 잠시 머물러 볼까요?" |
ch3_gestalt |
restatement |
재진술 |
RELATIONAL |
내담자 발화의 내용을 압축해 되돌려 주고 이해가 맞는지 확인을 기다린다. 정서 중심의 반영과 구분해 '내용 확인'으로 태깅한다. |
"그러니까 학회 준비로 집을 자주 비우게 되면서, 혼자 감당한다는 느낌이 커졌다는 말씀이시죠?" |
cbt_video |
skills_coaching |
기술 코칭 |
STABILIZING |
위기·고통 순간에 지금 쓸 수 있는 대처 기술을 하나 골라 단계적으로 실행하도록 짧게 안내한다(고통감내·위기전화 코칭). |
"지금 그 파도가 지나갈 때까지, 우선 찬물에 손을 담그는 것부터 같이 해 볼까요?" |
dbt_video |
4. (B) 내담자 상태 태그 (ClientState) — 내담자 발화/비언어
페르소나 저항 엔진의 상태전이 정답 + 평가 AI '반응 읽기' 채점 근거.
| code |
한글 |
조작적 정의 |
0615 표면 라벨 예시 |
involuntary |
비자발적 태도 |
단답·회피·거부 등 상담에 비자발적 신호 |
"(아니오)는 비자발적 태도", "(쓴웃음)은 비자발적 태도" |
defensive |
방어 |
주제 회피·차단·거리두기 |
"방어", "부모자녀 관계에 대한 방어적 태도" |
suicidal_ideation_admit |
자살사고 인정 |
자살/죽음 생각을 직간접 인정(★안전 핵심) |
"자살사고 인정" |
negative_self_perception |
부정적 자기인식 |
자기에 대한 부정·평가절하 표현 |
"부정적 자기인식" |
conflicted |
갈등 상태 |
양가·상충하는 욕구/감정 사이의 갈등 |
"갈등 상태" |
lack_of_confidence |
확신 부족 |
자신감/확신의 결여 표현 |
"확신의 부족" |
affect_contact |
정서 접촉/표현 |
자기 감정에 접촉하고 표현하기 시작 |
"정서와 접촉함", "정서와 사고의 표현" |
thought_organizing |
생각 정리 |
침묵 속에서 자기 생각을 정리 중 |
"생각을 정리함" |
responds_to_exploration |
탐색에 반응 |
상담자 탐색에 응답·협조 |
"상담자의 탐색에 반응함" |
expresses_plan |
계획/욕구 표현 |
자기 계획·욕구·바람을 표현 |
"자신의 계획을 표현함" |
defense_loosening |
방어 완화 |
누적된 반영/탐색으로 방어가 서서히 풀림(진전 신호) |
"방어가 서서히 풀어지고 있음" |
4.1 v1.1.0 추가 상태 (연구팀 태깅 자료 정합)
예시 발화는 모두 합성이며 원문 인용이 아니다. 출처 표기는 §3.6과 동일하다
(ch2_bps / ch3_gestalt / dbt_video / cbt_video).
| code |
한글 |
조작적 정의 |
예시 발화(합성, 내담자) |
출처 |
compliant_surface |
표면 순응 |
겉으로는 상담자 말에 동의·수긍하지만 내면의 변화나 진짜 이해가 따르지 않는 상태. 빠른 동의를 진전으로 오해하지 않도록 구분한다. |
"네, 맞아요. 선생님 말씀이 다 맞죠. 그렇게 해야죠." (별다른 정서 없이) |
ch2_bps |
externalizing |
문제 외재화 |
문제의 원인·책임을 자신이 아닌 타인·상황에 돌려 자기 몫을 보지 않는 상태. |
"저는 문제없어요. 애가 학교만 제대로 가면 다 괜찮아질 거예요." |
ch2_bps, cbt_video |
seeks_guidance |
지시 요청 |
스스로 탐색하기보다 상담자의 판단·지시·정답을 직접 요구하는 상태. |
"그래서 제가 어떻게 하면 되는 거예요? 그냥 답을 좀 알려 주세요." |
cbt_video |
apparent_competence |
겉보기 유능함 |
회기 안에서는 유능하고 안정돼 보이지만 실제 위기 상황에서는 대처가 무너지는 괴리 상태. |
"저 괜찮아요. 회사에서도 다들 일 잘한다고 하고, 잘 지내고 있어요." (위기 직후임에도) |
dbt_video |
active_passivity |
적극적 수동성 |
스스로 문제를 해결하지 못하고 그 해결을 적극적으로 타인에게 넘기거나 무력하게 기다리는 상태. |
"저는 못 해요. 선생님이 대신 좀 해 주시면 안 돼요? 저 혼자서는 아무것도 안 돼요." |
dbt_video |
self_harm_disclosure |
자해 보고 |
자해 행동·충동을 보고하는 상태로, 자살사고 인정(suicidal_ideation_admit)과 구분해 사정한다. 방법·도구 묘사는 담지 않는다(★안전 핵심). |
"요즘 너무 힘들면… 저도 모르게 제 몸을 상하게 하게 돼요." |
dbt_video |
somatic_complaint |
신체증상 호소 |
감정을 직접 말하기 어려워 답답함·숨막힘·두근거림 같은 신체 감각으로 고통을 호소하는 상태. |
"그냥 가슴이 답답하고 숨이 안 쉬어져요. 자다가도 심장이 두근거려서 깨요." |
ch2_bps |
affect_masking |
감정 가림 |
무거운 내용을 웃음·무덤덤한 태도로 덮어 정서 표현을 가리는 상태. |
"뭐 별거 아니에요. (웃으며) 그냥 늘 있는 일인데요, 괜찮아요." |
ch3_gestalt |
focus_drift_fusion |
초점 이탈/융합 |
자기 이야기를 하다 자녀·타인 이야기로 초점이 흩어지며 자기와 타인의 경계가 흐려지는(융합) 상태. |
"제 얘기요? 아… 그게, 우리 애가요, 걔가 요즘 학교를 안 가서…" |
ch2_bps, ch3_gestalt |
2종으로 분리한다. critique 는 intent_deviation(의도 vs 실제)을 구조화한다(윤찬: 1급 시민).
| kind |
정의 |
0615 예시 |
rationale |
왜 이 반응이 적절한가 — 근거·의도 설명 |
"비자발적 내담자의 초기 상담에서는 상담자의 적극적인 안내가 필요함" |
critique |
개선점·주의 — 과도/부족/평가적 시각 등 |
"과도한 자기개방일 수 있음", "비언어적 반응의 반영이 더 되었으면 좋았을 것임", "평가적인 시각을 줄 수 있음" |
critique 선택 필드: dimension(평가 차원) · expected(권장 의도) · actual(실제) · severity(minor/moderate/major) · author(ai/supervisor).
6. 발화 Annotation 스키마 (golden 단위)
docs/golden_schema.jsonl 한 줄 = Annotation 하나. README JSONL 스키마를 3축 분리로 격상.
{
"utterance_id": "0615-C-001", // 화자(C=상담자/K=내담자)+seq 인코딩
"speaker": "counselor", // counselor | client
"stage": "라포", // 라포 | 탐색 | 개입 | 정리
"seq": 0, // 회기 내 발화 순서(0-based)
"text": "…", // 발화 텍스트(합성 변형, 원문 미적재)
"techniques": ["self_disclosure"], // (A) 상담자 발화만
"client_states": [], // (B) 내담자 발화만
"comments": [{"kind": "rationale", "text": "…", "author": "ai"}], // (C)
"nonverbal": ["(쓴웃음)"], // 비언어 단서 원문 표기(상태판정 보조)
"source": "0615_synthetic" // provenance
}
7. DB 코드테이블 동기화
MASTERPLAN.md §3.2 코드테이블에 enum value(code)를 적재, 다대다 연결.
| taxonomy 축 |
DB 코드테이블 |
다대다 연결 |
label_id 참조 |
Technique |
technique_label_def(code, category, ko) |
turn_technique(turn_id, label_id) |
kb.chunk.label_id |
ClientState |
client_state_def(code, ko) |
turn_client_state(turn_id, label_id) |
— |
Stage |
stage_def(code) |
turns.stage |
— |
SupervisorComment |
supervisor_comment(turn_id, kind, text, intent_deviation JSONB) |
(1:N) |
— |
라벨 추가 시: enum 에 append → technique_label_def seed → TAXONOMY_VERSION minor++. 기존 code 변경 금지(골든셋 재현성).
8. 버전 이력
| 버전 |
날짜 |
변경 |
| 1.0.0 |
초기 |
0615 파란색 라벨 정규화 — Technique 21종·ClientState 11종·Stage 4·CommentKind 2. |
| 1.1.0 |
2026-07-15 |
연구팀 태깅 축어록 4종(ch2_bps·ch3_gestalt·dbt_video·cbt_video) 정합. Technique 9종(clarification, scaling, chain_analysis, cognitive_restructuring, behavioral_alternative, commitment_strategy, here_and_now_focus, restatement, skills_coaching)·ClientState 9종(compliant_surface, externalizing, seeks_guidance, apparent_competence, active_passivity, self_harm_disclosure, somatic_complaint, affect_masking, focus_drift_fusion) append-only 추가(§3.6·§4.1). 기존 code 불변. |