본문 바로가기
개발과 기술

[Mecab] Mecab(konlpy) 사용자 단어 사전 추가 방법

by growd 2020. 5. 15.

Konlpy Mecab 사용자 단어 사전 추가 방법

 

자연어처리나 형태소 분석이 필요하거나 경험이 있으신 분이라면, konlpy라는 python 라이브러리를 알고계실겁니다.

konlpy에서 사용가능한 tagging 서브패키지는 Hannanum, Kkma, Komoran, Mecab, Okt(구, Twitter)가 존재합니다.

그 중 konlpy에 속한 MeCab는 사실 정확히는 MeCab-ko로서, 일본의 MeCab라는 형태소 분석기에 한국어 특징을 추가하여 한글 형태소 분석이 가능하게끔 만든 패키지 입니다. C-lang을 기반으로 만들어 다른 서브패키지보다 더 빠른 것이 특징입니다. 위의 이유 때문에 다른 서브패키지와는 다르게 추가적인 설치과정도 동반합니다.

 

이 mecab를 이용하여 형태소를 분석하면 다른 모든 형태소 분석기와 함께 가지는 단점이 있는데, 그것은 바로 최신의 단어를 형태소 분석기가 알 방법이 없다는 것입니다. 예를들면 사용하시는 형태소분석기의 단어사전이 업데이트 되어있지 않다면 "코로나19"라는 단어를 올바르게 분석하지 못할 것 입니다. 이런 최신의 단어들을 사용자가 목적에 맞게 분석기에 추가할 수 있습니다. Mecab를 기준으로 먼저 온라인에서 다운로드 받아 업데이트할 수 있는 단어사전을 업데이트 하는 방법을 알아본 뒤, 자신의 사전을 추가하는 방법을 알아보겠습니다.

 

먼저 mecab 한국어 사전을 다운로드 받습니다. https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/ 이곳에서 받 을 수 있습니다.

 

터미널 혹은 커맨드라인에서 작업합니다.

 

목록에서 가장 최신의 파일을 다운로드 받고 압축을 해제합니다.

unzip mecab-XX-ko--XX.tar.gz
# or
tar zxfv mecab-XX-ko-XX.tar.gz

 

 

압축해제한 폴더의 내부로 이동합니다.

cd mecab-XX-ko-XX

 

 

configure을 실행합니다.

./configure

 

 

다음의 명령을 실행하여 소스코드를 컴파일합니다.

make

su

make install

 

위의 명령을 마치면 다운로드 받은 업데이트된 사전을 추가할 수 있습니다.

 

 

 

나만의 단어사전 추가하기

 

우선 다운로드, 압축해제, 압축해제 폴더로 이동까지의 순서는 같습니다.

 

내부의 user-dic폴더로 이동합니다.

cd user-dic

 

 

자신의 단어가 들어갈 csv 파일을 생성합니다.

touch my-dic.csv

 

 

자신이 추가하고싶은 단어를 아래의 규칙을 가지고 추가합니다.

 

단어,0,0,0,품사태그,의미분류,종성유무,읽기/타입,첫번째 품사,마지막 품사,원형

예)

서울,0,0,0,NNP,지명,T,서울,*,*,*,*

태양,0,0,0,NNG,*,T,태양,*,*,*,*

해수욕장,0,0,0,NNG,,T,해수욕장,Compound,*,*,해수욕+장

불태워졌,0,0,0,VV+EM+VX+EP,,T,불태워졌,Infected,VV,EP,불태우/VV+어/EC+지/VX+었/EP

자세한 내용은 https://bitbucket.org/eunjeon/mecab-ko-dic/src/master/ 에서 확인하실 수 있습니다.

 

 

csv파일을 user-dic폴더에 저장하고 다시 한 단계 위 폴더로 이동합니다. tools폴더로 이동합니다.

# csv 파일 저장 후,
cd ..
cd tools

 

 

./add-userdic.sh을 수행하여 csv파일의 내용을 컴파일 합니다.

./add-userdic.sh

 

 

한 단계 위 폴더로 이동한 후, make install 명령을 통해 Mecab에 적용합니다.

cd ..
make install

 

 

 

 

댓글