메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

김기현의 자연어 처리 딥러닝 캠프(파이토치 편)

딥러닝 기반의 자연어 처리 기초부터 심화까지

한빛미디어

집필서

절판

  • 저자 : 김기현
  • 출간 : 2019-07-01
  • 페이지 : 520 쪽
  • ISBN : 9791162241974
  • 물류코드 :10197
  • 초급 초중급 중급 중고급 고급
4.1점 (15명)
좋아요 : 4

최신 딥러닝 기술을 활용한 자연어 처리 

기본기부터 실전 심화까지 한 권으로 끝내기 

 

자연어 처리 기초부터 심화까지 파이토치를 활용하여 짜임새 있게 설명한다. 저자가 현업에서 시스템을 구현하며 얻은 경험과 인사이트를 최대한 담았다. 자칫 지루할 수 있는 수학적 이론을 최소화하고 실전에 꼭 필요한 개념을 정리했다. 최신 딥러닝을 활용한 기술뿐만 아니라, 딥러닝 이전의 전통적인 방식도 차근차근 설명하여 왜 지금의 기술이 필요하고, 어떤 부분이 성능 개선을 이끌어냈는지 쉽게 이해할 수 있다. 딥러닝과 머신러닝 관련 개념과 이론의 기본기를 어느 정도 갖춘 독자라면 자연어 처리를 실무에 적용하는 데 필요한 지식을 이 한 권으로 체계적으로 익힐 수 있다.

 

[상세이미지]김기현의 자연어 처리 딥러닝 캠프(파이토치 편)_940.jpg

 

김기현 저자

김기현

미국 스토니브룩 대학교에서 컴퓨터공학 학사 및 석사 학위를 받았다. 이후 2011년부터 한국전자통신연구원에서 자연어 처리 연구 개발을 시작했고, 현재는 SK텔레콤에서 초거대 언어 모델 GPT3를 활용한 개인화 챗봇과 지식 대화 모델링을 연구 개발 및 상용화하고 있다. 또한 2018년부터 패스트캠퍼스에서 자연어 처리 및 파이토치 강의를 하고 있다. 저서로 『소문난 명강의 : 김기현의 자연어 처리 딥러닝 캠프』(한빛미디어, 2019)가 있다.

 

 

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의 NMT

 

15장_ 전이학습

15.1_ 전이학습이란

15.2_ 기존의 사전 훈련 방식

15.3_ ELMo

15.4_ BERT

15.5_ OpenAI의 GPT-2

15.6_ 마치며

딥러닝 기반 자연어 처리의 기본적인 내용부터 최신 트렌드까지 한데 아울러 소개합니다. 모델링 이슈뿐만 아니라 언어 처리에서 고려해야 하는 각종 요소를 설명합니다. 언어 관련 인공지능 서비스를 시작하는 분들에게 좋은 지침서가 될 것입니다.

김강일_ 광주과학기술원 전기전자컴퓨터공학부 교수

 

복잡한 수식과 정교한 이론을 소개하는 책으로 머신러닝을 시작했다가 중도 포기하신 분, 또는 머신러닝을 말로만 쉽게 설명하는 책을 몇 권 읽었지만 남는 것이 없다고 느끼신 분께 이 책을 추천합니다. 워드 임베딩, 언어 모델링, 기계번역 등 자연어 처리 분야의 주요 주제에 관한 배경지식과 수식을 잘 설명합니다. 제시된 파이썬 샘플 코드를 통해 관련 내용을 직접 구현해보며 이해를 높일 수 있습니다. 이 한 권으로 자연어 처리를 모두 이해할 수는 없겠지만, 앞으로의 학습 방향 설정에 좋은 나침반 역할을 해줄 것입니다.

노형석_ 네이버 챗봇 모델팀 머신러닝 엔지니어

 

현재 의료 분야를 포함한 다양한 산업군에서 인공지능을 기반으로 한 자연어 처리를 활발하게 사용하고 있습니다. 일상에서 쉽게 발견할 수 있는 형태로는 번역이나 챗봇 등으로, 인공지능 기반의 자연어 처리는 이미 우리 삶에 깊게 침투해 있습니다. 이 책은 평소 인공지능 기술에 관심이 많았던 사람이라면 누구나 자연어 처리 기술을 개발할 수 있도록 쓰였습니다. 딥러닝 기술을 위한 기초 지식부터 자연어 처리의 핵심적인 응용 방법에 이르기까지 폭넓은 내용을 심도 있게 다룹니다. 나아가 자연어의 특수성으로 인해 구현 과정에서 맞닥뜨리는 다양한 문제를 정의하고 이에 대한 해결책을 제시합니다. 특히 자연어 처리가 아닌 타 분야에서 인공지능을 경험한 사람이라면 자연어 처리 구현을 시도하기에 앞서 이 책을 읽어보기를 추천합니다.

박승균_ Lunit 공동창업자, Head of Chest Radiology, UNIST 겸임교수 

 

정치, 경제, 산업, 사회 면에서 총체적 변화가 이루어지는 4차 산업혁명 시대의 핵심 기술인 AI에 관한 저자의 경험과 노하우가 잘 담겨 있습니다. 기존 NLP 분야 책은 언어 구조가 한국어와 다른 영문 예제를 바탕으로 설명한 번역서였습니다. 그런데 이 책에는 한국어 예제와 설명, 실전에서 바로 활용할 수 있는 코드 사례가 함께 실려있으며, 무엇보다도 실제 산업 현장에서 다양한 AI 문제를 해결하려는 저자의 고민과 노력이 담겨 있습니다. 이 책의 출간은 AI 분야에 종사하는 많은 독자에게 참으로 반가운 소식이 될 것입니다.

심탁길_ CJ올리브네트웍스 빅데이터&마케팅본부 상무

 

딥러닝 기반의 자연어 처리를 기초부터 심화 내용까지 충실히 설명합니다. 단순히 최신 알고리즘의 이론적인 나열에 그치지 않고, 저자의 풍부한 경험과 지식을 바탕으로 조화롭게 총체적으로 학습할 수 있도록 접근합니다. 번역서를 제외하고는 아직 자연어 처리에 관한 국내 도서가 드문 현실에서 가뭄의 단비와 같은 책입니다.

윤승_ 한국전자통신연구원 음성지능연구그룹 선임연구원

 

김기현 저자는 패스트캠퍼스에서 자연어 처리 초급부터 고급 과정까지 강의를 진행하는 해당 주제 대표 강사입니다. 이 강의에서는 현업에서 번역기를 개발하여 실제 상용화한 경험을 바탕으로 수강생 여러분께 꼭 필요한 이론과 실습, 그리고 현업에서의 노하우까지 친절하게 알려줍니다. 매 기수 명쾌하고 훌륭한 설명으로 강의 만족도는 만점에 가깝습니다. 

