
개요
텍스트 분석은 겉으로 보기엔 “문장 분석”처럼 보이지만, 실제로는 비정형 텍스트 데이터를 수치 벡터로 변환한 뒤 머신러닝을 적용하는 문제입니다.
즉, 핵심은 “언어를 숫자로 바꾸는 과정”에 있습니다.
이 글에서는 텍스트 분석의 전체 흐름부터 NLP의 목적까지,
시험 대비 + 실무 관점에서 한 번에 정리합니다.
1️⃣ 텍스트 분석의 전체 머신러닝 프로세스
텍스트 분석의 기본 구조는 다음과 같습니다.
텍스트 전처리
→ 피처 벡터화
→ 모델 학습
→ 예측
→ 평가
📌 핵심 개념
텍스트 분석 = 텍스트를 벡터로 변환한 뒤 기존 머신러닝을 적용하는 과정
기존 분류/회귀 모델은 숫자만 이해합니다.
따라서 벡터화가 핵심 관문입니다.
2️⃣ 텍스트 전처리 (Text Preprocessing)
텍스트 전처리는 “언어를 분석 가능한 형태로 정리하는 과정”입니다.
텍스트 클리닝
- HTML 태그 제거
- 특수문자 제거
- 불필요한 기호 제거
예:
<p>I love this movie!!!</p>
→ I love this movie
토큰화 (Tokenization)
문장을 단어 단위로 분해하는 과정
"I love NLP"
→ ["I", "love", "NLP"]
📌 시험 핵심
토큰화 = 텍스트를 의미 있는 최소 단위로 분할
불용어 제거 (Stopword Removal)
the, is, and 처럼 자주 등장하지만 의미가 약한 단어 제거
왜 제거할까요?
→ 문서 구분에 도움이 되지 않기 때문입니다.
어근화 / 표제어 추출
- playing → play
- studies → study
의미 중심으로 통합하여 차원 축소 효과를 얻습니다.
(한글) 형태소 분석
한글은 띄어쓰기 기반 토큰화만으로는 부족합니다.
형태소 분석 = 단어 → 의미 최소 단위로 분해 + 품사 태깅
예:
먹었습니다
→ 먹/VV + 었/EP + 습니다/EF
📌 핵심 정의
형태소 분석 = 형태소 분해 + 품사 태깅
3️⃣ 피처 벡터화 (Feature Vectorization)
텍스트를 숫자 벡터로 변환하는 단계입니다.
Bag of Words (BoW)
문서 내 단어 등장 빈도만 사용합니다.
단어 순서? → 완전 무시
문맥? → 전혀 고려하지 않음
📌 근본적 한계
"I am happy"
"I am not happy"
BoW는 거의 동일하게 처리합니다.
→ 문맥을 이해하지 못합니다.
Count Vectorization
단어 등장 횟수를 그대로 벡터 값으로 사용합니다.
TF-IDF
가장 중요합니다.
TF (Term Frequency)
문서 내 단어 빈도
IDF (Inverse Document Frequency)
전체 문서 중에서 얼마나 희귀한지
📌 핵심 원리
- 자주 등장하지만 의미 없는 단어 → 가중치 ↓
- 특정 문서를 잘 대표하는 단어 → 가중치 ↑
📌 시험 포인트
“특정 문서엔 자주 등장하고, 전체 문서에선 드문 단어에 높은 가중치” → TF-IDF
max_df 파라미터
너무 자주 등장하는 단어 자동 제거
예 : max_df = 0.95 → 전체 문서의 95% 이상 등장 단어 제거
자동 불용어 필터 역할을 합니다.
4️⃣ 텍스트 벡터의 특징: 희소 행렬 (Sparse Matrix)
텍스트 벡터는 대부분 0입니다.
왜?
문서마다 사용하는 단어 집합이 다르기 때문입니다.
예:
- 문서 A는 단어 100개 사용
- 전체 사전은 10,000개
→ 나머지 9,900개는 0
📌 시험 핵심
텍스트 벡터화 결과 = 희소 행렬
5️⃣ 문서 간 유사도 측정
코사인 유사도 (Cosine Similarity) ⭐
두 벡터의 “각도”로 유사도 측정
각도 0도 → 완전 유사
각도 90도 → 관련 없음
📌 핵심 문장
각도가 0에 가까울수록 문서가 유사합니다.
텍스트 분석에서 가장 많이 사용됩니다.
6️⃣ 텍스트 분석의 주요 활용 분야
텍스트 분류 ⭐
지도학습 기반
- 스팸 / 정상
- 긍정 / 부정
- 뉴스 카테고리 분류
📌 시험 핵심
미리 정의된 레이블로 새로운 텍스트 예측 → 텍스트 분류
감성 분석
- 지도학습 기반
- 감성 사전 기반
리뷰 분석에서 많이 사용됩니다.
토픽 모델링 ⭐
비지도학습
문서 집합에서 숨겨진 주제(Topic) 발견
대표 알고리즘: LDA
📌 시험 핵심
문서 집합의 잠재 주제 발견 → 토픽 모델링
문서 군집화
비슷한 문서끼리 자동 그룹화
- 뉴스 기사 자동 묶기
- 논문 주제 자동 분류
7️⃣ NLP(자연어 처리)의 궁극적 목표
📌 NLP의 목적
인간의 언어를 컴퓨터가 이해하고 해석하도록 만드는 것
텍스트 분석 vs NLP 차이
| 구분 | 초점 |
| 텍스트 분석 | 예측 결과 중심 |
| NLP | 언어 구조·의미 이해 중심 |
📚 암기용 핵심 정리
- BoW 한계 → 단어 순서 무시
- TF-IDF → 문서 대표 단어 가중치
- max_df → 너무 흔한 단어 제거
- 텍스트 벡터 → 희소 행렬
- 코사인 유사도 → 방향 기반 유사도
- 텍스트 분류 → 지도학습
- 토픽 모델링 → 비지도학습
- 형태소 분석 → 의미 최소 단위 + 품사 태깅
- NLP 목표 → 인간 언어 이해
🎯 마무리 정리
텍스트 분석의 본질은 다음 한 문장으로 정리됩니다.
텍스트 분석은 언어를 수치 벡터로 변환한 뒤, 머신러닝으로 패턴을 학습하는 과정입니다.
그리고 NLP의 본질은 다음입니다.
언어를 숫자로 바꾸는 것을 넘어서, 의미를 이해하려는 시도입니다.
이 두 영역은 겹치지만, 초점이 다릅니다.
시험에서는 “정의”가 중요하고, 실무에서는 “벡터화 전략”이 가장 중요합니다.
'Programming' 카테고리의 다른 글
| CountVectorizer부터 Pipeline/GridSearchCV까지: 뉴스그룹 분류로 배우는 피처 벡터화 + 희소행렬(COO/CSR) (0) | 2026.02.14 |
|---|---|
| NLP(Natural Language Processing)와 텍스트 전처리 핵심 정리― 개념부터 NLTK 실습까지 한 번에 이해하기 (0) | 2026.02.14 |
| 비지도학습(군집화) 마무리 정리: “정답이 없을 때, 무엇을 기준으로 묶을 것인가” (1) | 2026.01.12 |
| 고객 세그먼테이션 구현 실습RFM 기법 + K-Means 군집화 (0) | 2026.01.12 |
| DBSCANDensity-Based Spatial Clustering of Applications with Noise (0) | 2026.01.12 |