자연어(natural language)란 우리가 일상 생활에서 사용하는 언어를 말합니다. 자연어 처리(natural language processing)란 이러한 자연어를 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일을 말합니다.
자연어 처리는 음성 인식, 내용 요약, 번역, 사용자의 감성 분석, 텍스트 분류 작업(스팸 메일 분류, 뉴스 기사 카테고리 분류), 질의 응답 시스템, 챗봇과 같은 곳에서 사용되는 분야입니다. 또한 텍스트에서 의미있는 정보를 분석, 추출하고 이해하는 일련의 기술집합이라고도 합니다.
일상 생활속 예
-
텍스트 요약 (ex: Summly)
-
자동 질의응답 시스템 (ex: Wolfram Alpha)
-
대화 시스템 (ex: Apple Siri)
-
기계 번역 (ex: Google Translate)
이제 이런것들을 한번 시작해 보겠습니다. 처음으로는 환경을 설정하겠습니다.
1. 아나콘다 (Anaconda) 설치 링크:https://repo.anaconda.com/archive/
Anaconda installer archive
repo.anaconda.com
2. nltk와 ntlk data 설치
nltk는 자연어 처리를 위해 파이썬 패키지입니다. 기본적으로 파이썬은 pip install [패키지 이름]을 통해서 패키지를 설치합니다. 만약 위에서 권장하는 파이썬 패키지 배포판인 아나콘다를 설치하였거나, 파이썬을 별도로 설치하였다면 UNIX의 terminal이나 윈도우 명령 프롬프트에서 pip install nltk를 실행하면, nltk는 쉽게 설치가 됩니다.
3. KoNLpy 설치
코엔엘파이(KoNLpy)는 한국어 형태소 분석기로, 한글 자연어 처리를 위해 만들어진 패키지입니다. 한글에 대한 예제 실습을 위해 코엔엘파이를 설치합니다. UNIX의 terminal이나 윈도우 명령 프롬프트에서 pip install konlpy를 명령하여 설치하시기 바랍니다.
윈도우에서 KoNLpy를 설치하거나 실행 시 JDK 관련 오류나 JPype 오류에 부딪히는 경우가 있습니다. 이는 KoNLpy가 JAVA로 구성되어 있기 때문인데 오류 해결을 위해서는 JDK 1.7 이상의 버전과 JPype가 설치되어 있어야 합니다
!apt-get update
!apt-get install g++ openjdk-8-jdk
!pip3 install konlpy
위 코드를 Anacondaprompt에 실행 시키시면 설치가 잘 완료가 됩니다.
그리고 필요한 라이브러리나 프레임워크는 아래와 같습니다.
1. 텐서플로우(Tensorflow)
텐서플로우는 구글이 2015년에 공개한 기계 학습 오픈소스 라이브러리입니다. 기계 학습과 딥 러닝을 직관적이고 손쉽게 할 수 있도록 설계되었습니다. 딥 러닝을 위해 텐서플로우를 설치해야 합니다.
앞서 아나콘다(Anaconda)를 설치하였거나, 파이썬을 별도로 설치하였다면 명령 프롬프트 창에서 해당 명령어를 통해서 설치할 수 있습니다.
2. 케라스(keras)
케라스(Keras)는 딥 러닝 프레임워크인 텐서플로우에 대한 추상화 된 API를 제공합니다. 케라스는 백엔드로 텐서플로우를 사용하며, 좀 더 쉽게 딥 러닝을 사용할 수 있게 해줍니다. 쉽게 말해, 텐서플로우의 코드를 훨씬 간단하게 작성할 수 있습니다.
3. 넘파이(Numpy)
넘파이는 빠른연산을 위한 파이썬의 라이브러리입니다.
4. 사이킷런(Scikit-learn)
사이킷런은 파이썬 머신러닝 라이브러리입니다. 사이킷런을 통해 나이브 베이즈 분류, 서포트 벡터 머신 등 다양한 머신 러닝 모듈을 불러올 수 있습니다. 또한, 사이킷런에는 머신러닝을 연습하기 위한 아이리스 데이터, 당뇨병 데이터 등 자체 데이터 또한 제공하고 있습니다.
5. Pandas(판다스)
Pandas("판다스"라고 발음.)는 파이썬 데이터 처리를 위한 라이브러리입니다. 파이썬을 이용한 데이터 분석과 같은 작업에서 필수 라이브러리로 알려져있습니다.
6. Matplotlib(맷플롯립)
Matplotlib는 데이터를 차트(chart)나 플롯(plot)으로 시각화(visulaization)하는 패키지입니다. 데이터 분석에서 Matplotlib은 데이터 분석 이전에 데이터 이해를 위한 시각화나, 데이터 분석 후에 결과를 시각화하기 위해서 사용됩니다.
pip install tensorflow
pip install numpy
pip install keras
conda install scikit-learn
pip install pandas
pip install matplotlib
이제 필요한 환경설정은 끝났습니다. 한번 NLP를 시작해봅시다.
'머신러닝 > 딥러닝을 이용한 자연어처리 입문' 카테고리의 다른 글
데이터의 분리(Splitting Data) (0) | 2019.11.19 |
---|---|
불용어(Stopword) (0) | 2019.11.11 |
어간 추출(Stemming) and 표제어 추출(Lemmatization) (0) | 2019.11.01 |
정제(Cleaning) 과 정규화(Normalization) (0) | 2019.11.01 |
토큰화(Tokenization) (0) | 2019.10.28 |