처음 배우는 딥러닝 챗봇 - 챗봇 엔진부터 NLP, 딥러닝, 파이썬, REST API, 카카오톡 연동까지
조경래 지음 / 한빛미디어 / 2020년 11월
평점 :
장바구니담기



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


챗봇(Chatbot) 혹은 대화(Dialog) 모델은 자연어처리 영역 중에서도 가장 서비스가 많이 되고 있는 영역 중 하나입니다. 챗봇마다 적용된 자연어처리 기술은 모두 다르겠지만 어쨌든 많은 곳에서 서비스되고 있지요. 어쩌면 자연어처리의 다른 Task 보다 수요가 많은 분야라고도 볼 수 있겠습니다. 게다가 데이터를 공부하고자 하는 수강생을 맞닥뜨리는 위치에 있다 보니, 챗봇 만들기를 목표로 하는 수강생이 적지 않음을 알게 되기도 합니다.


이번 책은 그런 수강생, 혹은 챗봇을 만들고자 하는 모두에게 자신있게 추천할 수 있는 입문서가 아닌가 합니다. 물론 파이썬을 처음 접하는 사람에게는 다소 어려울 수 있는 내용입니다만, 해당 내용을 어느 정도 파악하고 있는 상태에서 챗봇을 만들고자 한다면 시중에 이보다 더 좋은 입문서는 없는 듯 합니다.


일단 파이썬 기초를 Wrap-up 하고 있기도 하고, 챗봇 기반이 되는 자연어처리 지식들도 빠지지 않고 다루고 있습니다. 물론 이런 부분에 있어서 디테일하게 다루고 있지는 않기 때문에 해당 부분을 자세하게 알고 싶다면 다른 자연어처리 서적을 참고하는 것이 필요합니다.


하지만 해당 책의 목적은 어디까지나 "챗봇 빌딩"이고, 그런 목적이 잘 드러나는 부분은 8장 이후부터가 아닌가 합니다. 챗봇 빌더를 구축하고 API를 만드는 과정이 해당 챕터 이후부터 자세하게 서술되어 있습니다. 챗봇을 처음 구축해보고자 하는 사람도 어렵지 않게 읽어나가면서 실습할 수 있도록 매우 친절하게 구성되어 있습니다. 그리고 카카오, 네이버 등의 챗봇 툴을 사용하여 어떻게 사용자 친화적인 챗봇을 구축할 수 있는 지에 대해서도 잘 나타나 있기도 합니다.


내부적으로도 코드에 대한 주석과 이에 따른 설명이 자세합니다. 그래서 코드 자체를 이해하지 못하더라도 코드 하기 내용을 잘 읽으면 어렵지 않게 이해할 수 있기도 합니다.

그리고 각종 신경망 개념에 대해서도 저자분의 노하우가 들어간 설명이 곁들여져 처음 배우는 사람이라도 어렵지 않게 이해할 수 있도록 구성되어 있다고 생각합니다.


결론적으로 파이썬에 약간 익숙한 상태, 혹은 자연어처리에 사용되는 신경망 개념에 약간 익숙해진 상태에서 챗봇을 구축하고자 하는 사람이라면 해당 서적보다 더 나은 가이드는 시중에 없지 않나 생각해봅니다. 실제로 챗봇 혹은 자연어처리 커뮤니티에서 해당 책을 많이 추천받곤 했는데 이전에 책을 보신 분들께서 해당 서적을 왜 최고로 꼽았는지 알 수 있었습니다. 해당 책을 통해 유익한 챗봇이 더욱 많이 만들어지길 기원해봅니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
만들면서 배우는 파이토치 딥러닝 - 12가지 모델로 알아보는 딥러닝 응용법
오가와 유타로 지음, 박광수 옮김 / 한빛미디어 / 2021년 8월
평점 :
장바구니담기



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


본 서적은 최신 모델을 파이토치로 구현해보며 모델에 대한 이해도를 높일 수 있는 중급 서적입니다. 제목만 보았을 때에는 파이토치를 학습하기 위한 입문 서적인 줄로 알았으나 목차를 보면 파이토치 및 최신 모델에 어느정도 익숙해야 함을 알 수 있습니다.



[최신 모델을 PyTorch로!]


파이토치의 사용 비중이 늘어나면서 많은 파이토치 서적이 발간되고 있습니다. 하지만 대부분은 입문용 서적에 그치고 있는데요. 프레임워크의 기본적인 사용법에 익숙해진 뒤에는 원하는 모델이 구현되어 있는 예제 등을 구글링하여 학습할 수 밖에 없었습니다.

