#개념

감성 분석(Sentiment Analysis)은 리뷰, 소셜 미디어 게시글, 고객 문의처럼 사람이 쓴 텍스트에서 글쓴이의 의견과 태도, 감정을 계산적으로 추출하는 자연어 처리(Natural Language Processing, NLP)의 한 분야로, 오피니언 마이닝(Opinion Mining)이라고도 부른다. 가장 기본적인 과제는 문서나 문장을 긍정·부정(·중립)으로 나누는 극성 분류(Polarity Classification)이며, 별점처럼 1점부터 5점까지의 단계로 강도를 구분하는 세분화된 극성 분류나 연속적인 감성 점수를 예측하는 회귀 형태로 확장되기도 한다. 문서 전체의 극성만으로는 "배송은 빨랐지만 사이즈가 작다"처럼 한 문장 안에 상반된 평가가 섞인 경우를 표현할 수 없으므로, 평가 대상의 속성(aspect)마다 감성을 따로 판단하는 속성 기반 감성 분석(Aspect-Based Sentiment Analysis, ABSA)이 발전했다. ABSA는 텍스트에서 속성 용어를 추출하고("배송", "사이즈"), 이를 미리 정의한 속성 범주(배송, 품질, 가격 등)로 묶고, 각 속성에 대한 극성을 판단하는 하위 과제로 구성되며, 최근에는 속성·의견 표현·극성을 한 번에 뽑는 삼중항(triplet) 추출 형태로 통합되고 있다. 긍정·부정을 넘어 기쁨, 슬픔, 분노, 두려움, 놀람, 혐오 같은 범주로 나누는 감정 분류(Emotion Classification), 주관적 문장과 객관적 문장을 가르는 주관성 탐지, 특정 주제에 대한 찬성·반대 입장을 판별하는 입장 탐지(stance detection), 반어와 풍자 탐지도 넓은 의미의 감성 분석에 포함된다.
감성 분석 방법론은 크게 네 단계를 거쳐 발전했다. 초기의 사전 기반(Lexicon-based) 접근은 단어마다 극성 점수를 부여한 감성 사전을 구축하고, 문장에 나타난 단어의 점수를 합산하거나 부정어("않다")와 강조어("매우")에 대한 규칙을 적용하여 극성을 판정한다. 영어의 SentiWordNet과 소셜 미디어에 특화된 VADER, 한국어의 KNU 한국어 감성사전과 KOSAC 말뭉치가 대표적이며, 학습 데이터가 필요 없고 판단 근거가 투명하지만 문맥과 도메인에 따라 달라지는 의미를 반영하지 못한다. 2000년대 초 Pang과 Lee 등이 영화 리뷰 데이터에 나이브 베이즈, 최대 엔트로피, 서포트 벡터 머신을 적용한 이래, 머신러닝(Machine Learning) 접근은 텍스트를 단어 빈도나 TF-IDF, n-gram 기반의 단어 주머니(bag-of-words) 특징으로 변환한 뒤 지도 학습(Supervised Learning) 분류기를 학습시키는 방식으로 자리잡았다. 이후 딥러닝(Deep Learning) 접근은 단어 임베딩(Embedding)을 입력으로 문장 수준 합성곱 신경망(Convolutional Neural Network, CNN)이나 LSTM 같은 순환 신경망(Recurrent Neural Network, RNN)을 학습시켜 단어 순서와 조합을 반영했고, Socher 등(2013)은 구문 트리의 모든 노드에 감성 레이블을 붙인 Stanford Sentiment Treebank와 재귀 신경망을 통해 "not very good"과 같은 부정과 조합의 효과를 모델이 학습할 수 있음을 보였다. 결정적인 전환은 트랜스포머(Transformer) 기반 사전 학습 언어 모델의 등장이다. BERT, RoBERTa, ELECTRA 등 대규모 말뭉치로 사전 학습된 모델에 분류 층을 얹고 소량의 레이블 데이터로 미세 조정(Fine-tuning)하면 문맥에 따라 달라지는 단어의 의미를 반영하여 기존 방법을 크게 앞서는 성능을 얻을 수 있으며, 한국어에서도 KoBERT, KoELECTRA, KLUE-RoBERTa 등이 널리 사용된다. 가장 최근에는 대규모 언어 모델(Large Language Models, LLM)을 활용하는 접근이 확산되고 있다. LLM은 프롬프트에 과제 설명과 몇 개의 예시만 넣어 주는 제로샷·퓨샷 방식으로 별도 학습 없이 감성을 판정할 수 있고, 반어나 암묵적 감성, 속성 단위의 구조화된 출력처럼 기존 분류기가 어려워하던 과제를 상대적으로 잘 처리하지만, 추론 비용과 지연 시간이 크고 출력이 일관되지 않을 수 있어 대량 데이터의 실시간 처리에는 부적합한 경우가 많다. 이 때문에 실무에서는 LLM으로 레이블을 생성하거나 검수한 뒤 이를 작은 BERT 계열 모델에 지식 증류(Knowledge Distillation)하여 서빙하는 절충 방식이 자주 채택된다.
한국어 감성 분석에는 언어적 특수성에서 비롯되는 어려움이 있다. 한국어는 교착어로서 어간에 조사와 어미가 결합하며, "좋다", "좋지 않다", "좋긴 하다", "좋다고?"처럼 감성의 극성과 강도가 어미와 보조 용언에 의해 뒤집히거나 약해지기 때문에 단어 단위의 단순 매칭으로는 극성을 판정하기 어렵고, 형태소 분석(Morphological Analysis)이나 서브워드 토큰화(Tokenization)로 어간과 어미를 분리하는 전처리가 중요하다. 부정어가 문장 끝에 오는 어순 특성상 부정의 범위를 파악하려면 문장 전체를 읽어야 하며, 띄어쓰기 오류와 오타, "ㅋㅋ", "ㅠㅠ" 같은 초성 표현, 이모티콘, "존맛", "극혐", "갓생"처럼 빠르게 생성되고 소멸하는 신조어와 줄임말은 사전과 사전 학습 어휘에 반영되기 어려워 미등록 단어 문제를 일으킨다. 리뷰에서 흔한 "돈이 아깝지 않네요 ^^"(긍정)와 "참 잘 만드셨네요, 하루 만에 고장 나게"(부정) 같은 반어 표현은 표면적 단어와 실제 감성이 반대이므로 문맥과 상식에 의존해야 하고, 존댓말과 반말의 화계 차이가 감성 강도의 지각에 영향을 미치기도 한다. 한국어 학습·평가 데이터로는 네이버 영화 리뷰 20만 건에 긍정·부정 레이블을 부여한 NSMC(Naver Sentiment Movie Corpus)가 가장 널리 쓰이는 이진 분류 벤치마크이며, 한국어 언어 모델의 성능 비교에 표준처럼 사용된다. 이 밖에 AI Hub에서 제공하는 감성 대화 말뭉치와 감정 분류 데이터셋, 상품 리뷰 기반 속성 감성 데이터가 공개되어 있으며, 영어권에서는 IMDb 리뷰, Stanford Sentiment Treebank, SemEval ABSA 데이터셋, 27종 감정을 레이블링한 GoEmotions가 대표적이다.
감성 분석 모델의 평가는 일반적인 분류(Classification) 과제와 같은 모델 평가 지표(Model Evaluation Metrics)를 사용하되 과제의 특성을 고려해야 한다. NSMC처럼 클래스가 균형 잡힌 이진 분류에서는 정확도(accuracy)로 충분하지만, 실제 리뷰 데이터는 긍정이 압도적으로 많은 불균형 분포를 보이므로 소수 클래스인 부정을 얼마나 잘 잡아내는지를 보여주는 정밀도·재현율·F1 점수와 혼동 행렬을 함께 확인해야 하고, 다중 클래스에서는 클래스별 F1을 단순 평균한 매크로 F1이 표준이다. 별점 예측처럼 순서가 있는 레이블에서는 "5점을 4점으로" 틀리는 것과 "5점을 1점으로" 틀리는 것을 구분하기 위해 평균 절대 오차나 상관계수를 병용하며, ABSA에서는 속성과 극성의 쌍이 모두 맞아야 정답으로 인정하는 튜플 단위 F1을 사용한다. 감성은 본질적으로 주관적이어서 사람 간 레이블 일치도(Cohen's kappa 등)가 완벽하지 않으며, 이 일치도가 모델 성능의 실질적인 상한으로 작용한다는 점도 유의해야 한다.
산업 현장에서 감성 분석은 고객의 목소리를 정량화하는 핵심 도구다. 전자상거래에서는 상품 리뷰를 속성별로 분석하여 "사이즈가 작다"는 불만이 특정 상품에 집중되는지 파악하고, 상품 상세 페이지에 속성별 긍·부정 요약을 노출하며, 판매자와 상품의 품질 관리 지표로 활용한다. 고객센터에 접수되는 문의와 상담 기록, NPS 조사의 주관식 응답을 분석하는 VOC(Voice of Customer) 분석은 불만의 원인을 주제별로 집계하고 부정 감성이 급증하는 이슈를 조기에 발견하는 데 쓰이며, 소셜 미디어와 뉴스, 커뮤니티를 모니터링하는 소셜 리스닝은 브랜드 평판 추이와 캠페인 반응을 추적하고 위기 상황을 감지한다. 금융에서는 뉴스와 공시, 게시판의 감성을 시장 심리 지표로 활용하고, 공공 부문에서는 정책에 대한 여론을 분석한다. 그러나 감성 분석에는 뚜렷한 한계가 있다. 학습 데이터와 다른 도메인에 모델을 적용하면 성능이 크게 떨어지는 도메인 이동(Domain Shift) 문제가 대표적으로, "가볍다"는 노트북 리뷰에서는 긍정이지만 소설 리뷰에서는 부정일 수 있고, "예측 가능하다"는 자동차에서는 장점이지만 영화에서는 단점이므로 영화 리뷰로 학습한 모델을 상품 리뷰에 그대로 쓰기 어렵다. 또한 학습 데이터의 편향(Bias)은 모델에 그대로 전이되어 특정 방언이나 인구 집단의 표현, 특정 이름이 포함된 문장에 체계적으로 더 부정적인 점수를 부여하는 공정성 문제가 보고되었으며, 레이블러의 주관과 리뷰 조작(가짜 리뷰), 시간이 지나며 변하는 신조어와 표현 방식은 배포 후 성능 저하를 일으킨다. 따라서 실무에서는 도메인 데이터로 추가 미세 조정을 하고, 모델의 신뢰도가 낮은 사례를 사람이 검수하는 인간 참여(human-in-the-loop) 절차를 두며, 예측 분포의 변화를 모니터링하여 주기적으로 재학습하는 운영 체계를 함께 갖추는 것이 중요하다.

#관련 용어

자연어 처리
사람의 언어를 컴퓨터가 이해하고 생성하도록 처리하는 인공지능 분야
분류
입력 데이터를 미리 정의된 범주 중 하나로 할당하는 지도 학습 과제
형태소 분석
한국어 문장을 의미를 가진 최소 단위인 형태소로 분리하고 품사를 부착하는 전처리 과정
미세 조정
사전 학습된 언어 모델을 소량의 레이블 데이터로 추가 학습하여 특정 과제에 맞추는 방법
대규모 언어 모델(LLM)
방대한 텍스트로 사전 학습되어 프롬프트만으로 감성 판정 등 다양한 과제를 수행하는 언어 모델
모델 평가 지표
정확도, 정밀도, 재현율, F1 점수 등 모델의 예측 성능을 정량화하는 척도

#직무 연관도

DA
Data Analyst
밀접
리뷰, VOC, 소셜 데이터의 감성 추이와 속성별 불만 원인을 집계·시각화하여 비즈니스 의사결정에 연결하는 핵심 분석 도구
DS
Data Scientist
높음
리뷰·문의 텍스트 분류 모델을 설계하고 사전 학습 언어 모델을 미세 조정하며, 속성 기반 분석과 도메인 적응을 다루는 대표적인 자연어 처리 과제
DE
Data Engineer
보통
대량의 텍스트를 배치·실시간으로 처리하는 추론 파이프라인 구축과 LLM 호출 비용·지연 시간 관리에 관련된다

#사용 사례

전자상거래인터넷 서비스금융통신유통미디어공공
개요
감성 분석은 상품 리뷰의 속성별 긍·부정 요약, 고객센터 문의와 설문 주관식 응답의 VOC 분석, 소셜 미디어 브랜드 평판 모니터링과 위기 감지, 뉴스·공시 기반 시장 심리 지표 산출, 정책 여론 분석 등에 활용된다.
사례
패션 전자상거래 플랫폼에서 상품 리뷰를 속성 기반 감성 분석 모델로 처리하면 "핏은 예쁜데 배송이 너무 늦었어요"라는 리뷰가 핏(긍정)과 배송(부정)으로 나뉘어 집계되며, 특정 상품에서 "사이즈" 속성의 부정 비율이 급증하면 상세 페이지의 사이즈 안내를 수정하거나 판매자에게 알림을 보내는 식으로 활용할 수 있다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.