본문 바로가기

AI/NLP

Khaiii 설치

 

kakao/khaiii

Kakao Hangul Analyzer III. Contribute to kakao/khaiii development by creating an account on GitHub.

github.com

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

설치 끝!