gogamza@ubuntu:~/prj$ R CMD roxygen -d KoNLP
요구된 패키지 digest를 로드중입니다
Writing doKoMorph to KoNLP/man/doKoMorph.Rd
Writing extractNoun to KoNLP/man/extractNoun.Rd
Writing MorphAnalyzer to KoNLP/man/MorphAnalyzer.Rd
Writing SimplePos22 to KoNLP/man/SimplePos22.Rd
Writing SimplePos09 to KoNLP/man/SimplePos09.Rd
Writing is.hangul to KoNLP/man/is.hangul.Rd
Writing convertHangulStringToJamos to KoNLP/man/convertHangulStringToJamos.Rd
Writing convertHangulStringToKeyStrokes to KoNLP/man/convertHangulStringToKeyStrokes.Rd
Writing makeTagList to KoNLP/man/makeTagList.Rd
Writing KoNLP to KoNLP/man/KoNLP.Rd
Writing DicConfPath to KoNLP/man/DicConfPath.Rd
Writing .onLoad to KoNLP/man/.onLoad.Rd
Writing namespace directives to KoNLP/NAMESPACE
Merging collate directive with KoNLP/DESCRIPTION to KoNLP/DESCRIPTION
gogamza@ubuntu:~/prj$ R CMD check KoNLP
* using log directory ‘/home/gogamza/prj/KoNLP.Rcheck’
* using R version 2.14.0 (2011-10-31)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file ‘KoNLP/DESCRIPTION’ … OK
* this is package ‘KoNLP’ version ‘0.0-7’
* checking package namespace information … OK
* checking package dependencies … OK
* checking if this is a source package … OK
* checking if there is a namespace … OK
* checking for executable files … OK
* checking whether package ‘KoNLP’ can be installed … OK
* checking installed package size … NOTE
installed size is 8.2Mb
sub-directories of 1Mb or more:
dics 4.7Mb
java 3.3Mb
* checking package directory … OK
* checking for portable file names … OK
* checking for sufficient/correct file permissions … OK
* checking DESCRIPTION meta-information … OK
* checking top-level files … OK
* checking index information … OK
* checking package subdirectories … OK
* checking R files for non-ASCII characters … OK
* checking R files for syntax errors … OK
* checking whether the package can be loaded … OK
* checking whether the package can be loaded with stated dependencies … OK
* checking whether the package can be unloaded cleanly … OK
* checking whether the namespace can be loaded with stated dependencies … OK
* checking whether the namespace can be unloaded cleanly … OK
* checking for unstated dependencies in R code … OK
* checking S3 generic/method consistency … OK
* checking replacement functions … OK
* checking foreign function calls … OK
* checking R code for possible problems … OK
* checking Rd files … OK
* checking Rd metadata … OK
* checking Rd cross-references … OK
* checking for missing documentation entries … OK
* checking for code/documentation mismatches … OK
* checking Rd \usage sections … OK
* checking Rd contents … OK
* checking for unstated dependencies in examples … OK
* checking examples … NONE
* checking for unstated dependencies in tests … NOTE
‘library’ or ‘require’ call not declared from: ‘testthat’
* checking tests …
Running ‘test-all.R’
OK
* checking PDF version of manual … OK
위 내용은 패키지 마지막 테스트 과정 로그이다.
회사 프로젝트 끝나고 짬짬히 작업을 완료해서 R CRAN에 submit 했다. 이거 승인 받는데 일주일정도 걸린다고 하니 좀 기다려 보자.
세 가지 함수만 제외하고 모두 Korean Lucene analyzer 와 HanNanum Korean Analyzer를 인터페이싱하는 함수들이며, 형태소 분석기 특성상 사전 데이터들이 많아서 용량이 커졌다. 특히 한나눔 분석기의 경우 확장성이 좋기 때문에, 패키지 내부 dics/ 디렉토리의 사전을 편집하면 좀더 좋은 성능의 자신만의 분석기를 만들 수 있을 것이다. 대부분 실무에서는 명사 추출기가 가장 쓸모 있지 않을까 한다.
한글 처리 함수들 패키지임에도 불구하고 R에서는 ASCII 문자가 아닌 것들은 소스코드에서 배제하고 pdf 생성하는 것도 안되는 규칙 때문에 쓸만한 예제 코드를 전혀 올리지 못했다. 만일 한글을 사용하면 위 “R CMD check” 명령에서 에러가 나고 만다. 이 과정을 통과하지 못하면 CRAN에 올릴 수 조차 없는데, 참으로 안타깝기 그지 없다. 게다가 unittest 코드들도 죄다 한글문장 프로세싱 예제라서 전혀 올라가질 않는다. 내부적으로 테스트하고 패키징할때는 빼는 전략을 취해야 할 듯 하다.
일단 얼개를 만들었으니 많은 분들의 참여로 발전이 있었으면 좋겠다.
앞으로 해야 될 작업을 정리해보면,…
1. 형태소 분석 사전 편집 인터페이스
2. 가지고 있는 더 많은 한글 관련 시스템 함수들 제공. 특히 오토마타….Rcpp 해야함(직접 작성한 C++ 소스코드는 있다)..
3. 장기적으로 한글 spelling suggestion 모듈 만들기…학습 데이터 필요,
R에서 한글 데이터 분석을 재미있게 할 수 있을 때까지…..
KoNLP submit 완료 그리고 기다림…. by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.