|
|||||
|
|||||
[종로점] 서가 단면도
![]() |
자연어 처리 모델의 성능을 높이는 핵심 비결, <한국어 임베딩>. 임베딩(embedding)은 자연어를 숫자의 나열인 벡터로 바꾼 결과 혹은 그 일련의 과정 전체를 가리키는 용어다. 단어나 문장 각각을 벡터로 변환해 벡터 공간에 '끼워 넣는다(embed)'는 취지에서 임베딩이라는 이름이 붙었다. 컴퓨터가 자연어를 처리할 수 있게 하려면 자연어를 계산 가능한 형식인 임베딩으로 바꿔줘야 한다.
임베딩은 컴퓨터가 자연어를 이해하도록 하는 첫 관문으로 매우 중요한 기능을 한다. 자연어 처리 모델의 성능은 임베딩이 좌우한다고 해도 과언이 아니다. 이 책에서는 다양한 임베딩 기법을 일별하고 한국어 데이터 전처리, 임베딩 구축에 이르는 전 과정을 튜토리얼 방식으로 소개한다. Word2Vec 등 단어 수준 기법부터 ELMo, BERT 등 문장 수준 임베딩까지 다룬다. 1장. 서론 : 처음 리뷰를 부탁받고 읽어봤을 때가 생각납니다. 책을 펼치기 전에는 솔직히 약간의 의구심이 있었습니다. 한 권의 책으로 풀어내기에는 임베딩이 다소 협소한 주제가 아닐지, 한국어라는 재료와 관련 지어 어떻게 설명할 수 있을지 말이지요. 하지만 원고를 읽어 나가며 의구심이 모두 사라졌습니다. 이 책은 임베딩의 개념, 수학적 원리, Word2Vec이나 FastText 등 단어 임베딩 기법, ELMo나 BERT 등 문장 임베딩 기법, 또 구현과 예시까지 관련 내용들을 빠짐없이 짚어 나갑니다. 한국어 처리에 대한 장을 따로 마련하고 이를 기반으로 실제 지은이가 새로이 구현한 내용을 바탕으로 설명한 내용도 인상적이었습니다. 마치 저자 직강 수업을 듣는 듯했습니다. 처음에는 가벼운 마음으로 컴퓨터 화면으로 원고를 보고 있었는데, 어느 순간 이 내용을 종이책으로 만나고 싶다는 생각이 부쩍 들었습니다. 그런데 드디어 그날이 오게 됐네요. 기쁜 마음으로 독자 여러분께 추천드립니다. 더불어 지은이의 겸손하고 꼼꼼한 성향이 책의 완성도를 높인 것은 물론, 이 책의 생명력에 큰 기여를 할 것 같습니다. 원고를 다 읽은 다음 이기창 님에게 이런저런 제안을 드리자 진지하고 겸허한 태도로 저의 제안을 검토하고 원고를 보완하기 위해 고민하는 것을 봤습니다. 그 마음이 계속 이어져 호흡이 짧은 IT 출판 시장에서 이 책이 스테디셀러가 되기를 희망합니다. : 빅데이터의 시대라고 한다. 어디를 가도 데이터는 넘쳐흐를 것만 같다. 하지만 막상 내가 관심 있는 영역이 생겨 데이터를 얻으려고 하면 좀처럼 찾기 힘들다. 영역을 좁히고 보면 빅데이터란 것은 존재하지 않는다.
공부 자료 역시 마찬가지다. 세상에 공부거리가 차고 넘쳐서 더 이상 공부 환경을 가지고 투덜거리면 안 된다고는 하지만, 막상 세부 영역으로 가면 관련 자료가 희박하다. 그 자료가 한국어로 쓰여진 것이거나 한국어에 대한 것이라면 더더욱. 그런데 이 책은 그 두 가지 목마름을 다 채운다. 한국어에 대한 한국어로 쓰인 책. 한국어 NLP에 대해 목말라 했던 사람들에게 단비 같은 존재가 아닐 수 없다. 게다가 기초적인 개념 해석부터 아주 최근의 연구 결과까지도 담고 있어 기본기를 갖춘 사람뿐만 아니라 경험이 어느 정도 있는 사람도 얻어 갈 것이 있는 책이다. 각종 알고리즘에 대한 해석뿐만 아니라 실무에 적용할 수 있게 코드 스니펫도 담고 있어 공부하는 학생도, 실무에 투입된 회사원도 얻어 갈 내용이 많으리라 장담한다. 이렇게 탄탄한 책을 써 준 지은이에게 무척 고맙다. 혹자는 이 책의 제목만 보고 '한국어'와 '임베딩'의 교집합만 다룰 거라고 여길 수 있다. 하지만 고맙게도 '한국어'와 '임베딩'의 합집합을 다룬다. 따라서 둘 중 한쪽에만 관심 있는 사람에게도 유용하다. 한국어 분석에 관심은 있는데, 어디서부터 시작해야 할지 몰랐다면 이 책을 추천한다. NLP 관련 최신 논문을 여러 권 접했지만 좀 더 개념을 분명하게 잡고 싶은 사람에게도 이 책을 추천한다. : 지은이를 처음 만난 곳은 자연어 처리를 공부하는 자리였습니다. 저는 이기창 님의 블로그를 읽으면서 그의 팬이 됐습니다. 습득한 지식을 나누려는 마음뿐만 아니라 스스로의 발전을 위해 꾸준히 노력하는 모습에서 많은 것을 배울 수 있었습니다. 이 책 역시 임베딩의 개념과 사용법을 배울 수 있는 좋은 자료가 되리라 생각합니다.
최근의 자연어 처리의 발전은 정보를 표현하는 방식의 변화에 기인합니다. 벡터 공간에서 작동하는 머신 러닝 알고리즘을 잘 활용하기 위해서는 벡터 공간에서의 데이터의 표현법에 대해 깊게 알 필요가 있습니다. 이 책은 임베딩이라 부르는 자연어 처리 분야에서의 데이터 표현법에 대한 개념, 원리, 실습을 통한 학습의 경험이 잘 정리돼 있습니다. 그렇기 때문에 임베딩 기반 자연어 처리 방법에 입문하는 이들은 공부의 범위와 우선순위에 대한 방향타를 얻을 수 있으며, 자연어 처리 학습자들도 임베딩 지식을 정리할 기회를 얻을 것이라 생각합니다. 이 책은 각 알고리즘을 학습하고 활용할 수 있는 코드를 제공하고 있습니다. 머신 러닝의 공부 과정에는 반드시 실제 데이터의 적용 및 학습 결과의 탐색이 포함돼야 합니다. 또한 빠르게 현업에 알고리즘을 적용하기 위해서는 사용하기 쉬운 정리된 코드가 필요합니다. 이 책은 스크립트 형식으로 손쉽게 사용할 수 있는 코드와 세부 파이썬 코드들을 모두 제공하기 때문에 실습과 적용이 필요하신 분 들에게도 큰 도움이 될 것이라 생각합니다. 언제나 이기창 님을 응원하며, 그 결실 가운데 하나인 이 책이 임베딩과 자연어 처리를 공부하는 분들께 큰 도움이 되길 바랍니다.
![]()
![]() |