요즘 자연어처리 (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/
에 잘 나와 있습니다. 이대로 따라하시면 됩니다.
저는 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) 개발하기 (4) | 2019.07.29 |
---|---|
python dict to dataframe 방법과 에러(ValueError: DataFrame constructor not properly called!) 해결 (4) | 2019.07.26 |
centos에 python3.x 설치하기! (2) | 2019.04.24 |
tensorflow의 tf.concat에 대해서 알아보기(axis = 0, 1에 따른 변화) (0) | 2019.03.18 |
자카드 유사도, 코사인 유사도, 맨하탄 유사도(Manhattan), 유클리디안 유사도를 알아보자 (2) | 2019.02.27 |