도움말
EmoFEAT 기능 및 사용법 종합 가이드
목차
1. 빠른 시작 가이드
- 파일 업로드: CSV, Excel(.xlsx), TXT 또는 PDF 파일을 업로드합니다.
- 분석 컬럼 선택: 텍스트가 포함된 컬럼을 선택합니다.
- 전처리 옵션 설정: 불용어 제거, 최소 단어 길이 등을 설정합니다.
- 분석 실행: "분석 시작" 버튼을 클릭합니다.
- 결과 확인: TF, TF-IDF, 네트워크 중심성, 토픽 모델링, 감정 분석 결과를 확인합니다.
- 다운로드: Excel 파일로 결과를 다운로드합니다.
분석 시간은 문서 수와 텍스트 길이에 따라 달라지며, 일반적으로 500개 문서 기준 1-2분 소요됩니다.
2. 지원 파일 형식
| 형식 | 확장자 | 권장 사용 | 주의사항 |
|---|---|---|---|
| CSV | .csv | 권장 | UTF-8 인코딩 권장 |
| Excel | .xlsx, .xls | 권장 | 첫 번째 시트만 분석 |
| 텍스트 | .txt | 제한적 | 줄 단위로 문서 구분 |
파일 크기는 최대 50MB까지 지원합니다. 대용량 파일은 분할하여 업로드하세요.
3. 전처리 파이프라인
EmoFEAT은 8단계 전처리 파이프라인을 통해 원시 텍스트를 분석에 적합한 형태로 변환합니다. 각 단계의 토큰 수 변화는 전처리 리포트에서 확인할 수 있어 연구의 재현성을 보장합니다.
3.1 텍스트 정제 (Text Cleaning)
URL, HTML 태그, 이메일 주소, 특수문자, 숫자 등 분석에 불필요한 노이즈를 정규표현식 기반으로 제거합니다.
3.2 토큰화 (Tokenization)
텍스트를 의미 있는 단위(토큰)로 분리합니다.
- 한국어: KoNLPy 형태소 분석기 (Okt 또는 Komoran) 사용
- 영어: NLTK word_tokenize 사용
3.3 PMI Collocation 탐지
점별 상호정보량(Pointwise Mutual Information)을 사용하여 강하게 함께 나타나는 단어쌍(연어)을 탐지합니다. PMI가 설정된 임계값(기본 5.0)을 넘는 단어쌍은 강한 연어 결합으로 판단하여 합성어로 결합됩니다. PMI는 통계적 유의성 검정이 아닌 결합 강도 지표입니다.
3.4 불용어 제거 — 4계층 체계 (Stopword Removal)
단일 목록을 통째로 적용하는 대신, 제거 근거가 다른 어휘를 네 계층으로 나누어 각각 켜고 끌 수 있게 했습니다. 근거가 다르면 연구 목적에 따라 적용 여부도 달라져야 하기 때문입니다. 결과 화면은 계층별로 무엇이 몇 번 제거되었는지 보고하므로, 논문 방법론 절에 그대로 기술할 수 있습니다.
| 계층 | 예시 | 제거 근거 |
|---|---|---|
| T1 문법 기능어 + 축약형 파편 226개 · 기본 ON |
the, of, is, and, don, ’t, ’re |
거의 모든 문서에 고르게 나타나 df(t)≈N 이므로 IDF가 1에 수렴합니다. 빈도 상위를 독식하면서 문서를 구분하지는 못합니다. 축약형 파편은 토큰화 부산물이라 의미가 없습니다. (Luhn 1958; Manning et al. 2008) |
| T2 필러 · 감탄사 담화 표지 116개 · 기본 ON |
ah, hey, yes, uh, oh_dear, please, truly |
자막·전사·댓글에서 급증하지만 화자의 태도와 순서교대를 표시할 뿐 주제를 지시하지 않습니다. 화행·대화 구조·공손성 연구가 목적이라면 이 계층은 꺼야 합니다 — 그때는 이 어휘가 분석 대상입니다. (Biber 1988; Schiffrin 1987) |
| T3 일반 경량어 216개 · 기본 ON |
thing, way, time, year, day, look, man, word, talk, get, make, take |
형태는 내용어지만 지시 범위가 넓어 변별력이 없습니다. 경량 동사는 의미의 무게가 목적어에 실려(take a look) 동사 자체는 정보를 담지 않습니다. 남겨두면 빈도 상위 20위를 통째로 잠식합니다. 감정 어휘(love, hate, fear 등)는 분석 대상이므로 제외했습니다. (Jespersen 1954; Scott 1997) |
| T4 호칭 · 인명 단위어 99개 · 기본 OFF |
comrade, honey, Lee, Kim, oppa, km |
서사·대화 코퍼스에서 등장인물 호칭이 빈도 최상위를 차지하지만 주제어가 아닙니다. 코퍼스 의존적이라 기본값은 꺼져 있습니다. 동형이의 주의: park·moon·song·han·oh 처럼 영어 단어와 겹치는 성씨는 오제거를 막기 위해 목록에서 뺐습니다 — 필요하면 사용자 정의 불용어로 추가하세요. (Baker 2006) |
부정어 보존 옵션. 기본 목록은 not·never·no를 T1에 포함합니다. 정보 검색 관행이지만 감정 분석에서는 위험합니다 — “I do not like this”에서 not을 지우면 like만 남아 극성이 뒤집힙니다. 이 옵션을 켜면 부정어가 보존됩니다. 감정을 다루는 분석에는 켜기를 권합니다. (Pang & Lee 2008)
TF-IDF가 알아서 처리하지 않나요? 부분적으로만 그렇습니다. IDF는 df(t)가 큰 단어의 가중치를 낮추지만 0으로 만들지 않습니다 — df(t)=N 일 때도 idf(t)=1 입니다. 게다가 문서별 L2 정규화를 적용하므로 기능어가 벡터 길이에 기여하면 실제 주제어의 가중치가 함께 희석됩니다.
3.5 표제어 추출 (Lemmatization)
WordNet 기반으로 단어의 기본형(lemma)을 추출하여 형태가 다른 동일 개념을 통일합니다.
예: running, ran, runs -> run
3.6 검색 키워드 제거
데이터 수집 시 사용된 검색어를 자동으로 탐지하여 제거합니다. 이를 통해 TF 결과의 타당성을 높입니다.
3.7 최종 필터링
최소 단어 길이, 최소 빈도 등의 조건에 따라 최종 필터링을 수행합니다.
3.8 리포트 생성
각 단계별 토큰 수 변화량을 기록하여 전처리 리포트를 생성합니다.
Church, Kenneth Ward, and Patrick Hanks. "Word Association Norms, Mutual Information, and Lexicography." Computational Linguistics 16, no. 1 (1990): 22-29. doi:10.1162/coli.1990.16.1.22
4. BERT & GoEmotions 이론
RoBERTa GoEmotions 분석의 이해를 위해 그 기반 모델인 BERT와 RoBERTa의 구조, 그리고 GoEmotions 데이터셋에 대한 학술적 배경을 설명합니다.
4.1 BERT (Bidirectional Encoder Representations from Transformers)
BERT(Devlin et al., 2019)는 Google이 개발한 사전학습(pre-trained) 언어 모델로, Transformer의 인코더(encoder) 구조만을 사용합니다. 핵심 혁신은 양방향 문맥(bidirectional context)의 동시 학습에 있습니다. 기존 언어 모델이 왼쪽에서 오른쪽(또는 오른쪽에서 왼쪽) 단방향으로만 문맥을 파악한 것과 달리, BERT는 마스크드 언어 모델링(Masked Language Modeling, MLM)을 통해 문장 내 모든 방향의 문맥을 동시에 학습합니다.
Figure 1. BERT 아키텍처 개요
| 구성 요소 | BERT-base | 설명 |
|---|---|---|
| Transformer 레이어 | 12층 | 각 층에서 Self-Attention + Feed-Forward 연산 수행 |
| Hidden Size | 768차원 | 각 토큰의 문맥 벡터 차원 수 |
| Attention Heads | 12개 | Multi-Head Attention으로 다양한 문맥 패턴 포착 |
| 파라미터 수 | 110M | 1억 1천만 개의 학습 가능한 가중치 |
| 사전학습 데이터 | BookCorpus + English Wikipedia | 약 33억 단어 규모의 비지도 학습 |
| 학습 방식 | MLM + NSP | Masked Language Model + Next Sentence Prediction |
Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding." Proceedings of NAACL-HLT (2019): 4171-4186. doi:10.18653/v1/N19-1423
4.2 RoBERTa (Robustly Optimized BERT Approach)
RoBERTa(Liu et al., 2019)는 Facebook AI Research가 BERT의 학습 전략을 체계적으로 재검토하여 최적화한 모델입니다. 아키텍처 자체는 BERT와 동일하지만, 다음과 같은 학습 방법론의 개선을 통해 성능을 크게 향상시켰습니다.
Figure 2. BERT vs RoBERTa 학습 전략 비교
BERT
- 16GB 학습 데이터
- Static Masking (고정 마스크)
- NSP 과제 포함
- 256 배치 사이즈
RoBERTa
- 160GB 학습 데이터 (10배)
- Dynamic Masking (동적 마스크)
- NSP 과제 제거
- 8K 배치 사이즈 (32배)
| 개선 사항 | BERT | RoBERTa | 효과 |
|---|---|---|---|
| 학습 데이터 | 16GB | 160GB | 10배 대규모 사전학습으로 일반화 성능 향상 |
| 마스킹 전략 | Static Masking | Dynamic Masking | 에포크마다 새로운 마스크 패턴으로 학습 다양성 확보 |
| NSP 과제 | 포함 | 제거 | 불필요한 과제 제거로 MLM에 집중 |
| 배치 사이즈 | 256 | 8K | 대규모 배치로 학습 안정성 및 효율 개선 |
| 토크나이저 | WordPiece (30K) | BPE (50K) | 더 큰 어휘로 서브워드 분절 효율 향상 |
Liu, Yinhan, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. "RoBERTa: A Robustly Optimized BERT Pretraining Approach." arXiv preprint arXiv:1907.11692 (2019). doi:10.48550/arXiv.1907.11692
4.3 RoBERTa GoEmotions & GoEmotions Dataset
RoBERTa GoEmotions 감정 분류 모델은 위의 RoBERTa-base 모델을 Google Research의 GoEmotions 데이터셋(Demszky et al., 2020)으로 미세조정(fine-tuning)한 감정 분류 모델입니다. GoEmotions는 Reddit 댓글 58,009건에 대해 82명의 평가자가 28개 감정 범주를 라벨링한 대규모 감정 데이터셋입니다.
Figure 3. RoBERTa GoEmotions 감정 분류 파이프라인
GoEmotions 데이터셋의 28개 감정 범주는 Ekman(1992)의 6대 기본 감정을 넘어, 현대 커뮤니케이션에서 나타나는 세분화된 감정 표현을 포착할 수 있도록 설계되었습니다. 12개 긍정 감정(admiration, amusement, approval 등), 11개 부정 감정(anger, annoyance, disappointment 등), 5개 혼합/모호 감정(confusion, curiosity, surprise 등)으로 구성됩니다.
Demszky, Dorottya, Dana Moberg, Emily Kang, Peter J. Liu, Slav Petrov, and Jeongwoo Ko. "GoEmotions: A Dataset of Fine-Grained Emotions." Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics (2020): 4040-4054. doi:10.18653/v1/2020.acl-main.372
4.4 딥러닝 vs 사전 기반 감정 분석 비교
EmoFEAT은 두 가지 감정 분석 방법론을 제공합니다. NRC Emotion Lexicon(Mohammad & Turney, 2013)을 사용한 사전 기반 분석과 RoBERTa GoEmotions을 사용한 딥러닝 기반 분석입니다. 두 방법론의 특성을 비교하면 다음과 같습니다.
| 비교 항목 | NRC Emotion Lexicon (사전 기반) | RoBERTa GoEmotions (딥러닝 기반) |
|---|---|---|
| 분석 단위 | 개별 단어 수준 | 문장/문서 수준 |
| 문맥 이해 | 불가 (단어 독립적 매칭) | 양방향 문맥 고려 (Self-Attention) |
| 감정 범주 | 8개 (기본 감정 + 극성) | 28개 (GoEmotions 택소노미) |
| 부정/반어 처리 | 제한적 (규칙 기반) | 문맥에서 학습 (높은 정확도) |
| 다국어 지원 | 100+ 언어 (번역 기반 확장) | 영어 전용 |
| 계산 비용 | 매우 빠름 (O(n) 단어 매칭) | 상대적으로 느림 (GPU 권장) |
| 해석 가능성 | 높음 (어떤 단어가 어떤 감정인지 추적 가능) | 제한적 (블랙박스 모델) |
4.5 한계점 및 유의사항
- 영어 전용 모델: RoBERTa GoEmotions 모델은 영어 Reddit 데이터로 학습되었으므로, 한국어 등 다른 언어의 텍스트에서는 정확도가 현저히 낮아질 수 있습니다.
- 도메인 편향: Reddit 커뮤니티의 비격식적(informal) 표현에 최적화되어 있어, 학술 논문이나 뉴스 기사 등 격식적 텍스트에서는 감정 탐지 민감도가 달라질 수 있습니다.
- 토큰 길이 제한: 최대 512 BPE 토큰까지 처리 가능하며, 이를 초과하는 긴 텍스트는 잘림(truncation)이 발생합니다.
- 멀티라벨 vs 단일라벨: GoEmotions 데이터셋은 원래 멀티라벨 데이터셋이나, EmoFEAT에서는 Softmax 기반 단일라벨(가장 높은 확률의 감정) 분류를 사용합니다.
- 통계적 검증의 필요성: 감정 분류 결과만으로 인과관계를 추론하기 어려우므로, 고급 분석(상관분석, ANOVA, 로지스틱 회귀 등)을 통해 통계적으로 검증하는 것이 권장됩니다.
RoBERTa GoEmotions 분류 결과의 신뢰도를 검증하려면 Validate 페이지(/ko/validate)를 활용하세요. 인간 코더가 코딩한 표본과 모델 결과를 비교하여 Cohen's Kappa(κ)와 Krippendorff's Alpha(α) 일치도 지표를 산출할 수 있습니다.
5. RoBERTa GoEmotions 감정분석
RoBERTa GoEmotions 감정분석은 Google Research의 GoEmotions 데이터셋(Reddit 댓글 58,000건)으로 미세조정된 RoBERTa 기반 딥러닝 분석입니다. 기존 Ekman 6대 감정을 넘어 28개의 세밀한 감정을 분류할 수 있습니다.
5.1 모델 개요
| 항목 | 내용 |
|---|---|
| 기반 모델 | RoBERTa-base (Liu et al., 2019) |
| 학습 데이터 | GoEmotions -- Reddit 댓글 58,000건 (Demszky et al., 2020) |
| 감정 분류 수 | 28개 (긍정 12, 부정 11, 혼합 5) |
| HuggingFace 모델 | SamLowe/roberta-base-go_emotions |
| 최대 토큰 수 | 512 토큰 (BPE 토큰화) |
5.2 28개 감정 분류 체계
GoEmotions 택소노미에 따라 28개 감정을 3개 상위 카테고리로 분류합니다:
| 카테고리 | 감정 수 | 감정 목록 |
|---|---|---|
| 긍정 (Positive) | 12 | admiration, amusement, approval, caring, desire, excitement, gratitude, joy, love, optimism, pride, relief |
| 부정 (Negative) | 11 | anger, annoyance, disappointment, disapproval, disgust, embarrassment, fear, grief, nervousness, remorse, sadness |
| 혼합 (Ambiguous) | 5 | confusion, curiosity, realization, surprise, neutral |
5.3 분석 프로세스
- 텍스트 입력: CSV/Excel 파일 업로드 후 분석할 텍스트 컬럼 선택
- BPE 토큰화: RoBERTa 토크나이저가 텍스트를 서브워드 토큰으로 분리
- 문맥 임베딩: 12-layer Transformer 인코더가 양방향 문맥 벡터(768차원) 생성
- 감정 분류: Softmax 분류기가 28개 감정에 대한 확률 분포 산출
- 카테고리 분석: 긍정/부정/혼합 카테고리별 확률 합산
- 상관관계 분석: Pearson 상관계수 기반 28x28 감정 상관행렬 산출
- 통계 산출: 감정별 평균, 표준편차, 중앙값, 최소/최대값 계산
- 시각화 리포트: Plotly.js 인터랙티브 차트 7종 및 Excel 리포트 생성
5.4 결과 페이지 구성
| 섹션 | 내용 |
|---|---|
| 분석 개요 | 총 문서 수, 지배 감정, 평균 신뢰도 등 요약 통계 |
| 감정 분포 | 바 차트, 레이더 차트, 히트맵으로 28개 감정 확률 분포 시각화 |
| 통계 테이블 | 정렬 가능한 28개 감정별 기술통계량 (Mean, SD, Median, Min, Max) |
| 카테고리 분석 | 긍정/부정/혼합 카테고리별 파이 차트 및 세부 감정 비율 |
| 지배 감정 분석 | 도넛 차트와 문서 수 기반 지배 감정 빈도 분석 |
| 문서별 결과 | 개별 문서의 감정 분류 결과 (검색, 필터, 페이지네이션 지원) |
| 상관관계 분석 | 28x28 감정 상관행렬 히트맵 및 Top 20 상관 감정쌍 |
| Excel 다운로드 | 6개 시트 Excel 파일 (요약, 문서별 결과, 확률 행렬, 통계, 상관행렬, 참고문헌) |
5.5 사용 방법
- 홈페이지 또는 네비게이션에서 "GoEmotions Analysis"를 클릭합니다.
- CSV 또는 Excel 파일을 드래그 앤 드롭하거나 업로드 버튼을 클릭합니다.
- 텍스트가 포함된 컬럼을 선택하고 "분석 시작"을 클릭합니다.
- 분석이 완료되면 자동으로 결과 페이지로 이동합니다.
- 각 차트의 다운로드 버튼으로 이미지를 다운로드하거나, Excel 리포트를 다운로드합니다.
RoBERTa GoEmotions 분석은 영어 텍스트에 최적화되어 있습니다. 한국어 텍스트의 경우 정확도가 다소 낮을 수 있으므로, 가급적 영어 텍스트 데이터를 사용하시기 바랍니다.
Demszky, Dorottya, Dana Moberg, Emily Kang, Peter J. Liu, Slav Petrov, and Jeongwoo Ko. "GoEmotions: A Dataset of Fine-Grained Emotions." Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics (2020): 4040-4054. doi:10.18653/v1/2020.acl-main.372
6. 고급 SCIE 분석
RoBERTa GoEmotions 기본 분석이 완료되면 고급 통계 분석(평점-감정 상관, 클러스터링, 엔트로피, 감정 전이, 예측 요인, 시계열 트렌드)과 PPMI 기반 감정 동시출현 네트워크 분석이 수행됩니다. 각 분석은 SCIE급 학술 논문에서 요구하는 수준의 통계적 검증을 제공합니다.
고급 분석은 기본 RoBERTa GoEmotions 분석 완료 후 결과 페이지에서 자동으로 실행됩니다. 분석 종류에 따라 최소 문서 수 요건이 다르므로, 데이터가 부족한 경우 일부 분석이 생략될 수 있습니다.
6.1 평점-감정 상관분석
데이터에 평점(rating) 컬럼이 포함된 경우, 평점과 28개 감정 확률 간의 통계적 관계를 분석합니다.
| 분석 방법 | 설명 | 해석 |
|---|---|---|
| Pearson 상관계수 | 선형 상관관계 측정 | |r| > 0.3이면 의미 있는 상관 |
| Spearman 상관계수 | 순위 기반 상관관계 측정 | 비선형 관계도 포착 가능 |
| ANOVA (F-test) | 평점 그룹 간 감정 차이 검정 | p < 0.05이면 그룹 간 유의한 차이 |
| Tukey HSD | 사후검정 (다중비교) | 어떤 그룹 간에 차이가 있는지 식별 |
요구 조건: 데이터에 평점(rating) 컬럼이 반드시 포함되어야 합니다. 평점 컬럼이 없으면 이 분석은 자동으로 생략됩니다.
6.2 감정 클러스터링
K-Means 알고리즘으로 28개 감정 확률 벡터를 기반으로 문서들을 유사한 감정 패턴의 그룹(클러스터)으로 분류합니다.
- 최적 K 탐색: Silhouette Score를 기준으로 2~10개 클러스터 중 최적 K를 자동 선택합니다.
- t-SNE 시각화: 고차원(28차원) 감정 벡터를 2D로 축소하여 클러스터 분포를 시각적으로 표현합니다.
- 클러스터 프로파일: 각 클러스터의 대표 감정과 문서 수를 제공합니다.
최소 문서 수: 10개 이상의 문서가 필요합니다. 문서 수가 10개 미만이면 클러스터링이 수행되지 않습니다.
6.3 모델-인간 코더 검증 (Cohen's κ / Krippendorff's α)
별도의 Validate 페이지(/ko/validate)에서 RoBERTa GoEmotions 모델의 분류 결과를 인간 코더가 수작업으로 코딩한 표본과 비교하여 신뢰도·타당도를 평가할 수 있습니다.
- Cohen's Kappa (κ): 모델 분류와 인간 코더 판정 간의 일치도를 측정합니다. 우연에 의한 일치를 보정한 지표입니다.
- Krippendorff's Alpha (α): 명목형(nominal) 척도 기준으로 코더 간 신뢰도를 평가합니다. 다수 코더·결측치에도 적용 가능합니다.
- 입력 형식: 모델 분석 결과에 인간 코더의 감정 라벨 컬럼을 추가한 표본 파일을 업로드합니다.
상세한 입력 형식, 부트스트랩 신뢰구간, 혼동행렬, 인간 코딩 도구(Annotate)는 8장 측정 검증 및 인간 코딩을 참조하세요.
| Cohen's Kappa | 일치도 해석 |
|---|---|
| 0.81 - 1.00 | 거의 완벽한 일치 (Almost Perfect) |
| 0.61 - 0.80 | 상당한 일치 (Substantial) |
| 0.41 - 0.60 | 보통 일치 (Moderate) |
| 0.21 - 0.40 | 약한 일치 (Fair) |
| < 0.20 | 미미한 일치 (Slight/Poor) |
6.4 감정 엔트로피 분석
Shannon Entropy를 사용하여 각 문서의 감정 분포가 얼마나 불확실(다양)한지를 측정합니다.
- 높은 엔트로피: 여러 감정이 고르게 분포 -- 감정이 복합적이거나 모호한 텍스트
- 낮은 엔트로피: 하나의 감정이 지배적 -- 명확한 감정 표현
- Mann-Whitney U 검정: 평점 그룹 간 엔트로피 차이가 통계적으로 유의한지 검증합니다.
Shannon, Claude E. "A Mathematical Theory of Communication." The Bell System Technical Journal 27, no. 3 (1948): 379-423. doi:10.1002/j.1538-7305.1948.tb01338.x
6.5 감정 전이 분석
문서 순서(시간 또는 인덱스)에 따른 감정 변화 패턴을 분석합니다.
- Stacked Area Chart: 긍정/부정/혼합 감정 비율의 시계열 변화를 시각화합니다.
- 트렌드 라인: 이동 평균(Moving Average)을 사용한 감정 추세를 표시합니다.
- 구간별 분석: 전체 데이터를 구간으로 나누어 감정 변화의 방향성을 파악합니다.
최소 문서 수: 20개 이상의 문서가 필요합니다. 시계열 분석의 특성상 충분한 데이터 포인트가 있어야 의미 있는 트렌드를 도출할 수 있습니다.
6.6 감정 예측 요인 분석
이진 로지스틱 회귀(Binary Logistic Regression)를 사용하여 지배 감정을 예측하는 주요 요인을 식별합니다.
- 종속변수: 지배 감정 여부 (긍정 vs 비긍정, 또는 특정 감정 vs 기타)
- 독립변수: 28개 감정 확률값
- Odds Ratio: 각 감정 확률이 1단위 증가할 때 지배 감정이 나타날 확률의 변화 비율
- 95% 신뢰구간: Odds Ratio의 통계적 신뢰 범위를 제공합니다.
최소 문서 수: 30개 이상의 문서가 필요합니다. 로지스틱 회귀의 안정적인 추정을 위해 충분한 표본 크기가 필요합니다.
Hosmer, David W., Stanley Lemeshow, and Rodney X. Sturdivant. Applied Logistic Regression. 3rd ed. Wiley, 2013. ISBN: 978-0-470-58247-3
6.7 결과 해석 시 유의사항
| 분석 | 최소 문서 수 | 추가 요건 |
|---|---|---|
| 평점-감정 상관분석 | 제한 없음 | 평점(rating) 컬럼 필요 |
| 감정 클러스터링 | 10개 이상 | - |
| 모델-인간 코더 검증 (κ/α) | 제한 없음 | 인간 코더 라벨 컬럼이 포함된 표본 파일 (별도 Validate 페이지) |
| 감정 엔트로피 | 제한 없음 | - |
| 감정 전이 분석 | 20개 이상 | - |
| 감정 예측 요인 | 30개 이상 | - |
고급 분석 결과는 Excel 리포트의 별도 시트(최대 10개 추가 시트, 재현성 매니페스트 시트 포함)에도 포함되어 다운로드할 수 있습니다. p-value가 0.0001보다 작은 경우 "< 0.0001"로 표시됩니다.
7. 감정 궤적 및 이벤트 분석
GoEmotions 분석 업로드 시 날짜 컬럼을 선택한 경우, 결과 페이지에서 감정 궤적 및 이벤트 분석을 실행할 수 있습니다. 데이터 기간에 따라 일(Daily)/주(Weekly)/월(Monthly) 단위로 자동 구간화(binning)하여 감정별 시계열 궤적을 시각화합니다.
7.1 단절 시계열 분석 (Interrupted Time Series)
이벤트 날짜(예: 정책 발표, 사건 발생일)를 입력하면 이벤트 전후의 감정 수준(level) 변화와 추세(slope) 변화를 세그먼트 회귀로 추정합니다. 구간별 문서 수를 가중치로 사용하는 WLS에 Newey-West HAC 표준오차(자기상관 보정)를 적용하며, 감정별 p-value는 Benjamini-Hochberg FDR로 다중비교 보정됩니다.
7.2 변화점 탐지 (Changepoint Detection)
사전에 이벤트 날짜를 모르는 경우에도 PELT 알고리즘(ruptures 라이브러리, 설치 시)이 감정 궤적에서 통계적으로 유의한 변화점을 자동 탐지합니다. ruptures 미설치 시 내장 이진분할(binary segmentation) 방식으로 대체됩니다.
요구 조건: 업로드 단계에서 날짜 컬럼을 선택한 태스크에서만 동작합니다. 날짜 컬럼이 없으면 이 섹션은 결과 페이지에 표시되지 않습니다.
Newey, Whitney K., and Kenneth D. West. "A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix." Econometrica 55, no. 3 (1987): 703-708. doi:10.2307/1913610
Killick, Rebecca, Paul Fearnhead, and Idris A. Eckley. "Optimal Detection of Changepoints with a Linear Computational Cost." Journal of the American Statistical Association 107, no. 500 (2012): 1590-1598. doi:10.1080/01621459.2012.737745
8. 측정 검증 및 인간 코딩
학술지 심사에서는 자동 분류 결과가 인간 판단과 얼마나 일치하는지에 대한 근거를 요구하는 경우가 많습니다. EmoFEAT은 인간 코딩 표본 제작 도구(Annotate)와 모델-인간 일치도 검증 도구(Validate)를 내장하여 이 과정을 원스톱으로 지원합니다.
8.1 측정 검증 (Validate — /ko/validate)
GoEmotions 분석 결과의 문서별 결과(Document Results) 내보내기 파일에 인간 코더의 감정 라벨 컬럼(human_label, 제2코더는 human_label_2)을 추가하여 업로드하면 다음 지표를 산출합니다:
- Cohen's Kappa (κ): 모델-인간 일치도 (우연 일치 보정). 부트스트랩 95% 신뢰구간(B=1,000, seed=42) 함께 보고.
- Krippendorff's Alpha (α): 명목형 척도 신뢰도. 코더가 2명 이상인 경우 코더 간(intercoder) α도 별도 산출.
- 감정별 혼동행렬 (Confusion Matrix): 어떤 감정에서 모델과 인간의 판단이 갈리는지 시각화.
- Landis & Koch (1977) 해석 구간: κ 값을 Slight/Fair/Moderate/Substantial/Almost Perfect로 자동 해석 (6.3절 표 참조).
모든 결과는 재현성 매니페스트가 포함된 Excel 리포트로 다운로드할 수 있습니다.
8.2 인간 코딩 도구 (Annotate — /ko/annotate)
검증용 인간 코딩 표본을 EmoFEAT 안에서 직접 제작할 수 있습니다. 코더 편향을 막기 위해 라벨링 화면에는 텍스트만 노출되고 모델의 감정 점수는 숨겨집니다(코더 블라인딩). 표본은 시드 고정 무작위 추출(기본 N=200, seed=42)이므로, 같은 파일과 같은 시드를 사용하면 제2코더도 동일한 표본을 재현하여 human_label_2로 라벨링할 수 있습니다.
라벨링 완료 후 human_label 컬럼이 포함된 CSV로 내보내거나, 원클릭으로 Validate 페이지에 자동 인계하여 즉시 일치도 검증을 실행할 수 있습니다.
Cohen, Jacob. "A Coefficient of Agreement for Nominal Scales." Educational and Psychological Measurement 20, no. 1 (1960): 37-46. doi:10.1177/001316446002000104
Krippendorff, Klaus. Content Analysis: An Introduction to Its Methodology. 2nd ed. Sage, 2004.
Landis, J. Richard, and Gary G. Koch. "The Measurement of Observer Agreement for Categorical Data." Biometrics 33, no. 1 (1977): 159-174. doi:10.2307/2529310
9. 재현성 및 Methods 초안
9.1 재현성 매니페스트 (Reproducibility Manifest)
모든 분석 태스크(GoEmotions, 그룹 비교, 검증, NLP)는 실행 설정과 환경을 기록한 JSON 매니페스트를 자동 생성합니다. 기록 항목: EmoFEAT 버전, 모델명, 임계값, 부트스트랩 반복 수(B), 난수 시드(seed), 전처리 옵션, 주요 패키지 버전, 플랫폼, git 커밋 해시.
결과 페이지의 다운로드 버튼으로 JSON을 받을 수 있으며, Excel 리포트에도 "Reproducibility Manifest" 시트로 동봉됩니다. 심사자가 "어떤 모델의 어떤 버전으로, 어떤 설정에서 산출된 결과인가"를 물을 때 매니페스트를 그대로 제시하면 계산 환경과 설정을 정확히 재현·검증할 수 있습니다.
9.2 Methods 초안 자동 생성 (Methods Draft)
GoEmotions 결과 페이지와 NLP 결과 페이지에서 논문 Methods 절 초안을 자동 조립합니다. 실제로 실행된 분석만 기술하며(실행하지 않은 분석은 문장 자체를 생략), 감정 점수를 "모델 신뢰도(confidence) 점수"로 정확하게 프레이밍하고, 인간 코더 검증 결과를 채워 넣을 플레이스홀더 문단과 소프트웨어 버전 정보를 포함합니다.
영어/한국어 초안을 모두 제공하며, 복사 버튼으로 클립보드에 바로 복사하여 원고에 붙여넣을 수 있습니다. 초안은 출발점이므로 반드시 연구 맥락에 맞게 검토·수정하세요.
10. 그룹 비교 및 검정력 진단
Compare Groups 페이지(/ko/compare)는 GoEmotions 분석 결과 파일 간(또는 그룹 컬럼 기준) 28개 감정 강도를 통계적으로 비교합니다. 효과크기는 Hedges' g(소표본 보정 Cohen's d), 평균 차이의 부트스트랩 95% 신뢰구간, FDR 보정 p-value를 보고합니다.
10.1 검정력·표본크기 진단 (Power & Sample-Size Diagnostics)
Compare 결과 페이지에는 달성된 표본 크기에서의 설계 민감도(design sensitivity) 카드가 표시됩니다: 80% 및 90% 검정력에서의 최소 탐지 가능 효과크기(MDES)와, 관례적 효과크기(g = 0.1/0.2/0.35/0.5/0.8)에 대한 검정력 곡선을 제공합니다.
이 진단은 유의한 결과의 사후 "관찰 검정력(observed power)"이 아닙니다 — 관찰 검정력은 정보가가 없는 것으로 잘 알려져 있습니다(Hoenig & Heisey, 2001). 대신 "이 표본 크기로 어느 정도의 효과까지 탐지할 수 있었는가"라는 설계 민감도로 보고하며, 이는 심사자 응답과 한계점 기술에 그대로 사용할 수 있습니다.
Hoenig, John M., and Dennis M. Heisey. "The Abuse of Power: The Pervasive Fallacy of Power Calculations for Data Analysis." The American Statistician 55, no. 1 (2001): 19-24. doi:10.1198/000313001300339897
11. 네트워크 비교 (QAP/MRQAP)
네트워크 비교 페이지(/ko/netcompare)는 코퍼스 간 담론 네트워크 구조를 비교합니다 — 분포(어떤 단어·감정이 얼마나 나오는가)가 아니라 구조(무엇이 무엇과 함께 나오는가)의 유사성을 검정합니다. Suh (2026, Systems)의 4단계 프로토콜을 그대로 구현했습니다.
11.1 사용 방법
① 코퍼스 2~5개 업로드(CSV/XLSX/TXT/PDF, 각 30건 이상 — 권장 300건+) — 첫 번째가 기준(Y), 나머지가 예측자(X). 업로드하면 연구모형이 실시간으로 그려집니다. ② 파라미터(top-K, top-L, 순열 수)는 기본값이 논문 설계와 동일합니다. ③ 실행하면 QAP 상관 → Cohen's q → MRQAP(예측자 2개 이상) → jackknife·노드 부트스트랩·잔차 분석이 한 번에 산출됩니다.
11.2 결과 읽기
QAP r: 노드 순열검정 기반 구조 유사성. dyad가 수천 개면 p는 항상 작아지므로, 정렬 간 변화의 크기는 Cohen's q(|q| < 0.1 negligible / 0.1–0.3 small / 0.3–0.5 medium / ≥ 0.5 large; Cohen, 1988)로 판단합니다. MRQAP β는 다른 예측자와 겹치는 부분을 제거한 고유 기여입니다 — 음의 β는 대립 관계가 아니라 억제효과일 수 있으니 jackknife 표에서 특정 예측자 제거 시 계수가 0 근처로 복귀하는지 먼저 확인하세요. 연구모형 다이어그램의 화살표는 예측적 연관이며 인과가 아닙니다.
11.3 산출물
연구모형 경로도·QAP 히트맵·부트스트랩 forest plot·프루닝 민감도 차트(300 DPI PNG/SVG), 실행한 분석만 기술한 Methods 초안(EN/KO — Kiwi 토크나이저·순열 수·시드 명시), 재현성 매니페스트가 동봉된 멀티시트 Excel 리포트가 제공됩니다. 한국어 코퍼스는 Kiwi(kiwipiepy) 형태소 분석으로 번역 없이 그대로 분석됩니다.
12. 분석 기능
11.1 TF (Term Frequency)
단어가 전체 코퍼스에서 출현한 총 횟수를 계산합니다. 높은 빈도의 단어는 해당 텍스트 집합의 중심 주제를 나타낼 수 있습니다.
11.2 TF-IDF (Term Frequency-Inverse Document Frequency)
단어 빈도(TF)에 역문서빈도(IDF)를 곱하여 전체 문서에서 흔한 단어의 가중치를 낮추고, 특정 문서에서만 자주 등장하는 단어의 중요도를 높입니다.
11.3 동시출현 행렬 (Co-occurrence Matrix)
동일 문서(또는 윈도우) 내에서 함께 출현하는 단어쌍의 빈도를 행렬로 표현합니다. 의미 네트워크 분석의 기반 데이터입니다.
11.4 네트워크 중심성 (Network Centrality)
동시출현 네트워크에서 각 단어의 구조적 중요도를 측정합니다.
| 중심성 | 측정 대상 | 해석 |
|---|---|---|
| 연결 중심성 (Degree) | 직접 연결된 노드 수 | 활발한 공기 관계 |
| 근접 중심성 (Closeness) | 모든 노드까지 평균 거리 | 정보 확산 효율성 |
| 매개 중심성 (Betweenness) | 최단경로 상 위치 | 의미 연결의 중개자 |
| 아이겐벡터 중심성 | 중요 노드와의 연결 | 영향력 있는 노드와의 관계 |
| PageRank | 재귀적 중요도 | 중요한 노드로부터의 참조 |
11.5 의미연결망 커뮤니티 탐지 (Louvain)
Louvain 알고리즘(Blondel et al., 2008)으로 동시출현 네트워크에서 단어 커뮤니티(의미 군집)를 탐지하고 modularity(Q) 값을 함께 보고합니다. 국내 미디어/언론학 연구에서 널리 쓰이는 CONCOR 군집 분석에 대응하는 표준 커뮤니티 탐지 방법입니다. 결과는 Excel의 "Word Communities" 시트에도 포함됩니다.
11.6 토픽 모델링 (LDA)
Latent Dirichlet Allocation(LDA)을 사용하여 문서 집합에서 잠재된 주제(토픽)를 자동으로 추출합니다. 토픽 수(k)를 직접 지정하거나, 자동 최적화 옵션을 켜면 후보 k들에 대해 c_v coherence를 스캔하여 최적 k를 자동 선택하고 k별 coherence 스캔 차트를 함께 제공합니다. 또한 pyLDAvis 인터랙티브 시각화(설치 시)로 토픽 간 거리와 토픽별 주요 단어를 탐색할 수 있습니다.
11.7 감정 분석 (NRC)
NRC Emotion Lexicon(Mohammad & Turney, 2013)의 8가지 Plutchik 감정 범주 — 기쁨(Joy), 슬픔(Sadness), 분노(Anger), 두려움(Fear), 혐오(Disgust), 놀람(Surprise), 신뢰(Trust), 기대(Anticipation) — 와 긍정/부정 극성으로 텍스트의 감정을 분류합니다. 기본적으로 NRC 방식의 내장 키워드 사전(약 1,400개 항목)을 사용하며, 전체 NRC Emotion Lexicon을 modules/data/NRC-Emotion-Lexicon.txt에 설치하면 자동으로 전체 사전이 사용됩니다.
11.8 토픽×감정 교차 프로파일
각 토픽이 어떤 감정과 결합되어 있는지 토픽별 감정 프로파일을 산출합니다. 업로드 파일에 GoEmotions 28개 감정 컬럼이 포함되어 있으면(EmoFEAT GoEmotions 결과 내보내기 파일) 토픽 비중(θ) 가중 GoEmotions 28감정 프로파일을 산출하고, 없으면 NRC 8감정 폴백을 사용합니다. 결과는 Excel의 "Topic-Emotion Profile" 시트에 포함됩니다.
11.9 토픽 시계열 (날짜 컬럼)
분석 옵션에서 날짜 컬럼을 지정하면 토픽별 점유율의 시간에 따른 변화(토픽 트렌드)를 시각화합니다. 결과는 Excel의 "Topic Trends" 시트에 포함됩니다.
11.10 혼합 언어 코퍼스 및 한국어 토큰화
한국어와 영어가 섞인 코퍼스는 문서별 언어 감지 후 각 문서를 해당 언어의 파이프라인으로 라우팅하여 소수 언어 문서도 유실 없이 처리합니다. 한국어의 경우 "물", "돈", "집" 같은 1글자 명사가 유실되지 않도록, 최소 단어 길이를 사용자가 직접 지정하지 않으면 한국어 기본값이 자동으로 1로 설정됩니다(영어 기본값 2).
Spärck Jones, Karen. "A Statistical Interpretation of Term Specificity and Its Application in Retrieval." Journal of Documentation 28, no. 1 (1972): 11-21. doi:10.1108/eb026526
Freeman, Linton C. "Centrality in Social Networks: Conceptual Clarification." Social Networks 1, no. 3 (1978): 215-239. doi:10.1016/0378-8733(78)90021-7
Blei, David M., Andrew Y. Ng, and Michael I. Jordan. "Latent Dirichlet Allocation." Journal of Machine Learning Research 3 (2003): 993-1022.
Blondel, Vincent D., Jean-Loup Guillaume, Renaud Lambiotte, and Etienne Lefebvre. "Fast Unfolding of Communities in Large Networks." Journal of Statistical Mechanics: Theory and Experiment 2008, no. 10 (2008): P10008. doi:10.1088/1742-5468/2008/10/P10008
Mohammad, Saif M., and Peter D. Turney. "Crowdsourcing a Word-Emotion Association Lexicon." Computational Intelligence 29, no. 3 (2013): 436-465. doi:10.1111/j.1467-8640.2012.00460.x
Plutchik, Robert. "A General Psychoevolutionary Theory of Emotion." Theories of Emotion (1980): 3-33.
Opsahl, Tore, Filip Agneessens, and John Skvoretz. "Node Centrality in Weighted Networks: Generalizing Degree and Shortest Paths." Social Networks 32, no. 3 (2010): 245-251. doi:10.1016/j.socnet.2010.03.006
13. 결과 해석 가이드
12.1 TF/TF-IDF 해석
| 순위 범위 | 분류 | 해석 |
|---|---|---|
| Top 10 | 핵심 주제어 | 텍스트 집합의 중심 개념 |
| Top 11-50 | 주요 관련어 | 핵심 주제와 밀접한 관련 개념 |
| Top 51-200 | 맥락어 | 배경 및 세부 맥락 제공 |
12.2 중심성 해석
아래 값 구간은 0~1로 정규화된 연결 중심성(Degree)에만 적용됩니다. 근접·매개 중심성과 PageRank는 절대값 대신 순위로 비교하세요. 최단경로 기반 지표(근접·매개)는 거리 = 1 / 동시출현 빈도로 계산됩니다 (Opsahl et al., 2010).
| 연결 중심성 값 범위 | 해석 |
|---|---|
| ≥ 0.8 | 핵심 허브 노드 (Core Hub) |
| 0.5 - 0.8 | 주요 연결자 (Major Connector) |
| < 0.5 | 주변부 노드 (Peripheral Node) |
12.3 토픽 응집도 해석
| C_v 값 | 품질 | 권장 조치 |
|---|---|---|
| > 0.5 | 우수 | 해석 진행 |
| 0.4 - 0.5 | 양호 | 해석 가능, 검토 필요 |
| < 0.4 | 재검토 필요 | 토픽 수 조정 권장 |
14. YouTube 댓글 수집
Comments Collector는 YouTube 동영상 댓글을 대규모로 수집하여 GoEmotions 감정 분석 또는 NLP 텍스트 분석에 활용할 수 있도록 합니다. 두 가지 수집 엔진을 제공합니다.
개요
Comments Collector를 사용하면 YouTube 동영상 URL을 입력하는 것만으로 댓글을 대량 수집하고 CSV, Excel, PDF 형식으로 내보낼 수 있습니다. 수집된 데이터는 즉시 GoEmotions 분석 또는 NLP 텍스트 분석에 활용할 수 있습니다.
사용 방법 (단계별)
Step 1. YouTube URL 입력
YouTube 동영상 URL 또는 Video ID를 입력 필드에 붙여넣고 "Fetch Video Info" 버튼을 클릭합니다. 수집 시작 전 동영상 제목, 전체 댓글 수, 조회수를 미리 확인할 수 있습니다.
Step 2. 수집 엔진 선택
• YouTube Data API v3 — 10,000건 이하 데이터셋에 권장. 빠르고 안정적이며 공식 Google API를 사용합니다.
• yt-dlp Engine — 10,000건 이상 데이터셋용. 속도는 느리지만 API 제한 없이 전체 댓글 데이터에 접근할 수 있습니다.
Step 3. 옵션 설정
• Max Comments: 수집할 최대 댓글 수를 설정합니다. 비워두면 가능한 모든 댓글을 수집합니다.
• Language Filter: 언어 필터 (전체 / 영어만 / 한국어만).
• Include Replies: 답글 댓글 포함 여부.
• Sort Order: Relevance (좋아요 많은 순) 또는 Time (최신순)으로 수집.
Step 4. 수집 시작
"Start Collection" 버튼을 클릭하고 로그 창에서 진행 상황을 모니터링합니다. "Stop Collection" 버튼으로 언제든지 중단할 수 있습니다. 중단 전 수집된 결과도 다운로드할 수 있습니다.
Step 5. 결과 다운로드
내보내기 형식을 선택합니다:
• CSV (.csv) — Python/R 분석 및 데이터 보관에 권장
• Excel (.xlsx) — 수동 검토 및 필터링용
• PDF (.pdf) — 수집 메타데이터가 포함된 요약 리포트
원스톱 분석 파이프라인 (수집 → 정제 → GoEmotions 분석)
수집 완료 화면의 분석 카드에서 파일 다운로드/재업로드 없이 곧바로 GoEmotions 감정분석으로 넘어갈 수 있습니다. 분석 전 선택적 전처리 단계가 댓글을 정제합니다:
- 중복 제거: 정확 중복 및 정규화 근사 중복(공백/구두점/대소문자 무시) 제거
- 봇/스팸 필터: URL+홍보 키워드, 전화번호, 메신저 ID 유도 패턴, 동일 작성자의 동일 텍스트 반복(3회 이상) 휴리스틱 필터
- 이모지 정제: 이모지 제거 후 공백 정리 (이모지로만 구성된 댓글은 제외)
- 답글 제외: 짧고 맥락 의존적인 답글(is_reply) 제외 옵션
각 단계에서 제거된 건수가 전처리 리포트로 표시되어 논문의 데이터 정제 절차 기술에 그대로 사용할 수 있습니다. 정제된 표본에서 한국어 문서 비율이 높으면(약 30% 이상) 한국어 우세 경고가 표시됩니다 — GoEmotions 모델은 영어에 최적화되어 있기 때문입니다.
알려진 제한사항
YouTube Data API v3: 영상당 최대 ~10,000건 (Google 정책). 이는 소프트웨어 제한이 아닌 플랫폼 제한입니다.
yt-dlp Engine: 100,000건 이상 수집 시 1~3시간이 소요될 수 있습니다. 수집 중 브라우저 탭을 열어두세요. 진행 표시가 멈춰 보여도 서버는 계속 수집 중입니다.
답글 댓글(is_reply: true)은 "맞아요", "ㅋㅋ" 같이 짧고 맥락 의존적인 텍스트를 많이 포함하므로 감정 분석 품질을 낮출 수 있습니다. 감정 분석 시에는 최상위 댓글(is_reply: false)만 사용하는 것을 권장합니다.
학술 연구를 위한 인용
"YouTube 댓글 데이터는 자동화 수집 도구(EmoFEAT v3.7, Suh, 2026)를 사용하여 공개 접근 가능한 동영상에서 수집되었습니다. 공개된 사용자 이름 외 개인 식별 정보는 보관하지 않았으며, 데이터 수집은 YouTube의 공개 데이터 연구 관례를 준수하였습니다."
15. 학술 인용 방법
EmoFEAT을 사용한 연구에서는 다음과 같이 인용해 주시기 바랍니다:
소프트웨어 인용 (APA 7th)
서정호. (2026). EmoFEAT (버전 3.7) [컴퓨터 소프트웨어]. https://textlab911.gachon.ac.kr
소프트웨어 인용 (Chicago Style)
서정호. EmoFEAT. 버전 3.7. 2026. https://textlab911.gachon.ac.kr.
방법론 기술 예시
텍스트 전처리 및 분석은 EmoFEAT (서정호, 2026)을 사용하여 수행되었다. 전처리 과정은 텍스트 정제, 토큰화, PMI 기반 연어 탐지 (Church & Hanks, 1990), 불용어 제거, 표제어 추출, 검색 키워드 제거, 최종 필터링으로 구성되었으며, 각 단계별 토큰 변화량은 전처리 리포트를 통해 확인하였다. TF-IDF는 Spärck Jones (1972)의 방법(scikit-learn smoothed IDF, 문서별 L2 정규화 후 전체 문서 평균)을 따랐다. 네트워크 중심성은 Freeman (1978)의 정의를 기반으로 하되, 근접·매개 중심성은 동시출현 빈도의 역수(거리 = 1/동시출현 빈도)를 가중치로 사용하는 가중 네트워크 방식 (Opsahl, Agneessens, & Skvoretz, 2010)으로 산출하였다.
16. 자주 묻는 질문
Q: 분석 결과를 UCINET/Netdraw에서 사용하려면?
A: Excel 결과 파일의 "Co-occurrence Matrix" 시트를 UCINET에서 Import하면 됩니다. 형식은 DL format과 호환됩니다.
Q: 한국어 분석이 안 됩니다.
A: 기능마다 한국어 처리 방식이 다릅니다. ① NLP 텍스트 분석은 KoNLPy(Okt/Komoran) 형태소 분석을 사용하며 Java 런타임이 필요합니다(KoNLPy 문서) — Java가 없으면 내장 기본 추출기로 자동 전환되어 분석은 계속 되지만 형태소 품질이 낮아집니다. ② 네트워크 비교(QAP)는 Kiwi(kiwipiepy)를 사용하며 Java가 필요 없습니다 — 미설치 시 명시적 오류가 표시되며 pip install kiwipiepy로 해결됩니다. ③ GoEmotions 감정 분석은 한국어 문서를 로컬 번역(opus-mt-ko-en) 후 분석하므로 "한국어 번역" 옵션이 켜져 있는지 확인하세요.
Q: 토픽 수는 어떻게 결정하나요?
A: 토픽 수(k)는 분석 옵션에서 직접 설정할 수 있습니다(2~20, 기본값 5). 또는 토픽 수 자동 최적화 옵션을 켜면 후보 k들의 c_v coherence를 스캔하여 최적 k를 자동 선택하고 k별 coherence 차트를 제공합니다. 수동 설정 시에는 일반적으로 문서 수의 제곱근 또는 5-10개로 시작하여 응집도(c_v Coherence Score)를 확인하며 조정합니다.
Q: 분석 중 서버가 멈춥니다.
A: 메모리 부족일 수 있습니다. 문서 수를 줄이거나, 서버 메모리를 늘려주세요.
Q: RoBERTa GoEmotions과 NRC 감정분석의 차이는?
A: NRC 감정분석은 사전 기반(lexicon)으로 NRC Emotion Lexicon(Mohammad & Turney)의 8가지 Plutchik 감정 범주와 긍정/부정 극성을 분류하고, RoBERTa GoEmotions은 딥러닝(Transformer) 기반으로 28개 세밀한 감정을 분류합니다. RoBERTa GoEmotions이 더 정교하지만 영어 텍스트에 최적화되어 있습니다.
Q: RoBERTa GoEmotions 분석 시간은 얼마나 걸리나요?
A: GPU 없이 CPU 환경에서 약 문서당 0.5-1초 소요됩니다. 1,000개 문서 기준 약 8-15분 정도 예상됩니다. GPU가 있으면 훨씬 빠릅니다.
Q: RoBERTa GoEmotions으로 한국어 텍스트를 분석할 수 있나요?
A: 모델 자체는 영어 데이터로 학습되었으므로 영어 텍스트에 최적화되어 있습니다. 한국어 텍스트도 입력은 가능하지만, 정확도가 낮을 수 있으므로 가급적 영어 텍스트를 권장합니다.