NLP: 전처리(Preprocessing)

Ohback·2025년 2월 18일

1. 전처리(Preprocessing)란?

자연어처리(NLP)에서의 전처리는 말 그대로 텍스트 데이터를 처리하기 전에 다듬는 과정을 의미한다. 모델이 언어를 정확히 이해하고 학습할 수 있도록 노이즈를 제거하고 형식을 통일하는 것이 핵심!

*이미지 출처: https://pej2834.tistory.com

결국, 단순히 보기 좋게 만드는 수준이 아니라 텍스트가 기계가 이해할 수 있는 구조로 바뀌도록 하는 데 목적이 있다. 전처리가 잘 되어야 이후의 임베딩, 모델 학습, 예측까지도 의미 있는 방향으로 흐르게 된다.

1-1. 전처리의 주요 단계

1) 토큰화 (Tokenization): 문장을 단어 또는 문자 단위로 나누는 과정

  • 단어 토큰화: "나는 우리반 친구들이 너무 좋다."
    → ["나는", "우리반", "친구들이", "너무", "좋다", "."]
  • 문장 토큰화: "나는 우리반 친구들이 너무 좋다. 선생님도 너무 좋다."
    → ["나는 우리반 친구들이 너무 좋다.", "선생님도 너무 좋다."]

2) 불용어 제거(Stopword Removal): 의미 전달에 불필요한 단어 제거

  • "나는 친구들이 좋다." → ["친구들", "좋다"]

3) 대소문자 변환(Casing): 모든 문자를 대문자 또는 소문자로 변환

  • "Hello World" → ["hello world"]
  • 주로 소문자로 바꾸는 방식이 일반적

4) 어간 추출(Stemming) 및 표제어 추출(Lemmatization)

  • 어간 추출: 단어에서 어미 제거 후 기본형 추출 ex) running, runs, ran → run
  • 표제어 추출: 단어의 문법적 변형을 원형으로 변환 ex) better → good, am/is/are → be

5) 정규화(Nomalization): 같은 의미의 다른 표현 통일

  • "U r gr8!" → "You are great!"
  • "wanna" → "want to", "gonna" -> "going to"

6) 특수 문자 및 숫자 제거

  • 텍스트에서 "@"나 "#" 같은 불필요한 특수 문자, 숫자, HTML 태그 등을 제거하여 분석에 방해되는 요소를 없애는 작업

1-2. 전처리 시 주의할 점

  • 전처리가 과하면 정보가 손실될 수 있음
    예를 들어 "not good"에서 "not"을 지우면 의미가 완전히 바뀌게 됨.

  • 언어와 태스크에 따라 전략이 달라져야 함
    챗봇, 감정 분석, 번역 등 작업 목적에 따라 불용어를 제거할지 말지도 달라짐

profile
기록은 기억을 지배한다.

0개의 댓글