2013년 3월 31일 일요일

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

mecab-ko-dic-1.1.5-20130317이 나왔습니다.
  • 관형형 전성 어미(ETM)가 앞 형태소의 종성 유무를 보도록 학습 방식 변경
여기서 받으실 수 있습니다.

2013년 3월 25일 월요일

은전한닢 프로젝트를 사용한 위키백과 검색 페이지

은전한닢 프로젝트 테스트용 한국 위키백과(http://ko.wikipedia.org/) 검색 페이지를 만들어 보았습니다. 다음의 URL에서 테스트 해보실 수 있습니다.
아마존의 무료 클라우드의 사양이 낮기 때문에, 검색 속도는 좋지 않습니다.
Intel(R) Core(TM) i5 CPU 760@2.80GHz에서 230,163개의 위키 페이지를 인덱싱하는데 6분 23초의 시간이 걸렸습니다.

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

mecab-ko-lucene-analyzer-0.9.4가 나왔습니다.
  • TokenGenerator.decompoundNoun() 로직 변경 및 관련 유닛 테스트 수정.
  • Token TypeAttribute에 품사 태그 넣도록 코드 수정.
  • '떨어진 명사 파생 접미사(XSN)'에도 '떨어진 조사'와 같은 처리를 하도록 수정.
여기서 받으실 수 있습니다.

2013년 3월 17일 일요일

mecab-ko-dic-1.1.4-20130317 배포합니다.

mecab-ko-dic-1.1.4-20130317이 나왔습니다.
  • Atomic.csv 제거 및 관련 스크립트 제거. 원래 사전의 단어 출현 비용을 직접 바꾸는 방식으로 변경
  • 한글 미지 언어 처리 방식 변경. 띄어쓰기 오류 수정 확률 높임 (설명 참조)
  • 명사 + 부사격 조사 '에'의 연접 비용 높임
  • 감탄사 '제길'의 출현 비용 낮춤
  • 명사 '이용'의 출현 비용 낮춤
  • 약간의 단어 추가 및 삭제
여기서 받으실 수 있습니다.

한글 미지 언어 처리 방식 변경에 대한 설명

MeCab의 모르는 단어 처리에 대한 설정은 char.def 파일에서 할 수 있습니다. mecab-ko-dic-1.1.4-20130317 이전 버전에서는 다음과 같이 정의되어 있습니다.
HANGUL          1 1 2 # Korean
mecab-ko-dic-1.1.4-20130317 버전 이후부터는 다음과 같이 기본 값이 바뀝니다.
HANGUL          0 1 2 # Korean
'모르는 단어를 어떻게 처리할 것인가?'에 대한 설정인데 자세한 것은 다음의 URL에서 참조하실 수 있습니다. 물론 일본어 입니다. 구글 번역을 사용해 보세요. :)

설정의 내용은 다음과 같습니다.
카테고리이름 동작타이밍(0/1) 그룹핑(0/1) 길이(0, 2 ... n)
바뀐 부분은 동작 타이밍 부분인데, mecab 문서에 보면 다음과 같이 설명되어있습니다.
동작 타이밍:
  그 카테고리에서 언제 불명 단어 처리를 움직 일까를 정의합니다.
    0: 알려진 단어가 있으면 알 수 없는 언어 처리를 작동시키지 않습니다.
    1: 항상 미지 언어 처리를 움직입니다.
테스트 결과, '0'인 경우 띄어쓰기가 없는 텍스트의 경우에는 잘 분석되지만, 모르는 단어가 과하게 분석되는 경우가 있고, '1'인 경우 모르는 단어가 나왔을 경우, 최대한 그룹핑돼서 분석되지만, 띄어쓰기가 없는 텍스트의 경우에도 분석이 안되는 경향이 보입니다. 아래에서 테스트 결과를 볼 수 있습니다.

동작 타이밍이 ‘0’인 경우 (‘칼카나마’가 사전에 없는 단어):
칼카나마 재밌다.
NN,T,칼,*,*,*,*
NN,F,카,*,*,*,*
나마 JX,F,나마,*,*,*,*
재밌 VA,T,재밌,*,*,*,*
EF,F,다,*,*,*,*
. SF,*,*,*,*,*,*
EOS
제주국립경마공원
제주 NN,F,제주,*,*,*,*
국립 NN,T,국립,*,*,*,*
경마 NN,F,경마,*,*,*,*
공원 NN,T,공원,*,*,*,*
EOS
동작 타이밍이 ‘1’인 경우:
칼카나마 재밌다.
칼카나마 NN,*,*,*,*,*,*
재밌 NN+VV,T,재밌,Inflect,NN,VV,재미/NN+있/VV
EF,F,다,*,*,*,*
. SF,*,*,*,*,*,*
EOS
제주국립경마공원
제주국립경마공원 NN,*,*,*,*,*,*
형태소 분석을 하는 문서의 성격에 따라서 변경을 하여 쓰실 수 있습니다. 변경 방법은 char.def에서 해당 내용을 변경하시고, 컴파일을 다시 해주시면 됩니다.

2013년 3월 1일 금요일

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

mecab-ko-lucene-analyzer-0.9.3가 나왔습니다.
  • StandardIndexTokenizerFactory에서 decompoundMinLength 의 역할 변경함. 복합명사 분해시 분해되는 토큰의 최소 길이 설정. 기본값은 2입니다.
    • decompoundMinLength = 1 : "자동차" -> "자동차", "자동", "차"
    • decompoundMinLength = 2 : "자동차" -> "자동차", "자동"
  • 설정방법은 여기를 참고하세요.
여기서 받으실 수 있습니다.

  • java compile version: jdk1.6.0_41