Page tree
Skip to end of metadata
Go to start of metadata

프로젝트 소개

  • "검색에서 쓸만한 오픈소스 한국어 형태소 분석기를 만들자!"에서 시작
    • 검색 엔진 색인기에서 쓸 수 있는 적당한 품질과 속도
    • 자유로운 라이센스
  • 현재 두명의 개발자가 공동으로 개발하고 있음
  • 프로젝트 중 일부 프로젝트를 사용 가능

MeCab-ko: MeCab 을 이용한 한국어 형태소 분석

  • 일본어 형태소 분석에 사용되는 분석 사전(MeCab)을 한국어 형태소 분석에 맞게 확장한 것
  • 21세기 세종계획의 모든 현대 말뭉치에서 50문장씩을 추출하여 학습에 이용함

설치 및 사용

$ tar zxfv mecab-0.996-ko-0.9.2.tar.gz
$ cd mecab-0.996-ko-0.9.2
$ ./configure
$ make
$ sudo make install

$ zxfv mecab-ko-dic-2.1.1-20180720.tar.gz
$ cd mecab-ko-dic-2.1.1-20180720
$ ./configure
$ make
$ make install
$ sudo make install
    • automake 관련 에러가 나는 경우 스크립트(autogen.sh)를 실행해서 automake 설정 맞춘후 configure 를 실행한다

  • 형태소 분석기 실행
$ mecab -d /usr/local/lib/mecab/dic/mecab-ko-dic
slipp ELK 스터디를 통해서 형태소 분석에 관해 많이 알게 되었습니다 // 한글 문장 입력
slipp	SL,*,*,*,*,*,*,*
ELK	SL,*,*,*,*,*,*,*
를	JKO,*,T,를,*,*,*,*
많이	MAG,성분부사|정도부사,F,많이,*,*,*,*
알	NNG,*,T,알,*,*,*,*
되	XSV,*,F,되,*,*,*,*
었	EP,*,T,었,*,*,*,*
습니다	EF,*,F,습니다,*,*,*,*
    • 실행 결과 분석 표


      • 품사태그
        품사 코드 (mecab-ko-dic 품사 태그를 참조)
        의미분류
        인명 또는 지명 또는 *
        받침유무T/F, 원 단어의 끝 글자 받침의 유무
        읽기 발음원 단어의 발음
        타입
        inflected, compound, Preanalysis, *  
        첫번째 품사, 마지막 품사
        기분석으로 나눠지는 토큰에 대한 각 품사
        (mecab-ko-dic 품사 태그를 참조)
        원형
        토큰 들로 나눠지는 부분 +로 구분
        ( 각 토큰 : 표층형/품사태그/의미분류 )
        인덱스 표현토큰 들로 나눠지는 부분 +로 구분

사용자 사전 추가

  • mecab-ko-dic/userdic 디렉토리 안에 csv 확장자로 사전 파일 추가
$ cp thename.csv userdic/.
  • 추가한 사전 컴파일 및 설치
$ ./tools/add-userdic.sh

$ make clean
$ make install
    •  스크립트 실행중 경로를 못찾는 오류가 있을 경우 (mac에서 readlink 명령어가 linux와 달라서 생기는 오류)
      • // e.g. no such file or directory: /../dicrc
        $ brew install coreutils
        $ vi ./tools/add-userdic.sh
        # readonly PROG_DIR=$(readlink -m $(dirname $0)) 
        // 명령줄의 readlink를 greadlink로 변경
  • 형태소 분석기 실행 결과
$ mecab -d /usr/local/lib/mecab/dic/mecab-ko-dic
슬립 스터디를 통해 ELK를 재밌게 공부 할 수 있었습니다
슬립	NNP,*,T,슬립,*,*,*,*
스터디	NNG,*,F,공부,*,*,*,*  
// 기존 분석 내용 : 스터디	NNP,인명,F,스터디,*,*,*,* 
를	JKO,*,T,를,*,*,*,*
통해	VV+EC,*,F,통해,Inflect,VV,EC,통하/VV/*+아/EC/*
ELK	SL,*,*,*,*,*,*,*
...중략...

주의점

  • 형태소 분석기 학습에 사용된 corpus는 저작권이 있어서 배포가 불가능하다
    • 직접  corpus를 만들어서 사용해야 한다
  • 사용자 사전을 추가/변경/삭제 한 이후에 user-xxx.csv 파일을 직접 삭제해 줘야한다


Elasticsearch 은전한닢 플러그인

설치 및 사용

  • mecab-ko 라이브러리, mecab-ko-dic 사전 설치

  • analysus-mecab-ko 플러그인 설치
  • libMeCab.so 설치

    • mecab-java 을 다운받아. make해서 사용

  • ElasticSearch Plugin 설치



참고 링크

  • No labels