이 책은 그간의 강의를 생생하게 녹여낸 자연어 처리 분야의 필독서입니다. 단순히 내용을 열거하고 정리한 책이 아닌, 독학으로는 오래 걸리고 이해하기 어려운 NLP에 대한 전반적인 내용과 파이토치를 활용한 코드 구현, 외국 강의만으로는 알기 어려운 한글 처리에 대한 인사이트까지 자세하게 설명합니다. 패스트캠퍼스에서 벌써 1년 넘게 자연어 처리 강의를 진행 중인 저자의 노하우가 담긴 체계적인 구성은 독자 여러분에게 많은 도움을 줄 것이라 확신합니다.

이샘_ 패스트캠퍼스 콘텐츠기획개발사업부 시니어 프로덕트 매니저

 

책을 통해 얻을 수 있는 중요한 가치는 체계적인 지식과 더불어 저자의 직관과 경험에서 우러나오는 노하우라고 생각합니다. 이 책은 자연어 처리 전문가이자, 다년간의 실무 개발 경험과 강의를 통한 지식 전달 능력을 인정받은 실력 있는 저자의 지식과 노하우가 고스란히 담겨 있습니다. 자연어 처리의 각 단계를 잘 설명하며, 샘플 코드에는 단계별로 직면하는 문제들을 해결하는 저자의 경험이 그대로 녹아들어 있습니다. 책을 읽으며 코드를 따라가다 보면 어느새 자연어 처리와 딥러닝의 응용 역량을 함께 갖출 수 있을 것입니다. 좋은 기술 서적을 만들어준 저자의 노고에 감사하며 기쁘게 추천합니다.

장언동_ 이베이코리아 AI 플랫폼 팀장

 

한 달이 멀다 하고 새로운 알고리즘이 나오는 자연어 처리 분야에서 최신 기술을 최대한 집어넣으려는 의지가 강하게 엿보이는 책입니다. 이론뿐만 아니라 실제 서비스가 어떤 식으로 이루어지는지 엿볼 수 있는 것도 이 책을 읽는 큰 즐거움 중 하나입니다.

최성준_서울대학교 공학박사

	

이책은 어떻게 딥러닝 학습을 시작해야 할지 모르는 딥린이를 위한 입문 교과서이다.
개념, 수식, 실습으로 이어지는 최적의 딥러닝 학습 커리큘럼을 통해 딥러닝에 대한 기본기를 탄탄하게 키워준다.

이 책은 딥러닝을 처음 접하는 독자 또는 딥러닝을 어느 정도 알고 있지만 기초가 부족한 독자를 대상으로 이라고 한다.

딥린이에게는 어려울 수 있지만, 수학... 파이썬의 기초는 딥러닝을 배우는데 필수이다. 

 

이책에서 배우는 내용은 ...

· 개발 환경, 딥러닝의 개념, 파이토치 튜토리얼, 선형 계층, 손실 함수
· 경사하강법, 선형 회귀, 로지스틱 회귀, 심층신경망, 확률적 경사하강법
· 최적화, 오버피팅 방지, 심층신경망으로 분류 문제 해결, 정규화
· 표현 학습, 확률론적 관점, CNN(합성곱신경망), RNN(순환신경망)

 

 

 

이책을 통해서 배울 수 있는 것들은, 딥러닝 개념 및 이론을 배우고, 수식 정리, 실습코드를 통해서  실무 환경에서 실전 같은 프로젝트 연습이라고 하겠다.  

 

딥러닝 개념 및 이론 설명
딥러닝의 기초 개념을 최대한 쉽게 이해할 수 있도록 수학적 표현을 최소화하고 그림 또는 시각화 활용.

기초부터 심화 단계까지 차근차근 접근할 수 있도록 구성, 딥러닝의 여러 진행 방식에 대해 원리와 구조를 체득.

수식 정리
딥러닝을 제대로 공부하기 위해서 수학적 배경지식은 반드시 필요.

딥러닝의 기초 개념 및 이론을 수식을 통해 다시 한번 정리.

실습 코드
앞에서 배운 이론과 수식을 파이토치로 어떻게 구현하는지에 대해 익힘.

이 책의 실습은 GPU 없이 실행이 가능하며, GPU가 있다면 훨씬 더 빠르게 실행할 수 있지만,

GPU 없이도 최대 몇십 분 이내로 실행이 완료되도록 구성되어 있음.

실무 환경에서의 실전 같은 프로젝트 연습
실제 머신러닝 프로젝트를 진행하듯이 파일을 구성하고 CLI 환경에서의 실습 진행

실전처럼 MNIST 분류기 성능을 끌어 올리는 방법과 이를 위한 실험 환경 구축 방법 숙지

 

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

4장까지 읽었는데, 더 이상 진행하기 어려워서 리뷰를 남겨본다.

 

1. '이 책이 다루는 범위'를 보면 자연어 처리 관련 내용을 최대한 다루려고 한다고 써있다.

그러나 4장을 보면, 반 이상은 알아듣기 힘든 내용이다. 처음 보는 라이브러리를 아무런 설명도 없이 코드만 넣어놓으면

책을 뭐하러 샀는지 의문. API보고 그냥 따라하면 될 것을 뭣하러 4만원 가까운 돈 낭비하면서 책을 샀을까?

- 4.6.3. CTK를 활용한 정렬을 보면, 평생 처음 보는 라이브러리고, 실제로 이 코드를 활용해서 어떤 결과를 얻을지도 모르며 (최소한 corpus라도 하나쯤은 넣어주던가!), 주석 조차 없다. API 찾아서 보라는 뜻인가? 돈내고 강의를 들으라는 말인가?

 

2. 일관성 없는 깃허브 코드.

4장에서 다루는 data_loader들은 이 책의 깃허브에 있는 것이 아니라, 저자의 깃허브에 가야 볼 수 있다. 

readme.md 써져 있긴 한데, 그 몇개를 옮기는게 시간이 아까웠나 라는 생각이 드는 건 지울수가 없다. 명확하게 독자를 배려하지 않은 부분이라 생각한다. 더불어 책에다가 소스 코드 제목도 안써줄거면, 뭐하러 깃은 제공하는지 모르겠다. 심지어 몇몇은 깃허브 코드내에 예제 데이터가 있다. 역시나 독자를 배려하지 않는다.

 

3. 한국어를 다루는 파이토치 책.

