19/3/26: RcppMeCab을 import하여 동작하는 방식으로 변경하였습니다.
RmecabKo는 mecab-ko (은전한닢 프로젝트)를 기반으로 한국어 문장 형태소 분석, 그리고 한국어 텍스트의 분석을 진행할 때 필요한 다른 패키지의 도움 함수를 제공하는 것을 목적으로 합니다. 
은전한닢 프로젝트가 기반으로 하고 있는 mecab은 일본어 형태소 분석기로, 띄어쓰기와 관계없이 형태소를 분석합니다. 인터넷에서 수집한 텍스트는 띄어쓰기에 오류가 있는 경우가 많아, 텍스트 분석을 진행할 때 은전한닢 프로젝트의 mecab-ko를 통해 진행하는 것이 유용할 수 있습니다.
이 패키지는 은전한닢 프로젝트의 R wrapper입니다. Mac OSX, Linux에서는 mecab-ko와 mecab-ko-dic를 먼저 설치해야 합니다. Rcpp를 통해 제작했습니다. C++에서 직접 동작하므로 다른 형태소 분석기에 비해 상당히 빠릅니다.
17/10/6: RmecabKo가 CRAN repository에 등록되었습니다.
먼저 mecab-ko를 Bitbucket repository에서 설치합니다.
mecab-ko 소스를 Download page에서 다운로드할 수 있습니다. 다음,
Mac OSX terminal에서:
```{shell mecab-ko-installation-on-mac, eval=FALSE} $ tar zxfv mecab-ko-XX.tar.gz $ cd mecab-ko-XX $ ./configure $ make $ make check $ sudo make install
Linux에서:
```{shell mecab-ko-installation-on-linux, eval=FALSE}
$ tar zxfv mecab-ko-XX.tar.gz
$ cd mecab-ko-XX
$ ./configure 
$ make
$ make check
$ su
# make install
mecab-ko 설치 후, github을 통해 RmecabKo 패키지를 설치하실 수 있습니다.
install.packages("RmecabKo") # or, # install.packages("devtools") devtools::install_github("junhewk/RmecabKo") # developmental version using RcppMeCab
한국어 문장 분석을 위해서는 mecab-ko-dic 또한 설치해야 합니다.
윈도우의 경우, install_mecab(mecabLocation)을 통해 mecab-ko binary를 설치합니다. 꼭 설치 디렉터리를 지정해주셔야 합니다.
install.packages("RmecabKo") install_mecab("C:/Rlibs/mecab") # or, # install.packages("devtools") devtools::install_github("junhewk/RmecabKo") install_mecab("D:/Rlibs/mecab")
pos, nouns 함수를 제공합니다. 두 함수 모두 문자열 벡터를 입력값으로 받습니다. 입력받은 텍스트는 강제로 UTF-8으로 변경하여 분석 진행합니다.  
tokenizers 함수를 추가했습니다. token_morph, token_words, token_nouns, token_ngrams의 네 가지 함수를 제공합니다. tidy data analysis를 위해, tidytext의 unnest_tokens 함수와 함께 사용할 수 있도록 결과를 리스트 형태로 반환합니다.
pos는 문장 전체의 형태소 태깅을 제공합니다.nouns는 명사만 추출하여 제공합니다.library(RmecabKo) pos("안녕하세요.") pos(c("안녕하세요.", "은전한닢 프로젝트 R wrapper입니다.")) nouns("안녕하세요.") nouns(c("안녕하세요.", "은전한닢 프로젝트 R wrapper입니다.")) txt <- c("안녕하세요.", "은전한닢 프로젝트 R wrapper입니다.") token_words(txt) token_ngrams(txt, n = 2L) library(tidyverse) library(tidytext) df <- data_frame(txt = c("안녕하세요.", "은전한닢 프로젝트 R wrapper입니다.")) df %>% unnest_tokens(word, txt, tokens = token_morph) %>% # 전체 형태소 추출 anti_join(stopwords_ko) # 불용어 제외 df %>% unnest_tokens(word, txt, tokens = token_ngrams, n = 2L)
Github wiki를 단장 중에 있습니다. 분석 사례와 적용 방법을 추가할 예정입니다.
김준혁 (junhewk.kim@gmail.com)
mecab 한국어 fork mecab-ko-msvc, mecab-ko-dic-msvc VC++ 빌드GPL (>= 2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.