이번 자료는 현대 생성 모델이 아니라, 머신러닝 기반 텍스트 분석을 이해하는 데 필요한 흐름만 다룹니다.
NLP는 사람이 쓰는 문장을 컴퓨터가 계산 가능한 형태로 바꾸고, 분류/검색/생성 같은 작업을 수행하는 분야입니다.
리뷰 감성 분석, 스팸 탐지, 뉴스 분류, 문서 검색, 유사 문서 추천이 모두 텍스트 분석의 대표 문제입니다.
텍스트 자체를 바로 모델에 넣을 수 없기 때문에, 토큰 -> 벡터 -> 모델 -> 평가 흐름을 먼저 잡습니다.
"배송이 빠르고 좋아요"라는 문장을 긍정 리뷰로 분류하려면 먼저 단어 조각들을 숫자로 바꿔야 합니다.
핵심은 문장을 숫자 벡터로 바꾼 뒤, 기존 머신러닝 모델이 처리할 수 있는 표 형태 데이터로 만드는 것입니다.
| 방식 | 대표 표현 | 장점 | 한계 |
|---|---|---|---|
| BoW / TF-IDF | 단어 출현 횟수, 중요도 | 간단하고 빠름 | 문맥과 단어 순서를 많이 잃음 |
| Word Embedding | 단어를 dense vector로 표현 | 비슷한 단어가 가까워짐 | 기본 머신러닝 수업에서는 BoW/TF-IDF 뒤에 학습 |
Bag of Words는 문서에 어떤 단어가 몇 번 나왔는지 세어 문서를 벡터로 표현합니다.
가장 단순하지만 텍스트 분류의 기본 흐름을 이해하기 좋습니다.
단어 순서는 거의 잃지만, 단어 출현 패턴을 표 형태로 만들 수 있습니다.
"영화 재미있다"와 "영화 재미있다 재미있다"는 "재미있다" 횟수가 다르게 기록됩니다.
| 문서 | 영화 | 재미 | 별로 | 추천 |
|---|---|---|---|---|
| "영화 재미 추천" | 1 | 1 | 0 | 1 |
| "영화 별로" | 1 | 0 | 1 | 0 |
이 행렬의 행은 문서, 열은 단어입니다. 이 형태가 되면 로지스틱 회귀, 나이브 베이즈, SVM 같은 모델에 넣을 수 있습니다.
문서 안에서 자주 나오지만, 모든 문서에 흔하지 않은 단어를 더 중요하게 봅니다.
"영화"처럼 어디에나 나오는 단어보다 "감동", "환불", "고장" 같은 단어가 더 구분력이 있을 수 있습니다.
TF-IDF 벡터는 텍스트 분류와 문서 유사도 계산에서 자주 쓰이는 기본 입력입니다.
CountVectorizer보다 단어 중요도를 더 세밀하게 반영할 수 있습니다.
텍스트 분류는 문장을 벡터로 바꾼 뒤 정해진 라벨 중 하나를 예측하는 문제입니다.
감성 분석, 스팸 탐지, 뉴스 카테고리 분류가 모두 같은 흐름으로 풀립니다.
입력은 TF-IDF 행렬, 출력은 라벨입니다. 모델은 어떤 단어가 어떤 라벨과 가까운지 학습합니다.
"재구매하고 싶어요"는 긍정, "다시는 안 살래요"는 부정으로 분류합니다.
| 지표 | 의미 | NLP 예시 |
|---|---|---|
| Accuracy | 전체 중 맞힌 비율 | 일반적인 뉴스 분류 |
| Precision | 양성이라고 한 것 중 진짜 양성 비율 | 스팸이라고 차단한 메일의 신뢰도 |
| Recall | 실제 양성 중 찾아낸 비율 | 악성 댓글을 놓치지 않는 능력 |
| F1-score | Precision과 Recall의 균형 | 클래스 불균형이 있을 때 유용 |
문서-단어 행렬처럼 큰 행렬에서 중요한 축과 숨은 구조를 찾게 해줍니다.
분류 모델이 틀렸을 때 가중치를 어떤 방향으로 고칠지 이해하게 해줍니다.
이번 자료에서는 전체 수학 목록 중 Eigen, SVD, Gradient만 우선순위로 봅니다.
| 우선순위 | 개념 | NLP 연결 |
|---|---|---|
| 높음 | Eigenvalues / Eigenvectors | PCA, 중요한 데이터 방향, 분산이 큰 축 |
| 높음 | Singular Value Decomposition | 문서-단어 행렬의 숨은 주제, 차원 축소 |
| 높음 | Matrix Approximation | 큰 행렬에서 중요한 정보만 남기기 |
행렬을 곱해도 방향은 그대로이고 길이만 바뀌는 특별한 방향이 eigenvector입니다.
데이터가 가장 많이 퍼져 있는 방향, 즉 PCA의 핵심 아이디어와 연결됩니다.
eigenvalue는 그 방향이 얼마나 강한지 알려주는 배율입니다.
리뷰 데이터에서 긍정/부정 표현을 잘 가르는 방향이 있다면, 그 방향이 중요한 축입니다.
어떤 행렬이든 중요한 방향과 그 크기로 나누어 볼 수 있는 분해입니다.
문서-단어 행렬에서 숨은 주제 구조를 찾는 데 연결됩니다.
중요한 성분 몇 개만 남겨도 원래 행렬을 어느 정도 설명할 수 있습니다.
차원 축소, 노이즈 제거, 추천 시스템의 잠재 요인과 연결됩니다.
| 우선순위 | 개념 | NLP 연결 |
|---|---|---|
| 높음 | Partial Differentiation and Gradients | 모델 가중치를 어느 방향으로 바꿀지 계산 |
| 높음 | Gradients of Matrices | TF-IDF 행렬과 가중치 행렬의 shape 이해 |
| 중간 | Useful Identities | 공식보다 shape과 계산 흐름 중심으로 확인 |