한국어를 다루는 책은 거의 못봤다. tensorflow도 몇 개 없는 것 같고, pytorch는 진짜 거의 못봤다. 이 책만 거의 유일한 것 같다.

이는 분명한 장점이다. 그러나 별개로, 독자가 의도한대로 학습이 이루어지는 모르겠다. 전처리 파트를 읽어봐도, 실제 전처리가 어떻게 이루어지는지 전혀 감이 오질 않는다. 이 책을 완독했을 때 내게 남는 것이 얼마나 있을지 의문이라는 생각이 든다.

 

김기현의 자연어처리 딥러닝 캠프
김기현 지음 | 한빛미디어 | 2019년 07월
 

1.jpg

 

 

 

 

 

추천대상 : 자연어처리 분야에 경험을 가지신 분
기초지식필요 :  많이 필요함(개발, SW방법론, 딥러닝 등의 기초지식이 상당히 필요함)
난이도 : 어려움(딥러닝 기초이상의 난이도가 필요함)
이동성 : 어려움(500p, 내용을 보면서 검색을 활용해야함)
키워드: 파이토치, 자연어처리, 임베딩(차원축소), RNN(순환신경망), CNN(합성곱신경망), 강화학습을 통한 자연어생성
 
[본 리뷰는 출판사가 제공한 도서를 읽고 직접 작성하였습니다.]
 
이 도서는 소문난 명강의 '자연어 처리 CAMP' 를 통한 강의에 나온 부분과 수강생들의 궁금증이 포함된 도서이였습니다. 
책을 처음 만나자 마자, 난독증이 온듯 진행이 어려웠습니다.
개발환경 셋팅하고, 저자의 깃허브 리포지터리를 복사하기 위해 깃설치도 진행했습니다. 
즉, 최소한 IT 개발분야에 대한 경험이 있는 분들을 향한 도서이며, 분야도 일반적인 SW개발이 아닌 인공지능 머신러닝 분야 도서이니 초보자는 다른 책을 알아보셔야 합니다. 

 

4.jpg

 

 

이 책에 가장 훌륭한 부분은 첫째, 머신러닝에 대한 이해를 도식화 하고 있습니다. 
 

 

3.jpg

 

 

그래서 머신러닝 분야에 개발자에게 빠르게 알고리즘 시각화를 통해서 학습이 가능합니다. 
 
확률과 수학에 대해서도 학습이 일부 가능합니다. 다만, 기초 지식을 가지고 있어야 독해가 가능합니다. 
수학적인 기회와 알고리즘의 매칭이 가능하신 분은 편안하게 읽힐수있습니다만, 그렇지 않은 분들에게는 좀 어렵네요.

 

5.jpg

 

 

"자연어 딥러닝 분석이 이렇게 심오할(어려울) 줄이야."

책을 처음 읽기 시작하면서부터 가장 먼저 들기 시작한 생각이었다.

 

책을 읽기 전에는 데이터 분석에 있어서 자연어 처리는 데이터 칼럼 중 영화평이나 서평과 같은 이용자가 직접 입력한 값이 있는 경우 단어수를 세어본다거나 추출된 단어를 기반으로 긍정적인지 부정적인지 알아보는 감성 분석 정도로만 생각했었다.

물론 인공지능을 이용한 번역 등 자연어를 처리하는 분야들도 많이 있고 발전하고 있으나 데이터 분석을 전반적으로 공부하고 있는 나에게는 그저 feature값 중 하나를 처리하기 위한 도구일 뿐 그 이상도 그 이하도 아니었다.

하지만 이 책을 읽으면서 자연어 처리를 다시 생각하게 되었다.

 

책 초반에는 이미지나 음성에 비해 자연어 처리가 왜 어려운지, 그리고 한국어는 왜 더 어려운지에 대해 설명이 있는데, 딥러닝에 대한 이해가 없다고 하더라도 재미있게 읽을 수 있는 부분인 것 같다.

평소에도 외국인이 배우기에는 한국어는 참 어려운 언어라는 생각을 갖고 있었는데, 외국인뿐만 아니라 기계도 이해하기에도 참 어려운 언어를 운 좋게 모국어로 쓸 수 있어서 다행이란 생각까지 들었다.

 

스크린샷 2019-08-11 오후 4.01.25.png

 

 

책을 자연어 처리 딥러닝을 공부하기 위해 바로 활용하려면, 저자가 책의 특징을 설명할 때 이야기하는 것처럼, 파이썬, 확률과 통계, 딥러닝 기초, 머신러닝 기초 등에 대한 내용은 미리 선행하고 읽어보는 것이 좋을 것 같다.

어려운 개념들인데 기초수학에 관한 내용은 책의 앞부분에 약 20페이지 정도, 그리고 기타 머신러닝/딥러닝 개념들도 흐름에 필요한 정도로만 짧게 설명되어 있다. 처음에는 조금 아쉬운 감이 있었으나, 자연어 처리를 목적으로 책을 읽기 시작한 사람이라면, 이미 기초 선행 과목(?)들은 어느 정도 거치고 왔을 거라고 생각해보니 적절한 구성인 것 같다.

 

스크린샷 2019-08-11 오후 4.00.52.png

 

 

반면에 수집한 코퍼스(말뭉치)에서 불필요한 특수문자, 기호 등을 제거하기 위해 정규 표현식을 사용하여 정제하는 부분들은 꽤 상세히 설명되어 있어서 이 책만으로도 많은 도움이 될 것 같다.

 

자연어 처리를 전문가가 되기 위해서 이 책을 눈여겨보고 있는 사람이라면, 처음부터 끝까지 이 책을 이해할 수 있다면, 목적을 달성할 수 있다는 생각이 든다. 나처럼 데이터 분석할 때 문장으로 되어 있는 칼럼을 다루기 위해, 또는 그보다 조금 더 깊이 있는 내용이 궁금한 사람이라면 사전처럼 두고 필요할 때마다 부분 부분 찾아서 배우고 익히면 될 것 같다.

 

1565360826455.jpg

 

 

오랫만에 자연어 처리를 공부해봐야 겠다!

거기에 딥러닝을 적용해야지!

두가지에 대한 것을 한번에 해결해준 고마운 책!

내용을 아직 깊게 꼼꼼히 보지는 않았지만 필요한 내용들에 대한 것들을 찾아 보니

다있다!.

까먹은 이론이 조목조목 정리되어있고

딥러닝을 코드로 공부하였더니 여기저기 막히던 부분들에 대한 명쾌한 설명도 있다.

 

 

의외로 정규표현식에 약한 사람들을 많이 보았는데..

