은전한닢 형태소분석기

은전한닢 형태소분석기(mecab-ko)는 오픈소스 일본어 형태소분석기인 MeCab(메카브)를 한글의 특성을 반영하여 포팅한 오픈소스입니다.

은전한닢은 국립국어원의 21세기 세종계획 말뭉치(Corpus)로 모델을 학습하였습니다.

은전한닢 형태소분석기 장점

어찌보면 MeCab의 장점이겠습니다.1

  • 사전, 코퍼스 독립적 범용 디자인
  • 조건부 확률 필드 (CRF)를 기반으로 한 높은 분석 정확도
  • 속도가 빠름
    • 사전 추출 알고리즘/데이터 구조에는 고속 TRIE 구조인 Double-Array 채택
    • C++로 개발
  • 다양한 스크립트 언어 바인딩
    • perl/ruby/python/java/C#

은전한닢 형태소분석기 설치

Linix와 Mac 운영체제

은전한닢 형태소분석기인 mecab-ko와 한글사전인 mecab-ko-dic을 설치해야하는데, Linux와 Mac 운영체제에서의 은전한닢 형태소분석시의 설치는 그리 어렵지 않습니다.

mecab-ko-dic 페이지에 설치 방법이 잘 가이드되어 있어, 기술하는 방법으로 소스를 컴파일하여 설치하면 됩니다.

Windows 운영체제

Windows 운영체제에서의 mecab-ko와 mecab-ko-dic을 설치하는 것은 쉽지 않았습니다. 그러나 형태소분석기와 사전을 Windows 환경에서 컴파일한 바이너리 버전을 다음 사이트에서 다운로드 받아 “c:/mecab” 디렉토리에 설치하면 됩니다. 반드시 “c:/mecab” 경로에 설치해야 형태소분석기를 정상적으로 사용할 수 있습니다.

bitTA 패키지를 이용한 설치

은전한닢 형태소분석기를 설치하지 않은 상태에서 bitTA 패키지를 로드하면, 다음과 같은 메시지가 출력됩니다.

  • Window 운영체제
> library(bitTA)
To use bitTA, you need to install mecab-ko and mecab-ko-dic.
You can install it with install_mecab_ko().
You have already installed mecab-ko in 'c:/mecab', register the installed path with regist_mecab_ko().
  • Mac, Linux 운영체제
> library(bitTA)
To use bitTA, you need to install mecab-ko and mecab-ko-dic.
You can install it with install_mecab_ko().

Linix와 Mac, Windows 운영체제와 무관하게 bitTA 패키지의 install_mecab_ko() 함수는 은전한닢 형태소분석기와 한글사전을 설치해줍니다. 그러므로 은전한닢 형태소분석기를 설치하지 않은 상태라면, install_mecab_ko() 함수를 사용하는 것을 추천합니다.

다음과 같이 설치합니다.

다음은 Winows 운영체제에서의 설치 예시입니다. Winows 운영체제에서는 바이너리 프로그램을 다운로드한 후 “c:/mecab” 경로에 복사하는 것으로 설치됩니다.

> install_mecab_ko()
Install mecab-ko-msvc...trying URL 'https://github.com/Pusnow/mecab-ko-msvc/releases/download/release-0.9.2-msvc-3/mecab-ko-msvc-x64.zip'
Content type 'application/octet-stream' length 777244 bytes (759 KB)
downloaded 759 KB

Install mecab-ko-dic-msvc...trying URL 'https://github.com/Pusnow/mecab-ko-dic-msvc/releases/download/mecab-ko-dic-2.0.3-20170922-msvc/mecab-ko-dic-msvc.zip'
Content type 'application/octet-stream' length 32531949 bytes (31.0 MB)
downloaded 31.0 MB

Windows 환경에서 bitTA 패키지 설치 이전에 이미 mecab-ko와 mecab-ko-dic을 “c:/mecab” 경로에 설치하였다면, 다음처럼 regist_mecab_ko()로 설치된 경로를 bitTA 패키지에 등록합니다.

RcppMeCab 패키지 설치

bitTA에서 형태소분석 기능을 사용하기 위해서는 RcppMeCab 패키지를 설치해야 합니다. 만약에 이 패키지가 설치되어 있지 않다면, 형태소분석기를 호출할 때 다음과 같은 에러가 발생합니다.

> morpho_mecab("아버지가 방에 들어가신다.")
Error in morpho_mecab("아버지가 방에 들어가신다.") : 
  To use morpho_mecab(), you need to install RcppMeCab package.
You can install it with install.packages("RcppMeCab").

RcppMeCab은 CRAN에 등록된 패키지므로 다음처럼 간단하게 설치합니다.

install.packages("RcppMeCab")

여기까지 설치되었다면 비로소 형태소분석을 수행할 수 있습니다.

library("bitTA")

morpho_mecab("아버지가 방에 들어가신다.", type = "morpheme")
     NNG      JKS      NNG      JKB       VV    EP+EF       SF 
"아버지"     "가"     "방"     "에" "들어가"   "신다"      "."