꿈 많은 사람의 이야기
형태소 분석기 MeCab! 은전한닢을 설치하고 파이썬과 연동하기! 본문
요즘 자연어처리 (NLP)가 정말 핫합니다
텍스트 데이터를 활용하면 다양한 가치를 찾을 수 있고 재미있는 분석이 가능하기 때문이죠
그러나 우리나라 텍스트 데이터 분석은 형태소 분석기가 많이 필요합니다
영어 같은 경우에는 띄어쓰기로만 해도 커버가 가능하지만 한글은 그게 쉽지 않기 때문이죠
왜냐하면 사람들이 띄어쓰기도 잘 하지 않을 뿐더러 맞춤법, 은어 등이 많기 때문입니다.
그래서 형태소 분석기를 많이 사용하죠
예전에 형태소 분석기 중 하나인 konlpy를 설치한 것을 포스팅했습니다.(https://lsjsj92.tistory.com/442)
또한, 카카오 형태소 분석기(khaiii) 카이라고 불리우는 것도 포스팅 했었습니다.(https://lsjsj92.tistory.com/408)
사실 저는 MeCab을 더 자주 사용합니다. 은전한닢이라고 불리우죠
오늘은 이 mecab의 설치에 대해서 알아볼까 합니다.
mecab의 설치 과정은 사실 https://bitbucket.org/eunjeon/mecab-ko-dic/src/master/
Bitbucket
bitbucket.org
에 잘 나와 있습니다. 이대로 따라하시면 됩니다.
저는 centos7 기준으로 진행했습니다.
아마 windows 환경에서 안될겁니다
먼저, 앞서 소개해드린 사이트에 들어가시면 설명이 쭉쭉 나와 있는데요
여기서 mecab-ko-~~.tar.gz 가 있습니다. 이거를 먼저 설치해줍니다
wget을 이용해서 받았습니다.
그리고 압축을 풀어줍니다.
쭉쭉 압축을 풀어줍니다
압축이 다 풀리면 mecab-ko 디렉토리 안에 들어갑니다.
거기서 ./configure를 통해 configure를 실행시켜 줍니다.
그러면 또 쭉쭉 실행됩니다
다음으로 make를 입력해주시고
다 끝나시면 make check를 입력하시면 됩니다
그러면 계속 설치가 되실겁니다
자! 마지막으로 make install을 입력하시면 또 쭉~ 설치하면서
설치가 마무리 됩니다.
그럼 이제 끝이냐? 아닙니다!
이제 mecab에서 제공해주는 mecab-ko-dic 즉, 한국어 단어 사전을 받아줘야 합니다!
위 화면도 앞서 말씀드린 mecab 사이트에 있습니다. 저는 여기서 제일 최신에 나온 것을 받았습니다.
wget으로 받아줍니다!
그리고 위 과정을 똑같이 진행하시면 됩니다
설치 페이지에 나와 있는 그대로! 저는 진행했습니다.
근데 중간에 이런 오류가 뜨더라구요
command not found가 뜨면서 WARNING automake-1.11 is missing on your system이 떴습니다.
당황하지 마시고 아래처럼 하시면 됩니다~
압축을 푼 디렉토리에 들어가서 autoreconf -vi를 입력해줍니다
그러면 쭉쭉 ~ 뭔가 되실거에요
그 과정이 끝나면 ./configure를 입력해줘서 실행합니다~
자! 여기까지 하셨으면 이제 끝났습니다.
실제로 실행시켜 봐야겠죠?
한국어 단어 사전이 있는 mecab-ko-dic 부분에 위치를 하셔서 mecab -d . 를 입력합니다
그러면 껌뻑껌뻑 그럴탠데요. 여기서 뭔가 막 입력합니다.
저는 안녕하세요. 이수진입니다. 저는 갓백수입니다. 를 입력했습니다..
백수 슬프네요 ㅠ
그러면 위 화면처럼 뭔가 결과가 나옵니다!
크흐~ 신기하죠 분석이 잘 됩니다.
근데 mecab은 python과 연동해서 사용할 수 있습니다.
파이썬과 연동을 어떻게 할까요?
먼저 아래와 같이 진행합니다
pip3.6 install mecab-python3를 설치해줍니다
보통은 이렇게 설치하면 끝나지만 mecab은 뭔가 더 작업이 필요합니다
vi /etc/ld.so.conf에 들어가서 수정을 해주셔야 하는데요~
/usr/local/lib 부분을 추가해줍니다.
그리고 ldconfig를 입력해서 위 처럼 아무것도 나오지 않으면 끝!
이제 파이썬을 실행해보죠~
잘 되죠?
import MeCab 을 해주고
m = MeCab.Tagger('-d ./')
ret = m.parse("입력문장")
print(ret)를 해주면 결과가 나옵니다~
자! 여기까지 하시면 은전한닢(mecab)을 설치했고 파이썬과 연동도 했습니다.
고생하셨습니다.
'python' 카테고리의 다른 글
linux(centos 7)에서 chrome driver로 headless 웹 크롤러(web crawler) 개발하기 (2) | 2019.07.29 |
---|---|
python dict to dataframe 방법과 에러(ValueError: DataFrame constructor not properly called!) 해결 (0) | 2019.07.26 |
형태소 분석기 MeCab! 은전한닢을 설치하고 파이썬과 연동하기! (15) | 2019.06.26 |
centos에 python3.x 설치하기! (2) | 2019.04.24 |
tensorflow의 tf.concat에 대해서 알아보기(axis = 0, 1에 따른 변화) (0) | 2019.03.18 |
자카드 유사도, 코사인 유사도, 맨하탄 유사도(Manhattan), 유클리디안 유사도를 알아보자 (0) | 2019.02.27 |
-
세슝 2019.07.25 11:42 신고 삽질시간 줄여주셔서 너무 감사합니다 신기하네요!
-
이수진의 블로그 이수진의 블로그 2019.07.25 12:39 신고 감사합니다 ㅎㅎ 도움되셨다니 다행입니다
-
99corn 2020.02.25 11:03 덕분에 1시간만에 셋팅완료했습니다. 감사합니다 ㅎㅎ
-
이수진의 블로그 이수진의 블로그 2020.02.25 11:34 신고 도움 되셨다니 다행입니다 ㅎㅎ
-
2020.03.04 20:15 비밀댓글입니다
-
2020.03.05 10:32 비밀댓글입니다
-
2020.03.06 07:09 비밀댓글입니다
-
자연어 2020.07.19 09:22 Mecab통해서 형태소 분석할때
최대 몇자까지 분석을 할수있나요? -
이수진의 블로그 이수진의 블로그 2020.07.19 20:21 신고 안녕하세요~
음.. 질문을 잘 이해를 못하겠습니다.
최대 몇자까지 분석을 한다는 뜻이 어떤 의미일까요?
Mecab에서 parse 할 때 들어가는 문자열의 길이를 말씀하시는 걸까요? -
자연어 2020.07.20 22:19 안녕하세요^^
parse 할때 문자열의 길이입니다
^^ -
이수진의 블로그 이수진의 블로그 2020.07.21 09:46 신고 안녕하세요.
저는 500~600자까지 넣어봤었습니다.
이정도 길이까지는 크게 이상은 없었어요~ -
자연어 2020.07.21 10:23 감사합니다 ^^