이번 포스트에서는 자연어 처리와 그를 위한 형태소 분석에 대해 알아보자

먼저 자연어 처리의 정의를 가지는지 알아보자.

자연어 처리

자연 언어 처리(自然言語處理) 또는 자연어 처리(自然語處理)는 인간이 발화하는 언어 현상을 기계적으로 분석해서 컴퓨터가 이해할 수 있는 형태로 만드는 자연 언어 이해 혹은 그러한 형태를 다시 인간이 이해할 수 있는 언어로 표현하는 제반 기술을 의미한다.

위키백과

자연어 처리는 간략히 ‘형태소 분석-품사 부착-구절 단위 분석-구문 분석’으로 이뤄져 있다.

음절 단위로 끊어서 분석한 뒤에, 조사와 같은 품사를 부착하여 하나의 구(혹은 절) 단위로 만든다.

이 구나 절 단위로 분석을 하면, 문장의 골격을 구성하기 위한 구문 분석 과정을 거치게 된다.

여기서 형태소(morpheme)는 의미의 최소 단위를 의미하며,

입력문자열을 형태소열로 바꾸는 작업을 진행한다.

특히, 한국어는 교착어의 성질을 가지고 있으며, 영어는 굴절어의 성질을 가진다.

교착어와 굴절어는 무엇일까? 그를 위해서는 고립어의 개념도 이해하는 것이 좋다.

교착어와 굴절어, 고립어

고립어 : 대부분의 형태소가 그 자체로 낱말이 되는 언어인데, 중국어, 베트남어 등이 이에 속한다. 한자 하나가 나, 친구, 물, 말 등의 단어를 뜻하는 경우이다. ex) 중국어

굴절어 : 종합어의 한 분류로서, 한 문장 속의 기능에 따라 단어 형태 자체가 변한다. ex) 영어

교착어 : 굴절어와 고립어의 중간 단계이다. 단어의 중심이 되는 형태소에 접두사/접미사와 다른 형태소들이 덧붙어 단어가 구성된다. ex) 한국어

위의 정의에서 확인할 수 있듯, 영어는 굴절어이므로 앞뒤로 붙는 어근이나 접사와 붙어 결합해버리기 때문에 추측에 어려운 부분이 있다.

그러나 한국어는 교착어로서, 그 결합이 느슨하여 제각각 자기의 어형을 잘 지키고 있으며 이 부분에 있어서는

‘형태소 분석’을 하기에 좋은 언어로 볼 수 있다.

형태소 분석에서의 고려사항

이러한 형태소 분석을 할 때는 모든 언어가 가지는 모호성이 반드시 존재하게 되는데,

한국어로 예를 들면, ‘베애 타다’와 ‘집이 타다’는 같은 ‘타다’이지만 뜻 자체가 전혀 다르게 된다.

품사 태깅

품사 태깅은 앞서 말했던 자연어 처리의 두번째 과정이며, 분석한 형태소별로 어떤 품사를 가지고 있는지 정보를 달아두는(tag) 것이다.

이를 통해 구절 단위 분석에서 전체 문맥을 파악하기 위한 사전 준비가 되는 것이다.

형태소 분석과 품사 태깅 과정 모두 다음 포스팅에서 직접 코드로 진행해보겠다.