khaiii는 카카오에서 개발한 CNN 기반의 형태소분석기이다.
https://github.com/kakao/khaiii/wiki/%EB%B9%8C%EB%93%9C-%EB%B0%8F-%EC%84%A4%EC%B9%98
위의 링크를 따라가면 설치 방법에 대해서 나와있지만 아주 조금 놓칠 수 있는 부분이 있어서, 완전 초심자들을 위해서 step-by-step으로 설명을 보충한다!
간단하게 부가적으로 설명을 하자면, khaiii는 C++14로 개발되었고 apt나 pip을 통해서 바로 설치할 수 없기 때문에, 코드를 받아서 빌드하고 설치해야 Python에서 사용할 수 있다.
Prerequisite : Linux OS, Python 3
1. khaiii clone
$ git clone https://github.com/kakao/khaiii.git
git clone을 통해서 khaiii 빌드를 위한 소스코드를 로컬에 옮겨준다.
2. cmake 설치
$ pip install cmake
or
$ sudo apt-get install cmake
pip이나 apt으로 설치할 수 있다.
3. Build
$ cd khaiii
$ mkdir build
$ cd build
$ cmake ..
------------------------
$ make all
------------------------
$ make resource
까지 하면 program, resource를 빌드하게 된다. 테스트 하는 방법은 다음과 같다.
$ ./bin/khaiii --rsc-dir=./share/khaiii
안녕, 세상. <== (입력)
안녕, 안녕/IC + ,/SP <== (출력)
세상. 세상/NNG + ./SF <== (출력)
'안녕, 세상.'이라는 문장을 집어넣으면 출력으로 분리된 형태소를 출력하는 것을 볼 수 있다.
계속 입력을 받게 되어 있어서, 더 쓰고 싶지 않을 때는 ctrl+c를 눌러주면 종료된다.
4. Install
Python에 binding 하려면 Python Package 형식으로 만들어주고 pip으로 수동 설치해야 한다.
$ make install
-------------------
$ make package_python
$ cd package_python
$ pip install .
5. Test
정상적으로 설치가 되면 Python에서 import해서 사용할 수 있다.
import하고 예제 문장을 넣어보면,
from khaiii import KhaiiiApi
api = KhaiiiApi()
for word in api.analyze('안녕, 세상.'):
print(word)
요렇게 나온다!
안녕, 안녕/IC + ,/SP
세상. 세상/NNG + ./SF
설치 끝!