[Paper] 톨킨의 『호빗』에서 감정 톤 정량화: 대화 감성 분석 with RegEx, NRC-VAD, and Python
Source: arXiv - 2512.10865v1
개요
Lilian Qiu의 논문은 간단한 Python 파이프라인을 적용해 The Hobbit의 모든 대사 라인에 대한 감정 톤을 측정한다. 정규표현식으로 대화를 추출하고 NRC‑VAD (Valence‑Arousal‑Dominance) 사전을 이용해 점수를 매겨, 톨킨의 서사 분위기가 소설 전반에 걸쳐 어떻게 변하는지를 시각화한다. 결과는 전반적으로 밝고 차분한 이야기 흐름이 점차 주체성을 얻는다는 것을 보여주며, 가벼운 NLP 도구만으로도 문학적 리듬을 드러낼 수 있음을 시사한다.
주요 기여
- 정규표현식만으로 고전 소설에서 자동 대화 추출
- NRC‑VAD를 이용한 감성 점수 부여 – 단일 극성 라벨이 아닌 세 가지 해석 가능한 차원(Valence, Arousal, Dominance) 제공
- 시간에 따른 감정 궤적 시각화 (라인‑별 그래프, 이동 평균, 워드 클라우드) – 소설의 분위기 변화를 손쉽게 탐색 가능
- 재현 가능하고 의존성이 낮은 워크플로 시연 (Python 3,
re,pandas,matplotlib,seaborn) – 인용 부호가 있는 모든 텍스트에 적용 가능
방법론
- 데이터 수집 – The Hobbit 전체 텍스트(퍼블릭 도메인 버전)를 Python으로 로드
- 대화 감지 – 정규표현식 패턴 (
\".*?\")을 사용해 인용 부호 사이의 모든 내용을 캡처, 중첩 인용 및 줄 바꿈 등 예외 상황 처리 - 전처리 – 토큰을 소문자로 변환하고, 구두점을 제거하며, NRC‑VAD 사전 형식에 맞추기 위해 불용어 제거
- 사전 조회 – 각 토큰을 VAD 점수(0‑1 스케일)와 매칭. 사전에 없는 토큰은 무시
- 집계 – 각 대사 라인별로 평균 Valence, Arousal, Dominance 점수 계산
- 시간적 스무딩 – 롤링 윈도우(크기 = 10 라인)를 적용해 장기적인 감정 추세를 강조하는 부드러운 곡선 생성
- 시각화 –
matplotlib/seaborn을 이용해 라인 그래프, 히트맵, VAD 값에 가중된 워드 클라우드 생성
전체 파이프라인은 일반 노트북에서 1분 이내에 실행되며, 무거운 머신러닝 모델이 전혀 필요하지 않다.
결과 및 발견
| 차원 | 전체 추세 | 해석 |
|---|---|---|
| Valence (긍정성) | 평균 높음 (~0.68)이며 약간 상승 | 대화가 전반적으로 밝으며, 위험 상황도 유머나 동료애로 빠르게 상쇄됨 |
| Arousal (흥분도) | 평균 낮음 (~0.34)이며 비교적 평탄 | 톨킨의 서사는 차분한 서술 속도를 유지; 전투 장면에서 급증하지만 짧게 지속 |
| Dominance (통제감) | ~0.45에서 ~0.58로 점진적 상승 | 빌보의 여정이 진행될수록 등장인물(특히 빌보)의 주체성과 자신감이 증가 |
시각화에서는 트롤, 고블린, 스마우그와의 조우 시 “Valence dip”이 나타났으며, 이후 빠른 회복이 관찰된다. 워드 클라우드에서는 고긍정 단어(“cheer”, “laugh”, “friend”)와 저흥분 단어(“quiet”, “still”)가 군집을 이룬다.
실용적 함의
- 어떤 서사에도 적용 가능한 빠른 감성 프로파일링 – 독서 보조 도구, 게임 대화 시스템, 인터랙티브 픽션을 개발하는 사람들은 맞춤형 모델을 학습하지 않고도 감정 흐름을 파악할 수 있다.
- 콘텐츠 모더레이션 및 연령 적합 필터링 – Valence와 Arousal을 정량화함으로써 급격한 공격성 스파이크 등 이례 구간을 자동으로 감지 가능.
- 내러티브 디자인 분석 – 게임 작가와 시나리오 라이터가 대사 감정 곡선을 시각화해 긴장과 완화의 균형을 조절할 수 있다.
- 교육 기술 – 언어 학습 앱이 “감정이 풍부한” 문장을 강조해 학습자의 문학적 몰입을 촉진.
- 오픈소스 재현성 – 표준 라이브러리만 사용하므로 CLI 도구나 Jupyter Notebook 형태로 손쉽게 기존 파이프라인에 통합 가능.
한계 및 향후 연구
- 사전 커버리지 – NRC‑VAD는 고어·판타지 특유 용어(예: “gollum”, “smaug”)를 많이 포함하지 않아 해당 토큰을 무시하게 되고, 점수에 편향이 생길 수 있다.
- 맥락적 뉘앙스 – VAD 점수는 정적이며, 풍자·반어 혹은 다중 단어 표현(예: “not at all”)을 포착하지 못한다.
- 대화만을 대상으로 함 – 서술 prose와 내면 독백은 제외돼 감정 전반상이 불완전하다.
- 향후 방향 – 컨텍스트 임베딩(BERT 기반 감성 모델) 도입으로 OOV 단어 처리, 도메인 특화 항목을 추가한 사전 확장, 다중 인물 상호작용 그래프(누가 누구와 대화했는가) 구축 등을 통해 분석 깊이 강화.
Lilian Qiu의 연구는 몇 줄의 Python 코드만으로도 사랑받는 고전을 데이터 기반 사례 연구로 전환할 수 있음을 보여주며, 개발자들이 텍스트 중심 제품에 동일한 감정 인사이트를 적용할 수 있는 길을 열어준다.
저자
- Lilin Qiu
논문 정보
- arXiv ID: 2512.10865v1
- Categories: cs.CL
- Published: December 11, 2025
- PDF: Download PDF