자연어처리를 할때 꼭 필요한 스킬인 정규표현식에 대한 이론척이고 체계적인 정리도 함께 있다.

 

다양한 곳에서 실무에 쓸 일이 많으니 이것 만이라도 챙겨서 보도록 권해주고 싶은 내용이다.!

 

딱 필요한 내용들이 있다니.ㅠㅠ 눈물을 머금고 다시 정독하러 가야겠다.

 

이번엔 꼭.. 제대로 적용해보리라!. 기다려랏 텐서!

 

이만.. 총총!!

 

 

 

안녕하세요, 괴짜 개발자 namedboy 입니다. 
 

김기현의자연어처리딥러닝캠프.jpg

 

오늘은 한창 핫한 딥러닝 책 중 한권인 '김기현의 자연어 처리 딥러닝 캠프'를 리뷰하려고 합니다!
사실 저는 딥러닝이나 머신러닝은 잘 알지 못합니다.
다만, 머신러닝과 딥러닝이 동작하는 기본 방식이나 모델링이라는 것을 한다는 점 등을 조금 알고 있을 뿐입니다.
머신러닝과 딥러닝은 주변 사람들이 많은 얘기를 해왔고 쉽지 않은 것은 알고 있기에 항상 어려웠던 기억만 납니다.
사실 앞으로 머신러닝과 딥러닝은 어떤 상황이든 데이터를 사용해서 무엇인가를 해야 하는 상황이라면 항상 거론 될 수밖에 없는 분야입니다.
그 중에 특히 자연어 처리 라는 것은 머신러닝 또는 딥러닝이 가장 필요로 하는 분야가 아닐까 생각합니다.
 
이 책은 사실 초보자를 위한 책은 아닙니다. 
하지만 실제 머신러닝 업무를 하고 계신 저자분이 자연어 처리를 위해 작업을 했던 경험을 책에 녹여주셔서 많은 도움이 되리라 생각되는 책입니다.
저 처럼 딥러닝을 경험해보지 않은 사람은 어려운 내용이 많지만 최소한 기본적인 개념을 익히기에는 나쁘지 않은 책이란 생각입니다.
그 이유는 어려운 개념이 나올 때마다 항상 설명을 해주고 있고 충분히 따라 해볼 수 있는 부분들이 있기 때문입니다.
한참 상승세인 파이토치를 사용한다는 점도 좋은 부분이라 생각됩니다.
그 밖에도 자연어를 처리할 때 고려해야 할 다양한 부분을 책에 친절하게 설명해주셔서 저로서는 자연어 처리의 견문을 넓힐 수 있었습니다.
 
딥러닝 기반의 자연어 처리를 하시려는 분이라면 한번쯤 보면 괜찮은 책이라는 생각이 듭니다.
패스트 캠퍼스에서도 강의를 하셨던 점과 기업 강연도 나가셨던 점도 좀 더 믿음이 가는 이유 입니다.
그간의 강연 경험을 통해 더 쉽게 이해할 수 있도록 책을 쓰셨다는 것도 책을 읽으면서 느낄 수 있었습니다.
이 책은 [이곳]에서 구매하실 수 있습니다.
 

 

 

인공지능, 신경망, 딥러닝 등에 대한 관심은 있지만 아직 기초지식이나 개념을 가지고 있지 않은 개발자라면 먼저  그 지식을 숙지한 후 이책을 봐야 할 듯하다. 아니 그렇게 해야 책의 진도가 순조롭게 진행된다.

 

지식이라고는 추상적인 개념만 가지고 딥러닝에 대한 관심과 열정으로 책을 펼쳤지만 2주 조금 못되는 기간에 얻을 수 있었던건 딥러닝에 관해 무엇을 모르고, 무엇을 알고(그다지 알고 있던게 없었음) 있는지에 대한 스스로의 무지만 챙겼다.

 

KakaoTalk_20190809_222828609.jpg

 

한가지 더! 수학을 모르고도 딥러닝을 활용할 수 있으리라는 것은 더 큰오해라는 사실도 ^^

 

1장에서 '자연어처리'에 대한 개념은 확실하게 이해하고 넘어갈 수 있지만 역시 2장 '기초 수학' 부분, 딥러닝에 필요한 수학! 확률에서 부터  한 page 넘기기가 어려운건... '수학기호' 에대한 거부감 때문이리라 ^^

 

2장을 대충 넘어가고 3장 파이토치를 바로 넘어가고 싶은 욕구가 불끈 불끈 ^^

 

이찌 되었든 설명하나하나 가 섬세하고 깊이가 있는데... 이걸 이해하기 위한 기초지이 너무 없다는게 슬픈 현실 ㅜ.,ㅜ; 

 

 

책소개

최신 딥러닝 기술을 활용한 자연어 처리 

기본기부터 실전 심화까지 한 권으로 끝내기 

 

자연어 처리 기초부터 심화까지 파이토치를 활용하여 짜임새 있게 설명한다. 저자가 현업에서 시스템을 구현하며 얻은 경험과 인사이트를 최대한 담았다. 자칫 지루할 수 있는 수학적 이론을 최소화하고 실전에 꼭 필요한 개념을 정리했다. 최신 딥러닝을 활용한 기술뿐만 아니라, 딥러닝 이전의 전통적인 방식도 차근차근 설명하여 왜 지금의 기술이 필요하고, 어떤 부분이 성능 개선을 이끌어냈는지 쉽게 이해할 수 있다. 딥러닝과 머신러닝 관련 개념과 이론의 기본기를 어느 정도 갖춘 독자라면 자연어 처리를 실무에 적용하는 데 필요한 지식을 이 한 권으로 체계적으로 익힐 수 있다.


자세히보기 : http://www.hanbit.co.kr/store/books/look.php?p_code=B1294694476

 

 

김기현의 자연어 처리 딥러닝 캠프(파이토치 편)

자연어 처리 기초부터 심화까지 파이토치를 활용하여 짜임새 있게 설명한다. 저자가 현업에서 시스템을 구현하며 얻은 경험과 인사이트를 최대한 담았다. 자칫 지루할 수 있는 수학적 이론을 최소화하고 실전에 꼭 필요한 개념을 정리했다.

www.hanbit.co.kr


이번에 리뷰하게 된 책은 김기현의 자연어 처리 딥러닝 캠프 - 파이토치 편합니다.

평소에 Keras나 Tensorflow는 사용해봤지만 Pytorch는 처음이라 기대가 되는 책이었습니다.

상세하게 리뷰해보도록 하겠습니다.


자연어 처리에 관한 책이라 그런지 상당히 두껍습니다.

