임베딩과 벡터화 기법
2025. 9. 25. 20:47ㆍ개발/텍스트마이닝과 언어모델
반응형
1. 텍스트 데이터의 숫자 표현
- 컴퓨터의 기본 원리: 모든 문자는 숫자로 표현됨 (ASCII, Unicode).
- 한계: 단일 문자 단위는 의미를 충분히 담지 못하므로, 단어·문장을 벡터화 필요.
2. 단순 벡터화 방법
(1) 정수 인코딩
- 단어별 고유 ID 부여 → 문장을 정수 배열로 표현.
- 문제점: 숫자의 크기·차이가 의미와 무관, 문장마다 길이 다름.
(2) 원-핫 인코딩
- 어휘 크기만큼 벡터 생성, 해당 단어 위치만 1, 나머지 0.
- 장점: 단순, 벡터 길이 고정.
- 단점: 희소행렬(대부분 0), 차원 폭발.
3. BoW (Bag-of-Words)
- 단어 등장 횟수 기반 문서 표현.
- CountVectorizer: 단어 사전 구축 후 각 문서의 단어 빈도 계산.
- 한계:
- 단어 중요도 구분 불가.
- 불용어가 과도하게 반영.
- 문서 길이 의존성.
4. TF-IDF
- TF(문서 내 빈도) × IDF(전체 문서에서 드물수록 가중 ↑).
- 장점:
- 불용어 패널티.
- 문서 길이 보정.
- 단점: 여전히 단어 순서·문맥 반영 불가.
5. 문서 유사도 측정
- 임베딩 후 벡터 유사도 계산.
- 대표 지표:
- 코사인 유사도 (가장 많이 사용).
- 유클리드 거리, 자카드 유사도 등.
6. 워드 임베딩 (Word Embedding)
- 단어를 저차원 밀집 벡터로 표현, 의미적으로 가까운 단어는 인접.
- 학습 원리: "비슷한 문맥 → 비슷한 의미".
- 대표 기법:
- Word2Vec (구글, 2013): CBOW, Skip-gram.
- GloVe (스탠포드, 2014): 동시 출현 통계 반영.
- FastText (페이스북, 2016): 서브워드 활용.
- 장점: 희소성 제거, 의미 반영.
- 한계: 문맥의 동적 의미 변화까지는 제한적.
7. 문서 수준 확장
- 워드 벡터의 합/평균 → 문서 벡터.
- 문제점: 단어 중요도 동일 취급, 순서 무시, 의미 희석.
8. 이후의 발전
- Doc2Vec (2014): 문서 자체 벡터 학습.
- RNN 기반 표현: 순서 반영.
- ELMo (2018): 문맥 반영 임베딩.
- BERT, S-BERT (2018~): Transformer 기반, 문맥 정교 반영.
9. LLM 기반 임베딩
- S-BERT:
- 문장을 고정 길이 벡터로 변환.
- 문맥·단어 순서 반영.
- Hugging Face 라이브러리 지원.
- 장점:
- 문맥적 의미 내포.
- 사전학습 모델 활용 용이.
- 단점:
- 입력 길이 제한(512 토큰).
- 속도/자원 부담.
- 해석 불가성(블랙박스).
✅ 핵심 흐름 요약
문자 → 숫자(ASCII/Unicode) → 정수 인코딩/원-핫 인코딩 → BoW/TF-IDF (단어 빈도 기반) → 워드 임베딩(Word2Vec, GloVe 등) → 문서 벡터화(합·평균, Doc2Vec) → LLM 기반 임베딩(S-BERT, BERT)**으로 발전.
반응형
'개발 > 텍스트마이닝과 언어모델' 카테고리의 다른 글
텍스트 데이터의 이해와 전처리 (1) | 2025.09.18 |
---|---|
파이썬 핵심 문법 정리 (0) | 2025.09.18 |