" 중학교때 국어 문법을 배우면서 5언 9품사를 배우게 된다. 

체언 : 명사, 대명사, 수사

용언 : 동사, 형용사

수식언 : 관형사, 부사

독립언 : 감탄사

관계언 : 조사

이렇게 배우게 된다. 보통 이 문법을 학교문법이라고 한다. 

기본적인 정보는 위키피디아에서 확인 가능하다. 
(https://ko.wikipedia.org/wiki/%ED%95%9C%EA%B5%AD%EC%96%B4_%EB%AC%B8%EB%B2%95 )

추가적으로 나무위키( https://namu.wiki/w/%ED%95%9C%EA%B5%AD%EC%96%B4%EC%9D%98%205%EC%96%B8%209%ED%92%88%EC%82%AC ) 도 도움이 된다. 


 실제 기계적인 분석을 하게된다면 더 많은 분류가 필요하다. 형태소 분석기 마다 다른 정책을 사용하고 있다. 파이썬 형태소 분석기 konlpy 를 보면(Konlpy 는 여러 형태소 분석기를 파이썬으로 이용할 수 있도록 만든 wrapper 에 가깝다.) 형태소 분석기별 형태소 분류를 표시해두었다. 

 아래 링크에서 확인 할 수 있다.

https://docs.google.com/spreadsheets/d/1OGAjUvalBuX-oZvZ_-9tEfYD2gQe7hTGsgUpiiBSXI8/edit#gid=0  



현재 Hannanum (ntags=69)  가 가장 상세히 되어 있다. 


명사는 일반적으로 사물, 사람, 장소의 이름을 나타내는 품사이다. ( https://ko.wikipedia.org/wiki/%EB%AA%85%EC%82%AC_(%ED%92%88%EC%82%AC) ). 이 명사를 서술성 명사(술어명사)와 비서술성명사(비술어명사)로 나눌 수 있다. (물론 이 방법론은 명사를 분류하는 여러 방법론 중의 하나일 뿐이다. 추상명사와 보통명사로도 나눌 수 있으나 다른 어절과의 관계에서 무너가 차이가 있어서 이렇게 하는 것으로 보인다. ) 

서술성 명사는 그 자체가 뭔가 동작성이나 상태성을 가지고 있는 경우이다. 보통  ~하다와 붙어서 동사/형용사가 되는 명사이다. 동사가 되었을 때는 동작성 명사이고, 형용사가 되었을 때는 상태성명사이다. 동작성명사에는 일, 결혼 같은 것이 명사다. 상태성명사 대등, 한산 같은 명사이다.

 동작성명사 일, 결혼 같은 경우 ~하다를 붙이면 동사가 된다. 동작성명사의 경우 대등하다, 한산하다 같이 어떠한 상태를 설명하는 말이기 때문에 형용사이다. 

 비서술성명사의 사과, 책생, 걸상 이런 것들이다. 이런 말들은 하다를 붙여서 용언은 만들지 못한다. (단, 밥 같은 경우, 밥하다라는 말이 되긴 하는데, 이건 이 명사 자체로 동작성이나 상태성이 아니기 때문에 비서술명사로 본다. ) 

 (여기서 의문이 하나 생기는데, 그럼 야구,  축구 이런 것은 어떤 명사인지 모르겠다. 세종프로젝트의 상세체언 목록에는 "추상적대상"으로 해두었기 때문에 비서술성명사(비술어명사)로 취급하고 있다. 세종프로젝트의 상세체언에서는 구체물, 집단, 장소, 추상적대상으로는 비서술성명사로 보고 있다.   연구보고서【2007년】 21세기 세종계획 전자사전 개발 참고함.  ) 

 비서술성-직위 명사에 대한 설명은 찾기 어려우나 "김철수 과장" 이런 단어에 대해 과장 같은 말을 직위라고 하는 것으로 추정된다. (사실 잘 모르겠으나 나도 저런 단어에 대해 고민 한 적이 있는지라, 왠지 이런 의미 같다.)


단위성 의존명사는 위키피디아에 표시된 수분류사(https://ko.wikipedia.org/wiki/%EC%88%98%EB%B6%84%EB%A5%98%EC%82%AC) 를 말하는 것으로 보인다.



형용사의 경우 뜻에 따라 성상 형용사와 지시 형용사로 나눌 수 있다.( https://ko.wikipedia.org/wiki/%ED%95%9C%EA%B5%AD%EC%96%B4_%EB%AC%B8%EB%B2%95#.ED.98.95.EC.9A.A9.EC.82.AC ). 성상 형용사는 사물의 상태나 성질을 나타내고, 지시 대명사는 문장 안에서 지시성을 지닌다고 한다. 사실 지시 형용사가 뭔지 잘 와 닿지 않는다. 그냥 성상 형용사가 아닌것이 지시 형용사라고 생각하자. 


형태소 중에 긍정 지정사와 부정 지정사가 있다. 두 가지다 서술격 조사 ~이다. ~아니라를 의미한다. ~이다는 긍정 지정사, ~아니다는 부정 지정사이다. 어떤 형태소 분석기는 서술격 조사로 따로 사용하는 경우도 있다. 




형태소로 분류해둔 것이 좀 많아 보일 수는 있다. 이렇게 좀 상세히 분류해 두면 통계적으로 제약조건에 따라서 분석하기 쉽다는 장점이 있다. 예를 들어 의존명사를 비단위성 의존명사와 비단위성 의존명사로 구분해 두면 

사과 2개 주세요.

라는 말을 분석 할 때,  2개 라는 어절을 분석할 때,  숫자 다음의 개이기 때문에 저 개는 멍멍 짓는 개가 아니라고 알 수 있다. 숫자다음에는 단위성 의존명사가 오는 것이 자연스럽지만  숫자 다음에 비서술성 명사가 오는 것은 조금 부자연스럽다는 것을 알 수 있다. 이런 패턴을 바탕으로 확률사전에서 형태소를 기계적으로 분리하기 유리해진다. 



위 글은 잠깐 공부한 것을 정리한 글인지라 오류가 있을 수 있습니다. 





 예전부터 형태소 분석에 대해 관심이 많았다. 오래전 졸업작품으로  웹 크롤러와 명사 추출을 이용해서 간단한 검색엔진을 만들었다. 이 때, 명사 추출기보다 제대로된 형태소 분석기를 만들고 싶었다. 


 예전에는 공개된 형태소 분석기가 없었으나 요즘에는 공개된 형태소 분석기가 많아졌다. 때문에 많은 정보들이 공개되어 있고 공부할 수 있게 되었다. 그리고 세종프로젝트의 성과물이 공개되면서 이 자료를 활용할 수 있게 되었다. (세종 프로젝트 결과물은 https://ithub.korean.go.kr/user/main.do 에서 받을 수 있다. 해당 결과물을 다운 받기 위해서는 가입이 꼭 필요하다. )


 그동안 공부한 것을 바탕으로 아파치 라이센스, 파이썬 형태소 분석기를 만들어 봐야겠다. 내가 그동안 한다고 생각만 하고 끝까지 못한게 너무 많은데. 이번에는 시간이 많아서 성과물을 만들어야 하겠다. 


 현재 파이썬 쪽에서 사용하는 형태소 분석기는 konlpy(http://konlpy-ko.readthedocs.io/) 이다. 이 형태소 분석기는 여러 형태소 분석기를 묶어두어서 사용하기 편하게 되어 있다. 이 중에서 순수 파이썬 분석기는 하나도 없고 대부분 자바로 되어 있고, JPype 를 이용해서 해당 jar 라이브러리를 이용하게 되어 있다. mecab-ko 의 경우 C++ 인데, 윈도우즈에서 사용이 불가능한 문제점이 있다. (난, 개발환경을 윈도우즈를 추구하는 편이다. ) 


 성과물을 끝까지 만들어서 konlpy 에 내가 만든 형태소 분석기를 추가 했으면 좋겠다.