haewon 보정 라벨 29건으로 1차 보정을 마쳤다. sentiment 일치율이 75%로 기준선 80%에 미달해 불일치 7건에서 규칙 R1~R5를 뽑아 기준표와 판정기 프롬프트에 넣었다. 규칙 (기준표 §2) - R1 결론 단락이 개별 항목보다 우선한다 - R2 mixed 는 긍정과 부정이 대등하게 병존할 때만 - R3 "후기 수가 많다"는 규모 서술이며 긍정 평가가 아니다 - R4 평가 축이 있는 목록에 포함되면 positive - R5 강점 서술은 출처가 병원 홍보라도 positive R4-a(목록에서 결론이 대상 병원을 빼면 positive 아님)와 R6(결론 없는 카탈로그는 neutral)은 시험 투입 후 철회했다. 일치율이 93%에서 89%로 떨어졌다. 하나 고치면 하나 깨진다. n=29 에서는 과적합이므로 R1~R5 에서 멈춘다. 결정론적 언급 탐지기 (기준표 §2-1, mention_kind) sentiment 를 매기기 전에 상호 존재를 정규식으로 먼저 판정하고, 판정기가 언급이라 해도 탐지기가 없다고 하면 not_mentioned 로 덮는다. 언급 수가 모든 비율의 분모다. - URL 을 먼저 지운다. news.nate.com/view/... 의 "view" 를 언급으로 세던 오탐 3건 제거 - "리뷰"의 "뷰" 처럼 다른 낱말의 일부인 약칭을 뺀다. G-04 오탐 제거 - 한글 상호의 음절 사이 공백을 허용한다. "뷰 성형외과" 미탐지 2건 해소 언급 84 → 83, 약한 언급 3 → 1. 수치 (뷰성형외과 240건) 감성 점수 53.6 → 58.4. 약한 언급 1건 제외 시 57.9. mixed 10 → 0. haewon 라벨 대비 일치율 93%는 같은 표본으로 규칙을 고친 값이라 확정 근거가 아니다. 기준표 확정은 새 30건 2차 보정으로 한다. 리포트와 요약 JSON 에 confirmed=false 로 적었다. 월간 실측 체인 (scripts/monthly_ai_measure.py, 핸드오버 §2-4) 질문 뱅크 러너 → 감성 판정 → 리포트 → supporter_builds.report.sentiment 를 한 명령으로 묶었다. 보정은 사람 게이트이므로 체인에 넣지 않았다. 질문 뱅크 러너가 아직 뷰성형외과 전용이라 다른 병원으로 넓히려면 러너를 먼저 매개변수화해야 한다. 버그 수정 - --summary 를 --calibration 없이 돌리면 §7 생성에서 죽던 문제. 핸드오버가 권장하는 명령이 그대로 터졌다(--calibration 은 haewon 라벨을 지우므로 빼야 한다) - 결과 jsonl 의 rubric 필드와 리포트 머리말의 기준표 버전이 v0.1 로 하드코딩돼 있었다 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
66 lines
4.5 KiB
Markdown
66 lines
4.5 KiB
Markdown
# AI 답변 감성 판정 기준표 v0.1
|
||
|
||
작성 2026-09-08 · 상태: 초안, haewon 보정 대기 · 적용 스크립트 `scripts/sentiment_qb.py`
|
||
|
||
## 1. 무엇을 재는가
|
||
|
||
질문 뱅크(120문항)를 답변엔진에 물어 받은 답변 안에서 **대상 병원이 어떤 어조로 언급되는지**를 판정한다. 브랜드 범용 도구(FrostAI 등)의 "감성 점수"에 대응하는 지표지만, 병원은 부정 신호의 대부분이 규제·사건 보도이므로 그 항목을 따로 센다.
|
||
|
||
측정 원칙은 질문 뱅크와 같다. 소비자 UI 자동 조회는 하지 않고 공식 API 답변만 쓴다. 답변 원문은 저장하되 리포트에는 근거 문장 한 줄만 인용한다.
|
||
|
||
## 2. 판정 단위와 값
|
||
|
||
답변 1건 = 판정 1건. 판정기는 아래 JSON을 낸다.
|
||
|
||
| 필드 | 값 | 설명 |
|
||
|---|---|---|
|
||
| mentioned | true / false | 대상 병원(별칭 포함)이 답변에 나오는가. 추출기의 `view_mentioned`와 교차 확인 |
|
||
| sentiment | positive / neutral / negative / mixed / not_mentioned | 병원에 대한 어조. 언급이 없으면 not_mentioned |
|
||
| aspects | 배열 | 아래 §3 측면 태그 중 해당하는 것 |
|
||
| negative_type | none / regulatory / safety / service / price / reputation / other | 부정이면 어떤 종류인가 |
|
||
| evidence | 문장 1개 | 판정 근거가 된 답변 원문 문장 (요약 금지, 그대로 인용) |
|
||
| recommendation | recommended / listed / cautioned / not_applicable | 병원을 추천했는가, 목록에 나열만 했는가, 주의를 붙였는가 |
|
||
| confidence | 0~1 | 판정기 자신감 |
|
||
|
||
### 어조 판정 규칙
|
||
|
||
- **positive**: 병원의 강점을 서술하거나 추천 근거로 든다. 예: "안전 시스템이 갖춰진 병원", "가슴성형 전문으로 평가받는다".
|
||
- **neutral**: 사실 나열, 목록 포함, 위치·진료과목 안내처럼 평가 없는 언급.
|
||
- **negative**: 부정 사실을 서술하거나 주의를 권한다. 예: "공정위 시정명령을 받았다", "후기 광고 논란이 있었다", "부작용 사례가 보고됐다".
|
||
- **mixed**: 긍정과 부정이 한 답변에 함께 있다. 점수 계산에서는 negative 쪽으로 센다(보수적).
|
||
- 다른 병원에 대한 평가는 세지 않는다. 대상 병원 문장만 본다.
|
||
- "확인이 필요하다", "직접 상담을 권한다" 같은 일반 주의 문구는 negative가 아니라 neutral이다. 병원 고유의 문제를 지목할 때만 negative다.
|
||
|
||
## 3. 측면 태그
|
||
|
||
| 태그 | 포함 |
|
||
|---|---|
|
||
| doctors | 의료진, 전문의, 경력, 원장 |
|
||
| safety | 안전 시스템, 마취, 부작용, 사고, 회복 관리 |
|
||
| price | 가격, 비용, 견적, 할인 |
|
||
| reviews | 후기, 평판, 만족도, 리뷰 수 |
|
||
| regulatory | 공정위, 시정명령, 의료법 위반, 광고 제재, 소송 |
|
||
| procedure | 시술·수술 종류, 장비, 기술, 전문 분야 |
|
||
| access | 위치, 예약, 외국어 응대, 편의 |
|
||
| media | 방송 출연, 언론 보도, 수상 |
|
||
|
||
## 4. 점수
|
||
|
||
- **감성 점수(0~100)** = (positive × 100 + neutral × 50 + mixed × 25 + negative × 0) ÷ 언급된 답변 수. Frost의 감성 점수와 같은 척도로 비교할 수 있게 했다.
|
||
- **부정 비율** = negative + mixed ÷ 언급된 답변 수.
|
||
- **규제 언급률** = negative_type이 regulatory인 답변 ÷ 언급된 답변 수. 병원 전용 보조 지표.
|
||
- **추천율** = recommendation이 recommended인 답변 ÷ 언급된 답변 수.
|
||
- 엔진별로 따로 내고, 브랜드 질문(A·B)과 논브랜드 질문을 분리한다. 논브랜드에서 언급되며 긍정인 것이 가장 가치 있는 신호다.
|
||
|
||
## 5. 보정 절차 (공신력)
|
||
|
||
1. 판정 결과에서 30건을 무작위로 뽑아 `*_calibration.xlsx`에 담는다. 판정기 값은 숨기고 haewon이 sentiment와 negative_type을 직접 적는다.
|
||
2. 일치율을 계산한다. sentiment 일치 80% 이상이면 기준표를 확정한다. 미만이면 불일치 사례를 §2 규칙에 예시로 추가하고 다시 돌린다.
|
||
3. 확정 후에는 같은 기준표·같은 모델로만 월간 실행한다. 모델을 바꾸면 보정을 다시 한다.
|
||
|
||
## 6. haewon이 정할 것
|
||
|
||
- **부정의 범위**: "후기 광고 논란"처럼 사실이지만 병원에 불리한 언급을 negative로 볼지, 규제 사실 서술은 neutral로 볼지. 초안은 negative다.
|
||
- **mixed 처리**: 점수에서 25점으로 셀지, 제외할지. 초안은 25점.
|
||
- **다른 병원 추천 문맥**: 대상 병원이 언급되지 않고 경쟁 병원만 추천된 답변을 별도 지표(경쟁 노출)로 셀지.
|