자연어 처리 기초부터 심화까지 파이토치를 활용하여 짜임새 있게 설명한다. 저자가 현업에서 시스템을 구현하며 얻은 경험과 인사이트를 최대한 담았다. 자칫 지루할 수 있는 수학적 이론을 최소화하고 실전에 꼭 필요한 개념을 정리했다. 최신 딥러닝을 활용한 기술뿐만 아니라, 딥러닝 이전의 전통적인 방식도 차근차근 설명하여 왜 지금의 기술이 필요하고, 어떤 부분이 성능 개선을 이끌어냈는지 쉽게 이해할 수 있다. 딥러닝과 머신러닝 관련 개념과 이론의 기본기를 어느 정도 갖춘 독자라면 자연어 처리를 실무에 적용하는 데 필요한 지식을 이 한 권으로 체계적으로 익힐 수 있다.
저자소개
저자
김기현
미국 스토니브룩 대학교에서 컴퓨터공학 학사 및 석사 학위를 받았다. 이후 2011년부터 한국전자통신연구원에서 자연어 처리 연구 개발을 시작했고, 현재는 SK텔레콤에서 초거대 언어 모델 GPT3를 활용한 개인화 챗봇과 지식 대화 모델링을 연구 개발 및 상용화하고 있다. 또한 2018년부터 패스트캠퍼스에서 자연어 처리 및 파이토치 강의를 하고 있다. 저서로 『소문난 명강의 : 김기현의 자연어 처리 딥러닝 캠프』(한빛미디어, 2019)가 있다.
딥러닝 기반 자연어 처리의 기본적인 내용부터 최신 트렌드까지 한데 아울러 소개합니다. 모델링 이슈뿐만 아니라 언어 처리에서 고려해야 하는 각종 요소를 설명합니다. 언어 관련 인공지능 서비스를 시작하는 분들에게 좋은 지침서가 될 것입니다.
김강일_ 광주과학기술원 전기전자컴퓨터공학부 교수
복잡한 수식과 정교한 이론을 소개하는 책으로 머신러닝을 시작했다가 중도 포기하신 분, 또는 머신러닝을 말로만 쉽게 설명하는 책을 몇 권 읽었지만 남는 것이 없다고 느끼신 분께 이 책을 추천합니다. 워드 임베딩, 언어 모델링, 기계번역 등 자연어 처리 분야의 주요 주제에 관한 배경지식과 수식을 잘 설명합니다. 제시된 파이썬 샘플 코드를 통해 관련 내용을 직접 구현해보며 이해를 높일 수 있습니다. 이 한 권으로 자연어 처리를 모두 이해할 수는 없겠지만, 앞으로의 학습 방향 설정에 좋은 나침반 역할을 해줄 것입니다.
노형석_ 네이버 챗봇 모델팀 머신러닝 엔지니어
현재 의료 분야를 포함한 다양한 산업군에서 인공지능을 기반으로 한 자연어 처리를 활발하게 사용하고 있습니다. 일상에서 쉽게 발견할 수 있는 형태로는 번역이나 챗봇 등으로, 인공지능 기반의 자연어 처리는 이미 우리 삶에 깊게 침투해 있습니다. 이 책은 평소 인공지능 기술에 관심이 많았던 사람이라면 누구나 자연어 처리 기술을 개발할 수 있도록 쓰였습니다. 딥러닝 기술을 위한 기초 지식부터 자연어 처리의 핵심적인 응용 방법에 이르기까지 폭넓은 내용을 심도 있게 다룹니다. 나아가 자연어의 특수성으로 인해 구현 과정에서 맞닥뜨리는 다양한 문제를 정의하고 이에 대한 해결책을 제시합니다. 특히 자연어 처리가 아닌 타 분야에서 인공지능을 경험한 사람이라면 자연어 처리 구현을 시도하기에 앞서 이 책을 읽어보기를 추천합니다.
박승균_ Lunit 공동창업자, Head of Chest Radiology, UNIST 겸임교수
정치, 경제, 산업, 사회 면에서 총체적 변화가 이루어지는 4차 산업혁명 시대의 핵심 기술인 AI에 관한 저자의 경험과 노하우가 잘 담겨 있습니다. 기존 NLP 분야 책은 언어 구조가 한국어와 다른 영문 예제를 바탕으로 설명한 번역서였습니다. 그런데 이 책에는 한국어 예제와 설명, 실전에서 바로 활용할 수 있는 코드 사례가 함께 실려있으며, 무엇보다도 실제 산업 현장에서 다양한 AI 문제를 해결하려는 저자의 고민과 노력이 담겨 있습니다. 이 책의 출간은 AI 분야에 종사하는 많은 독자에게 참으로 반가운 소식이 될 것입니다.
심탁길_ CJ올리브네트웍스 빅데이터&마케팅본부 상무
딥러닝 기반의 자연어 처리를 기초부터 심화 내용까지 충실히 설명합니다. 단순히 최신 알고리즘의 이론적인 나열에 그치지 않고, 저자의 풍부한 경험과 지식을 바탕으로 조화롭게 총체적으로 학습할 수 있도록 접근합니다. 번역서를 제외하고는 아직 자연어 처리에 관한 국내 도서가 드문 현실에서 가뭄의 단비와 같은 책입니다.
윤승_ 한국전자통신연구원 음성지능연구그룹 선임연구원
김기현 저자는 패스트캠퍼스에서 자연어 처리 초급부터 고급 과정까지 강의를 진행하는 해당 주제 대표 강사입니다. 이 강의에서는 현업에서 번역기를 개발하여 실제 상용화한 경험을 바탕으로 수강생 여러분께 꼭 필요한 이론과 실습, 그리고 현업에서의 노하우까지 친절하게 알려줍니다. 매 기수 명쾌하고 훌륭한 설명으로 강의 만족도는 만점에 가깝습니다.
이 책은 그간의 강의를 생생하게 녹여낸 자연어 처리 분야의 필독서입니다. 단순히 내용을 열거하고 정리한 책이 아닌, 독학으로는 오래 걸리고 이해하기 어려운 NLP에 대한 전반적인 내용과 파이토치를 활용한 코드 구현, 외국 강의만으로는 알기 어려운 한글 처리에 대한 인사이트까지 자세하게 설명합니다. 패스트캠퍼스에서 벌써 1년 넘게 자연어 처리 강의를 진행 중인 저자의 노하우가 담긴 체계적인 구성은 독자 여러분에게 많은 도움을 줄 것이라 확신합니다.
이샘_ 패스트캠퍼스 콘텐츠기획개발사업부 시니어 프로덕트 매니저
책을 통해 얻을 수 있는 중요한 가치는 체계적인 지식과 더불어 저자의 직관과 경험에서 우러나오는 노하우라고 생각합니다. 이 책은 자연어 처리 전문가이자, 다년간의 실무 개발 경험과 강의를 통한 지식 전달 능력을 인정받은 실력 있는 저자의 지식과 노하우가 고스란히 담겨 있습니다. 자연어 처리의 각 단계를 잘 설명하며, 샘플 코드에는 단계별로 직면하는 문제들을 해결하는 저자의 경험이 그대로 녹아들어 있습니다. 책을 읽으며 코드를 따라가다 보면 어느새 자연어 처리와 딥러닝의 응용 역량을 함께 갖출 수 있을 것입니다. 좋은 기술 서적을 만들어준 저자의 노고에 감사하며 기쁘게 추천합니다.
장언동_ 이베이코리아 AI 플랫폼 팀장
한 달이 멀다 하고 새로운 알고리즘이 나오는 자연어 처리 분야에서 최신 기술을 최대한 집어넣으려는 의지가 강하게 엿보이는 책입니다. 이론뿐만 아니라 실제 서비스가 어떤 식으로 이루어지는지 엿볼 수 있는 것도 이 책을 읽는 큰 즐거움 중 하나입니다.
1. '이 책이 다루는 범위'를 보면 자연어 처리 관련 내용을 최대한 다루려고 한다고 써있다.
그러나 4장을 보면, 반 이상은 알아듣기 힘든 내용이다. 처음 보는 라이브러리를 아무런 설명도 없이 코드만 넣어놓으면
책을 뭐하러 샀는지 의문. API보고 그냥 따라하면 될 것을 뭣하러 4만원 가까운 돈 낭비하면서 책을 샀을까?
- 4.6.3. CTK를 활용한 정렬을 보면, 평생 처음 보는 라이브러리고, 실제로 이 코드를 활용해서 어떤 결과를 얻을지도 모르며 (최소한 corpus라도 하나쯤은 넣어주던가!), 주석 조차 없다. API 찾아서 보라는 뜻인가? 돈내고 강의를 들으라는 말인가?
2. 일관성 없는 깃허브 코드.
4장에서 다루는 data_loader들은 이 책의 깃허브에 있는 것이 아니라, 저자의 깃허브에 가야 볼 수 있다.
readme.md 써져 있긴 한데, 그 몇개를 옮기는게 시간이 아까웠나 라는 생각이 드는 건 지울수가 없다. 명확하게 독자를 배려하지 않은 부분이라 생각한다. 더불어 책에다가 소스 코드 제목도 안써줄거면, 뭐하러 깃은 제공하는지 모르겠다. 심지어 몇몇은 깃허브 코드내에 예제 데이터가 있다. 역시나 독자를 배려하지 않는다.
3. 한국어를 다루는 파이토치 책.
한국어를 다루는 책은 거의 못봤다. tensorflow도 몇 개 없는 것 같고, pytorch는 진짜 거의 못봤다. 이 책만 거의 유일한 것 같다.
이는 분명한 장점이다. 그러나 별개로, 독자가 의도한대로 학습이 이루어지는 모르겠다. 전처리 파트를 읽어봐도, 실제 전처리가 어떻게 이루어지는지 전혀 감이 오질 않는다. 이 책을 완독했을 때 내게 남는 것이 얼마나 있을지 의문이라는 생각이 든다.
책을 읽기 전에는 데이터 분석에 있어서 자연어 처리는 데이터 칼럼 중 영화평이나 서평과 같은 이용자가 직접 입력한 값이 있는 경우 단어수를 세어본다거나 추출된 단어를 기반으로 긍정적인지 부정적인지 알아보는 감성 분석 정도로만 생각했었다.
물론 인공지능을 이용한 번역 등 자연어를 처리하는 분야들도 많이 있고 발전하고 있으나 데이터 분석을 전반적으로 공부하고 있는 나에게는 그저 feature값 중 하나를 처리하기 위한 도구일 뿐 그 이상도 그 이하도 아니었다.
하지만 이 책을 읽으면서 자연어 처리를 다시 생각하게 되었다.
책 초반에는 이미지나 음성에 비해 자연어 처리가 왜 어려운지, 그리고 한국어는 왜 더 어려운지에 대해 설명이 있는데, 딥러닝에 대한 이해가 없다고 하더라도 재미있게 읽을 수 있는 부분인 것 같다.
평소에도 외국인이 배우기에는 한국어는 참 어려운 언어라는 생각을 갖고 있었는데, 외국인뿐만 아니라 기계도 이해하기에도 참 어려운 언어를 운 좋게 모국어로 쓸 수 있어서 다행이란 생각까지 들었다.
책을 자연어 처리 딥러닝을 공부하기 위해 바로 활용하려면, 저자가 책의 특징을 설명할 때 이야기하는 것처럼, 파이썬, 확률과 통계, 딥러닝 기초, 머신러닝 기초 등에 대한 내용은 미리 선행하고 읽어보는 것이 좋을 것 같다.
어려운 개념들인데 기초수학에 관한 내용은 책의 앞부분에 약 20페이지 정도, 그리고 기타 머신러닝/딥러닝 개념들도 흐름에 필요한 정도로만 짧게 설명되어 있다. 처음에는 조금 아쉬운 감이 있었으나, 자연어 처리를 목적으로 책을 읽기 시작한 사람이라면, 이미 기초 선행 과목(?)들은 어느 정도 거치고 왔을 거라고 생각해보니 적절한 구성인 것 같다.
반면에 수집한 코퍼스(말뭉치)에서 불필요한 특수문자, 기호 등을 제거하기 위해 정규 표현식을 사용하여 정제하는 부분들은 꽤 상세히 설명되어 있어서 이 책만으로도 많은 도움이 될 것 같다.
자연어 처리를 전문가가 되기 위해서 이 책을 눈여겨보고 있는 사람이라면, 처음부터 끝까지 이 책을 이해할 수 있다면, 목적을 달성할 수 있다는 생각이 든다. 나처럼 데이터 분석할 때 문장으로 되어 있는 칼럼을 다루기 위해, 또는 그보다 조금 더 깊이 있는 내용이 궁금한 사람이라면 사전처럼 두고 필요할 때마다 부분 부분 찾아서 배우고 익히면 될 것 같다.
자연어 처리 기초부터 심화까지 파이토치를 활용하여 짜임새 있게 설명한다. 저자가 현업에서 시스템을 구현하며 얻은 경험과 인사이트를 최대한 담았다. 자칫 지루할 수 있는 수학적 이론을 최소화하고 실전에 꼭 필요한 개념을 정리했다. 최신 딥러닝을 활용한 기술뿐만 아니라, 딥러닝 이전의 전통적인 방식도 차근차근 설명하여 왜 지금의 기술이 필요하고, 어떤 부분이 성능 개선을 이끌어냈는지 쉽게 이해할 수 있다. 딥러닝과 머신러닝 관련 개념과 이론의 기본기를 어느 정도 갖춘 독자라면 자연어 처리를 실무에 적용하는 데 필요한 지식을 이 한 권으로 체계적으로 익힐 수 있다.
평소에 Keras나 Tensorflow는 사용해봤지만 Pytorch는 처음이라 기대가 되는 책이었습니다.
상세하게 리뷰해보도록 하겠습니다.
자연어 처리에 관한 책이라 그런지 상당히 두껍습니다.
자연어처리에 대해서 그만큼 설명할 것도 많다는 의미가 되겠죠?
실제로 한국어는 영어에 비해 자연어처리를 하기에 어려운 언어입니다.
예를 들면, 영어는 Ieatapple(I eat apple.)이라는 문장이 있을 때 띄어쓰기가 있어야만 의미를 알 수 있습니다.
하지만 한국어는 어떨까요? 나는사과를먹었다. 라고 적어도 한국사람들은 다 이해를 합니다.
그렇게 때문에 자연어를 처리하기 어려운 언어에 속하게 됩니다.
처음 설치는 Anaconda3를 통해서 이루어집니다. Docker 처럼 가상환경, 학습 환경을 만들어서 사용할 수 있기 때문에
적합하다고 생각됩니다. 책에서 아쉬운 점은 설치에 대한 내용이 정말 짧게 나와있다는 것입니다. 기초를 알고 있는 사람에 대해서 책에 대한 내용을 읽기를 희망하는 것 같은 느낌을 받아 아쉬웠습니다. 조금 더 자세했으면 좋겠는데 말이죠.
책을 보다보면 이해가 안되는 수식과 함수와 등등.... 어렵습니다. 수학적으로 풀어서 설명하는게 아닌 부분도 많아서 공부가 필요해보입니다. 사실 이런 개념들은 자연어 처리와는 거리가 멀고 통계와 확률 등을 배워야 아는 부분이지만 기초적인 책에서 조금이나마 상세하게 설명해줬으면 어땠을까 하는 부분이 있었습니다.
계속해서 등장하는 어려운 수식
그래도 책으로 공부를 하다보면 처리에 있어서는 굉장히 상세하게 설명된 책입니다. 자연어처리를 이렇게 상세하게 설명해주는 책이 있다는 것에 새삼 놀랄 정도로 자세한 예제를 통해 설명을 진행해줍니다. 실제로 실무에서도 책에 나와있는 방법들로 학습을 하고 모델을 구현합니다. 제가 쓰는 방법도 많이 나오고 있어서 내심 뿌듯하면서 몰랐던 부분도 알 수 있어서 좋았습니다.
책을 보다보면 여러 예제를 접할 수 있습니다. 읽는데 시간이 많이 소요되기는 하지만 그만큼 중요하고, 내용이 꽉 들어차 있는 책입니다. 자연어 처리에 대해서 궁금하다면 꼭 읽어보시길 추천합니다! 또한 파이토치가 아닌 텐서플로우2.0이나 케라스(Keras)로도 구현해보시길 추천드립니다.
수학에 뿌리를 둔 통계학. 통계학에 뿌리를 둔 머신러닝. 머신러닝에 뿌리를 둔 딥러닝. 그리고 딥러닝에 뿌리를 둔 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
이 책 한권으로 자연어처리를 끝낼수는 없지만 그 입문을 하기에는 충분할 것으로 예상합니다. 이제 자연어처리에 입문하시는 분에게는 꼭 추천합니다.