NLP 프로젝트 성능은 모델 구조뿐 아니라 전처리 파이프라인 품질에 크게 좌우됩니다.
핵심은 토큰화(Tokenization) → 정제(Cleaning) → 정규화(Normalization) 입니다.

1. 토큰화: 텍스트를 모델이 다룰 단위로 분해

토큰화는 연속 문자열을 의미 단위 토큰으로 나누는 과정입니다.

토큰 단위 선택

  • 단어 단위: 일반적인 문장 분해
  • 문자 단위: 오탈자/강건성 처리에 유리
  • 문장 단위: 문서 레벨 태스크에 유용

한국어 토큰화 포인트

한국어는 교착어 특성상 단순 띄어쓰기 분해만으로는 부족합니다.

  • 형태소 단위 분석 필요
  • 예: 데이터분석을배웠다 -> 데이터 / 분석 / 을 / 배우 / 었 / 다

최신 토큰화: Subword(BPE)

BPE/WordPiece 계열은 OOV 문제를 줄이고 표현 유연성을 높입니다.

  • 신조어/복합어 분해 처리
  • 다국어/대규모 모델에서 사실상 표준

2. 정제: 노이즈 제거

학습에 불필요한 요소를 제거해 신호 대 잡음비를 높입니다.

주요 작업

  • HTML/URL/특수문자 정리
  • 반복 문자 축약(예: 너어어무 -> 너무)
  • 불용어 제거(태스크 의존)

주의:

  • 감성 분석에서는 이모지/반복 기호가 중요한 신호일 수 있음
  • Transformer 계열에서는 불용어 무조건 제거가 항상 이득은 아님

3. 정규화: 표현을 일관된 형태로 통합

같은 의미의 다른 표기를 통일해 학습 안정성과 일반화를 높입니다.

대표 기법

  • 대소문자 통일 (case folding)
  • 표현 통일(동의/변형 표현 정규화)
  • 어간 추출(Stemming)
  • 표제어 추출(Lemmatization)

Stemming은 빠르지만 거칠고, Lemmatization은 정확하지만 비용이 큽니다.

4. 모델 입력 변환 단계

전처리된 텍스트는 숫자 시퀀스로 변환되어야 모델 입력이 됩니다.

핵심 단계

  1. 정수 인코딩 (토큰 -> ID)
  2. 패딩 (시퀀스 길이 정렬)
  3. 특수 토큰 삽입

주요 특수 토큰:

  • [SOS] 시작
  • [EOS] 종료
  • [SEP] 구분
  • [UNK] 미등록 토큰
  • [PAD] 패딩

이후 임베딩 레이어를 통해 고차원 의미 벡터로 매핑되어 모델이 처리합니다.

결론

텍스트 전처리는 NLP의 보조 과정이 아니라 성능을 결정하는 기반 공사입니다.
모델을 바꾸기 전에 전처리 파이프라인을 정교하게 설계하는 것이 실무 성능 향상의 가장 확실한 출발점입니다.