본문 바로가기

학부/AI 관련 공부

Natural Language Processing, Normalization 이란? (3)

728x90
반응형
 Normalization (NLP preprocessing)

이번 시간엔 텍스트 전처리의 3단계 중에 하나인 Normalization에 대해서 살펴볼 예정이다.

 

정규화(normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어준다. (ex. US = USA)

대소문자를 통합할 때도 US와 us가 다른 것처럼, 무조건 대문자를 소문자로 만들어주는 것도 유의해야 한다.

⇒ 따라서 더 많은 변수를 이용해 소문자 변환을 언제 사용할지 결정하는 머신 러닝 시퀀스 모델을 사용할 수 있다. (항상 효율적인건 아님)

 


Stemming(어간 추출) and Lemmatization(표제어 추출)(Regular Expression)


‘의미를 가진 가장 작은 단위’인 형태소로 형태학적 parsing을 진행한 후, 표제어 추출기를 사용해 표제어 추출을 진행하는 것이 가장 섬세한 표제어 추출의 방식이다.

여기서 형태학적 parsing은 2가지 구성 요소를 분리하는 작업을 의미한다. 이 때, 2가지 구성 요소가 바로 어간과 접사이다.

  • 어간 (Stem) : 단어의 의미를 담고 있는 단어의 핵심 부분
  • 접사 (Affix) : 단어에 추가적인 의미를 주는 부분

종종 표제어 추출은 적절하지 않은 결과를 출력할 수 있다. 이는 앞선 품사 태깅과 관련이 있는데, 본래 단어의 품사 정보를 알아야 정확한 결과를 추출할 수 있는 경우에 적절하지 않은 결과들이 도출되는 상황이 발생한다.

 

어간 추출과 표제어 추출의 예시를 한번 살펴보자.

 

Stemming (어간 추출)

  • am → am
  • the going → the go
  • having → hav

Lemmatization (표제어 추출)

  • am / are / is → be
  • the going → the going
  • having → have


한국어에서의 어간 추출


  • 체언 : 명사 / 대명사 / 수사
  • 관계언 : 조사
  • 수식언 : 관형사 / 부사
  • 독립언 : 감탄사
  • 용언 : 동사 / 형용사

한국에서의 어간 추출은 독특한 형태를 띈다. 영어와는 다르게 독특한 형태를 띄는 이유는 바로, 활용 (Conjugation) 때문이다.

활용 (Conjugation) 이란, 인도 혹은 유럽어에서도 볼 수 있는 언어적 특징 중 하나이며, 어간(stem)이 어미(Ending)을 가지는 일을 말한다. 활용에는 크게 2가지의 형태가 있다.

 

  • 규칙 활용 : 어간이 어미를 취할 때, 어간의 형태가 바뀌지 않는 방식 (ex. 잡다 / 잡고 / 잡은 등)
  • 불규칙 활용: 어간이 어미를 취할 때 어간의 형태가 바뀌는 방식 (ex. 듣고 / 들었 / 듣게 / 들을 등)


Normalization Tool


영어는 NLTK에서 Porter 알고리즘을 사용하여 어간 추출을 진행할 수 있다. 정해진 규칙에 따라 알고리즘이 수행되기 때문에 사전에 존재하지 않는 단어들이 나올 수 있다.

Lancaster stemmer 알고리즘도 어간 추출을 지원하고 있는데, 위의 알고리즘과 조금 차이가 있다는 점을 알아두자.

 

표제어 추출은 NLTK의 WordNetLemmatizer로 수행할 수 있다.

 

출처 : 딥러닝을 이용한 자연어 처리 입문 (https://wikidocs.net/21707

728x90
반응형