ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [딥 러닝을 이용한 자연어 처리 입문] 1. 자연어 처리
    기타/AI 2022. 9. 18. 14:58

     

    https://wikidocs.net/book/2155

     

    딥 러닝을 이용한 자연어 처리 입문

    많은 분들의 피드백으로 수년간 보완되어 온 딥 러닝 자연어 처리 무료 eBook입니다. 기본적인 텍스트 전처리부터 BERT와 같은 PLM의 다양한 다운스트림 태스크를 ...

    wikidocs.net

     

    해당 포스팅은 "딥 러닝을 이용한 자연어 처리 입문" 서적을 제 생각대로 요약한 내용입니다.

     


     

    목차 1. 자연어 처리

     

    ① 아나콘다와 코랩

     

    ② 필요 프레임워크와 라이브러리

     

    ③ 자연어 처리를 위한 NLTK와 KoNLPy 설치하기

     

    ④ 판다스 and 넘파이 and 맷플롭립

     

    ⑤ 판다스 프로파일링

     

    ⑥ 머신 러닝 워크플로우

     

     

     


     

     

    ① 아나콘다와 코랩

     

    아나콘다(Anaconda)

    - Numpy, Pandas 등 책에서 사용할 대부분의 패키지를 전부 포함

     

    구글의 코랩(Colab)

    - 개인의 컴퓨터 사양이나 다른 이유로 아나콘다 및 여러 패키지 설치가 어려운 경우 활용

    - 인터넷만 된다면 바로 파이썬을 실습할 수 있음

    - 주피터 노트북과 매우 유사한 실습 환경 제공  <-> 주피터 노트북과 코랩 서버 리소스 사용

     

     

     

     

    ② 필요 프레임워크와 라이브러리

     

    텐서플로우(Tensorflow)

    - 구글이 2015년 공개한 머신 러닝 오픈소스 라이브러리

    - 머신러닝과 딥러닝을 직관적이고 손쉽게 할 수 있도록 설계

     

    ▶ 케라스(Keras)

    - 텐서플로우에 대한 추상화 된 API 제공 (백엔드로 텐서플로우 사용)

    - 좀 더 쉽게 딥 러닝을 사용할 수 있게 해줌

    - 텐서플로우 코드를 훨씬 간단하게 작성할 수 있음

     

    ▶ 젠심(Gensim)

    - 머신 러닝을 사용하여 토믹 모델링과 자연어 처리 등을 수행 (라이브러리)

    - Word2Vec 등 다양한 모델 포함

     

    사이킷런(Scikit-learn)

    - 파이썬 머신러닝 라이브러리

    - 나이브 베이즈 분류, 서포트 벡터 머신 등 다양한 머신 러닝 모듈을 불러옴

    - 아이리스 데이터, 당뇨병 데이터 등 자체 데이터 제공

     

    주피터 노트북(Jupyter Notebook)

    - 웹에서 코드를 작성하고 실행할 수 있는 오픈소스 웹 어플리케이션

    - 실습 환경이 유사한 것이 구글의 코랩(Colab)  <-> 코랩과 다르게 자기 컴퓨터 리소스 사용

     

     

     

     

    자연어 처리를 위한 NLTK KoNLPy 설치하기

     

    NLTK NLTK Data 설치

    - Natural Language ToolKit

    - NLTK는 자연어 처리를 위한 파이썬 패키지

     

    KoNLPy 설치

    - Korean NLP in Python

    - KoNLPy는 한국어 자연어 처리를 위한 형태소 분석기 패키지

     

    Jpype 설치

    - JAVA와 Python을 연결해주는 역할

    - Jpype의 설치가 완료되었다면, KoNLPy를 사용할 수 있음

     

        

     

     

    판다스 and 넘파이 and 맷플롭립

     

    판다스(Pandas)

    - 파이썬 데이터 처리를 위한 라이브러리

    - 세 가지 데이터 구조 -> 시리즈, 데이터프레임, 패널

    - 시리즈 : 1차원 배열의 값(values)에 각 값에 대응되는 인덱스(index) 부여할 수 있는 구조

    - 데이터프레임 : 2차원 리스트를 매개변수로 전달, 행방향 인덱스(index)와 열방향 인덱스(column)가 존재

     

    넘파이(Numpy)

    - 수치 데이터를 다루는 파이썬 패키지

    - 다차원 행렬 자료구조인 ndarray를 통해 벡터 및 행렬을 사용하는 선형 대수 게산에 주로 사용

    - 편의성뿐 아니라 속도면에서도 순수 파이썬에 비해 압도적으로 빠름

     

    맷플롯립(Matplotlib)

    - 데이터를 차트(chart)나 플롯(plot)으로 시각화하는 패키지

    - Matplotlib은 데이터 분석 이전에 데이터 이해를 위한 시각화나, 데이터 분석 후에 결과를 시각화하기 위해서 사용

     

     

     

     

     판다스 프로파일링

     

    EDA

    - Exploratory Data Analysis, 탐색적 데이터 분석

    - 데이터 내 값의 분포, 변수 간의 관계, 결측값 존재 유무 파악 (시각화)

     

     

     

     

     머신 러닝 워크플로우(Machine Learning Workflow)

    1단계 : 수집

    - 머신 러닝을 하기 위해서 기계에 학습시켜야 할 데이터 필요

    - Txt, csv, xml 등 텍스트 데이터 파일

     

    2단계 : 점검 및 탐색

    - 데이터를 점검하고 탐색하는 단계

    - 데이터의 구조, 노이즈 데이터, 데이터 정제 방법 등 파악

    - 탐색적 데이터 분석(EDA) 단계, 시각화와 간단한 통계 테스트 진행

     

    3단계 : 전처리 및 정제

    - 자연어 처리의 토큰화, 정제, 정규화, 불용어 제거

    - 정말 까다로운 경우 전처리 과정에서 머신 러닝 사용

     

    4단계 : 모델링 및 훈련

    - 머신 러닝에 대한 코드를 작성하는 단계 (모델링)

    - 모델링 이후, 전처리가 완료 된 데이터를 머신 러닝 알고리즘을 통해 기계에 학습 (훈련) 

    - 전체 데이터를 기계에서 학습시키면 안 됨

    - 훈련용은 학습지, 검증용은 모의고사, 테스트용은 수능 시험이라 생각하면 됨

     

    5단계 : 평가

    - 기계가 다 학습이 되었다면 테스트용 데이터로 성능을 평가

    - 예측한 데이터가 테스트용 데이터의 실제 정답과 얼마나 가까운지 측정

     

    6단계 : 배포

    - 피드백으로 인해 모델을 업데이트 해야하는 상황이면 수집 단계로 돌아갈 수 있음

     

     

Designed by Tistory.