본문 바로가기

딥러닝/[딥 러닝을 이용한 자연어 처리 입문]딥러닝

정제(Cleaning) and 정규화(Normalization)

정제(Cleaning) and 정규화(Normalization)

 

토큰화(Tokenization) : 코퍼스에서 용도에 맞게 토큰을 분류하는 작업

토큰화 작업 전, 후에는 텍스트 데이터를 용도에 맞게 정제(cleaning) 및 정규화(normalization)한다.

  • 정제(cleaning) : 갖고 있는 코퍼스로부터 노이즈 데이터를 제거한다.
  • 정규화(normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어준다.
 

1. 규칙에 기반한 표기가 다른 단어들의 통합

같은 의미를 갖고있음에도, 표기가 다른 단어들을 하나의 단어로 정규화하는 방법

 

2. 대, 소문자 통합

  • 대문자를 소문자로 변환하는 소문자 변환 작업 : 영어권 언어에서 대문자는 문장의 맨 앞 등과 같은 특정 상황에서만 쓰이고, 대부분 소문자로 작성됨
  • 문장의 맨 앞에서 나오는 단어의 대문자만 소문자로 바꾸고, 다른 단어들은 전부 대문자인 상태
 

3. 불필요한 단어의 제거

정제 작업에서 제거해야하는 노이즈 데이터(noise data)

  • 자연어가 아니면서 아무 의미도 갖지 않는 글자들(특수 문자 등)
  • 분석하고자 하는 목적에 맞지 않는 불필요 단어들

불필요 단어들 제거법 :불용어 제거, 등장 빈도가 적거나 길이가 짧은 단어들 제거

 

(1) 등장 빈도가 적은 단어

텍스트 데이터에서 너무 적게 등장하는 단어들의 경우 분류에 거의 도움이 되지 않는다.

 
(2) 길이가 짧은 단어
 
영어권 언어에서는 길이가 짧은 단어를 삭제하는 것으로 단어가 아닌 구두점 같은 자연어 처리에서 크게 의미가 없는 단어들을 제거할 수 있다. 반면, 한국어에서는 길이가 짧은 단어라고 삭제하는 방법이 크게 유효하지 않다. 한국어 단어는 한자어가 많고, 한 글자만으로도 이미 의미를 가진 경우가 많다.
 
import re
 was wondering  anyone out there could enlighten   this car.


 

4 정규 표현식(Regular Expression)

얻어낸 코퍼스에서 노이즈 데이터의 특징을 잡아낼 수 있다면, 정규 표현식을 통해서 이를 제거할 수 있는 경우가 많습니다. 계속해서 등장하는 글자들을 규칙에 기반하여 한 번에 제거하는 방식으로서 매우 유용합니다.