Gurugail NLP/Morphological Analyzer
NLP

Morphological Analyzer

I. 형태소 분석이란?

형태소 분석의 목적은 주어진 문을 형태소로 분해하고, 각각의 형태소에 품사 등을 결정(품사 태킹)하는 것이다. 다시 말해 문장을 사전에 등록되어 있는 최소의 단위로 분해한다는 말이다. 일단 최소 의미를 가진 형태소로 분해가 되어야지만 자연어처리가 가능하기 때문에, 자연어 처리를 위한 제 1단계는 보통 형태소 해석의 단계이다.

형태소 외에 자연 언어가 가지는 계층적 구조를 살펴보면 아래와 같다.

  • 음소(phoneme) : 인간의 의미(의지) 전달에서 음성을 어떻게 사용하는가를 기초로 생각한 음의 단위
  • 형태소(morpheme): 의미를 가진 최소의 언어 단위, 하나 이상의 음소로 된다.
  • 단어(word) : 하나의 의미의 총합을 이루며, 문법상 하나의 기능을 가진 최소의 언어 단위, 하나 이상의 형태소로 구성된다.
  • 문장(sentence) : 전달하고자 하는 내용을 가지며, 완결된 언어 단위, 하나 이상의 단어로 된다.

형태소란 의미를 가진 최소의 언어 단위를 일컫지만, 언어마다의 고유 특성으로 인해 애매한 부분이 있다. 영어의 경우에는 형태소는 단어가 어근(radical)과 접사(affix)로 분류되기 때문에, playing는 play(어근) + ing(접사)로 2형태소로 구성되었다고 말할 수 있고, 일본어나 한국어는 활용어의 발달로 형태소의 기준이 애매하지만, 보통 사전에 등록되어 있는 항목으로 보면 가장 근접한 기준이라 할 수 있다.

아래 나는 너를 사랑한다. 에 대한 고려대학교 자연어처리에서 분류한 형태소 해석의 예를 보자.

나는나/VV+아는/EFC, 나/VX+아는/EFC, 낳/VV+아는/EFC, 나/NNCG+는/PX, 나/NPP+는/PX, 나/VV+는/EFD, 나/VX+는/EFD, 날/VV+는/EFD
너를너/NPP+를/PO, 너르/VJ+ㄹ/EFD
사랑한다.사랑/NNCV+하/XSVV+ㄴ다/EFF+./SS.

위와 같이 간단한 문장이라도 사전에 등록되어 있는 항목으로 형태소 해석을 하면 경우의 수가 상당히 많다. 이것이 바로 자연어처리의 어려움 중의 하나라고 할 수 있다.

II. 형태소 분석기 다운로드