자연어처리에 대해서 그만큼 설명할 것도 많다는 의미가 되겠죠?

실제로 한국어는 영어에 비해 자연어처리를 하기에 어려운 언어입니다.


예를 들면, 영어는 Ieatapple(I eat apple.)이라는 문장이 있을 때 띄어쓰기가 있어야만 의미를 알 수 있습니다.

하지만 한국어는 어떨까요? 나는사과를먹었다. 라고 적어도 한국사람들은 다 이해를 합니다.

그렇게 때문에 자연어를 처리하기 어려운 언어에 속하게 됩니다.


 

처음 설치는 Anaconda3를 통해서 이루어집니다. Docker 처럼 가상환경, 학습 환경을 만들어서 사용할 수 있기 때문에

적합하다고 생각됩니다. 책에서 아쉬운 점은 설치에 대한 내용이 정말 짧게 나와있다는 것입니다. 기초를 알고 있는 사람에 대해서 책에 대한 내용을 읽기를 희망하는 것 같은 느낌을 받아 아쉬웠습니다. 조금 더 자세했으면 좋겠는데 말이죠.


책을 보다보면 이해가 안되는 수식과 함수와 등등.... 어렵습니다. 수학적으로 풀어서 설명하는게 아닌 부분도 많아서 공부가 필요해보입니다. 사실 이런 개념들은 자연어 처리와는 거리가 멀고 통계와 확률 등을 배워야 아는 부분이지만 기초적인 책에서 조금이나마 상세하게 설명해줬으면 어땠을까 하는 부분이 있었습니다.


계속해서 등장하는 어려운 수식

그래도 책으로 공부를 하다보면 처리에 있어서는 굉장히 상세하게 설명된 책입니다. 자연어처리를 이렇게 상세하게 설명해주는 책이 있다는 것에 새삼 놀랄 정도로 자세한 예제를 통해 설명을 진행해줍니다. 실제로 실무에서도 책에 나와있는 방법들로 학습을 하고 모델을 구현합니다. 제가 쓰는 방법도 많이 나오고 있어서 내심 뿌듯하면서 몰랐던 부분도 알 수 있어서 좋았습니다.




책을 보다보면 여러 예제를 접할 수 있습니다. 읽는데 시간이 많이 소요되기는 하지만 그만큼 중요하고, 내용이 꽉 들어차 있는 책입니다. 자연어 처리에 대해서 궁금하다면 꼭 읽어보시길 추천합니다! 또한 파이토치가 아닌 텐서플로우2.0이나 케라스(Keras)로도 구현해보시길 추천드립니다.


딥러닝파이토치.jpeg

 

자연어는 사람들이 대화하는 언어를 말합니다.

 

자연어의 의미를 분석하여 컴퓨터가 처리하는 것을 자연어 처리라고 하는데요.

분류로는 음성인식, 내용 요약, 영화 댓글 감성 분석을 예로 들 수 있습니다.

 

또한 중요도 별 메일 분류를 할 수 있습니다.

 

이 책은 자연어에 대한 이해를 높이고 단어 임베딩과 모델링도 알려주는데요.

저자의 경험으로 짜인 예제 코드를 따라 하며 이해하는 데 도움 됩니다.

 

단어에서 유사성과 모호성의 특징을 추출해 문제를 해결하는 방법도 다룹니다.

 

딥러닝 자연어 처리의 기본부터 심화까지 잘 구성되어 있습니다.

 

머신러닝과 딥러닝 자연어 처리 활용 사례를 살펴보겠습니다.

 

◆ 자연어 처리 활용 사례

자연어 처리가 활용되는 사례들을 몇 가지 살펴보도록 하겠습니다.

 

자연어 처리는 사람들의 말을 어떻게 분석하는지 알아보겠습니다.

 

영화 댓글 감성의 경우 댓글 데이터를 먼저 수집합니다.

 

수집한 데이터를 바탕으로 점수와 좋은 댓글과 나쁜 댓글을 구별합니다.

 

모호한 댓글까지는 구별이 어려울 수 있기에 예상한 대로 잘 들어가는지 확인이 필요합니다.

 

중요도 별 메일 분류는 메일을 분류하는 반복적인 작업입니다.

 

특정 키워드와 중요함을 표시하는 것을 컴퓨터가 분석해서 메일을 분류별로 나눠주는 것도 만들어 볼 수 있습니다.

 

◆ 머신러닝과 딥러닝

구글이 인공지능 알파고를 선보이면서 머신러닝과 딥러닝이 주목받았습니다.

 

머신러닝을 알려드리겠습니다.

 

사람들은 고양이와 개를 보면 학습을 해왔기 때문에 눈으로 보면 알 수 있습니다.

 

컴퓨터도 학습을 시켜 구별하게 하려고 하는 겁니다.

 

예를 들어 머신러닝으로 고양이와 개를 컴퓨터에 학습을 시킨다고 가정하겠습니다.

 

학습으로 개와 고양이를 예측할 수 있는데요.

학습한 데이터로 무엇인지 식별하는 겁니다.

 

딥러닝은 머신러닝의 부분집합 집합으로 대량의 데이터를 분석하는 겁니다.

 

딥러닝을 하기 위해서는 수학적 내용을 이해해야 합니다.

 

확률변수와 확률 분포 등 알아야 할 기초 수학도 다룹니다.

 

원하는 값이 나올지 최대가능도를 추정하는 기초 통계도 알면 도움이 됩니다.

 

끝으로 머신러닝과 딥러닝을 모르고 책을 보면 좀 어려울 수 있는데요.

어느 정도 지식을 갖추고 책을 보시길 권장합니다.

 

자연어 처리를 하려면 필요한 수학적 이론을 먼저 공부하는 게 좋습니다.

 

한번 보고 이해 안 되셔도 다시 보며 지식이 쌓이게 되면 이해하는데 도움 될 것입니다.

 

IMG_3247.png

 

 

전자는 근본 원리를 알기 위해 필요하고 후자는 이론이 이해가 되지 않거나 아니면 실제로 응용을 하기 위해 필요합니다. 

 

"자연어 처리 딥러닝 캠프"는 이 두 가지 특징을 다 가지고 있습니다. 이론적인 설명과 이를 실제로 구현해봄으로써 좀더 잘 이해할 수 있었습니다.

 

사실, 이 책은 출간 되기 전부터 기다리고 있었습니다. 전이 학습을 통한 BERT와 GPT-2 부분에 대해 관심이 있었고 또 한글 데이터셋 기반의 샘플 코드가 있다는 점. 그리고 또 패스트 캠퍼스의 강의와 한빛미디어가 만나면 어떤 책이 나올까 궁금했었습니다. 

 

