Giter Site home page Giter Site logo

nlp101's Introduction

NLP 101: 딥러닝과 자연어 처리 학습을 위한 자료 저장소

본 문서는 딥러닝을 이용한 자연어 처리를 학습하고자 하는 분들을 대상으로 작성되었습니다. 추가되었으면 좋겠다 생각하시는 자료를 알려주시면 반영하도록 하겠습니다.

본 문서는 아래와 같은 규칙을 따라 작성되었습니다.

  • 기본적으로 동일한 내용을 다루는 자료는 중복해서 기록하지 않습니다.
    e.g.) Dive into Deep Learning과 Deep Learning book 중 더 좋은 자료라고 판단한 Deep Learning book만 기록합니다.
  • 난이도가 유사하다고 판단되는 자료는 하나만 기록합니다.
  • 다만, 유사 난이도를 보유한 자료가 한글 자료일 경우, 영어에 어려움이 있으신 분들을 고려해 함께 기록합니다.
  • 난이도의 차이가 있는 자료, 이를테면 선후행 학습이 수반되어야 하는 자료는 모두 기록합니다.

Mathematics

Statistics and Probabilities

Source Description
Statistics 110 문과생도 이해할 수 있을 정도로 쉽게 확률론에 대한 설명을 해주는 강의입니다.
확률과 통계 KOCW에서 높은 평점을 자랑하는 한양대학교 이상화 교수님의 확률과 통계 강의입니다.

Linear Algebra

Source Description
Linear Algebra Gilbert Strang 교수의 전설적인 선형대수 강의입니다.
선형대수 KOCW에서 높은 평점을 자랑하는 한양대학교 이상화 교수님의 선형대수 강의입니다.
인공지능을 위한 선형대수 머신러닝에서 자주 사용되는 선형대수의 기초와 응용을 (친절하게) 다루고 있는 스타 교수 주재걸 교수님의 강의입니다.
Computational Linear Algebra fast.ai의 Rachel Thomas가 강의한 코드를 통해 이해하는 선형대수 강의입니다. 엔지니어 분들이 선형대수를 이해하는데 최적의 강의라고 생각합니다.
Matrix methods in Data Analysis and Machine Learning Gilbert Strang 교수의 선형대수 응용편입니다. 선형대수를 선수 지식으로 하기에 난이도가 있지만, 실제 선형대수가 머신러닝에 어떻게 활용되는지 학습할 수 있는 좋은 강의입니다.

Basic mathematics & Overview

Source Description
Calculus Gilbert Strang 교수의 미적분학 교재입니다. 모든 챕터를 볼 필요는 없지만, Chapter 2-4, 11-13, 15-16 등은 학습하면 좋을 것 같다고 생각해 추가하였습니다.
Mathematics for Machine Learning 머신러닝 학습에 수반되는 수학 지식을 모두 담은 책입니다. 개괄적 설명을 이어나가기에 이공계 학부 수준의 수학 지식은 선행되어야 이해하기 수월할 것이라 생각합니다.

Deep Learning and Natural Language Processing

Deep Learning

Source Description
모두를 위한 딥러닝 Clova AI를 리드하고 계신 김성훈님의 딥러닝 강의입니다. 입문 수준으로 최고의 강의입니다.
모두를 위한 딥러닝2 앞서 언급한 김성훈님 강좌의 후속작입니다. Tensorflow와 PyTorch 버전이 각각 존재하며, 최신 코드로 설명을 진행하기 때문에 가치가 있다고 생각합니다.
CS230 말이 필요없는, 최근 deeplearning.ai이라는 인공지능 교육 스타트업까지 설립한 Andrew Ng 교수님의 스탠포드 내 딥러닝 강의입니다.
Deep Learning Book GAN의 아버지, Ian Goodfellow 주도로 작성된 명서입니다. 원서를 읽는데 어려움이 없으시다면, 해당 책은 꼭 읽어보시길 추천합니다.

Natural Language Processing