본 서적에서는 비교적 최근에 나온 다양한 모델을 파이토치로 하나하나 구현해보며 파이토치에 대한 숙련도를 높이고 모델의 이해도를 높일 수 있다는 장점이 있었습니다. 게다가 대부분의 블로그 자료는 영어 자료가 많아 영어에 익숙지 않은 학습자는 해당 자료로 빠르게 모델을 습득하기가 어려웠습니다. 하지만 본 서적에서는 코드에 대한 주석이 달려있고 한국어로 번역되어 있어 코드에 대한 이해도를 높일 수도 있습니다.


[너무 많거나, 2% 부족하거나...]


다양한 모델을 다루어 볼 수 있다는 점은 어떻게 보면 장점이지만 한편으로는 단점이 될 수 있을 것 같습니다. 중급자 이상의 대상 독자는 선호하는 분야가 정해져 있는 경우가 많습니다. 개인적으로도 읽으면서 다른 분야보다는 자연어 쪽에 대한 관심도 많고, 모델 이해도도 훨씬 더 높았는데요. 하지만 다른 분야는 상대적으로 모델에 대한 이해도가 높지 않아서 책을 넘기기 쉽지 않았습니다.


게다가 이미지가 강조되는 부분의 경우 책이 흑백인 점도 아쉬웠습니다. Segmentation이나 Pose Estimation는의 이미지가 흑백으로 주어지다 보니 결과를 직관적으로 파악할 수 없다는 아쉬움도 있었습니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
GAN 인 액션 - 텐서플로 2.x와 케라스로 구축하는 생성적 적대 신경망
야쿠프 란그르.블라디미르 보크 지음, 박해선 옮김 / 한빛미디어 / 2020년 9월
평점 :
장바구니담기


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


딥러닝을 처음 배우는 수강생을 맞닥뜨리는 일을 하다보니 "딥러닝으로 하고 싶은 일이 무엇인지"와 같은 질문을 하게 될 때가 많습니다. 그에 대한 답으로 그림을 그려주거나, 음악을 만들어주는 AI를 만들어보고 싶다는 말씀을 종종 해주시는데요. 이런 것을 보면 'GAN이 보여주는 놀라운 결과물 덕분에 많은 사람들이 딥러닝에 입문을 하게 되는 것이 아닐까'하는 생각을 하게 됩니다.



[수식은 최대한 줄이고, GAN단하게]


다른 In Action 시리즈와 마찬가지로 GAN In Action 역시 복잡한 수식을 최대한 배제하고 코드를 돌려 결과를 볼 수 있도록 구성되어 있습니다. 물론 이런 특성은 수식이나 수학적 원리를 통해 더 깊게 이해하고자 하는 사람에게는 적절하지 못할 수도 있겠습니다. 하지만 이런 부분은 코드를 돌려보고 결과를 확인한 후 해당 모델에 대해 흥미를 갖고 난 뒤에 다시 돌아와서 공부하여도 늦지 않다는 생각을 가지고 있는데요.

본 책의 예상 독자는 GAN을 처음 접하거나 혹은 GAN에 대해 빠르게 Wrap-up 하고자 하는 사람일 것입니다. 이런 분들에게는 복잡한 수식보다 GAN의 놀라운 결과를 코드로 직접 체험해보는 것이 공부에 흥미를 일으킬 수 있는 트리거가 될 수 있을겁니다. 그런 의미에서 GAN에 입문하거나, 이미 공부하였더라도 다시금 전체적으로 돌아볼 수 있는 좋은 책이라고 생각합니다.



[GANGAN히 들어있는 재미 요소와 깔끔한 번역]


책의 구성 역시 돋보입니다. 먼저 GAN에 대해 전반적으로 다루고 있는 목차가 마음에 듭니다. 생성 모델 자체를 이해하는 데 필요한 GAN 부터 


두 번째로 깔끔하게 제시된 코드가 마음에 듭니다. 대부분의 코드가 함수 및 클래스 형태로 이루어져 있는 데다가 컬러로 하이라이팅 되어 있어 가독성이 뛰어납니다. 그리고 각 코드에 대한 주석 역시 한 줄, 한 줄 덧붙여져 있어 해당 코드를 바로 이해하지 못하였더라도 주석을 보고 이해할 수 있었습니다.

그리고 GAN에서는 코드 결과로 주어지는 이미지가 중요한데요. 결과물에 대해 컬러 이미지를 높은 해상도로 제시해주어 결과물 끼리의 차이나, 어떤 이미지로부터 다른 이미지가 생성 되는지 등을 따라가며 이해하기 좋았습니다.

덧붙여 호불호가 갈릴 수 있는 영역이지만 저자의 각종 밈(Meme)을 활용한 유쾌한 설명도 돋보입니다.

