안녕하세요? 지난번 소개한 RmecabKo의 중요 판올림이 있었습니다. 드디어 Windows를 지원합니다. 아쉽게도 Rcpp 자체의 문제로, Windows에서는 R에서 직접 C++ 소스를 구동해서 빠르게 형태소 분석 결과를 확인할 수는 없어요. Rcpp를 개발한 Dirk EddelbuettelRcpp는 Visual C++를 지원하지 않는다고 몇 번이나 강조하고 있었다는 걸 이번 판올림에서 배웠습니다. R core가 Mingw 기반으로 빌드되어 있으므로, Visual Studio library를 섞으면 오류가 발생한다고 하네요.

결국, Rcpp 코드 개발은 포기하고 윤원섭님의 mecab-ko-msvc 빌드를 받아 바이너리 형태로 작동하는 방식을 택했습니다. file I/O를 통해 작동하고요. 따라서 Windows에서 RmecabKo 구동은 Mac OSX/Linux와 비교하면 상당히 느립니다. RTVS(R Tools for Visual Studio)가 판올림을 거듭하다 보면 나중에는 방법이 있지 않을까 싶은데요, 아직은 좀 어렵네요.

판올림을 두 번 진행했습니다.

  1. 0.1.5
    • Windows 지원
    • 패키지에 mecab-ko 바이너리 추가
    • phrase 자료형 list에서 character vecter로 변경
    • nouns 함수 추가
  2. 0.1.6
    • 패키지에서 mecab-ko 바이너리 제거
    • install_mecab 함수 추가 (Windows only)

nouns 함수는 POS tag를 출력하지 않고, 결과에서 명사형만 뽑아 추출합니다. 초반에 한국어로 text analysis 하시던 분들이 명사 추출로 많이 진행하셨고, 주로 활용되는 분야인 term-document relation network 구축, Twitter opinion analysis, topic analysis 등에서 명사만 뽑아 진행하는 것이 일반적이었습니다. 저는 개인적으로 명사만 추출하는 것보다는 체언, 용언 + 추가로 필요한 형태소를 뽑아내는 것을 추천합니다. 다음번에 한 번 소개할 일이 있을 것 같습니다.

install_mecab 함수는 Windows에서 C:\mecab 디렉터리에 mecab-ko-msvcmecab-ko-dic-msvc를 받아 설치합니다. X86, X64를 구분하여 설치하니 사용에 큰 무리는 없으실 것 같아요. 패키지 설치 후 install_mecab() 한 번만 실행해 주시면 됩니다. 추후 mecab-ko 판올림 관련해서 기존 설치된 바이너리를 삭제하는 코드를 추가할 예정입니다.

일단 작동은 문제없는 것 같아, CRAN repository에 등록할 예정입니다.

제 개인적으로 관심이 있는 text analysis package는 tidytext입니다. RmecabKo를 개발하는 이유도 tidytext 패키지에 연동하기 위해서인데요, 이번에 tidytext가 판올림하면서 modified LDA 패키지인 stm을 지원한다고 발표했네요. 곧 RmecabKo, tidytext, stm을 활용한 한국어 텍스트 분석 작업을 하나 올리도록 하겠습니다. tokenizer를 추가해야 할 것 같아요.

즐거운 추석 되셔요!