한국어 임베딩 (자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지)

한국어 임베딩 (자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지)

$35.00
Description
자연어 처리 모델의 성능을 높이는 핵심 비결, 〈한국어 임베딩〉
임베딩(embedding)은 자연어를 숫자의 나열인 벡터로 바꾼 결과 혹은 그 일련의 과정 전체를 가리키는 용어다. 단어나 문장 각각을 벡터로 변환해 벡터 공간에 '끼워 넣는다(embed)'는 취지에서 임베딩이라는 이름이 붙었다. 컴퓨터가 자연어를 처리할 수 있게 하려면 자연어를 계산 가능한 형식인 임베딩으로 바꿔줘야 한다.
임베딩은 컴퓨터가 자연어를 이해하도록 하는 첫 관문으로 매우 중요한 기능을 한다. 자연어 처리 모델의 성능은 임베딩이 좌우한다고 해도 과언이 아니다. 이 책에서는 다양한 임베딩 기법을 일별하고 한국어 데이터 전처리, 임베딩 구축에 이르는 전 과정을 튜토리얼 방식으로 소개한다. Word2Vec 등 단어 수준 기법부터 ELMo, BERT 등 문장 수준 임베딩까지 다룬다.
저자

이기창

서울대학교국어국문학과를졸업하고고려대학교대학원에서공학석사학위(산업경영공학)를취득했다.문장범주분류에큰영향을미치는단어들에높은점수를주는기법에대한논문(SCI저널게재)에1저자로참여했다.현재네이버에서대화모델을개발하고있다.주요업무는임베딩학습및구축이다.문장생성(textgeneration)에관심이많다.자연어처리를주제로블로그(http://ratsgo.github.io)를운영하고있다.딥러닝과자연어처리의무궁무진한가능성을믿는다.

목차

1장.서론
1.1임베딩이란
1.2임베딩의역할
1.2.1단어/문장간관련도계산
1.2.2의미/문법정보함축
1.2.3전이학습
1.3임베딩기법의역사와종류
1.3.1통계기반에서뉴럴네트워크기반으로
1.3.2단어수준에서문장수준으로
1.3.3룰→엔드투엔드→프리트레인/파인튜닝
1.3.4임베딩의종류와성능
1.4개발환경
1.4.1환경소개
1.4.2AWS구성
1.4.3코드실행
1.4.4버그리포트및Q&A
1.4.5이책이도움받고있는오픈소스들
1.5이책이다루는데이터와주요용어
1.6이장의요약
1.7참고문헌

2장.벡터가어떻게의미를가지게되는가
2.1자연어계산과이해
2.2어떤단어가많이쓰였는가
2.2.1백오브워즈가정
2.2.2TF-IDF
2.2.3DeepAveragingNetwork
2.3단어가어떤순서로쓰였는가
2.3.1통계기반언어모델
2.3.2뉴럴네트워크기반언어모델
2.4어떤단어가같이쓰였는가
2.4.1분포가정
2.4.2분포와의미(1):형태소
2.4.3분포와의미(2):품사
2.4.4점별상호정보량
2.4.5Word2Vec
2.5이장의요약
2.6참고문헌

3장.한국어전처리
3.1데이터확보
3.1.1한국어위키백과
3.1.2KorQuAD
3.1.3네이버영화리뷰말뭉치
3.1.4전처리완료된데이터다운로드
3.2지도학습기반형태소분석
3.2.1KoNLPy사용법
3.2.2KoNLPy내분석기별성능차이분석
3.2.3Khaiii사용법
3.2.4은전한닢에사용자사전추가하기
3.3비지도학습기반형태소분석
3.3.1soynlp형태소분석기
3.3.2구글센텐스피스
3.3.3띄어쓰기교정
3.3.4형태소분석완료된데이터다운로드
3.4이장의요약
3.5참고문헌

4장.단어수준임베딩
4.1NPLM
4.1.1모델기본구조
4.1.2NPLM의학습
4.1.3NPLM과의미정보
4.2Word2Vec
4.2.1모델기본구조
4.2.2학습데이터구축
4.2.3모델학습
4.2.4튜토리얼
4.3FastText
4.3.1모델기본구조
4.3.2튜토리얼
4.3.3한글자소와FastText
4.4잠재의미분석
4.4.1PPMI행렬
4.4.2행렬분해로이해하는잠재의미분석
4.4.3행렬분해로이해하는Word2Vec
4.4.4튜토리얼
4.5GloVe
4.5.1모델기본구조
4.5.2튜토리얼
4.6Swivel
4.6.1모델기본구조
4.6.2튜토리얼
4.7어떤단어임베딩을사용할것인가
4.7.1단어임베딩다운로드
4.7.2단어유사도평가
4.7.3단어유추평가
4.7.4단어임베딩시각화
4.8가중임베딩
4.8.1모델개요
4.8.2모델구현
4.8.3튜토리얼
4.9이장의요약
4.10참고문헌

5장.문장수준임베딩
5.1잠재의미분석
5.2Doc2Vec
5.2.1모델개요
5.2.2튜토리얼
5.3잠재디리클레할당
5.3.1모델개요
5.3.2아키텍처
5.3.3LDA와깁스샘플링
5.3.4튜토리얼
5.4ELMo
5.4.1문자단위컨볼루션레이어
5.4.2양방향LSTM,스코어레이어
5.4.3ELMo레이어
5.4.4프리트레인튜토리얼
5.5트랜스포머네트워크
5.5.1ScaledDot-ProductAttention
5.5.2멀티헤드어텐션
5.5.3Position-wiseFeed-ForwardNetworks
5.5.4트랜스포머의학습전략
5.6BERT
5.6.1BERT,ELMo,GPT
5.6.2프리트레인태스크와학습데이터구축
5.6.3BERT모델의구조
5.6.4프리트레인튜토리얼
5.7이장의요약
5.8참고문헌

6장.임베딩파인튜닝
6.1프리트레인과파인튜닝
6.2분류를위한파이프라인만들기
6.3단어임베딩활용
6.3.1네트워크개요
6.3.2네트워크구현
6.3.3튜토리얼
6.4ELMo활용
6.4.1네트워크개요
6.4.2네트워크구현
6.4.3튜토리얼
6.5BERT활용
6.5.1네트워크개요
6.5.2네트워크구현
6.5.3튜토리얼
6.6어떤문장임베딩을사용할것인가
6.7이장의요약
6.8참고문헌

부록
부록A.선형대수학기초
1.1벡터,행렬연산
1.2내적과공분산
1.3내적과사영
1.4내적과선형변환
1.5행렬분해기반차원축소(1):주성분분석(PCA)
1.6행렬분해기반차원축소(2):특이값분해(SVD)

부록B.확률론기초
2.1확률변수와확률분포
2.2베이지안확률론

부록C.뉴럴네트워크기초
3.1DAG로이해하는뉴럴네트워크
3.2뉴럴네트워크는확률모델이다
3.3최대우도추정과학습손실
3.4그래디언트디센트
3.5계산노드별역전파
3.6CNN과RNN

부록D.국어학기초
4.1통사단위
4.2문장유형
4.3품사
4.4상과시제
4.5주제
4.6높임
4.7양태
4.8의미역
4.9피동
4.10사동
4.11부정

부록E.참고문헌

출판사 서평

★이책에서다루는내용★
■자연어처리의첫관문인임베딩의개념과종류,역사소개
■임베딩이어떻게자연어의미를함축하는지이론적배경풀이
■위키백과,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장,‘벡터가어떻게의미를가지게되는가’에서는자연어의의미를임베딩에어떻게함축시킬수있는지에대한내용을소개한다.각임베딩기법들은크고작은차이가있지만말뭉치의통계적패턴(statisticalpattern)정보를반영한다는점에서공통점을지닌다는사실을짚는다.
3장,‘한국어전처리’에서는임베딩학습을위한한국어데이터의전처리과정을다룬다.웹문서나json파일같은형태의데이터를순수텍스트파일로바꾸고여기에형태소분석을실시하는방법을설명한다.띄어쓰기교정등도소개한다.
4장,‘단어수준임베딩’에서는다양한단어수준임베딩모델을설명한다.NPLM,Word2Vec,FastText등은예측기반모델,LSA,GloVe,Swivel등은행렬분해(matrixfactorization)기반의기법들이다.가중임베딩(weightedembedding)은단어임베딩을문장수준으로확장하는방법이다.
5장,‘문장수준임베딩’에서는문장수준임베딩을다룬다.행렬분해(matrixfactorization),확률모형,뉴럴네트워크기반모델등세가지종류를소개한다.잠재의미분석(LSA)은행렬분해,잠재디리클레할당(LDA)은확률모델,Doc2Vec,ELMo,BERT등은뉴럴네트워크가중심인방법들이다.특히BERT는셀프어텐션(self-attention)기반의트랜스포머네트워크(transformernetwork)가그뼈대를이루고있다.
6장,‘임베딩파인튜닝’에서는단어,문장수준임베딩을파인튜닝하는방법을다룬다.네이버영화리뷰말뭉치를가지고극성을분류하는과제를수행한다.
‘부록’에서는이책을이해하는데필요한기초지식을간략하게살펴본다.선형대수학,확률론,뉴럴네트워크,국어학등의주요개념을설명한다.