qor***
2021-06-20

이 책은 파이토치를 기반으로 수식은 최대한 줄이고, 실무 예제를 중심으로 자연어 처리를 학습할 수 있는 입문서이다. 각 장의 엔드 투 엔드 예제는 딥러닝과 자연어 처리를 학습하는 데 꼭 필요한 기초적인 토대를 다져나갈 수 있게 구성하였다.
전통적으로 컴퓨터에게 무언가를 시키기 위해서는 컴퓨터가 알아들을 수 있도록 지시해야 했다. 이를 위해 프로그래밍 언어가 생겨났고, 초창기의 기계어, 어셈블리어에서 현재의 C, Java, Python 등으로 발전해왔다. 지금의 프로그래밍 언어 및 개발 환경을 통해 예전에 비해 보다 손쉬운 개발이 가능해 진 것은 사실이지만, 모든 사람이 프로그래밍 언어를 익혀서 사용하기는 어렵다. 이는 프로그래밍 언어가 일상 생활에서 사용하는 언어, 즉 ‘자연어 (Natural Language)’가 아니기 때문이다. ‘자연어 처리 (NLP: Natural Language Processing)’는 인간의 언어를 컴퓨터가 알아듣도록 하는 분야이다. 지금까지 인간이 컴퓨터가 알아 들을 수 있도록 만들어진 언어를 배워왔다면, 자연어 처리는 컴퓨터가 인간의 언어를 배우고 인간의 언어를 통해 일을 하고, 결과물을 만들어내는 과정이라고 할 수 있다. 컴퓨터에게 인간의 언어를 이해시키기 위한 자연어처리는 인공지능의 주요 분야이며, 오랜 역사를 지니고 있다. 최근 딥러닝의 급속한 발전은 자연어 처리에도 많은 변화를 이끌어 내고 있다.
‘파이 토치로 배우는 자연어처리 (Natural Language Processing with PyTorch)’는 자연어 처리와 딥러닝을 처음 접하는 개발자들을 위한 책이다. 주제가 자연어처리와 딥러닝이고, 초심자들을 대상으로 하기에 매우 기초적인 내용부터 차근차근 다루고 있다. 전체 9개의 챕터로 구성되어 있는 데, 1장에서는 지도학습의 개념을 익히고, 계산 그래프가 무엇을 말하는 지, 그리고 자연어 처리를 위한 파이토치 기초를 소개한다. 2장은 NLP를 이루는 여러 기술을 속도감 있게 요약하고 있어 NLP를 처음 접하는 독자 뿐 아니라 NLP에 대한 경험이 있는 개발자들도 자신의 이론적 배경과 기술 수준을 다시 한번 확인해 볼 수 있도록 하고 있다. 이어지는 3장은 딥러닝을 위한 신경망의 기본 구성 요소를 다루고 있다. 2장과 3장을 통해 NLP와 딥러닝에 대한 기초를 쌓았다면, 4장은 이를 바탕으로 자연어 처리를 위한 포워드 신경망 구성을 소개한다. 5장부터는 본격적으로 자연어 처리를 위한 기술을 다루는 데, 5장의 주제는 그 첫번째로 단어와 타입 임베딩이다. 6,7,8장은 각각 초급, 중급, 고급의 시퀀스 모델링 방법을 다루고, 마지막 9장은 앞에서 다룬 내용을 정리하며 더 깊은 주제에 대해 소개하고 있다. 이어지는 부록은 한글판의 역자가 준비한 보너스로 카카오브레인이 릴리스한 뽀로로 (Pororo) 패키지를 설치하고, 사용하는 방법에 대해 간략히 언급한다. 이 책은 자연어 처리와 딥러닝의 초심자들을 대상으로 하고 있는 만큼 기초를 탄탄히 하는 데 중점을 두고 있다. 자연어 처리에 관심이 많거나 이론적 배경, 보다 깊은 내용을 알고 싶은 독자라면 각 장의 마지막에 소개되어 있는 참고 문헌이 많은 도움이 될 것이다.
** 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.