RmecabKo License CRAN Downloads

19/3/26: RcppMeCab을 import하여 동작하는 방식으로 변경하였습니다.

RmecabKo는 mecab-ko (은전한닢 프로젝트)를 기반으로 한국어 문장 형태소 분석, 그리고 한국어 텍스트의 분석을 진행할 때 필요한 다른 패키지의 도움 함수를 제공하는 것을 목적으로 합니다.

은전한닢 프로젝트가 기반으로 하고 있는 mecab은 일본어 형태소 분석기로, 띄어쓰기와 관계없이 형태소를 분석합니다. 인터넷에서 수집한 텍스트는 띄어쓰기에 오류가 있는 경우가 많아, 텍스트 분석을 진행할 때 은전한닢 프로젝트의 mecab-ko를 통해 진행하는 것이 유용할 수 있습니다.

이 패키지는 은전한닢 프로젝트의 R wrapper입니다. Mac OSX, Linux에서는 mecab-komecab-ko-dic를 먼저 설치해야 합니다. Rcpp를 통해 제작했습니다. C++에서 직접 동작하므로 다른 형태소 분석기에 비해 상당히 빠릅니다.

Installation

17/10/6: RmecabKoCRAN repository에 등록되었습니다.

Mac OSX, Linux

먼저 mecab-koBitbucket 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 또한 설치해야 합니다.

Windows

윈도우의 경우, 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")

Example

pos, nouns 함수를 제공합니다. 두 함수 모두 문자열 벡터를 입력값으로 받습니다. 입력받은 텍스트는 강제로 UTF-8으로 변경하여 분석 진행합니다.

tokenizers 함수를 추가했습니다. token_morph, token_words, token_nouns, token_ngrams의 네 가지 함수를 제공합니다. tidy data analysis를 위해, tidytextunnest_tokens 함수와 함께 사용할 수 있도록 결과를 리스트 형태로 반환합니다.

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를 단장 중에 있습니다. 분석 사례와 적용 방법을 추가할 예정입니다.

Author

김준혁 (junhewk.kim@gmail.com)

Thanks to and Contributor

TODO

License

GPL (>= 2)



junhewk/RmecabKo documentation built on May 21, 2019, 3:03 a.m.