이 책에서 다루는 내용■ 자연어 처리의 첫 관문인 임베딩의 개념과 종류, 역사 소개■ 임베딩이 어떻게 자연어 의미를 함축하는지 이론적 배경 풀이■ 위키백과, KorQuAD 등 한국어 말뭉치 전처리 노하우 공유■ KoNLPy, soynlp, 구글 센텐스피스(sentencepiece) 패키지 안내■ Word2Vec, GloVe, FastText, Swivel 등 단어 수준 임베딩■ LDA, Doc2Vec, ELMo, BERT 등 문장 수준 임베딩 설명■ 개별 모델 학습과 동작 과정을 코드 레벨로 설명한 후 튜토리얼 진행■ 문서 분류 태스크를 중심으로 임베딩 파인튜닝(fine-tuning) 실습이 책은 다양한 임베딩 기법을 소개한다. 크게 단어 수준 임베딩과 문장 수준 임베딩을 다룬다. 각각 단어와 문장을 벡터로 변환하는 기법이다. 여기서 설명하는 단어 수준 임베딩으로는 Word2Vec, GloVe, FastText, Swivel 등이 있다. 문장 수준 임베딩은 ELMo, BERT 등이 있다. 이 책에서는 각 임베딩 기법의 이론적 배경을 살펴본 후 한국어 말뭉치로 실제 임베딩을 구축하는 과정을 설명한다. 각 기법을 설명할 때는 가급적 원 논문의 수식과 표기를 따른다. 코드 또한 논문 저자의 공식 리포지터리에서 가져와 소개할 예정이다.말뭉치 전처리(preprocess), 임베딩 파인 튜닝(fine-tuning) 역시 이 책이 다루는 중요한 주제다. 전자는 임베딩 구축 전에, 후자는 임베딩 구축 후에 거쳐야 하는 과정이다. 전처리의 경우 KoNLPy, soynlp, 구글 센텐스피스(sentencepiece) 등 오픈소스 사용법을 설명한다. 긍정, 부정 등 문서의 극성(polarity)을 예측하는 문서 분류 과제를 예로 들어 임베딩을 파인 튜닝하는 방법을 실습한다.각 장별 주요 내용은 다음과 같다.1장, '서론'에서는 임베딩의 정의, 역사와 종류 등을 살핀다. 도커(docker) 등 개발 환경을 구성하는 과정 역시 설명한다.2장, ‘벡터가 어떻게 의미를 가지게 되는가’에서는 자연어의 의미를 임베딩에 어떻게 함축시킬 수 있는지에 대한 내용을 소개한다. 각 임베딩 기법들은 크고 작은 차이가 있지만 말뭉치의 통계적 패턴(statistical pattern) 정보를 반영한다는 점에서 공통점을 지닌다는 사실을 짚는다.3장, ‘한국어 전처리’에서는 임베딩 학습을 위한 한국어 데이터의 전처리 과정을 다룬다. 웹 문서나 json 파일 같은 형태의 데이터를 순수 텍스트 파일로 바꾸고 여기에 형태소 분석을 실시하는 방법을 설명한다. 띄어쓰기 교정 등도 소개한다.4장, ‘단어 수준 임베딩’에서는 다양한 단어 수준 임베딩 모델을 설명한다. NPLM, Word2Vec, FastText 등은 예측 기반 모델, LSA, GloVe, Swivel 등은 행렬 분해(matrix factorization) 기반의 기법들이다. 가중 임베딩(weighted embedding)은 단어 임베딩을 문장 수준으로 확장하는 방법이다.5장, ‘문장 수준 임베딩’에서는 문장 수준 임베딩을 다룬다. 행렬 분해(matrix factorization), 확률 모형, 뉴럴 네트워크 기반 모델 등 세 가지 종류를 소개한다. 잠재 의미 분석(LSA)은 행렬 분해, 잠재 디리클레 할당(LDA)은 확률 모델, Doc2Vec, ELMo, BERT 등은 뉴럴 네트워크가 중심인 방법들이다. 특히 BERT는 셀프 어텐션(self-attention) 기반의 트랜스포머 네트워크(transformer network)가 그 뼈대를 이루고 있다.6장, ‘임베딩 파인 튜닝’에서는 단어, 문장 수준 임베딩을 파인 튜닝하는 방법을 다룬다. 네이버 영화 리뷰 말뭉치를 가지고 극성을 분류하는 과제를 수행한다.‘부록’에서는 이 책을 이해하는 데 필요한 기초 지식을 간략하게 살펴본다. 선형대수학, 확률론, 뉴럴 네트워크, 국어학 등의 주요 개념을 설명한다.