세로형
Recent Posts
Recent Comments
Link
11-08 05:22
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

윈도우에서 파이썬 konlpy 형태소 분석기 및 Mecab(은전한닢) 설치하고 사용자 사전 적용하기 - Python install konlpy on windows 본문

python

윈도우에서 파이썬 konlpy 형태소 분석기 및 Mecab(은전한닢) 설치하고 사용자 사전 적용하기 - Python install konlpy on windows

이수진의 블로그 2021. 3. 22. 14:10
반응형
728x170

포스팅 개요

이번 포스팅은 윈도우에서 파이썬 형태소 분석기인 konlpy와 은전한닢(Mecab)을 설치하는 방법을 정리하는 포스팅입니다. 그리고 윈도우 환경 mecab에서 사용자 사전(user dictionary)을 적용하고 만드는 방법에 대해 정리합니다.

사실, 해당 내용은 2년전에 블로그에 올리긴 했습니다. (lsjsj92.tistory.com/442) 하지만, 시간이 지나 당시엔 Mecab 연동이 윈도우에서 되지 않았던 문제가 해결되어 현재는 windows 환경에서 mecab을 사용할 수 있게 되었습니다.

그래서 이미 글은 있지만, 업데이트 하는 차원에서 다시 한 번 정리해서 올려봅니다.

 

참고사항

제가 konlpy를 설치하는 윈도우 환경 및 파이썬 환경은 아래와 같습니다.

- Python3.7
- Windows10 -  64bit
- JDK1.8

 

본 포스팅에서 접속해야 할 사이트 목록은 아래와 같습니다. 각종 파일 등을 받아야 할 때 필요한 사이트입니다. 

위 사이트에서 각종 파일들을 받아야 합니다. 본문에서는 해당 링크를 위에서부터 1번, 2번, 3번, 4번 링크라고 칭하겠습니다.

또한, 기본적으로 Java 1.8 이상 버전을 설치해주셔야 합니다.

윈도우에서 Java를 설치하는 방법은 각종 블로그에 굉장히 많이 나와있으니 여기서는 생략하고 넘어가겠습니다.

 


포스팅 본문

먼저, 개요에서도 말씀드렸듯이 윈도우에서 konlpy를 설치하기 위해 기본적으로 Jdk1.8 이상이 설치되어 있어야 합니다. 본 포스팅에서는 Java 설치 과정은 생략합니다. 이미 수 많은 블로그에 좋은 설치 방법이 나와 있으니 구글에서 검색하셔서 참고해주세요!

 

Java가 잘 설치되어 있으시다면 위 사진과 같이 java -version 명령어를 입력하게 되면 해당 결과가 나오게 됩니다.


1. JPype 설치

먼저 개요에 올린 링크 중 4번 링크를 들어가서 JPype를 설치해야 합니다. 여기서 주의하셔야 할 점이 있습니다.

중요한 점은 본인 Python version에 맞고 windows bit에 맞는 버전을 받아야 합니다.

 

저 같은 경우는 윈도우 64비트, 파이썬 3.7을 사용하고 있기 때문에 JPype1-1.2.0-cp37-cp37m-win_amd64.whl 을 받았습니다. 

 

이제 이 받은 JPype whl 이 있는 곳에서 CMD 창을 오픈해줍니다. 단, 여기서 CMD 창을 오픈할 때 파이썬 가상환경이 active 된 상태여야 합니다. 저는 anaconda 환경에서 Python3.7을 사용하고 있기 때문에 anaconda prompt에서 python3.7 환경을 activate 했습니다.

그리고 해당 JPype를 설치해줍니다.

pip install JPype1-1.2.0-cp37-cp37m-win_amd64.whl 

여기까지 잘 설치가 되었다면 Successfully가 나올 것입니다.


2. 윈도우에 konlpy 설치

반응형

이제 konlpy를 설치해주면, 윈도우 환경에서 konlpy 형태소 분석기를 설치하는 것은 끝이 납니다.

 

pip install konlpy

이제 konlpy가 잘 동작되는지 확인해볼까요?

from konlpy.tag import Okt
tok = Okt()
tok.pos("안녕하세요")

>> [('안녕하세요', 'Adjective')]

잘 설치가 되었다면 위 코드처럼 konlpy.tag가 import가 잘 될 것이고 실행도 잘 될 것입니다.

자! 여기까지 하면 윈도우 환경의 파이썬에서 형태소 분석기인 konlpy가 잘 설치되었습니다.

 

이제 은전한닢 mecab을 설치해보죠!

 

 


3. Mecab(은전한닢) 설치

윈도우에서 Mecab을 설치하려면 제가 개요에 올려드린 1번 링크와 2번 링크에 들어가셔서 2개의 파일을 받아야합니다.

먼저 1번 링크에 들어가면 아래 사진과 같은 모습이 나오는데요.

여기서 mecab-ko-msvc를 받아주면 됩니다. 글을 쓰고 있는 시점인 2021.03.21 기준으론 0.9.2 버전이 최신이네요.

본인 PC에 맞는 bit에 맞게 다운을 받습니다.

그와 마찬가지로 2번 링크에 들어가시면 아래 사진과 같은 모습이 나오는데요.

 

위 파일은 mecab-ko-dic 파일입니다. 글을 쓰고 있는 시점인 2021.03.21 기준으로 2.1.1 버전이네요.

해당 파일 또한 압축을 해제해 줍니다.

 

