책소개
텍스트 마이닝에는 자연어 처리, 통계, 딥러닝 기법에 대해 많은 지식이 필요하지만, 이론적인 내용에 얽매이다 보면 정작 구현은 너무 먼 이야기가 되어 버리기 쉽다. 이 책에서는 실무에 바로 적용할 수 있는 실전적인 예제를 중심으로 텍스트 마이닝을 설명한다. 특히 초보자를 위해 텍스트 전처리 과정의 개념과 다양하고 상세한 활용방법을 기초부터 설명한다. 문서 분류와 감성 분석 같은 텍스트 마이닝 작업을 대상으로 다양한 머신러닝 기법을 사용하는 예를 보여주며, 차원을 축소하고 결과를 시각화하는 방법, 토픽 모델링을 수행하고 토픽 트렌드를 구해서 시각화하는 방법을 설명한다.기본적인 딥러닝 기법을 이용한 문서 분류 외에, 최근 많이 사용되는 BERT를 이용한 미세조정학습까지 포함한다. 또, 사전학습 언어모델에 대한 관심이 높아짐에 따라, 사전학습 언어모델의 이론적 내용과 다양한 트랜스포머 변형 모형을 설명한다. 그리고 트랜스포머 모형을 활용한 문서 요약, 질의 응답의 실습과 미세조정학습을 추가했다. 더불어 한국어 문서 분석에 자신을 갖도록 대부분의 장에 관련 예제를 충분히 다뤘다.
목차
[1부] 텍스트 마이닝 기초 01장: 텍스트 마이닝 기초1.1 텍스트 마이닝의 정의1.2 텍스트 마이닝 패러다임의 변화 ___1.2.1 카운트 기반의 문서 표현___1.2.2 시퀀스 기반의 문서 표현1.3 텍스트 마이닝에 필요한 지식과 도구___1.3.1 자연어 처리 기법___1.3.2 통계학과 선형대수___1.3.3 시각화 기법___1.3.4 머신러닝___1.3.5 딥러닝1.4 텍스트 마이닝의 주요 적용분야 ___1.4.1 문서 분류___1.4.2 문서 생성___1.4.3 문서 요약___1.4.4 질의응답___1.4.5 기계번역___1.4.6 토픽 모델링1.5 이 책의 실습 환경과 사용 소프트웨어___1.5.1 기본 실습 환경___1.5.2 자연어 처리 관련 라이브러리___1.5.3 머신러닝 관련 라이브러리 ___1.5.4 딥러닝 관련 라이브러리 02장: 텍스트 전처리2.1 텍스트 전처리의 개념___2.1.1 왜 전처리가 필요한가?___2.1.2 전처리의 단계___2.1.3 실습 구성2.2 토큰화___2.2.1 문장 토큰화___2.2.2 단어 토큰화 ___2.2.3 정규표현식을 이용한 토큰화___2.2.4 노이즈와 불용어 제거 2.3 정규화___2.3.1 어간 추출 ___2.3.2 표제어 추출2.4 품사 태깅___2.4.1 품사의 이해___2.4.2 NLTK를 활용한 품사 태깅___2.4.3 한글 형태소 분석과 품사 태깅___2.4.4 참고자료 03장: 그래프와 워드 클라우드 3.1 단어 빈도 그래프 - 많이 쓰인 단어는?3.2 워드 클라우드로 내용을 한눈에 보기 3.3 한국어 문서에 대한 그래프와 워드 클라우드[2부] BOW 기반의 텍스트 마이닝 04장: 카운트 기반의 문서 표현 4.1 카운트 기반 문서 표현의 개념4.2 BOW 기반의 카운트 벡터 생성4.3 사이킷런으로 카운트 벡터 생성4.4 한국어 텍스트의 카운트 벡터 변환___4.4.1 데이터 다운로드4.5 카운트 벡터의 활용4.6 TF-IDF로 성능을 높여보자 05장: BOW 기반의 문서 분류5.1 20 뉴스그룹 데이터 준비 및 특성 추출___5.1.1 데이터셋 확인 및 분리___5.1.2 카운트 기반 특성 추출5.2 머신러닝과 문서 분류 과정에 대한 이해 5.3 나이브 베이즈 분류기를 이용한 문서 분류5.4 로지스틱 회귀분석을 이용한 문서 분류___5.4.1 릿지 회귀를 이용한 과적합 방지___5.4.2 라쏘 회귀를 이용한 특성 선택5.5 결정트리 등을 이용한 기타 문서 분류 방법5.6 성능을 높이는 방법5.7 카운트 기반의 문제점과 N-gram을 이용한 보완___5.7.1 통계로는 알 수 없는 문맥 정보___5.7.2 N-gram의 이해___5.7.3 N-gram을 이용한 문서 분류5.8 한국어 문서의 분류___5.8.1 다음 영화 리뷰에 대한 영화 제목 예측___5.8.2 성능을 개선하기 위한 노력 06장: 차원 축소6.1 차원의 저주와 차원 축소의 이유6.2 PCA를 이용한 차원 축소6.3 LSA를 이용한 차원 축소와 의미 파악___6.3.1 LSA를 이용한 차원 축소와 성능 ___6.3.2 LSA를 이용한 의미 기반의 문서 간 유사도 계산___6.3.3 잠재된 토픽의 분석___6.3.4 단어 간 의미 유사도 분석 6.4 tSNE를 이용한 시각화와 차원축소의 효과 07장: 토픽 모델링으로 주제 찾기7.1 토픽 모델링과 LDA의 이해 ___7.1.1 토픽 모델링이란?___7.1.2 LDA 모형의 구조___7.1.3 모형의 평가와 적절한 토픽 수의 결정7.2 사이킷런을 이용한 토픽 모델링___7.2.1 데이터 준비 ___7.2.2 LDA 토픽 모델링 실행___7.2.3 최적의 토픽 수 선택하기 7.3 Gensim을 이용한 토픽 모델링___7.3.1 Gensim 사용법과 시각화___7.3.2 혼란도와 토픽 응집도를 이용한 최적값 선택7.4 토픽 트렌드로 시간에 따른 주제의 변화 알아내기7.5 동적 토픽 모델링 08장: 감성 분석8.1 감성분석의 이해___8.1.1 어휘 기반의 감성 분석___8.1.2 머신러닝 기반의 감성 분석8.2 감성 사전을 이용한 영화 리뷰 감성 분석___8.2.1 NLTK 영화 리뷰 데이터 준비___8.2.2 TextBlob을 이용한 감성 분석___8.2.3 AFINN을 이용한 감성 분석___8.2.4 VADER를 이용한 감성 분석8.3 학습을 통한 머신러닝 기반의 감성 분석___8.3.1 NLTK 영화 리뷰에 대한 머신러닝 기반 감성 분석___8.3.2 다음 영화 리뷰에 대한 머신러닝 기반 감성 분석 8.4 참고문헌 09장: 인공신경망과 딥러닝의 이해9.1 인공신경망의 이해___9.1.1 인공신경망의 구조와 구성요소___9.1.2 인공신경망에서의 학습___9.1.3 손실 함수의 이해___9.1.4 경사하강법9.2 딥러닝의 이해___9.2.1 딥러닝이란?___9.2.2 층이 깊은 신경망의 문제점___9.2.3 딥러닝에서의 해결방안___9.2.4 다양한 딥러닝 알고리즘___9.2.5 딥러닝 개발 및 활용환경[3부] 텍스트 마이닝을 위한 딥러닝 기법 10장: RNN - 딥러닝을 이용한 문서 분류10.1 왜 RNN일까?___10.1.1 RNN의 이해___10.1.2 RNN이 문서 분류에 적합한 이유___10.1.3 RNN의 문서 분류 적용방안10.2 워드 임베딩의 이해___10.2.1 워드 임베딩이란?___10.2.2 BOW와 문서 임베딩___10.2.3 워드 임베딩과 딥러닝10.3 RNN을 이용한 문서 분류 - NLTK 영화 리뷰 감성분석___10.3.1 워드 임베딩을 위한 데이터 준비___10.3.2 RNN이 아닌 일반적인 신경망 모형을 이용한 분류___10.3.3 문서의 순서정보를 활용하는 RNN 기반 문서분류10.4 LSTM, Bi-LSTM과 GRU를 이용한 성능 개선 11장: Word2Vec, ELMo, Doc2Vec의 이해11.1 Word2Vec - 대표적인 워드 임베딩 기법___11.1.1 Word2Vec 학습의 원리___11.1.2 Word2Vec 활용 - 학습된 모형 가져오기___11.1.3 FastText - 워드 임베딩에 N-gram 적용11.2 ELMo - 문맥에 따른 단어 의미의 구분___11.2.1 Word2Vec의 문제점___11.2.2 ELMo의 구조11.3 Doc2Vec - 문맥을 고려한 문서 임베딩 12장: CNN - 이미지 분류를 응용한 문서 분류12.1 CNN의 등장과 작동 원리 12.2 CNN을 이용한 문서 분류__12.2.1 CNN을 이용한 문서 분류의 원리__12.2.2 CNN을 이용한 NLTK 영화 리뷰 분류 13장: 어텐션(Attention)과 트랜스포머13.1 Seq2seq: 번역에서 시작한 딥러닝 기법13.2 어텐션을 이용한 성능의 향상13.3 셀프 어텐션(Self-attention)과 트랜스포머___13.3.1 셀프 어텐션의 이해___13.3.2 트랜스포머의 구조___13.3.3 인코더의 셀프 어텐션 원리___13.3.4 디코더의 작동 원리 14장: BERT의 이해와 간단한 활용14.1 왜 언어 모델이 중요한가?14.2 사전학습 언어모델의 이론적 이해14.3 BERT의 구조14.4 언어모델을 이용한 사전학습과 미세조정학습14.5 사전학습된 BERT 모형의 직접 사용방법14.6 자동 클래스를 이용한 토크나이저와 모형의 사용 15장: BERT 사전학습 모형에 대한 미세조정학습15.1 BERT 학습을 위한 전처리15.2 트랜스포머의 트레이너를 이용한 미세조정학습15.3 파이토치를 이용한 미세조정학습 16장: 한국어 문서에 대한 BERT 활용16.1 다중 언어 BERT 사전학습 모형의 미세조정학습16.2 KoBERT 사전학습 모형에 대한 파이토치 미세조정학습 17장: 트랜스포머 변형 모형의 현황 17.1 트랜스포머 변형 모형의 다양한 토크나이저 __17.1.1 BPE(Byte-Pair Encoding) 토크나이저 __17.1.2 워드피스(WordPiece) 토크나이저 __17.1.3 센텐스피스(SentencePiece) 유니그램 토크나이저 __17.2 GPT 기반 트랜스포머 변형 모형 __17.2.1 GPT-2__17.2.2 GPT-3 __17.2.3 ChatGPT17.3 BERT 기반 트랜스포머 변형 모형 __17.3.1 RoBERTa(Robustly Optimized BERT Pretraining Approach) __17.3.2 ALBERT(A Lite BERT) __17.3.3 ELECTRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately) 17.4 인코더와 디코더를 모두 사용하는 트랜스포머 변형 모형 __17.4.1 BART (Bidirectional and Auto-Regressive Transformers) __17.4.2 T5 (Text-to-Text Transfer Transformer) 17.5 국내 트랜스포머 변형 모형 현황 18장: 트랜스포머 모형을 이용한 문서 요약 18.1 문서 요약의 이해 __18.1.1 문서 요약 성능 지표: ROUGE __18.1.2 문서 요약 데이터셋과 트랜스포머 변형 모형 18.2 파이프라인을 이용한 문서 요약 18.3 T5 모형과 자동 클래스를 이용한 문서 요약 18.4 T5 모형과 트레이너를 이용한 미세조정학습 18.5 한글 문서 요약 19장: 트랜스포머 모형을 이용한 질의 응답 19.1 질의 응답 시스템의 이해 19.2 파이프라인을 이용한 질의 응답 19.3 자동 클래스를 이용한 질의 응답 19.4 트레이너를 이용한 질의 응답 미세조정학습 19.5 한글 질의 응답