마지막으로 믿고보는 역자님의 깔끔한 번역 역시 좋습니다. 이전에 같은 역자님께서 번역한 동 출판사의 '미술관에 GAN 딥러닝 실전 프로젝트'라는 책도 가지고 있는데요. GAN 이라는 쉽지 않은 소재에 대해 두 책 모두 깔끔하게 풀어 주셔서 쉽게 읽을 수 있었습니다.



결론적으로 GAN에 대해 코드를 통해 이해하고 싶은 분에게는 적극 추천드립니다. :)


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
줄리아를 생각하다 - 데이터 과학자를 위한 최적의 프로그래밍 언어
벤 로언스.앨런 B. 다우니 지음 / 한빛미디어 / 2020년 4월
평점 :
장바구니담기




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

데이터를 처음 공부하는 사람에게 줄리아는 생소한 언어다. 보통은 파이썬, 혹은 R 로 데이터 분석을 시작하기 마련이다. 하지만 두 언어를 사용하다보면 여러가지 측면에서 단점을 느낄 수 있다. 특히 본인과 같은 파이썬 사용자라면 파이썬의 속도에 불만을 가끔 느끼게 마련이다. 여러가지 도구를 사용하면 파이썬의 속도를 높여 볼 수는 있지만 어쨌거나 조금 느린 것은 마찬가지이니 말이다.

하지만 줄리아는 파이썬보다 속도적 측면에서 아주 뛰어난 이점을 가지고 있다. 파이썬을 사용하면서 해당 언어의 느린 속도에 불만을 가졌던 데이터리안이라면 줄리아는 아주 좋은 대안이 될 것이다. 게다가 이전까지는 줄리아의 사용자가 많지 않았지만 그 수가 점점 늘어나면서 참고할 수 있는 레퍼런스도 점점 많아지고 있다.

하지만 줄리아를 체계적으로 접할 수 있는 로드맵으로서의 교재는 많지 않았다. 시중에 나와 있는 파이썬 관련 서적의 수와 줄리아 서적의 수를 비교해보면 후자가 훨씬 더 적음을 알 수 있으며, 후자의 절대적인 수도 해당 서적을 포함하여 두어 개 정도 뿐이다. 줄리아를 만나는 사람들이라면 본 책을 구매할 수 밖에 없는 상황이다.


본 책을 읽어보면서 줄리아 입문서로서의 요건을 잘 갖추고 있다는 생각이 들었다. 예제 코드 뿐만 아니라 코드로부터 결과가 어떻게 생성되는 지에 대한 설명이 아주 상세하여 줄리아를 처음 공부하는 사람에게도 부담이 없었다. 게다가 다양한 예제로 구성되어 있어 이를 통해 각 메서드의 활용 방식이나 파이썬에서 동일한 역할을 하는 메서드를 연관시켜 보기에도 아주 좋게 구성되어 있었다.


다만 책의 두께에서도 알 수 있듯 기본 이외의 내용을 다루고 있지는 않다는 점은 아쉬운 점이었다. 아직은 줄리아를 활용하여 다양한 데이터로부터 문제를 해결하는 방법에 대한 레퍼런스가 조금 부족한 만큼 그런 부분이 담겨있지 않다는 점은 조금 감질맛나는 점으로 다가왔다.

이번에 본 책을 통해서 줄리아의 기본기와 장점을 맛보았던 만큼 줄리아를 활용하는 다양한 방법이 담긴 책의 등장도 바라보는 바이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
파이토치로 배우는 자연어 처리 - 딥러닝을 이용한 자연어 처리 애플리케이션 구축
델립 라오.브라이언 맥머핸 지음, 박해선 옮김 / 한빛미디어 / 2021년 6월
평점 :
장바구니담기



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

이제는 토치를...!

몇 년 전까지만 해도 확실히 파이토치보다는 텐서플로우를 사용하는 곳이 많았습니다. 하지만 파이토치가 빠르게 성장한 덕분에 최근에는 비교할 수 있을만한 수준으로 올라왔습니다. 이러한 빠른 성장세의 원동력 중 하나는 자연어처리를 연구하는 쪽에서 파이토치를 지속적으로 많이 사용해 온 것이 아닐까 합니다. 자연어처리 논문을 구현한 코드나 모델을 활용하여 태스크를 수행한 많은 코드가 파이토치로 되어 있는 만큼, 이제 자연어처리 학습자에게 파이토치는 선택이 아니라 필수가 되어가는 느낌입니다. pytorch-lightning 이나 fast.ai 등이 나오면서 사용자에 대한 편의성도 점점 좋아지고 있지요.

