AI/NLP

[NLP] 구글 Colab에서 Mecab 설치와 사용법 (+파이썬 연동)

체봄 2020. 1. 27. 20:46

 

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)

출력 결과>>

 

 

형태소가 잘 분석되는 것을 확인할 수 있다 :)

 

반응형