자! 이제 중요합니다.

C드라이브에 가셔서 mecab 디렉토리를 하나 만들어줍니다. (굳이 C드라이브가 아니어도 됩니다. 나중에 경로를 설정할 수도 있습니다. 단, C드라이브에 해놓으면 좋은 이유가 konlpy의 mecab이 아닌 Mecab 그 자체를 불러올 때 C드라이브에서 자동으로 불러오기 때문에 나중에 편할 수 있습니다.)

 

이 mecab 디렉토리에 압축을 푼 위 2개의 파일을 아래와 같이 전부 옮겨줍니다.

 

이렇게 C:\mecab\ 디렉토리 안에 모든 파일이 다 들어가면 됩니다.

여기까지 하면 Mecab에 필요한 기본 환경 적인 요소는 다 셋팅이 되었습니다.

이제 파이썬에서 mecab을 사용할 수 있는 mecab_python을 받아야합니다.

 

제가 개요에 올려드린 3번 링크에 가시면 아래와 같은 사이트를 볼 수 있는데요.

 

마찬가지로 본인 환경에 맞는 파일을 다운로드 받습니다.

저는 mecab_python-0.996_ko_0.9.2_msvc-cp37-cp37m-win_amd64.whl 파일을 받았습니다.

이제 아까 위에서 한 것처럼 본인이 pip를 설치할 Python 환경에서 위 whl 파일을 설치해줍니다.

pip install mecab_python-0.996_ko_0.9.2_msvc-cp37-cp37m-win_amd64.whl

이렇게 python_mecab을 설치해주면 끝입니다!

이제 파이썬 환경에서 Mecab이 잘 동작되는지 확인해야겠죠?

import MeCab
m = MeCab.Tagger()
m.parse("안녕하세요. 이수진입니다.")

아마 잘 설치가 되었다면 위 처럼 입력했을 때 잘 나오는 것을 확인할 수 있을겁니다.

위 방법은 MeCab 자체를 불러오는 방법입니다.

 

MeCab을 불러오는 두 번째 방법은 konlpy에서 가져오는 방법입니다.

300x250
from konlpy.tag import Mecab
m = Mecab('C:\\mecab\\mecab-ko-dic')
m.pos("안녕하세요. 이수진입니다.")

이렇게 결과가 잘 나오는 것을 확인할 수 있으실겁니다.


 

4. 윈도우 환경 mecab 사용자 사전 구축하기

형태소 분석기를 사용하다보면 내가 원하는 단어가 형태소 분석으로 tagging이 안되는 문제가 발생할 수 있습니다. 이때 형태소 분석기에 사용자 사전을 구축해서 해당 단어가 형태소 분석기에 tagging 될 수 있도록 할 수 있는데요. mecab 형태소 분석기에서는 이게 가능합니다. 이러한 사용자 사전 환경 구축을 window 환경 mecab에서 어떻게 만드는지 이번 파트에서 정리합니다.

 

기존 mecab에서 pos를 사용해서 데이터사이언티스트 라는 단어를 태깅해보겠습니다.

그 결과는 위와 같습니다. 제대로 태깅이 되지 않죠? 이 단어 자체를 mecab 사용자 사전을 만들어서 NNP로 태깅하고자합니다.

 

먼저 윈도우 파워쉘(window powershell)을 관리자 권한으로 실행시켜 줍니다. 이후 C 드라이브에 설치된 mecab에 들어갑니다.

 

위와 같은 경로입니다. 이 경로에서 dir이나 ls 명령어를 입력하면 아래와 같이 해당 디렉토리 안에 있는 각종 디렉토리와 파일들이 출력될 것입니다. 그 중 user-dic 이라는 디렉토리가 mecab 디렉토리 안에 있을겁니다. 이 디렉토리가 사용자 사전을 만드는데 사용하는 디렉토리 입니다.

 

그리고 그 mecab 안에는 nnp.csv라는 파일이 존재합니다. 이 파일을 열어보면 "대우", "구글" 정도의 단어가 초기에 들어가 있습니다.

여기에 그러면 똑같은 형태로 데이터사이언티스트 라는 단어를 넣어줍니다.

 

위 사진과 같이 기존에 입력되어 있던 구글 단어와 똑같은 형태로 단어만 바꾸고 넣어줍니다.

그리고 나서 이제 이 mecab 사용자 사전을 적용시켜줘야 합니다. 그 적용시키는 파일은 add-userdic-win.ps1 이라는 파일입니다.

해당 파일은 mecab 디렉토리 안에 tools 라는 디렉토리 안에 존재합니다.

위 파일입니다!

이제 위 파일을 powershell에서 실행시켜주면 됩니다.

.

./tools/add-userdic-win.ps1

 

그러면 위와 같이 진행이 쭉쭉 되면서 마지막에  done! 이 출력되게 됩니다. 그리고 그 적용된 것을 확인해보기 위해 아까 실행한 mecab.pos("데이터사이언티스트") 를 실행시켜보면!

 

이렇게 적용이 된 것을 확인할 수 있습니다.


마무리

이번 포스팅은 윈도우 파이썬(windows python env)에서 형태소 분석기인 mecab을 설치하고 사용자 사전까지 구축하는 과정을 정리하였습니다.

윈도우의 파이썬 환경에서 konlpy를 설치하고 mecab까지 연동하시는 분들께 도움이 되기를 바랍니다.

반응형
그리드형
Comments