-
[딥 러닝을 이용한 자연어 처리 입문] 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단계 : 배포
- 피드백으로 인해 모델을 업데이트 해야하는 상황이면 수집 단계로 돌아갈 수 있음
'기타 > AI' 카테고리의 다른 글
[딥 러닝을 이용한 자연어 처리 입문] 2. 텍스트 전처리(3) (0) 2022.09.25 [딥 러닝을 이용한 자연어 처리 입문] 2. 텍스트 전처리(2) (0) 2022.09.18 [딥 러닝을 이용한 자연어 처리 입문] 2. 텍스트 전처리(1) (1) 2022.09.18