2013년 4월 27일 토요일

mecab-ko-dic-1.2.0-20130427 배포합니다.

mecab-ko-dic-1.2.0-20130427이 나왔습니다.
  • mecab-ko에 맞춰서 학습 규칙 및 설정 변경
  • 인명사전(NN-Person.csv) 데이터 다량 추가
  • _Wikipedia.csv 사전을 단일 명사와 복합 명사 사전으로 나눔
여기서 받으실 수 있습니다.

mecab-ko-0.9.0 배포합니다.

mecab-ko 소개

mecab-ko는 은전한닢 프로젝트에서 사용하기 위한 MeCab의 fork 프로젝트 입니다. 최소한의 변경으로 한국어의 특성에 맞는 기능을 추가하는 것이 목표입니다.

0.9.0 버전에서는 공백 문자(white space)를 포함하는 특정 품사의 비용을 늘리는 기능이 추가되었습니다. mecab-ko-dic-1.2.0 버전부터 mecab-ko를 지원합니다.

보다 자세한 내용은 https://bitbucket.org/eunjeon/mecab-ko에서 확인하실 수 있습니다.

2013년 4월 12일 금요일

mecab-ko-lucene-analyzer-0.9.5 배포합니다.

mecab-ko-lucene-analyzer-0.9.5가 나왔습니다.
  • jar 패키지를 mecab-ko-mecab-loader.jar와 mecab-ko-lucene-analyzer.jar로 분리. (mecab-ko-mecab-loader.jar는 JNI 클래스를 포함하므로 System classpath에 위치해야 함)
  • 위의 사항과 관련하여 README.md를 변경
여기서 받으실 수 있습니다.
이전의 버전은 JNI 클래스 패키지가 분리되어있지 않아서, collection을 하나 이상 만들 수 없는 문제점이 있습니다. 꼭 새로운 버전을 사용하시기 바랍니다. 관련하여 설치 방법도 변경됐으니, https://github.com/eunjeon/mecab-ko-lucene-analyzer/blob/master/README.md를 다시 확인 해주시기 바랍니다.

2013년 4월 11일 목요일

mecab-ko-lucene-analyzer OpenJDK에서 사용하기

mecab-ko-lucene-analyzer가 OpenJDK 상에서는 제대로 동작을 하지 않는 문제가 발견되었습니다. 정확히는 MeCab의 JNI가 비정상적인 동작(형태소 분석 결과가 나오지 않음)을 합니다. MeCab은 Java 인터페이스를 만들기 위해서 SWIG라는 툴을 사용하는데, 이 문제가 SWIG의 문제인지 OpenJDK의 문제인지는 잘 모르겠습니다.

이것저것 시도해보다가 다음과 같이 mecab-java-0.996의 Makefile에서 gcc 최적화 옵션을 -O나 -O1으로 낮추면 정상 동작하는 것을 확인하였습니다. 뭔가 매우 찝찝하지만 일단은 여기까지 입니다. -_-a

테스트 된 환경은 다음과 같습니다.
CentOS 6.3
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-i386)
OpenJDK Server VM (build 20.0-b12, mixed mode)
관련하여 더 좋은 해결 방법을 아시는 분은 알려주시면 감사 하겠습니다.

TARGET=MeCab
JAVAC=javac
JAVA=java
JAR=jar
CXX=c++
INCLUDE=/usr/lib/jvm/java-6-openjdk/include
PACKAGE=org/chasen/mecab
LIBS=`mecab-config --libs`
INC=`mecab-config --cflags` -I$(INCLUDE) -I$(INCLUDE)/linux
all:
    $(CXX) -O3 -c -fpic $(TARGET)_wrap.cxx  $(INC)
    $(CXX) -O1 -c -fpic $(TARGET)_wrap.cxx  $(INC)
    $(CXX) -shared  $(TARGET)_wrap.o -o lib$(TARGET).so $(LIBS)
    $(JAVAC) $(PACKAGE)/*.java
    $(JAVAC) test.java
    $(JAR) cfv $(TARGET).jar $(PACKAGE)/*.class
test:
    env LD_LIBRARY_PATH=. $(JAVA) test
clean:
    rm -fr *.jar *.o *.so *.class $(PACKAGE)/*.class

cleanall:
    rm -fr $(TARGET).java *.cxx

2013년 4월 7일 일요일

mecab-ko-dic-1.1.5-20130407 배포합니다.

mecab-ko-dic-1.1.5-20130407이 나왔습니다.
  • 명사(NN.csv)와 복합명사(NN-Compound.csv)에 중복으로 등록되어있는 어휘 정리
여기서 받으실 수 있습니다.