3과목 · 데이터 분석·15장
텍스트 마이닝
텍스트 마이닝 정의, 전처리(토큰화·불용어·표제어·형태소), TF-IDF와 임베딩, 감성 분석·토픽 모델링·NLP 적용을 정리합니다.
1. 텍스트 마이닝이란
텍스트 마이닝(Text Mining) 은 비정형 텍스트에서 패턴과 의미 있는 정보를 추출하는 기법.
- 뉴스·리뷰·SNS·이메일·고객 문의
- 자연어 처리(NLP) 와 밀접
2. 텍스트 전처리 단계
원문 → 정제 → 토큰화 → 표준화 → 벡터화 → 분석
2-1. 정제(Cleaning)
- HTML·특수문자·이모지 제거
- 대소문자 통일
- 숫자·URL 처리
2-2. 토큰화(Tokenization)
- 문장 → 단어/형태소 단위
- 영어: 공백·구두점 기준
- 한국어: 형태소 분석기(KoNLPy의 Okt, Mecab) 필요
2-3. 불용어 제거(Stopwords)
- 의미 적은 단어 제거: "the, is, 그리고, 하지만"
2-4. 표제어 추출(Lemmatization) / 어간 추출(Stemming)
- 표제어: "running, ran → run"
- 어간: "flies → fli" (빠르지만 불완전)
2-5. 품사 태깅(POS)
- 단어에 품사 부여: 명사·동사·형용사
3. 텍스트의 수치화
3-1. Bag of Words (BoW)
- 단어 빈도 벡터
- 순서·의미 무시
- 차원 ↑
3-2. TF-IDF
$$TF\text{-}IDF = TF \times \log\dfrac{N}{DF}$$
- TF(Term Frequency): 문서 내 빈도
- DF(Document Frequency): 단어가 나온 문서 수
- 자주 나오지만 다른 문서엔 드문 단어 강조
3-3. 임베딩(Embedding)
- 단어를 저차원 벡터로 표현
- Word2Vec, GloVe, FastText
- 단어 간 의미 유사도 계산 가능
3-4. 문맥 임베딩
- BERT, GPT 계열
- 문장 내 위치에 따라 다른 벡터
4. 텍스트 분류
- 스팸 분류
- 리뷰 긍정/부정
- 문서 카테고리
알고리즘: 나이브 베이즈, 로지스틱 회귀, SVM, 딥러닝(CNN, RNN, Transformer).
5. 감성 분석(Sentiment Analysis)
- 긍정·부정·중립 판별
- 사전 기반(감성어 사전)
- ML 기반(지도학습)
- 딥러닝(BERT 계열)
활용
- 브랜드 모니터링
- 고객 리뷰 요약
- 주식·여론 분석
6. 토픽 모델링
대량 문서에서 주제(topic) 추출.
6-1. LDA(Latent Dirichlet Allocation)
- 문서 = 토픽의 혼합
- 토픽 = 단어의 분포
- 비지도학습
6-2. NMF(비음수 행렬 분해)
7. 개체명 인식(NER)
텍스트에서 인명·지명·조직명·날짜 등 식별.
- 예: "삼성전자는 서울에 있다" → [삼성전자: 조직] [서울: 지명]
8. 기타 NLP 응용
| 응용 | 예 |
|---|---|
| 기계 번역 | Google 번역 |
| 질의응답 | 챗봇, 검색 |
| 요약 | 기사·리포트 요약 |
| 음성 인식 | Siri, 빅스비 |
| 텍스트 생성 | GPT 계열 |
9. 파이썬 예 — TF-IDF + 분류
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
vec = TfidfVectorizer(ngram_range=(1,2), min_df=3, max_df=0.9)
X = vec.fit_transform(texts)
model = LogisticRegression()
model.fit(X, labels)
10. 한국어 특유의 어려움
- 조사·어미 발달 → 형태소 분석 필수
- 띄어쓰기 오류
- 신조어·맞춤법 혼용
- 도메인별 용어(의료·법률)
11. 출제 포인트
- 전처리 단계 순서·기법 이름
- TF-IDF 공식·의미
- Word2Vec·BERT 개념
- 감성 분석·토픽 모델링 구분
- LDA의 의미
요약 체크리스트
- 텍스트 전처리 5단계 순서
- TF-IDF의 의미 설명
- 임베딩과 BoW의 차이
- LDA가 무엇을 찾는지