0장_ 윈도우 개발 환경 구축__0.1_ 아나콘다 설치__0.2_ 파이토치 설치__0.3_ 깃 설치1장_ 딥러닝을 활용한 자연어 처리 개요__1.1_ 자연어 처리란 무엇일까?__1.2_ 딥러닝 소개__1.3_ 왜 자연어 처리는 어려울까?__1.4_ 무엇이 한국어 자연어 처리를 더욱 어렵게 만들까?__1.5_ 자연어 처리의 최근 추세2장_ 기초 수학__2.1_ 확률 변수와 확률 분포__2.2_ 쉬어가기: 몬티 홀 문제__2.3_ 기댓값과 샘플링__2.4_ MLE__2.5_ 정보 이론__2.6_ 쉬어가기: MSE 손실 함수와 확률 분포 함수__2.7_ 마치며3장_ Hello 파이토치__3.1_ 딥러닝을 시작하기 전에__3.2_ 설치 방법__3.3_ 짧은 튜토리얼4장_ 전처리__4.1_ 전처리__4.2_ 코퍼스 수집__4.3_ 정제__4.4_ 문장 단위 분절__4.5_ 분절__4.6_ 병렬 코퍼스 정렬__4.7_ 서브워드 분절__4.8_ 분절 복원__4.9_ 토치텍스트5장_ 유사성과 모호성__5.1_ 단어의 의미__5.2_ 원핫 인코딩__5.3_ 시소러스를 활용한 단어 의미 파악__5.4_ 특징__5.5_ 특징 추출하기: TF-IDF__5.6_ 특징 벡터 만들기__5.7_ 벡터 유사도 구하기__5.8_ 단어 중의성 해소__5.9_ 선택 선호도__5.10_ 마치며6장_ 단어 임베딩__6.1_ 들어가며__6.2_ 차원 축소__6.3_ 흔한 오해 1__6.4_ word2vec__6.5_ GloVe__6.6_ word2vec 예제__6.7_ 마치며7장_ 시퀀스 모델링__7.1_ 들어가며__7.2_ 순환 신경망__7.3_ LSTM__7.4_ GRU__7.5_ 그래디언트 클리핑__7.6_ 마치며8장_ 텍스트 분류__8.1_ 들어가며__8.2_ 나이브 베이즈 활용하기__8.3_ 흔한 오해 2__8.4_ RNN 활용하기__8.5_ CNN 활용하기__8.6_ 쉬어가기: 멀티 레이블 분류__8.7_ 마치며9장_ 언어 모델링__9.1_ 들어가며__9.2_ n-gram__9.3_ 언어 모델의 평가 방법__9.4_ SRILM을 활용하여 n-gram 실습하기__9.5_ NNLM__9.6_ 언어 모델의 활용__9.7_ 마치며10장_ 신경망 기계번역__10.1_ 기계번역__10.2_ seq2seq__10.3_ 어텐션__10.4_ input feeding__10.5_ 자기회귀 속성과 Teacher forcing 훈련 방법__10.6_ 탐색(추론)__10.7_ 성능 평가__10.8_ 마치며11장_ 신경망 기계번역 심화 주제__11.1_ 다국어 신경망 번역__11.2_ 단일 언어 코퍼스 활용하기__11.3_ 트랜스포머__11.4_ 마치며12장_ 강화학습을 활용한 자연어 생성__12.1_ 들어가며__12.2_ 강화학습 기초__12.3_ 정책 기반 강화학습__12.4_ 자연어 생성에 강화학습 적용하기__12.5_ 강화학습을 활용한 지도학습__12.6_ 강화학습을 활용한 비지도학습__12.7_ 마치며13장_ 듀얼리티 활용__13.1_ 들어가며__13.2_ 듀얼리티를 활용한 지도학습__13.3_ 듀얼리티를 활용한 비지도학습__13.4_ 쉬어가기: Back-translation 재해석하기__13.5_ 마치며14장_ NMT 시스템 구축__14.1_ 파이프라인__14.2_ 구글의 NMT__14.3_ 에든버러 대학교의 NMT__14.4_ MS의 NMT15장_ 전이학습__15.1_ 전이학습이란__15.2_ 기존의 사전 훈련 방식__15.3_ ELMo__15.4_ BERT__15.5_ OpenAI의 GPT-2__15.6_ 마치며
저자의 현장 경험과 인사이트를 녹여낸 본격적인 활용 가이드 이 책은 저자가 현장에서 실제로 시스템을 구축하며 얻은 경험과 그로부터 얻은 인사이트를 꾹꾹 눌러 담은 본격적인 자연어 처리 활용서입니다. 자연어 처리의 배경이 되는 수학적 이론부터 실무와 밀접한 파이토치 예제 코드, 그리고 실전에 꼭 필요한 직관적 개념까지 한데 모아 소개합니다. 이 책의 수학적 내용이나 수식이 어렵게 다가오거나 거부감이 드는 독자라면 일단 수식은 가볍게 읽고 넘어가며 큰 그림을 먼저 이해한다는 느낌으로 완독하시고 이후 다시 처음부터 정독하시길 추천합니다. 딥러닝과 머신러닝 기본기를 어느 정도 갖춘 독자라면 자연어 처리를 실무에 적용하는 데 필요한 지식을 이 한 권으로 체계적으로 익힐 수 있습니다. 기출간 도서에서 다루는 내용이나 인터넷에서 쉽게 접할 수 있는 내용, 머신러닝/딥러닝 입문 수준의 내용, 파이토치 사용법 등은 최소화했습니다. 대신 자연어 처리에 관한 내용을 최대한 많이, 깊이 있게 다루고자 했습니다. 책의 전반부에서는 먼저 자연어에 대한 이해를 높이고, 단어 임베딩 벡터나 텍스트 분류와 같은 실무에 적용 가능한 내용을 통해 딥러닝을 활용한 자연어 처리 방법을 설명합니다. 후반부에는 언어 모델 및 번역이라는 과제에 대해 다루며, 자연어 생성 방법을 깊이 있게 이야기합니다. 자연어 생성의 근간 알고리즘인 시퀀스 투 시퀀스(seq2seq)뿐만 아니라 어텐션(attention) 기법을 자세히 설명하고, 실전 실무 수준에서 고민해야 하는 깊은 내용을 다룹니다. 나아가 자연어 생성 성능을 더욱 끌어올리기 위한 기법들을 강화학습부터 듀얼리티에 이르기까지 다양하게 활용하여 상세히 설명합니다. 이 책의 주요 내용은 다음과 같습니다.◎ 딥러닝을 활용한 자연어 처리 개요와 지금까지의 기술 연구 성과◎ 자연어 처리 이해에 필요한 확률과 정보 이론 등의 수학적 개념◎ 파이토치의 설치 방법과 간단한 튜토리얼 소개◎ 정규 표현식을 활용한 노이즈 제거, 단어와 문장 분절, 병렬 코퍼스 생성 등 전처리 설명◎ 워드넷 등의 어휘 분류 사전을 자연어 처리에 응용하는 방법◎ 단어 의미의 유사성과 모호성에 따른 문제들을 머신러닝을 통해 해결하는 방법◎ 차원 축소를 통해 단어의 특징(feature)을 효과적으로 추출하고, 기존의 오픈소스들을 활용해 실습하는 법◎ 자연어 처리에 가장 활용도가 높은 순환 신경망(RNN)의 원리와 입출력 방식◎ 합성곱 신경망(CNN) 소개와, 이를 통해 텍스트를 분류하는 방법◎ 기존의 언어 모델링 방식과 신경망 기반 언어 모델링 방식의 비교◎ 기계번역의 개념과, seq2seq 및 어텐션을 활용해 자연어를 생성하는 방법◎ 기계번역의 성능을 더욱 끌어올리는 추가적인 주제와 기법 소개◎ 강화학습과 폴리시 그래디언트, 듀얼리티, 전이학습에 대한 설명◎ 신경망 기반 기계번역(NMT) 시스템 구성 요소와 서비스 제공 사례