책을 받고 조금씩 읽어 나가면서 제가 관심깊게 본 부분이 있습니다. 강화학습의 폴리시 그래디언트 를 이용해서 잔영어 생성을 다루는 12장과 13장 듀얼리티를 활용한 다양한 분야에서의 응용입니다.

 

최근 NLP는 최근에 다른 분야와 융합되어 더 다양한 분야에 응용이 되고 있어서 이 두 장에 특히 관심이 많았습니다.

 

아직 잘 모르지만,  강화학습과 GAN에 관심을 갖기 시작하면서 여러 응용할 수 있는 부분을 생각해 보고 있었는데 이 책을 통해 저의 호기심을 충족할 수 있었습니다.

 

 

 

IMG_3253.png

 

이 책은 한마디로 NLP의 기초부터 최신 동향 그리고 응용까지 다루고 있어 딥러닝을 공부하시는 분이라면 일독을 권합니다.

 

사실, 업무에 있어서도, 사전 구축이나 자연어 처리를 잘 하면 좋겠다는 생각을 많이 하긴 했는데, 책 초반에 나오는 수학적 지식을 완전히 이해하지는 못했다. 워낙에 확통이나, 선형대수학을 접해본적이 없었고, 졸업한지 오랜만에 본 수학 지식이라 어려웠다.

 

그렇지만, 이 책을 읽음에 수학적 지식이 풍부하다면, 쉽게 읽을 수 있고 도움이 되어 좋겠지만 읽다 보면 어떻게 연결이 되고 흘러 가는 맥락 파악을 할 수 있다. 어찌하든, 자연어 처리에 관해서 입문 하는데에는 좋은 책이라고 생각 한다.

 

 

KakaoTalk_20190808_235850214.jpg

 

일단 무엇보다 딥러닝을 이용한 자연어처리를 공부할 때 컴퓨터 비전 분야에 비해서 자료가 부족한건 사실이다.

 

인터넷을 이용해 자연어처리를 시작한다면 여기저기 흩어져 있는 정보들을 모아모아 공부해야했다면

이 책에서는 자연어처리를 위한 전처리 과정에서부터 딥러닝 활용까지를 모두 다루고 있어서 가장 좋았다

하지만 저자가 서술했듯이 딥러닝 입문자를 위한 책은 아니다. 수식이 많은건 아니지만 내용을 이해하는데에 있어서

사전지식이 있다면 훨씬 술술 읽힐 것이다. 

자연어 처리에 필요한 이론적인 베이스와 기술에 대해 꽤 친절하게 설명한 책이라 생각한다.

 

이 책의 가장 좋은 점은 우리나라 저자가 쓴 책이어서 그런지 번역서보다 좀 더 잘 읽힌다.

그리고 또 한가지, 풀컬러! 라는 점이다.

일반적인 프로그래밍 책이라면 컬러인쇄가 아닌, 2도 인쇄로도 충분하다고 생각한다.

하지만 이 책의 경우 여러 가지 도표와 수식이 난무하는데 아무래도 가독성에서 차이가 난다.

 

1

2

 

책에 대한 총평을 해보자면, 기대햇던 것 보다는 좀 아쉬운 책이었다.

아무래도 제목이 소문난 명강의 인 데다가 최근 핫한 키워드인 NLP와 PyTorch 에 대한 내용이다 보니 기대가 컸던 데 비해 내가 너무 못 따라간 것 같다.

저자는 머신러닝 기초이론은 이해하고 있는 것으로 가정하고 빠르게 내용을 전개한다.

“딥러닝과 머신러닝 관련 개념과 이론의 기본기를 어느 정도 갖춘 독자라면 자연어 처리를 실무에 적용하는 데 필요한 지식을 이 한 권으로 체계적으로 익힐 수 있다.” 라고 소개하고 있는데 기본기가 어느 정도 수준이냐에 따라 다가오는 느낌이 다를 것 같다.

저자가 요구하는 선수학습은 “파이썬, 미적분, 선형대수, 확률통계, 머신러닝 기초이론, 딥러닝 기초이론”이다.

 

제목이 “파이토치편”이라고 되어있지만 파이토치의 비중은 크지 않다.

실습으로서 뭔가 실제 서비스를 구현한다기 보단 이런 식으로 한다는 소개 수준이다.

너무 많은 내용을 소개하려다 보니 소개만 하는 기분도 든다.

책 전체가 다음처럼 진행된다. 각 토픽에 대한 배경 설명 → 이론소개 → 저자가 작성해 둔 코드를 소개 순이다.

깃헙에 있는 코드를 그대로 책에 실어두었는데, 코드에 대한 간략한 설명이 붙어있긴 하지만 기술 소개처럼 자세하진 않고 어느 부분에 주목해라 식의 간략한 코멘트 수준이다.

코드에 달린 주석을 참고하라는 의미라고 생각되는데 어느 정도 경험이 없다면 쉽게 이해하기 힘들 것이라 생각된다.

책을 교재로 쓰는 강의에서 실습을 진행하고 질의·응답한다면 좋은 구성일 수 있겠으나, 이 책만 보고 공부하는 것은 나한테는 좀 버거웠다.

 

딥러닝을 활용한 머신러닝 기술들의 홍수 속에서 살고 있는데, 크게 보면 영상처리와 언어처리 두 가지 부류로 나눌 수 있을 것 같다.

MNIST로 대표되는 영상처리의 경우 이미 많이 소개되다 보니 몇 번 접해보았으나, 이번 리뷰를 통해 처음으로 자연어처리에 대해 실습해 보게 되었다.

영상처리의 경우도 쉽지 않은 내용이었지만, 자연어처리는 이것보다 더 어려웠다.

RNN이 어떤것인지 아는 정도로는 어림도 없다는 걸 새삼 깨닫게 됐다.

 

[리뷰] 자연어처리 딥러닝 캠프

 


개요

본 리뷰는 한빛미디어 출판사 "자연어처리 딥러닝 캠프(김기현 저)"를 읽고 얻은 지식을 정리한 글입니다.

인공지능이 논문을 학습한다면


수학에 뿌리를 둔 통계학. 통계학에 뿌리를 둔 머신러닝. 머신러닝에 뿌리를 둔 딥러닝. 그리고 딥러닝에 뿌리를 둔 NLP가 있다. 자연언어처리라고도 불리는 NLP는 인공지능 기술 중 하나로 기계로 하여금 인간의 언어를 이해할 수 있게 만드는 기술이다. 이 기술이 실현된다면 마치 사람으로 따지면 통역가와 같이 다국어 간의 컴퓨터, 기계를 통한 번역이 가능해진다. 뿐만 아니라 문서 자동분류, 챗봇 등 다양한 응용분야으로의 적용도 가능해진다.

