머신러닝이나 딥러닝 모델은 숫자 데이터를 입력으로 받습니다.
하지만 우리가 다루는 텍스트 데이터는 문장 형태이기 때문에, 모델이 이해할 수 있도록 일정한 전처리 과정을 거쳐야 합니다.
이번 글에서는 텍스트 데이터를 모델에 넣기 전에 일반적으로 수행하는 전처리 과정을 단계별로 정리해보겠습니다.
가장 먼저 하는 일은 불필요한 문자나 기호를 제거하는 작업입니다.
실제 텍스트 데이터에는 HTML 태그, 특수문자, 숫자 등이 섞여 있는 경우가 많기 때문입니다.
예를 들어:
"I love NLP!!! Visit https://example.com"
이 문장을 정제하면:
"I love NLP"
처럼 불필요한 요소를 제거합니다.
다음 단계는 문장을 단어 단위로 나누는 과정입니다.
이 과정을 토큰화(Tokenization)라고 합니다.
예를 들어:
I love machine learning
토큰화하면:
["I", "love", "machine", "learning"]
이렇게 단어 리스트 형태로 변환됩니다.

모델은 문장을 그대로 처리할 수 없기 때문에
먼저 단어 단위 데이터로 변환해야 합니다.
토큰화가 끝나면, 이제 각 단어를 숫자로 변환해야 합니다.
이 과정을 단어 인덱싱(word indexing) 또는 numericalization이라고 합니다.
예를 들어:
Vocabulary:
I → 2
love → 3
machine → 4
learning → 5
그러면 문장은:
["I", "love", "machine", "learning"]
에서:
[2, 3, 4, 5]
로 변환됩니다.

텍스트 처리에서는 다음 두 가지 특수 토큰을 자주 사용합니다.
예:
[2, 3, 4]
[2, 3, 4, 0, 0]
예:
AI → vocab에 없음
→ UNK (1)
딥러닝 모델은 모든 입력 길이가 동일해야 합니다.
하지만 실제 텍스트는 길이가 모두 다르기 때문에, 일정 길이로 맞춰주는 작업이 필요합니다.
예:
문장 A: 3 단어
문장 B: 8 단어
이 경우:
문장 A → PAD 추가
문장 B → 그대로 유지
이렇게 처리합니다.

숫자로 변환된 단어는 여전히 단순한 숫자일 뿐입니다.
그래서 단어의 의미를 표현하기 위해 벡터(vector) 로 변환합니다.
이 과정을 임베딩(Embedding) 이라고 합니다.
예:
"computer"
[0.21, -0.44, 0.89, ...]
이렇게 여러 개의 숫자로 표현됩니다.

이 방법들은 단어의 의미를 숫자로 표현하는 대표적인 알고리즘입니다.
텍스트 데이터는 다음 순서로 모델에 입력됩니다.
텍스트
→ 텍스트 정제
→ 토큰화
→ 단어를 숫자로 변환
→ 문장 길이 맞추기 (Padding)
→ 단어를 벡터로 변환 (Embedding)
→ 모델 입력
텍스트 데이터를 모델에 바로 입력할 수는 없습니다.
모델이 이해할 수 있도록 단어를 숫자와 벡터 형태로 변환하는 전처리 과정이 반드시 필요합니다.
이 전처리 과정은 모든 자연어 처리(NLP) 모델의 기본 단계이며,
모델 성능에도 큰 영향을 미치는 중요한 작업입니다.
특히 다음 개념은 반드시 이해하고 넘어가는 것이 좋습니다.
Tokenization
Word Indexing
Padding
Embedding
이 네 가지는 거의 모든 텍스트 모델에서 공통적으로 사용되는 핵심 개념입니다.
| Seq2Seq 모델의 한계를 해결 하기 위한 Attention 메커니즘 (0) | 2026.04.11 |
|---|---|
| FastText와 Word2Vec 비교 (1) | 2026.04.11 |
| 이미지 생성에서 Diffusion 모델 활용과 장점 (0) | 2026.03.15 |
| GAN에서 생성자(Generator)와 판별자(Discriminator)의 역할 (0) | 2026.03.15 |
| Fully Convolutional Networks(FCN)의 주요 특징과 기존 CNN 기반 분류 모델과의 차이점 (0) | 2026.03.14 |