본문 바로가기

Theory/DataScience

Python 유저가 한글 자연어 처리를 할 때 필수 모듈인 KoNLPy를 소개합니다.

제가 S/W나 H/W 혹은 인터넷에서 본 재미있는 아이들을 소개한 적도 있지만, 가끔 인물 자체를 -그것도 잘 알지도 못하면서- 소개한 적이 있습니다. 예를 들면, 많은 글을 적진 않으셨지만, MATLAB에 대해 재미난 글이 많은 theta님이 있었구요... 그리고 최근에는 대한민국 지도를 그릴때 소개해 드린, 혜식님도 있었습니다. 그리고 오늘 또 한 분의 고수를 소개해 드릴까합니다. 사실 이 분은 제 블로그에서 한 번 출연(^^)을 하셨었습니다. 바로 서울시 범죄 현황을 분석하던 글[바로라기]에서 folium으로 지도를 표현할 때 서울시 구별 경계선 데이터를 얻어왔던 한국 지도 데이터가 있던 github[바로가기]을 운영하시던 분 e9t라는 분인데요... 오늘 소개해 드릴 Lucy Park이라는 분입니다.

한글 자연어 처리 부분에 대한 자료를 처음 뒤지던 때~~ 저에게 보인 논문한 편이 있었지요^^

바로 위 논문입니다. KoNLPy : 쉽고 간결한 한국어 정보처리 파이썬 패키지라는 좀 멋져보이는 제목의 논문이었지요^^

그 논문 중에 KoNLPy의 설계 철학으로 쉽고 간단한 사용법, 확장성, 상세한 문서, 개방과 공유를 언급하고 있었습니다. 이것도 멋져보이더라구요^^ 그래서 전... KoNLPy도 공부하고~~~ 그리고 Lucy Park이라는 분도 알게되었지요(뭐 직접 만난적은 한 번도 없습니다. 그저... 인터넷에 공개된 자료만 읽었다는...^^ 소심하게... 팬~이라고 말씀드리고 싶습니다.^^)

일단.. Lucy Park님의 PPT자료 하나 소개합니다. PyCon Korea 2014에 발표된 자료로 KoNLPy를 소개하고 있습니다. [바로가기]

거기서는 KoNLPy를 소개하고

역시 본인도 소개를 하고 있으십니다~^^

자연어 처리에서의 기본적 개념에 대해 이야기를 하고 있구요~

형태소~라는 아이의 개념을 이야기해주고 있습니다.

위 홈페이지는 Lucy Park님의 개인 홈페이지[바로가기]입니다.

그리고 최근 업데이트가 되고 있진 않은듯 하지만, 대한민국 정치의 모든 것이라는 사이트[바로가기]의 운영진 중 한 분 입니다.

이제 Lucy Park님 이야기는 그만하고... KoNLPy 데리고 논것 이야기 해야죠~~

문장(sentences), 명사(nouns), 형태소(pos) 분석 결과를 바로 한 번 테스트 해보았습니다.

이번엔 한나눔으로~~

이번엔... '메리가 좋다', '고양이도 좋다', '난 수업이 지루하다', '메리는 이쁜 고양이야', '난 마치고 메리랑 놀거야' 등으로 형태소 분석을 해보았습니다.^^ 각각에 대해 positive한지 negative한지 알려주구요...

그리고.. list안의 list를 하나의 list로 만들어주고~

훈련(train)시키고~~~ 비록 문장 4개지만~^^

'난 수업이 마치면 메리랑 놀거야'라는 문장이 긍정적인지 부정적인지 확인하죠^^ 이때 사용하는 분류기(Classifier)는 NLTK가 제공해주는 Naive Bayes 방법을 사용합니다. ^^

흠... '난'이 있을때 부정적이고, '메리'가 없을 때 부정적이군요~^^

아무튼~~~

훈련때랑 동일과정을 슬~쩍 거쳐보면~

아하... 수업 마치고 메리랑 놀겠다는건 긍정적이네요^^ 뭐 예시는 허접하지만.. 여하튼 오늘은 Lucy Park이라는 미모의 개발자께서 만들어주신 한글 자연어 처리기인 KoNLPy와 자연어 처리에서 유명한 Python 모듈인 NLTK를 사용해서 형태소 분석을 하고, NLTK의 Naive Bayes Classifier를 사용해서 긍정/부정에 대한 분류를 해보았습니다.^^ 킁킁.. 재미있죵^^

반응형