본문 바로가기
SMALL

자연어처리13

Chap03. 자연어처리 개요_데이터 이해하기 자연어 처리를 해결하면서 우리는 모델을 만들고 훈련 후에 성능을 평가하고, 생각보다 성능이 안 나온다면 모델에 문제가 있다고 판단하고 다른 모델을 사용한다. 이처럼 모델에 문제가 있는 경우도 있지만 우선적으로 해당 문제를 잘 해결하기 위해서는 데이터 이해가 선행되어야 하며 이러한 과정 속에서 생각하지 못한 데이터의 여러 패턴이나 잠재적인 문제점 등을 발견할 수 있다. 위와 같은 과정을 탐색적 데이터 분석(EDA : Exploratory Data Analysis)이라 하며, 데이터에 대한 선입견 없이 데이터가 보여주는 수치만으로 분석을 진행해야 한다. 그리고 이러한 데이터 분석 과정은 모델링 과정과 서로 상호 작용하면서 결과적으로 성능에 영향을 주기 때문에 매우 중요한 작업이다. 간단한 실습을 통해 데이터.. 2021. 7. 13.
Chap03. 자연어처리 개요_텍스트 분류 및 유사도 오늘은 자연어 처리 문제 중 가장 대표적이고 많이 하는 텍스트 분류와 텍스트끼리 얼마나 비슷한지를 계산하는 유사도에 대하여 알아보도록 하자. [ 텍스트 분류 ] 텍스트 분류(Text Classification)는 자연어 처리 기술을 활용해 특정 텍스트를 사람들이 정한 몇 가지 범주(Class) 중 어느 범주에 속하는지 분류하는 문제다. 분류해야 할 범주의 수에 따라 문제를 구분하기도 하는데, 분류 개수가 2가지일 때는 이진 분류(Binary classification) 문제라 하며, 3가지 이상일 경우 다중 분류(Multi classification) 문제라 한다. 텍스트 분류 문제를 해결하는 방법은 크게 지도학습과 비지도학습으로 나뉘며, 각각의 방법에 대하여 알아보자. ▶ 지도학습을 통한 텍스트 분류 .. 2021. 7. 7.
chap03. 자연어 처리 개요_단어 표현 자연어 처리는 크게 4가지(텍스트 분류, 텍스트 유사도, 텍스트 생성, 기계 이해)에 따라 어떻게 처리를 할지 달라진다. 이번 챕터에서는 자연어 처리를 통해 어떤 문제를 해결할 수 있고, 어떤 방식으로 해결하는지에 대해 알아본다. 먼저, 위에서 언급한 4가지를 알아보기 전에 단어 표현이라는 것에 대해 알아보자. [ 단어 표현 ] 자연어 처리란, 컴퓨터가 인간의 언어를 이해하고 분석 가능한 모든 분야를 말한다. 즉, 자연어 처리의 가장 기본적인 문제는 '어떻게 자연어를 컴퓨터에게 인식시킬 수 있을까?'가 된다. 컴퓨터는 모든 값을 이진화된 값으로 받아들이는데, 텍스트는 그중 "유니코드" 또는 "아스키 코드"라는 방식을 통해 인식한다. 이런 이진화된 방식을 자연어 처리에 그대로 사용하기에는 언어적 특성이 전.. 2021. 7. 6.
chap02. 자연어 처리 개발 준비_numpy, pandas, matplotlib, Re, Beautiful Soup 이제까지 살펴본 라이브러리들 말고도 자연어 처리 문제에 도움을 줄 수 있는 파이썬 라이브러리를 소개한다. 이번 포스팅에서 다룰 라이브러리는 numpy, pandas, matplotlib, Re, Beautiful Soup로 총 5가지이다. [ 넘파이(numpy) ] 넘파이(numpy)는 빠르고 효율적인 계산을 위해 만들어진 파이썬 라이브러리다. 넘파이는 고성능의 다차원 배열 객체와 이런 배열을 계산할 효율적인 도구를 제공한다. 넘파이의 핵심은 ndarray 객체이며, 이 객체는 동일한 자료형을 가지는 n차원의 배열로써 이 객체를 활용하면 파이썬 내장 배열보다 더 적은 코드로 연산이 가능하고 더 빠르게 결과를 얻을 수 있다. 먼저, 넘파이를 사용하기 위해 설치부터 진행하자. 이제까지와 마찬가지로 콘다를 이.. 2021. 7. 5.
chap02. 자연어 처리 개발 준비_전처리 라이브러리 이번 포스팅은 자연어 토크나이징 도구에 대한 내용이다. 먼저 토크나이징이란 예측해야 할 입력 정보(문장 또는 발화)를 하나의 특정 기본 단위(기본적으로 단어를 단위로 함)로 자르는 것을 말한다. 파이썬을 이용하면 이러한 작업을 라이브러리를 통해 간편하게 처리가 가능하며, 언어의 특징에 따라 처리 방법이 달라지므로 영어 토크나이징과 한글 토크나이징을 구분해서 배우자. [ 영어 토크나이징 라이브러리 ] 영어의 경우 NLTK(Natural Language Toolkit)와 Spacy가 토크나이징에 많이 쓰이는 대표적인 라이브러리다. 이 두 라이브러리는 영어 텍스트에 대해 전처리 및 분석을 하기 위한 도구로 유명하다. ▶ NLTK NLTK는 파이썬에서 영어 텍스트 전처리 작업을 하는 데 많이 쓰이는 라이브러리다.. 2021. 7. 5.
chap02. 자연어 처리 개발 준비_TensorFlow 이번 포스팅은 자연어 처리를 위한 도구를 알아보는 단계이다. 도구란 자연어 처리를 위한 라이브러리를 의미하며 이번 포스팅에서 알아볼 라이브러리 종류는 다음과 같다. 1. 텐서플로 - 딥러닝 모델을 만들기 위한 라이브러리 2. 사이킷런 - 머신러닝 모델과 데이터를 다루기 위한 라이브러리 3. NLTK와 Spacy - 자연어 데이터를 토크나이징 하기 위한 라이브러리 4. 넘파이 판다스 등 [ 텐서플로-TensorFlow ] 텐서플로(TensorFlow)는 구글에서 2015년에 오픈소스로 발표한 머신러닝 라이브러리다. 일반인이 쉽게 사용할 수 있도록 구성되어 있으며 파이썬을 주로 활용해 손쉽게 모델링 및 테스트가 가능한 구조이다. 또한 적극적으로 이슈 대응 및 버전 업그레이드를 통해 인지도를 높이고 있다. 텐.. 2021. 6. 30.
LIST