GithubHelp home page GithubHelp logo

mecab-ko-lucene-analyzer's Introduction

mecab-ko-lucene-analyzer

소개

mecab-ko-lucene-analyzermecab-ko-dic을 사용한 lucene/solr용 한국어 형태소분석기입니다.

다음과 같은 기능들을 제공합니다.

  • 명사추출
  • 합성명사 분해
  • 원어절 추출

특징

  • '무궁화꽃이피었습니다.'와 같이 띄어 쓰기가 잘못된 오류를 교정하여 형태소 분석이 가능합니다.
  • Standard[Index|Query]Tokenizer의 경우, 명사뿐 아니라 품사가 결합된 어절도 Token으로 뽑아냅니다. 철수가 학교에 간다. -> 철수가, 철수, 학교에, 학교, 간다
  • 문장의 끝에 문장의 끝을 알리는 기호 ".!?"가 있으면 더 자연스럽게 형태소 분석이 됩니다.
  • Apache Lucene/Solr 4.0 버전 기준으로 작성되었습니다.

설치

Mecab 설치

여기 (MeCab-0.996) 에서 MeCab의 소스를 다운 받고 설치합니다.

$ tar zxfv mecab-XX.tar.gz
$ cd mecab-XX
$ ./configure 
$ make
$ make check
$ su
# make install

MeCab 설치의 자세한 내용은 MeCab 홈페이지를 참조하시기 바랍니다.

MeCab.jar와 libMeCab.so 설치

Solr example(Solr with Jetty)의 사용을 기준으로 설명합니다.

mecab-java-XX.tar.gz 를 다운받아 설치합니다.

주의: Makefile에서 INCLUDE 값을 자신의 환경에 맞게 변경해야 합니다.

주의: OpenJDK를 사용하시는 경우, 최적화 옵션을 -O나 -O1로 고쳐야 합니다. mecab-ko-lucene-analyzer OpenJDK에서 사용하기 참조

$ tar zxvf mecab-java-XX.tar.gz
$ mv mecab-java-XX.tar.gz mecab-XX/java
$ cd mecab-XX/java
$ make
$ cp MeCab.jar [solr 디렉터리]/example/lib/ext # JNI 클래스는 System classpath에 위치해야 합니다. Jetty는 기본값으로 $jetty.home/lib/ext에 추가적인 jar를 넣을 수 있습니다.
$ su
# cp libMeCab.so /usr/local/lib

mecab-ko-dic 설치

mecab-ko-dic 다운로드 페이지 에서 mecab-ko-dic의 최신 버전을 다운 받습니다. 반드시 mecab-ko-dic-1.1.0-XXXX 이상의 버전을 사용하여야 합니다.

tar.gz를 압축 해제하시고 일반적인 자유 소프트웨어와 같은 순서로 설치할 수 있습니다. 기본으로 /usr/local/lib/mecab/dic/mecab-ko-dic에 설치됩니다.

$ tar zxfv mecab-ko-dic-XX.tar.gz
$ cd mecab-ko-dic-XX
$ ./configure 
$ make
$ su
# make install

mecab-ko-lucene-analyzer 다운로드 및 설치

mecab-ko-lucene-analyzer 다운로드 페이지에서 mecab-ko-lucene-analyze-XX.tar.gz의 최신 버전을 다운 받아 압축을 풀면 두개의 jar파일이 있습니다.

  • mecab-ko-mecab-loader-XX.jar: System classpath에 복사합니다. (ex: [solr 디렉터리]/example/lib/ext)
  • mecab-ko-lucene-analyzer-XX.jar: Solr 라이브러리 디렉터리에 설치합니다. (ex: [solr 디렉터리]/example/solr/lib)

사용법

solr 설정

solrconfig.xmlmecab-ko-lucene-analyzer-XX.jar가 있는 경로를 설정합니다.

<lib dir="../lib" regex=".*\.jar" />

schema.xmlfieldType 을 설정합니다.

<!-- Korean -->
<fieldType name="text_ko" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="com.github.bibreen.mecab_ko_lucene_analyzer.StandardIndexTokenizerFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="com.github.bibreen.mecab_ko_lucene_analyzer.StandardQueryTokenizerFactory"/>
  </analyzer>
</fieldType>

solr 실행

libMeCab.so 파일이 있는 라이브러리 경로를 지정해 주면서 solr를 실행합니다.

$ java -Djava.library.path="/usr/local/lib" -jar start.jar

분석 결과

input:
mecab-ko-lucene-analyzer를 사용하여 한글 검색서버를 개발하세요.

output:
mecab | ko | lucene | analyzer를 | analyzer | 사용하여 | 사용 | 한글 | 검색 | 서버를 | 서버 | 개발하세요 | 개발

라이센스

Copyright 2013 Yongwoon Lee, Yungho Yu. mecab-ko-lucene-analyzer는 아파치 라이센스 2.0에 따라 소프트웨어를 사용, 재배포 할 수 있습니다. 더 자세한 사항은 Apache License Version 2.0을 참조하시기 바랍니다.

mecab-ko-lucene-analyzer's People

Contributors

amitabul avatar bibreen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.