자연 언어 처리(Natural language processing)
자연어 처리(自然語處理) 또는 자연 언어 처리(自然言語處理)는 인간의 언어 현상을 컴퓨터와 같은 기계를 이용해서 모사 할수 있도록 연구하고 이를 구현하는 인공지능의 주요 분야 중 하나다. 자연 언어 처리는 연구 대상이 언어 이기 때문에 당연하게도 언어 자체를 연구하는 언어학과 언어 현상의 내적 기재를 탐구하는 언어 인지 과학과 연관이 깊다. 구현을 위해 수학적 통계적 도구를 많이 활용하며 특히 기계학습 도구를 많이 사용하는 대표적인 분야이다. 정보검색, QA 시스템, 문서 자동 분류, 신문기사 클러스터링, 대화형 Agent 등 다양한 응용이 이루어 지고 있다. - 위키백과 -

이 자체로도 충분히 전도 유망한 기술이지만 필자가 딥러닝 기술 중 NLP에 가장 관심이 많은 이유는 다른데에 있다. 바로 소제목에서 명시한 바와 같이 논문을 학습하게 될 가능성 때문이다.

필자가 보기에 논문은 그야말로 딥러닝의 언어이다. Review 논문은 마치 Graph Theory를 활용하여 구성하기에 딱 좋은 형태이며 학문이 발전해 온 전체 목차를 구성하기 좋고, 대부분 논문의 Abstract에는 Review 논문의 흐름 중 어느 카테고리에 붙어야 어울리는지 힌트를 제공한다. 또 내부 지식은 대부분 귀무가설과 검증에 대한 시행착오가 담겨져 있어 통계학을 원류로 하는 현 딥러닝 모델이 인식하기에 적합한 지식 구조로 이루어져 있다.

딥러닝이 핫이슈이긴 해도 현재까지는 적용되는 범위가 한정되어있는데 주로 이미지, 음성, 영상 인식 등에 국한되어있다. 이 분야들의 공통점은 자연 그대로가 아닌 1차 가공을 거친 데이터를 피처로 활용한다는 점이다. 신호처리 등 그간의 학문분야에서 심도 있게 연구되어 온 축적된 지식이 있기에 딥러닝 모델이 인식하기 좋은 형태로 변환하거나 특징을 추출, 선택, 변환할 수 있는 것이다. (보다 자세히 다룬 내용은 필자의 블로그 “통계학 vs 컴퓨터공학, 멋대로 써보는 Data Science 미래에 대한 소고(小考)-세상 모든 논문들을 딥러닝이 이해할 수 있게” 부분을 참고하시기 바란다.)

이런 측면에서 볼 때 NLP는 목적 그 자체가 될 수도 있으나, 세상의 거의 모든 분야의 데이터를 딥러닝이 이해하기 쉽고 좋은 성능을 낼 수 있도록 Feature생성 혹은 전처리 역할을 담당하는 일종의 중간 Layer로 활용될 가능성이 크지 않을까 생각한다. DQN 등 Reinforcement Learning과 결합하여 논문을 이해하고 구현체를 만들 수 있는 날이 온다면 세상은 대 격변을 맞을 것이라 생각한다. 때문에 필자는 NLP를 활용하여 논문을 학습할 수 있는 모델을 설계하거나 이를 뒷받침하는 연구를 하고 싶다는 꿈이 있다.

NLP를 배우는데 있어 본 도서의 장점


NLP 기술이 왜 중요한지 그리고 미래에 얼마나 유망한지 위 장에서 간단하게 언급하였다. 그렇다면 NLP 기술은 어떻게 익혀야 할까? 적어도 한국어와 관련된 자연어 처리라면 이 책이 해답 중에 하나라고 말하고 싶다. 그간 시중에 출간된 NLP 서적은 흔했지만 깊이가 너무 얕았다. 이와 관련하여 본 도서가 가지는 특출난 장점이 몇가지 있어서 소개해 본다.

  • 일단, 한국어 NLP를 다룬다.
    • 한국어에는 다른 언어에 비해 다음과 같이 자연어 처리를 어렵게 만드는 요소가 있다.
      • 교착어 : 접사가 붙어 의미와 문법적 기능이 정해진다. (예: 잡히시었겠더라)
      • 띄어쓰기 : 표준이 계속 변한다.
      • 평서문과 의문문 : 동일한 문장구조를 가진다.
      • 주어생략 : 명사를 중요시하는 영어와는 달리 동사를 중요시한다.
      • 한자(漢字) 기반의 언어 : 표음문자의 특징인 중의성 문제(예: 건널, 끌, 제목)
    • 대부분의 장에서 영어 기반의 NLP 기술과 수학적 근간을 설명한 후 한글에 적용해보며 특수성을 언급하고 해결책을 제시한다.
  • 깊이가 있다. (재미는 입문서급이다.)
    • NLP 초보자라면 언어모델링도 쉽지않은데 이 책은 그 이상의 심화주제를 소개한다.
    • 듀얼리티, 전이학습, NMT시스템 구축 등은 그간 https://arxiv.org에서 접하면서 이해가 까다로웠던 부분인데 비교적 최신 기술을 학습하고 그 결과를 공유해주려는 저자의 배려가 돋보였다. 이런 심화 내용에 대한 개념을 잡을 수 있었던 것이 필자에게는 가장 큰 소득이었다.
  • 다양한 전처리 기법 및 정규표현식의 소개
    • 그간의 전처리에서 겪었던 시행착오를 한방에 깔끔하게 정리해주었다.
    • 아래 그림과 같이 알기쉬운 도식을 통해 정규표현식 또한 엑기스를 뽑아 전수해준다.정규표현식
  • 기계번역을 정면돌파한다.
    • 그간 시중의 NLP 서적이 마음에 안들었던 이유는 크게 한국어, 번역 두 부분이었다.
    • 특히 기계번역은 난이도가 높아 다른 서적에서 잘 언급하지 않는데 이 책은 과감히 기계번역을 시도한다.
  • 수학을 정면돌파한다.
    • 확률변수부터 MLE, MSE까지 직관적으로 설명한다. 문제를 푸는 수학이 아닌 어디에 왜 써야하는지의 관점으로 접근한다.
    • 아래 그림은 몬테카를로 샘플링에 관한 설명이다. 기본 수학을 떼신 분이라면 꽤 깔끔하게 직관적으로 설명하는 저자의 능력 덕분에 그간 복잡하게 엉켜있던 수학의 개념이 쉽게 정리되는 것을 느끼실 수 있을 것이다.몬테카를로
    • 아래 그림은 벡터유사도에 관한 설명이다. 쉽게 설명한다는 핑계로 수식을 열거하지 않는 책들이 많은데 그렇게 쉽게 얻은 지식은 희미한 개념으로만 남을 뿐 다른 분야에 적용할 때 그 한계를 드러내기 마련이다. 가급적 간명한 설명을 통해 하나도 근본 원리를 놓치지 않으려는 저자의 시도가 마음에 들었다.벡터유사도
  • 기타
    • 그 외에도 패스트캠퍼스의 검증된 강의를 기반으로 한다는 점
    • Pytorch와 친숙해질 기회라는 점
    • 저자의 GitHub에 완성도 높은 구현체가 공개되어 있다는 점이 장점이라고 할 수 있겠다.