Source Description
밑바닥부터 시작하는 딥러닝2 밑바닥 시리즈의 자연어 처리 버전입니다. 신경망 이론을 선수 지식으로 필요로 하기에 난이도가 살짝 있지만, 한국어로 번역된 혹은 한국어로 작성된 자연어 책 중 수준급의 책입니다.
딥러닝을 이용한 자연어 처리 GRU로 유명한 조경현 교수님이 D2 캠퍼스에서 강의하신 자연어 처리 강의입니다. 딥러닝 지식에 대한 복습 이후, 자연어 처리를 개괄적으로 설명해주기 때문에 딥러닝 기본 지식이 선수 지식으로 필요합니다.
Neural Network Methods for NLP Yoav Goldberg가 작성한 딥러닝을 이용한 자연어 처리 전문 서적입니다. 위트있는 설명으로 핵심을 잘 짚어주는 명서입니다.
Eisenstein's NLP Note 머신러닝을 이용한 자연어 처리 뿐 아니라 자연어 처리를 학습하기 위해 필요한 기본적인 언어학 지식을 함께 다루는 명서입니다.
CS224N Stanford 대학의 자연어 처리 명강의입니다. 2019년 버전까지 나왔기 때문에 최신 트렌드까지 다룬다는 큰 장점이 있습니다.
CS224U 올해 신설된 것으로 보이는 자연어 이해 강의입니다. 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 딥러닝 관련 자연어 처리 서적은 아니지만 언어학과 관련된 도메인 지식을 기를 수 있는 훌륭한 언어학 입문 서적입니다.

Libraries related to the Natural Language Processing

Source Description
NumPy 머신러닝 연산에 필수적으로 사용되는 NumPy를 Stanford CS231N 강좌에서 정리해주었습니다.
PyTorch Facebook이 제공하는 PyTorch Tutorial로 현존하는 튜토리얼 중 최고의 퀄리티를 자랑합니다.
spaCy 최근 자연어 처리 분야에서 각광을 받고 있는 spaCy의 핵심 개발자 Ines가 작성한 튜토리얼입니다.
torchtext PyTorch 사용 시, 손 쉽게 데이터 전처리가 가능한 torchtext의 튜토리얼입니다. 공식 문서보다 더 자세한 설명을 수반하고 있습니다.
SentencePiece Sub-word Information을 이용해 BPE 기반의 Vocabulary 구축을 도와주는 Google의 오픈 소스 라이브러리입니다.
KoNLPy 한국어 자연어 처리에 있어 중요하게 활용되는 여러 형태소 분석기를 포함하고 있는 라이브러리입니다.
NLTK 김도형 박사님이 제공하는 NLTK 튜토리얼로 보기도 편하며, 내용도 알찹니다.

AWESOME blogs

Blog Article you should read
Christopher Olah's Blog Understanding LSTM Networks
Jay Alammar's Blog Illustrated Word2vec
Chris McCormick's Blog Word2Vec Tutorial - The Skip-Gram Model
Sebastian Ruder's Blog Tracking Progress in Natural Language Processing
Thomas Wolf's Blog The Current Best of Universal Word Embeddings and Sentence Embeddings
dair.ai A Light Introduction to Transfer Learning for NLP
Machine Learning Mastery How to Develop a Neural Machine Translation System from Scratch
스캐터랩 핑퐁팀 블로그 카톡 데이터는 어떻게 정제할 수 있을까?
김현중님 블로그 Unsupervised tokenizers in soynlp project
박상길님 블로그 BERT 톺아보기
ratsgo님 블로그 Word2Vec의 학습 방식

Communities


NLP Specialists You should remember

(not enumarted by rank)

Name Description Known for
Kyunghyun Cho Professor @NYU GRU
Yejin Choi Professor @Washington Univ. Grover
Yoon Kim Ph.D Candidate @Harvard Univ. CNN for NLP
Minjoon Seo Researcher @Clova AI QA research
Kyubyong Park Researcher @Kakao Brain Paper implementation & NLP with Korean language
Tomas Mikolov Researcher @FAIR Word2vec
Jason Weston Researcher @FAIR Memory Networks
Chris Manning Professor @Stanford Univ. CS224N
Dan Jurafsky Professor @Stanford Univ. Speech and Language Processing
Abigail See Ph.D Candidate @Stanford Univ. Pointer Generator
Richard Socher Researcher @Salesforce Glove
Sebastian Ruder Researcher @DeepMind NLP Progress
Yoav Goldberg Professor @Bar Ilan Univ. Neural Net Methods for NLP
Matthew Peters Researcher @Allen AI ELMo
Luke Zettlemoyer Professor @Washington Univ. ELMo
Ashish Vaswani Researcher @Google Transformer
Jacob Devlin Researcher @Google BERT
Alec Radford Researcher @Open AI GPT-2
Graham Neubig Professor @CMU Neural Nets for NLP
Jeremy Howard Co-founder @Fast.ai ULMFiT
Thomas Wolf Lead Engineer @Hugging face pytorch-transformers

Research Conferences

nlp101's People

Contributors

huffon avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.