딥러닝 기반 형태소 분석기 khaiii
형태소 분석기 라는 키워드로 구글 검색을 하다가 카카오에서 개발한 딥러닝 기반의 형태소 분석기인 khaiii를 알게 되어 소개하고자 포스팅하게 되었습니다.
khaiii는 Kakao Hangul Analzer III 의 약자 입니다. 전작인 dha1, dha2를 계승하여 만들어졌다고 볼 수 있지만 dha 시리즈와 달리 데이터 기반으로 동작하여, 딥러닝 알고리즘을 사용합니다.
자연어 처리에 있어서 형태소 분석은 가장 기초적인 절차라 합니다. 구문과 의미 분석에 있어서 가장 먼저 형태소 분석이 이루어져야만 합니다. khaiii는 딥러닝 기술 중 하나인 CNN 기술로 음절 기반으로 형태소를 분석합니다. 국립국어원의 세종 코퍼스 데이터를 기반으로 자체 구축한 데이터를 추가하여 85만 문장, 1천만 어절의 코퍼스를 학습하였다고 합니다. C++ 기반으로 디코더가 구현되어 있어 GPU가 없이도 비교적 빠르게 동작하며, Python 바인딩을 제공하여 파이썬으로 편리하게 사용할 수 있습니다.
카카오에서 개발한 khaiii는 Github에 오픈소스로 공개되어 있습니다. 한국어 연구 및 챗봇, 자연어 처리 응용기술의 개발 등 많은 분야에 적용될 수 있을 것으로 보입니다.
https://github.com/kakao/khaiii
1. 데이터 기반
khaiii는 데이터 기반의 기계학습 알고리즘을 사용하여 형태소를 분석합니다. 국립국어원의 세종 코퍼스 데이터를 기반으로 하여 학습하였습니다.
2. 알고리즘
CNN 알고리즘을 사용하였습니다. 자연어 처리에 있어서 형태소 분석은 중요한 전처리 과정이므로 속도가 중요하다고 생각하여 LSTM, RNN 등의 알고리즘은 고려 대상에서 제외하였다고 합니다. 즉, 비교적 빠른 시간 내에 분석이 이루어진다는 것을 의미합니다.
khaiii는 파이썬 스크립트를 통하여 빌드 됩니다. CMake 빌드 툴을 사용하여 파이썬 내에서 빌드되게 됩니다. 다만, 아쉬운 점은 MS Windows를 지원 하지 않아서, Linux 나 MacOS에서만 기능한다는 점입니다. 빌드된 khaiii는 파이썬 바인딩을 통하여 파이썬 인터프리터 내에서 사용할 수 있습니다.
자세한 설치 방법은 아래 링크에서 확인하여 주세요.
https://github.com/kakao/khaiii/blob/master/doc/setup.md
사견
카카오에서는 이 khaiii 외에도 많은 딥러닝 오픈소스 프로젝트를 공개하였습니다. 아직은 인공지능에 대한 공부가 부족하여 이해하기 힘든 부분도 있지만... 좀 더 배우고 공부하여 나중에 본다면 이해될 것이라 믿습니다...
/// 참고자료
'IT > AI' 카테고리의 다른 글
[ML] 로지스틱 회귀 (0) | 2020.06.04 |
---|---|
[ML] k-Nearest Neighbors (0) | 2020.06.03 |
[ML] 분류와 회귀 (0) | 2020.06.03 |
[기사] 실시간 통·번역 인공지능이 나와도 언어 공부를 해야 할까? (0) | 2019.05.29 |
FLOW MACHINES : AI ASSISTED MUSIC (0) | 2019.04.15 |