프로젝트 소개
- "검색에서 쓸만한 오픈소스 한국어 형태소 분석기를 만들자!"에서 시작
- 검색 엔진 색인기에서 쓸 수 있는 적당한 품질과 속도
- 자유로운 라이센스
- 현재 두명의 개발자가 공동으로 개발하고 있음
- 프로젝트 중 일부 프로젝트를 사용 가능
- mecab-ko-dic
- MeCab용 한국어 형태소 사전
- mecab-ko-lucene-analyzer
- mecab-ko-dic 을 사용하는 Lucene/Solr용 Tokenizer
- elasticsearch-analysis-mecab-ko
- seunjeon - pure scala library
- mecab-ko-dic
MeCab-ko: MeCab 을 이용한 한국어 형태소 분석
- 일본어 형태소 분석에 사용되는 분석 사전(MeCab)을 한국어 형태소 분석에 맞게 확장한 것
- 21세기 세종계획의 모든 현대 말뭉치에서 50문장씩을 추출하여 학습에 이용함
설치 및 사용
- mebcab-ko 최신버전 0.9.2을 다운
- 설치
$ 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와 달라서 생기는 오류)
- 스크립트 실행중 경로를 못찾는 오류가 있을 경우 (mac에서 readlink 명령어가 linux와 달라서 생기는 오류)
- 형태소 분석기 실행 결과
$ 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 설치
2 댓글
오시영
은전 한닢 프로젝트 사이트 https://eunjeon.blogspot.com/
비트버킷 저장소 https://bitbucket.org/account/user/eunjeon/projects/PROJ
오시영
엘라스틱서치 플러그인 https://aws.amazon.com/ko/blogs/korea/amazon-elasticsearch-service-now-supports-korean-language-plugin/
은전한닢 + a 파이썬 인터페이스 https://github.com/koshort/pyeunjeon