내용의 깊이, 구성, 저자의 열정 뭐 하나 떨어지는 구석없이 잘 만들어진 책이라는 생각이 들었다.

누가 읽어야 하는가?


  • 한국어 NLP, 전처리에 고민이 깊었던 분

  • NLP 기술 전체를 한 눈에 알기쉽게 정리하고 싶은 분

  • NLP 입문 서적 수준을 넘어서고 싶으신 분

  • 그 외 필자와 같은 NLP 빠돌이 분들

책의 구성 및 요약


이 책은 크게 네 부분으로 구성되며, 각 장에서 다루는 내용을 요약해 보았다.

  • 1. NLP 학습을 위한 준비운동(0 ~ 3장)
    • 딥러닝 및 NLP의 개요, 기술의 발전과정
    • 기초수학에 대한 내공쌓기
    • 개발실습환경 구축 및 Pytorch 기본문법 학습
  • 2. NLP 기초체력 다지기(4 ~ 7장)
    • 정규표현식 등 전처리의 다양한 기술 학습
    • 원핫인코딩, TF-IDF, 벡터유사도, 중의성 해소 등 NLP 입문서 수준의 주요 개념 정리
    • word2vec 등 단어임베딩 및 시퀀스 모델링, 텍스트 분류 등 중급 내공 쌓기
  • 3. 기계번역(9장 ~ 11장)
    • SRILM, NNLM 등 언어모델의 활용법 및 n-gram실습
    • seq2seq, 어텐션 등을 활용한 신경망 기계번역
    • 다국어 신경망 및 트랜스 포머 등 심화주제 소개
  • 4. __심화주제(12장 ~ 15장)
    • 강화학습 적용 및 자연어 생성
    • 듀얼리티, NMT 시스템 구축, 전이학습 등 최신기술 소개

요약하며…


언제나 그렇듯이 이런 양서는 왜 늦게 나오는지 모르겠다. 그동안 다른책에 낭비된 시간이 아깝기 때문일까. 꽤 어려운 주제들을 언급하고 있는데 반해 솔직히 꽤 재미있게 읽었다. 물론 정독하고 수식까지 음미하려면 꽤 많은 시간이 소요될 것 같다. 책을 읽으며 가장 인상 깊었던 점은 수준높은 주제를, 저자가 그동안 공부하고 노력하고 연구했던 지식들 전부를, 어떻게든 한정된 지면안에 간결하게 쏟고자하는 노력이 느껴졌다는 점이다. 수학, 통계학 등 기초 체력이 잘 다져진 분들에게는 NLP 기술이 잘 집대성된 양서를 만났다는 느낌이 들 것이다.

아쉬웠던 점이 있다면 그런 저자의 열정때문에 설명에 다소 축약이 많아 기초 내공이 약하거나 입문자이신 분들한테는 실습 환경 하나 구축하기 조차 벅차다는 생각이 드실 것 같다. 더불어 수식으로 열거된 설명 부분은 좀 더 자세하고 쉽게 설명이 되어있다면 교과서로 쓰여도 무난하지 않을까 하는 약간의 아쉬움은 들었다. 하지만 이런 아쉬운 점은 전체 장점 대비 극히 작은 영역이기에 별로 중요하지 않다.

<한빛미디어 출판사>

믿고보는 “한빛미디어 출판사”. IT분야에서 독보적인 양질의 도서를 출판하는 회사입니다. “나는 프로그래머다” 팟캐스트 후원, DevGround2019 행사, 리뷰어 모집, 다양한 학습 지원 등 다양한 분야에서 사회에 공헌하는 개발자와 공생하는 업체입니다. IT분야에 관심있으시다면 한빛미디어의 책으로 후회없는 출발을 하실 수 있습니다.

한빛미디어 바로가기 

딥러닝 기반의 자연어 처리를 기초부터 심화까지 두루 다루는 책이 한빛미디어에서 출간되었습니다. 바로 자연어 처리 딥러닝 캠프인데요, 이 책의 모든 예제는 PyTorch 1.0을 기반으로 다루고 있으며 딥러닝의 기초 서적이 아니기 때문에 목적/손실 함수, 선형/로지스틱 회귀, 그래디언트 디센트 정도는 이미 숙지하고 있다는 가정하에 내용을 진행합니다. 책의 표지에서부터 PyTorch의 기운이 느껴집니다.

 

자연어 처리 딥러닝 캠프

 

책의 모든 페이지가 컬러로 되어 있어서 꽤 세련된 느낌을 주고 패스트캠퍼스에서 진행한 강의가 바탕이 되어서인지 내용 구성이 좋아서 훌훌 잘 읽힙니다. 매 단원이 끝날때마다 딥러닝의 대가들(제프리 힌튼, 클로드 셰넌, 얀 르쿤 등)이 스케치 이미지로 등장하는데 누가 등장할지 궁금해서 더 빨리 읽게 되는것 같기도 합니다. 

 

제프리 힌튼

 

모든 예제의 소스코드 내용은 저자의 깃허브에서 확인 가능하기 때문에 어렵지 않게 진도를 따라갈 수 있습니다. 딥러닝으로 풀어내는 큰 줄기에는 이미지, 음성 등 다양한 분야가 있지만 그중에 자연어처리를 꽤 매력적인 부분일겁니다.

 

BPE

 


이 책 한권으로 자연어처리를 끝낼수는 없지만 그 입문을 하기에는 충분할 것으로 예상합니다. 이제 자연어처리에 입문하시는 분에게는 꼭 추천합니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
김기현의 자연어 처리 딥러닝 캠프(파이토치 편)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
김기현의 자연어 처리 딥러닝 캠프(파이토치 편)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
김기현의 자연어 처리 딥러닝 캠프(파이토치 편)
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1