한국어 형태소 분석기 for Node.js
오래전부터 생각만 하다가 최근들어 빨리 프로토타입이라도 한 번 만들어봐야겠다고 생각하고 있는 프로젝트가 있는데, 그 프로젝트에는 한국어 형태소 분석기가 반드시 필요했다.
한가지 놀랐던 것은, 예전과는 다르게 요즘엔 공개된 형태소 분석기가 꽤 많아져서 선택을 하는 것이 오히려 더 어려울 정도였다. (이런 환경을 만들기 위해 애써주신 분들께 정말 감사드립니다. (_ _))
공개되어 있는 다양한 형태소 분석기 중에서 어떤 것을 쓸까 고민했는데, 내가 원하는 기준에서는 mecab-ko가 가장 나았다. mecab이라는 일본어 형태소 분석기를 한국어에 맞게 수정한 버전인데, 일단 로딩 및 파싱 속도가 가장 빠르다는 것이 최고의 장점.
그리고 mecab을 랩핑한 Node.js 모듈이 몇 개 있었는데, 그 중 mecab-async, mecab-ffi 라는 두 개의 모듈이 가장 많이 쓰이는 것 같았다. 다만, 내가 원하는 형식에는 조금 맞지 않아, 야크쉐이빙을 한 번 해 보기로 했다. 내가 원하던 형태는 KoNLPy라서 이 모듈의 인터페이스를 참조해서 만들기로 했다.
그리고 그 결과물 mecab-ya (이제 눈치 채셨겠지만, 사실 이 글은 광고글임다 ㅋㅋ 깃허브에 별점 좀 찍어주십셔 굽신굽신(_ _);;)
mecab-ffi 처럼 ffi 모듈을 이용해서 만들어볼까 했지만, mecab이 워낙 성능이 좋아 ffi 모듈을 이용하는 것과 프로세스를 띄우는 것 차이에 성능차가 거의 없었고, Node.js의 특성상 의존성과 성능측면을 고려하여 프로세스를 띄우는 방법을 쓰기로 했다.
자. 이제 메인 프로젝트를 시작해보..기 전에 밀린 만화책을 보러가자 =3=3=3