자연어 처리(NLP)의 토큰화부터 벡터화까지
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
- 데이터 과학자, NLP 엔지니어, 소프트웨어 개발자
- 중급 수준 (기초 NLP 기술과 고급 모델 이해 필요)
핵심 요약
- 토큰화는 텍스트를 단어(
"Natural"
,"Language"
) 또는 문장("NLP is fascinating."
) 단위로 분할하는 과정 - 리미테이션은 문법적 분석을 통해 정확한 어근(예:
"running" → "run"
)을 생성 - 임베딩(예:
Word2Vec
,GloVe
,FastText
)은 단어의 의미 관계(예: 유사도, 비유)를 벡터로 변환하여 딥러닝 모델에 활용
섹션별 세부 요약
1. 토큰화(Tokenization)
- 단어 토큰화는 문장을 단어 단위로 분할(
"Natural Language Processing" → ["Natural", "Language", "Processing"]
) - 문장 토큰화는 문장을 구분(
"NLP is fascinating. It has..." → ["NLP is fascinating.", "It has..."]
) - 구문 분석에 유리한 토큰 분할이 핵심
2. 어간 추출(Stemming) vs. 리미테이션(Lemmatization)
- Stemming은 접두사/접미사 제거로 어근 생성(예:
"running" → "run"
,"runner" → "runner"
) - Lemmatization은 문법적 분석을 통해 정확한 어근(예:
"ran" → "run"
) 생성 - Stemming은 속도가 빠르나, 의미상 비정확한 어근 생성 가능
3. 불용어 제거(Stop Word Removal)
- 불용어(예:
"the"
,"is"
) 제거로 텍스트 분석의 정확도 향상 - 예:
"AI is changing the world..." → "AI changing world..."
4. 품사 태깅(POS Tagging)
- 품사(예:
NN
= 명사,VB
= 동사)를 기반으로 텍스트에 문법적 맥락 추가 - 예:
"AI transforms industries." → [('AI', 'NNP'), ('transforms', 'VBZ')]
5. 임베딩(Embeddings)
- Word2Vec, GloVe, FastText 모델로 단어를 연속 벡터로 변환
- 의미 관계(예: 유사도, 비유)와 딥러닝 작업(감정 분석, 번역)에 필수적
결론
- NLP 파이프라인 구축 시
NLTK
,spaCy
,Hugging Face
도구 활용 권장 - 고급 기술(NER, 텍스트 분류, BERT)으로 이어지기 위해 기초 기술 마스터 필요
- 임베딩은 모든 NLP 작업의 핵심 기반이므로 반드시 이해해야 함