Intro
형태소 분석은 모든 자연어처리(NLP)의 필수 전처리 과정이다. 간단한 word2vec 모델부터 무거운 transformer기반 모델(대표적으로 Bert 모델)까지 인풋으로 입력되는 문장을 작은 단위로 쪼개주는 형태소 분석은 공통적으로 선행된다. 오늘은 가장 많이 사용되고 있는 mecab 형태소 분석기를 설치하고 konlpy 패키지를 불러와 mecab 형태소 분석기를 사용해 문장을 형태소 분해하는 방법을 다루보겠다. (모든 설명은 linux 운영체제에 기반한다.)
Mecab Installation
bitbucket mecab webstie에 접속해 1. mecab-ko와 2. mecab-ko-dic 3. mecab-python을 다운로드 및 설치해야 한다.
mecab-ko
mecab-ko-dic
ldconfig automake설치
mecab-python
git clone https://bitbucket.org/eunjeon/mecab-python-0.996.git
cd mecab-python-0.996/
python3 setup.py build
python3 setup.py install
linux 명령어 정리
- tar
- make
- su
- ldconfig
설치가 완료되면 mecab 버전을 볼 수 있다. (설치 성공!)
mecab --version
# mecab of 0.996/ko-0.9.2
Konlpy Installation
konlpy를 설치하기에 앞서 JDK 설치가 선행되야 한다.
java 설치
sudo apt-get install openjdk-8-jdk
java -version
# openjdk version "1.7.0_91"
# OpenJDK Runtime Environment (Zulu 7.12.0.3-linux64) (build 1.7.0_91-b15)
# OpenJDK 64-Bit Server VM (Zulu 7.12.0.3-linux64) (build 24.91-b15, mixed mode)
konlpy 설치
pip install konlpy
Use mecab in Python
from konlpy.tag import Mecab
m = Mecab(dicpath="/home/users/sjshin/bert/mecab-ko-dic-2.1.1-20180720") # 사전 저장 경로에 자신이 mecab-ko-dic를 저장한 위치를 적는다. (default: "/usr/local/lib/mecab/dic/mecab-ko-dic")
m.pos("안녕하세요")
# [('안녕', 'NNG'), ('하', 'XSV'), ('세요', 'EP+EF')]