이 책을 통해 자연어 처리의 원리를 명확히 이해하고 나면 컴퓨터가 어떻게 인간의 언어를 학습하는지에 대한 큰 틀을 이해할 수 있을 것이다.
이 책에서는 PyTorch TensorFlow 등 잘 알려진 산업용 라이브러리를 사용하지 않고 MIT Beaverworks에서 개발한 교육용 라이브러리를 사용한다. 《인공지능 교육단체 OUTTA와 함께 하는! 머신러닝 첫 단추 끼우기》에서 이미 이 교육용 라이브러리에 대한 설명이 언급되어 있다.
본 책에서는 실습에 사용할 교육용 라이브러리에 대한 자세한 설명은 생략하였지만 첨부된 도큐먼트 링크를 통해 공부해볼 수 있다. 실습에 들어가기 전 도큐먼트를 스스로 읽고 이해하며 프로그래밍 연습을 해보는 것도 당연히 좋다.
이 책은 머신러닝에 대해서는 알고 있지만 자연어처리를 새롭게 공부하고자 하는 독자들을 위해 쓰였다. 따라서 처음 실습에 도전해도 이해하기 쉽도록 쓰였으나 당연 어려운 부분이 생길 수 있다. 이런 경우에는 적극적으로 구글링을 활용하면 좋다. 프로그래밍에 대한 수만 가지의 정보가 인터넷에 있다. 이 정보를 잘 활용하는 것 또한 프로그래밍 실력을 늘려나가는 과정이다. 이 과정은 앞으로 진행하게 될 실습에서 어려운 부분을 맞닥뜨렸을 때 슬기롭게 해결해나갈 수 있는 길을 제시해줄 것이다.
- 1 자연어 처리 소개
실습 1 셋업
2 기본 언어 모델
2.0 학습 목표
2.1 텍스트 분석과 토큰화
2.2 n-gram 모델
2.3 단어 가방 모형(Bag of Words, BoW)
실습 2 간단한 말뭉치 분석으로 영어 텍스트의 특징 파악하기
실습 3 n-gram 모델을 바탕으로 새로운 텍스트 생성해보기
실습 4 BoW 모형 직접 구현해보기
3 워드 임베딩(Word embeddings)
3.0 학습 목표
3.1 워드 임베딩의 기본적 개념
3.2 오토인코더(Autoencoder)
3.3 비지도학습 방식을 이용한 위드 임베딩
실습 5 워드 임베딩
실습 6 오토인코더
실습 7 오토인코더를 통한 워드 임베딩 학습
4 RNN
4.0 학습 목표
4.1 Intro
4.2 RNN이란?
4.3 RNN 구축하기
4.4 Transforming to Be Linear
4.5 Backpropagation
4.6 Variations of RNN
실습 8 RNN 학습시켜보기 1
실습 9 RNN 학습시켜보기 2
5 Seq2Seq
실습 10 Seq2seq
실습 11 Attention 기반 seq2seq
6 신경망 성능 향상을 위한 기법들
6.0 학습 목표
6.1 Batch Normalization
6.2 Layer Normalization
6.3 Residual Connection
실습 12 Transfomer