머신러닝을 향한 파이썬 프로그래밍 Step. 2

in #kr-dev7 years ago (edited)

머신러닝을 향한 파이썬 프로그래밍 Step. 2

지난번에도 이야기 했듯이 AI의 깊은 개념에서 머신러닝 안에 딥러닝이 존재하는 것이며 머신러닝은 기본적인 AI를 뛰어넘은 AI라고 생각하시면 되고 딥러닝은 그 AI에 복잡도를 높인 학습형 AI라고 보실 수 있습니다.



만약 Step.1을 안보고 오셨다면 Step.1에서의 툴 설치방법 등에 대해서 익히고 오시는 것을 권합니다.

Step.1 -> https://steemit.com/kr-dev/@facemaker77/step-1


오늘 머신러닝을 향한 파이썬 프로그래밍 Step. 2에서는 기본 라이브러리 설치부터 시작합니다.

오늘의 예제는 konlpy를 활용한 형태소분석 입니다.


가장먼저 Python2 파일을 생성합니다.



그러면 아래의 창이 열리고 이름을 적절히 바꿔줄 수 있습니다.



엄청나게 많은 언어들을 담고있는 형태소분석기 nltk를 설치합니다.
jupyter에서는 !를 붙이고 시작합니다.

실행을 할 때는 항상 Shift를 누른 상태에서 Enter를 쳐야합니다.

!pip install nltk



설치가 완료되면 nltk 라이브러리를 사용하기 위해 import를 하고 다음과 같이 명령어를 주면
import nltk
nltk.download()

이렇게 실행시키면 다음과 같은 창이 뜹니다.

다양한 국가별 형태소사전들을 제공하고 있습니다. 저는 전부 다운로드 받았습니다. 시간이 좀 걸려요~


그리고 konlpy를 설치할 예정인데요~ 라이브러리가 pip 명령어만으로 설치되지 않는 경우가 있습니다.
이 때는, 다음의 사이트를 이용할 수 있습니다.
http://www.lfd.uci.edu/~gohlke/pythonlibs/

꼭 즐겨찾기 해두시길 바랍니다. 대부분의 파이썬 라이브러리가 이곳에 있습니다.

그리고 jpype를 검색하여 버전에 맞는것을 다운로드 받습니다.

!pip install "C:\myApp\다운로드받은 Jpype파일 이름"


그리고 다음과 같이 install을 할 수 있습니다.


바로 konlpy를 설치합니다.

!pip install konlpy


konlpy 설치가 끝나면 한글 형태소분석기를 사용할 준비가 된 것입니다.
한글 형태소분석기를 공식 지원하는 사이트가 있습니다.
http://konlpy-ko.readthedocs.io/ko/v0.4.3/

이곳에서 정보들을 얻어가실 수 있습니다.
[꼬꼬망, 코모란, 한나눔, 트위터, 메캡] 총 5개의 형태소사전이 있습니다.




보시는것처럼 Mecab이 최고입니다. 성능도 보여지는것도 Mecab을 무조건 쓰라고하네요.


하지만, 실전예제는 프로그램을 만들면서 써보겠습니다.
가장 기본적인 홈페이지에 나타난 예제를 먼저 써보고요~




from konlpy.tag import Kkma
from konlpy.utils import pprint
kkma = Kkma()
pprint(kkma.sentences(u'네, 안녕하세요. 반갑습니다.'))
# 파이썬의 기본코드는 유니코드입니다. 한글 사용시 통일된 인코딩을 위해 u(유니코드)를 앞에 붙입니다.
다음과 같이 사용하면 됩니다. 여기서 sentences라는 Kkma에서 제공하는 함수는 문단의 끝을 구분합니다. 그래서 결과는 "네, 안녕하세요" 와 "반갑습니다" 두 문단으로 나뉜 것입니다.



두번째 예제입니다.
pprint(kkma.pos(u'오류보고는 실행환경, 에러메세지와함께 설명을 최대한상세히!^^'))


pos라는 함수를 사용함으로서 명사와 부사 등 다양한 형태로 단어들이 나뉘었습니다.
http://kkma.snu.ac.kr/documents/index.jsp?doc=postag

꼬꼬망 공식사이트 입니다. snu가 붙은것을 보니 서울대에서 연구한 형태소 사전으로 보입니다.
이곳에서 자세한 내용을 볼 수 있습니다.



이것으로 오늘 예제는 끝마치겠습니다!~ 시작하자마자 형태소 분석으로 몇몇 문법들은 생략하고 빠르게 달립니다.
꼬꼬망을 오늘 써보았으니 다음번에는 트위터에서 만든 트위터 형태소분석기 그리고 마지막으로 Mecab 을 활용하여 스팀잇 데이터와 결합한 형태로 재미있는 것들을 같이 만들어봅시다^^

그럼 오늘은 여기까지입니다~~~
Sort:  

잘보고 갑니다

앞으로 재미있게 다양한것들을 연재해보겠습니다ㅎㅎ

느무 좋네요 꼭 따라해볼게요

넵 어렵지 않으니 따라하시고 신기술 하나 익혀가세요ㅋ

오 자세한 정보 감사드립니다!
아직은 없었지만, 언젠가 형태소 분석 해야 할 일 있으면 유용하게 참고하겠습니다 :)

형태소분석으로 할 수 있는것들이 매우 많습니다ㅎㅎ 연재 이어가겠습니다^^

점점 심오해 지는군요.
설치하는 거 설명해주신지도 얼마 안됐잖아요. 너무 진도가 빠른거 아닙니까? ㅠㅠ

아앗! 진도가 좀 빠른가요?ㅠㅠ 바로 실전예제 들어가려고 했는데 좀더 base부터 깔아볼게요ㅎㅎ