NLP 101: 딥러닝과 자연어 처리 학습을 위한 자료 저장소
본 문서는 딥러닝을 이용한 자연어 처리를 학습하고자 하는 분들을 대상으로 작성되었습니다.
추가되었으면 좋겠다 생각하시는 자료를 알려주시면 반영하도록 하겠습니다.
본 문서는 아래와 같은 규칙을 따라 작성되었습니다.
기본적으로 동일한 내용을 다루는 자료는 중복해서 기록하지 않습니다.
난이도가 유사하다고 판단되는 자료는 하나만 기록합니다.
다만, 유사 난이도를 보유한 자료가 한글 자료일 경우, 영어에 어려움이 있으신 분들을 고려해 함께 기록합니다.
난이도의 차이가 있는 자료, 이를테면 선후행 학습이 수반되어야 하는 자료는 모두 기록합니다.
언어: 한국어 | 영어
Statistics and Probabilities
Source
Description
Statistics 110
문과생도 이해할 수 있을 정도로 쉽게 확률론에 대한 설명을 해주는 강의입니다.
확률과 통계
KOCW에서 높은 평점을 자랑하는 한양대학교 이상화 교수님의 확률과 통계 강의입니다.
Brandon Foltz's Statistics
Youtube에 확률과 통계 강의를 짤막하게 올리는 Brandon Foltz의 강의는 대중 교통을 통해 이동하며 짧은 시간 학습하기 좋은 자료입니다.
Basic mathematics & Overview
Source
Description
Essence of calculus
선형대수 섹션에서 설명한 3Blue1Brown 채널의 미적분학 강의입니다. 마찬가지로 학부 수준의 미적분 강의를 진행하기 전 미적분을 이해하는데 도움을 줄 수 있는 강의입니다.
Calculus
Gilbert Strang 교수의 미적분학 교재입니다. 모든 챕터를 볼 필요는 없지만, Chapter 2-4, 11-13, 15-16 등은 학습하면 좋을 것 같다고 생각해 추가하였습니다.
Mathematics for Machine Learning
머신러닝 학습에 수반되는 수학 지식을 모두 담은 책입니다. 개괄적 설명을 이어나가기에 이공계 학부 수준의 수학 지식은 선행되어야 이해하기 수월할 것이라 생각합니다.
Deep Learning and Natural Language Processing
Source
Description
모두를 위한 딥러닝
Clova AI를 리드하고 계신 김성훈님의 딥러닝 강의입니다. 입문 수준으로 최고의 강의입니다.
모두를 위한 딥러닝2
앞서 언급한 김성훈님 강좌의 후속작입니다. Tensorflow와 PyTorch 버전이 각각 존재하며, 최신 코드로 설명을 진행하기 때문에 가치가 있다고 생각합니다.
CS230
말이 필요없는, 최근 deeplearning.ai이라는 인공지능 교육 스타트업까지 설립한 Andrew Ng 교수님의 스탠포드 내 딥러닝 강의입니다.
Deep Learning Book
GAN의 아버지, Ian Goodfellow 주도로 작성된 명서입니다. 원서를 읽는데 어려움이 없으시다면, 해당 책은 꼭 읽어보시길 추천합니다.
Dive into Deep Learning
Deep Learning Book이 이론을 중심으로 Deep Learning을 설명한다면, 본 책은 이론과 더불어 코드로 해당 개념이 어떻게 구현되는지를 함께 다룹니다.
Grokking Deep Learning
Deep Learning 관련 Framework를 사용하지 않고, NumPy로 신경망의 기본 요소들을 작성하는 법을 학습할 수 있는 서적입니다. High-level API 내 실제 동작이 어떻게 이루어지는지 학습하기에 좋은 자료입니다.
Natural Language Processing
Source
Description
한국어 임베딩
ratsgo라는 필명으로 유명한 이기창님의 자연어 처리 서적입니다. 제목은 한국어 '임베딩' 이지만 현대 자연어 처리의 근간이 되는 모든 지식을 함축하고 있는 좋은 책입니다. 특히 수식으로 가득하여 어려울 수 있는 내용들이 정말 간결한 설명으로 소개하고 있기 때문에 자연어 처리를 처음 접하는 분들에게는 좋은 입문 서적이 될수도, 자연어 처리를 접하기는 했지만 수식에 대한 정확한 이해가 부족했던 분들에게는 좋은 보충서가 될 수 있는 명저입니다.
밑바닥부터 시작하는 딥러닝2
밑바닥 시리즈의 자연어 처리 버전입니다. 신경망 이론을 선수 지식으로 필요로 하기에 난이도가 살짝 있지만, 한국어로 번역된 혹은 한국어로 작성된 자연어 책 중 수준급의 책입니다.
딥러닝을 이용한 자연어 처리
GRU로 유명한 조경현 교수님이 D2 캠퍼스에서 강의하신 자연어 처리 강의입니다. 딥러닝 지식에 대한 복습 이후, 자연어 처리를 개괄적으로 설명해주기 때문에 딥러닝 기본 지식이 선수 지식으로 필요합니다.
Neural Network Methods for NLP
Yoav Goldberg가 작성한 딥러닝을 이용한 자연어 처리 전문 서적입니다. 위트있는 설명으로 핵심을 잘 짚어주는 명서입니다.
Eisenstein's NLP Note
머신러닝을 이용한 자연어 처리 뿐 아니라 자연어 처리를 학습하기 위해 필요한 기본적인 언어학 지식을 함께 다루는 명서입니다. 본 Note를 기반으로 한 Eisenstein의 책 Introduction to Natural Language Processing 이 출간되었습니다.
CS224N
Stanford 대학의 자연어 처리 명강의입니다. 2019년 버전까지 나왔기 때문에 최신 트렌드까지 다룬다는 큰 장점이 있습니다.
CS224U
GLUE 벤치마크의 등장 이후 그 중요성이 한층 더해진 자연어 이해 강의입니다. CS224N 이후 수강하면 좋을 것 같아보이며, PyTorch로 과제를 제공한다는 점이 매력적입니다.
Code-First Intro to Natural Language Processing
fast.ai의 공동 설립자 Rachel Thomas가 진행하는 코드로 이해하는 자연어 처리 강의입니다. 강의를 듣다보면 Rachel Thomas가 내뿜는 Motivation에서 헤어나올 수 없게 됩니다.
Natural Language Processing with PyTorch
양질의 데이터 과학 책을 출판하기로 유명한 O'REILLY 사의 자연어 처리 서적입니다. 기본 코드가 PyTorch로 작성되어 있으므로, PyTorch 유저분들이 읽기 좋은 책입니다.
Linguistic Fundamentals for Natural Language Processing
Bender rule로 유명한 언어학자 Emily Bender의 언어학 서적입니다. 딥러닝 관련 서적은 아니지만 언어학과 관련된 도메인 지식을 기를 수 있는 훌륭한 입문서입니다.
Libraries related to the Natural Language Processing
Source
Description
NumPy
머신러닝 연산에 필수적으로 사용되는 NumPy를 Stanford CS231N 강좌에서 정리해주었습니다.
Tensorflow
Tensorflow에서 직접 제공하는 튜토리얼입니다. 기본적인 지식을 그림 자료와 함께 훌륭하게 설명합니다.
PyTorch
Facebook이 제공하는 PyTorch Tutorial로 양질의 퀄리티를 자랑합니다.
tensor2tensor
Google에서 제공하는 Sequence to Sequence Tool Kit 입니다. Tensorflow로 작성되었습니다.
fairseq
Facebook에서 제공하는 Sequence to Sequence Tool Kit 입니다. PyTorch로 작성되었습니다.
Hugging Face Transformers
Transformer를 기반으로 한 Pre-trained 모델들을 손 쉽게 사용할 수 있도록 프랑스의 Hugging Face가 제공해주고 있는 라이브러리입니다. 개발자 뿐만 아니라 연구자들도 많이 활용하는 자연어 처리의 핵심 라이브러리라 할 수 있겠습니다.
Hugging Face Tokenizers
Hugging Face가 관리하는 토크나이저 라이브러리입니다. 핵심 기능들이 Rust로 구현되어 빠른 속도를 자랑하며, BPE를 비롯한 최신 토크나이징 기술을 실험해볼 수 있다는 장점이 있습니다.
spaCy
최근 자연어 처리 분야에서 각광을 받고 있는 spaCy의 핵심 개발자 Ines가 작성한 튜토리얼입니다.
torchtext
PyTorch 사용 시, 손 쉽게 데이터 전처리가 가능한 torchtext의 튜토리얼입니다. 공식 문서보다 더 자세한 설명을 수반하고 있습니다.
SentencePiece
Subword Information을 이용해 BPE 기반의 Vocabulary 구축을 도와주는 Google의 오픈 소스 라이브러리입니다.
KoNLPy
한국어 자연어 처리에 있어 중요하게 활용되는 여러 형태소 분석기를 포함하고 있는 라이브러리입니다.
soynlp
한국어 자연어 처리를 수행할 때 비지도 학습 기반의 여러 훈련을 가능케 해주는 라이브러리입니다.
NLTK
김도형 박사님이 제공하는 NLTK 튜토리얼로 보기도 편하며, 내용도 알찹니다.
NLP Specialists You should remember
(not enumarted by rank)