[NLP] 구글 Colab에서 Mecab 설치와 사용법 (+파이썬 연동)
Mecab 분석기는 기본적으로 Windows에서는 사용이 불가하다.
그래서 나는 구글 Colaboratory의 GPU 환경에서 리눅스를 사용하였다.
Mecab을 사용하려면 mecab-ko 와 mecab-ko-dic 을 모두 다운로드 해야한다.
Mecab 설치 방법에 대한 자세한 정보는 https://bitbucket.org/eunjeon/mecab-ko/src/master/README.md 에서 확인한다.
0) Colab 세팅
우선 Colab에서 런타임 - 런타임 유형 변경 - 하드웨어 가속기를 GPU로 선택한다.
그리고 아래와 같이 입력하여 구글 드라이브와 Colab을 연동한다. 두 번의 계정 인증이 필요하다.
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
!mkdir -p Gdrive
!google-drive-ocamlfuse Gdrive
!ls Gdrive
1) mecab-ko 설치
https://bitbucket.org/eunjeon/mecab-ko/downloads/에 들어가 가장 최신 파일을 다운로드한다.
다운로드한 파일을 구글 드라이브에 올리기 한다. (나는 /Gdrive/bert_files 폴더에 올렸다.)
Colab에서 파일을 올린 위치로 이동한다.
cd Gdrive/bert_files
다운로드한 파일을 압축 해제한다. (자신이 다운로드한 파일명에 맞게 입력할 것)
!tar zxfv mecab-0.996-ko-0.9.2.tar.gz
압축 해제한 폴더로 이동한다.
cd mecab-0.996-ko-0.9.2
그리고 다음 코드를 입력하여 컴파일한다. 시간이 좀 걸린다.
!./configure
!make
!make check
!sudo make install
2) mecab-ko-dic 설치
https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/ 에 들어가 가장 최신 파일을 다운로드한다.
다운로드한 파일을 구글 드라이브에 올리기 한다. (나는 /Gdrive/bert_files 폴더에 올렸다.)
Colab에서 파일을 올린 위치로 이동한다.
cd /Gdrive/bert_files
다운로드한 파일을 압축 해제한다. (자신이 다운로드한 파일명에 맞게 입력할 것)
!tar zxfv mecab-ko-dic-2.1.1-20180720.tar.gz
압축 해제한 폴더로 이동한다.
cd mecab-ko-dic-2.1.1-20180720
컴파일한다.
!./configure
!make
!sudo make install
※ 만약 1) 또는 2) 에서 !make 실행 중 오류가 발생한다면
mecab-ko-dic 폴더 위치에서 다음 코드들을 실행한 후 다시 실행해본다.
!sudo ldconfig
!ldconfig -p | grep /usr/local/lib
여기까지 되었다면 설치 완료!
3) 사용법
mecab-ko-dic을 압축 해제한 폴더에 위치한다. (나의 경우 /Gdrive/bert_files/mecab-ko-dic-2.1.1-20180720)
Colab에 다음과 같이 입력한다.
!mecab -d .
그러면 아래 생기는 입력 칸에 형태소 분석하고 싶은 문장을 입력하면 된다.
+ 파이썬 연동
방법 1) KoNLPy의 Mecab 사용하기 -> 추천!
파이썬을 연동하고 KoNLPy를 설치한다. JPype설치와 환경 변수 설정까지 진행한다.
!pip install mecab-python3
!apt-get update
!apt-get install g++ openjdk-8-jdk python-dev python3-dev
!pip3 install JPype1-py3
!pip3 install konlpy
!JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
※ mecab-ko와 mecab-ko-dic을 설치를 이전에 끝내고 Mecab만을 다시 사용하려는 경우
위 코드들을 실행하기 전에 아래의 코드들을 먼저 실행시켜준다.
cd /Gdrive/bert_files/mecab-ko-dic-2.1.1-20180720
!./configure
!make
!sudo make install
이제 Mecab을 사용해보자.
from konlpy.tag import Mecab
tokenizer = Mecab()
tokenizer.morphs("민락동에서 가장 맛있는 텐동집이 어디인가요?")
출력 결과>>
['민락동', '에서', '가장', '맛있', '는', '텐동', '집', '이', '어디', '인가요', '?']
방법 2) MeCab 사용하기
Colab에 다음 코드들을 입력하여 파이썬을 연동한다.
!pip install mecab-python3
!sudo apt-get install curl
!bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)
!git clone https://bitbucket.org/eunjeon/mecab-python-0.996.git
cd /mecab-python-0.996
!python setup.py build
!python setup.py install
그리고 파이썬으로 MeCab 분석기를 사용해본다. (C를 대문자로 써줘야한다.)
import MeCab
tagger = MeCab.Tagger('-d /Gdrive/bert_files/mecab-ko-dic-2.1.1-20180720')
token = tagger.parse("제주도 여행 가고 싶다.")
print(token)
출력 결과>>
형태소가 잘 분석되는 것을 확인할 수 있다 :)