Mecab Kor 사용법
형태소분석,Lucene,mecap,komoran,tf-idf vectortar xvfz mecab-ko-dic-2.1.1-20180720.tar.gz
cd mecab-ko-dic-2.1.1-20180720
./configure
make
sudo make install
# 참조 : https://bitbucket.org/eunjeon/mecab-ko-dic/src/master/
# 참조 : https://mondayus.tistory.com/46
> cd download
1) download 3 files
wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz
wget https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.1.1-20180720.tar.gz
git clone https://bitbucket.org/eunjeon/mecab-python-0.996.git
2) mecab-0.996
tar xvfz mecab-0.996-ko-0.9.2.tar.gz
cd mecab-0.996-ko-0.9.2
./configure
make
make check
sudo make install
# sudo ldconfig
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
3) mecab-ko-dic
tar xvfz mecab-ko-dic-2.1.1-20180720.tar.gz
cd mecab-ko-dic-2.1.1-20180720
./configure
make
sudo make install
# 아래 디렉토리에 설치
/usr/local/lib/mecab/dic/mecab-ko-dic
# Jupyter 에서 사용 가능
from konlpy.tag import Mecab
mecab = Mecab()
4) 테스트
$ mecab -d /usr/local/lib/mecab/dic/mecab-ko-dic
mecab-ko-dic은 MeCab을 사용하여, 한국어 형태소 분석을 하기 위한 프로젝트입니다.
mecab SL,*,*,*,*,*,*,*
- SY,*,*,*,*,*,*,*
ko SL,*,*,*,*,*,*,*
- SY,*,*,*,*,*,*,*
dic SL,*,*,*,*,*,*,*
은 JX,*,T,은,*,*,*,*
MeCab SL,*,*,*,*,*,*,*
을 JKO,*,T,을,*,*,*,*
사용 NNG,행위,T,사용,*,*,*,*
하 XSV,*,F,하,*,*,*,*
여 EC,*,F,여,*,*,*,*
, SC,*,*,*,*,*,*,*
한국어 NNG,*,F,한국어,Compound,*,*,한국/NNG/*+어/NNG/*
형태소 NNG,*,F,형태소,Compound,*,*,형태/NNG/*+소/NNG/*
분석 NNG,행위,T,분석,*,*,*,*
을 JKO,*,T,을,*,*,*,*
하 VV,*,F,하,*,*,*,*
기 ETN,*,F,기,*,*,*,*
위한 VV+ETM,*,T,위한,Inflect,VV,ETM,위하/VV/*+ᆫ/ETM/*
프로젝트 NNG,*,F,프로젝트,*,*,*,*
입니다 VCP+EF,*,F,입니다,Inflect,VCP,EF,이/VCP/*+ᄇ니다/EF/*
. SF,*,*,*,*,*,*,*
EOS
5) 기타 확인
품사확인)
6) mecab python
cd mecab-python-0.996
python setup.py build
su
# 이제 Jupyter 에서 정상적으로 Mecab 사용 가능
from konlpy.tag import Mecab
mecab = Mecab()
# 추가
# 사용자 사전 등록 및 우선순위 높이기
참고 : https://kugancity.tistory.com/entry/mecab에-사용자사전기분석-추가하기
- 표층형 : 단어명
- 1785,3543,4267 : 좌문맥ID, 우문맥ID, 단어비용 (자동 생성 처리로 입력)
- 품사태그 : 품사 입력 (mecab-ko-dic 품사 태그를 참조하여 입력)
- 의미분류 : 인명 또는 지명 또는 *
- F : 받침유무 (원 단어의 끝 글자 받침 유무로 T, F 입력)
- 읽기 : 발음 (원 단어의 발음을 입력)
- 타입 : inflected, compound, Preanalysis, *
- 첫번째 품사, 마지막 품사 : 기분석으로 나눠지는 토큰에 대한 각 품사 입력 (mecab-ko-dic 품사 태그를 참조하여 입력)
- 원형 : 토큰 들로 나눠지는 부분 +로 입력 ( 각 토큰 : 표층형/품사태그/의미분류 )
- 인덱스표현 : 토큰 들로 나눠지는 부분 +로 입력 ( 각 토큰: 표층형/품사태그/의미부류/PositionIncrementAttribute/PositionLengthAttribute)
1. 사전 등록
- mecab-ko-dic 설치 위치로 가서 nnp.csv에 사용자 사전 입력
>> cd ~/mecab-ko-dic-2.1.1-20180720/user-dic
>> vi nnp.csv
다음 형태로 입력
구르미그린달빛,0,0,0,NNP,*,T,구르미그린달빛,*,*,*,*
고프로,0,0,0,NNP,*,F,고프로,*,*,*,*
썸즈업,0,0,0,NNP,*,T,썸즈업,*,*,*,*
썬팍,0,0,0,NNP,*,T,썬팍,*,*,*,*
- 적용 전 테스트
- 사전 적용
tools>> ./add-userdic.sh
mecab-ko-dic-2.1.1-20180720 >> make install
(base) ➜ mecab-ko-dic-2.1.1-20180720 cd tools
(base) ➜ tools ./add-userdic.sh
(base) ➜ mecab-ko-dic-2.1.1-20180720 make install
generating userdic...
nnp.csv
.
.
.
emitting matrix : 100% |###########################################|
done!
echo To enable dictionary, rewrite /usr/local/etc/mecabrc as \"dicdir = /usr/local/lib/mecab/dic/mecab-ko-dic\"
To enable dictionary, rewrite /usr/local/etc/mecabrc as "dicdir = /usr/local/lib/mecab/dic/mecab-ko-dic"
(base) ➜ tools
- 사전 적용 후 테스트
사전은 적용 되었지만 등록한 단어의 우선순위(단어비용)가 낮아서, 원하지 않는 모양으로 분해 되는 것을 확인함. (단어비용을 낮추면 검색 우선순위가 높아짐)
현재 적용된 단어 비용
구르미그린달빛의 단어비용 : 2953
구르/미/그린/달빛 단어비용 : 2679/3464/1247/2215
2. 우선 순위 적용 (단어비용 낮추기)
- mecab-ko-dic-2.1.1-20180720 >> vi user-nnp.csv
- 2953 → 0 변경 후 저장
- 변경 사항 반영
mecab-ko-dic-2.1.1-20180720 >> sudo make clean
mecab-ko-dic-2.1.1-20180720 >> sudo make install
- 결과 확인
'형태소분석,Lucene,mecap,komoran,tf-idf vector' 카테고리의 다른 글
KoNLPy, TF-IDF Vectorizor (0) | 2022.01.24 |
---|---|
KOMORAN 설치 (0) | 2022.01.24 |
기본 설치 및 테스트 (0) | 2019.04.25 |