이런 상황에서도 파이토치를 활용한 자연어처리 서적이 시중에 많지는 않았습니다. "김기현의 자연어처리 딥러닝 캠프" 정도가 파이토치를 사용한 자연어처리 서적 중 유명한 정도였습니다. 이번에 나온 "파이토치로 배우는 자연어처리"는 파이토치로 자연어처리를 시작하고자 하는 사람들에게 또 하나의 좋은 길잡이가 될 것으로 생각합니다. 기존에 있던 김기현님의 저서는 강의를 텍스트로 정리했기 때문에 파이토치를 조금 아는 사람이 보거나 강의와 같이 보아야 조금 원활하게 책장을 넘길 수 있었는데요. 이번에 리뷰한 서적은 코드가 조금 더 자세히 작성되어 있는 만큼 파이토치를 처음 접하는 사람이 책으로 공부하기에 조금 더 친절하게 느낄 수 있을 것으로 생각합니다. 실제로 함수가 구현된 부분마다 docstring과 주석이 상당히 자세하게 작성되어 함수의 역할과 이에 포함된 파라미터의 역할을 헷갈리지 않고 알 수 있다는 점이 좋았습니다.

역자의 노고가 느껴지는 부분들

이번 서적이 출간되면서 역자와 출판사의 노력이 들어간 부분도 많게 느껴졌습니다. 일단, 예제 코드가 모두 최신 버전의 파이토치에서 작성된 것이 좋았습니다. 원서가 나온지 꽤 시간이 흐른 만큼 서문을 보면 이전 버전(0.x)으로 작성되어 있다고 나와있는데요. 이번에 번역서를 출간하면서 예제 코드를 (출간 당시 최신 버전인) 1.8 에서 돌아가도록 작성하였습니다. 그럼에도 아직까지 예제 코드에서 별다른 오류가 발생하지 않은 것으로 보아 상당히 많은 점검이 있지 않았나 생각합니다. (모든 코드를 실행해 보지는 않았기 때문에 제가 실행해 보지 않은 다른 코드에서 오류가 발생할 수 있습니다.)

게다가 역서에만 있는 PORORO 라이브러리에 대한 설명도 인상깊습니다. 번역서인 자연어처리 서적은 모든 예제가 영어로 구성되어 있다는 점이 한편으로는 아쉬울 수 밖에 없는데요. 해당 서적의 부록에는 지난번 카카오브레인에서 발표한 한국어 자연어처리를 위한 라이브러리인 PORORO를 사용하여 태스크를 수행하는 방법을 소개하고 있습니다. 실제로 PORORO를 사용하면 상당히 많은 태스크를 쉽게 수행할 수 있는데요. 본 책에서는 이 중에서 OCR 부터 Image captioning, 기계 번역, 요약, 감성 분석, 추론, 토픽 분류를 소개하고 있습니다. 물론 부록에 할애한 분량이 많지 않기 때문에 자세하게 소개하고 있지는 않지만 번역서에서 이만큼이나 한국어 예제를 많이 수행해 볼 수 있다는 점이 인상깊었습니다.

물론 아쉬운 점도 있습니다.

여러모로 아쉬운 점도 있습니다. 개인적으로는 "파이토치로 배우는 자연어처리(원서 제목 : Natural Language Processing with Pytorch)"와 "자연어처리로 배우는 파이토치"의 중간쯤에 위치하는 책이라고 생각합니다. 파이토치 코드는 자세하지만 이렇게 구현된 자연어처리 이론들에 대해서는 자세히 소개하고 있지 않다는 점이 아쉽기는 합니다. 그렇기 때문에 자연어처리를 처음 공부하고자 하는 사람에게 적합한 책은 아니라고도 생각합니다. 이런 부분에 대한 설명이 조금 부족한 만큼 다른 자연어처리 기본 서적을 겸하여 보거나, 기존에 자연어처리를 조금 공부한 사람들이 이를 파이토치로 실행해 보는 정도에서 적합한 책이 되지 않을까 하는 생각은 있습니다.

게다가 원서가 나온지 시간이 조금 지난만큼 최근 모델에 대한 부분이 많이 생략된 점도 아쉽습니다. 아무래도 최근에는 트랜스포머 이후 모델을 사용하여 자연어처리 태스크를 수행하는 비율이 늘어나고 있는데요. 번역서가 출간된 시점이 최근임에도 원서가 발행된 시점 때문에 이에 대한 부분이 많이 생략된 점이 아쉽다고 생각합니다. 하지만 해당 책으로 파이토치 사용법에 익숙해진다면 이후 부분에 대해서는 공개된 소스코드를 보면서도 충분히 공부할 수 있을 것으로 생각이 되기 때문에 (더구나 입문 서적에게는) 엄청난 문제가 아니라고 생각되는 부분이기도 합니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo