한국여성정책연구원 전자도서관

한국여성정책연구원 전자도서관

자료검색

  1. 메인
  2. 자료검색
  3. 신착자료 검색

신착자료 검색

단행본데이터 사이언스 시리즈 092

파이썬 텍스트 마이닝 바이블: 파이썬 기초부터 트랜스포머, BERT, GPT까지 - 심층 이론과 실습으로 배우는 텍스트 마이닝의 모든 것

서명
파이썬 텍스트 마이닝 바이블
개인저자
이상엽
발행사항
파주 :. 위키북스,. 2023
형태사항
xv, 738 p. : 삽화 ; 24 cm
총서명
데이터 사이언스 시리즈 092
ISBN
9791158394707 9791158394714
일반주기
색인수록
가격
₩42000
소장정보
위치등록번호청구기호 / 출력상태반납예정일
지금 이용 불가 (2)
자료실EM118176대출중2024.05.08
자료실EM118177대출중2024.05.08
지금 이용 불가 (2)
  • 등록번호
    EM118176
    상태/반납예정일
    대출중
    2024.05.08
    위치/청구기호(출력)
    자료실
  • 등록번호
    EM118177
    상태/반납예정일
    대출중
    2024.05.08
    위치/청구기호(출력)
    자료실
책 소개
기계학습과 딥러닝 알고리즘, 텍스트 분석을 이 책 한 권으로 끝내자!

기계학습과 딥러닝 알고리즘을 이용해서 텍스트 분석을 잘하기 위해서는 알고리즘의 작동원리를 정확히 이해하는 것이 중요합니다. 이 책은 텍스트 분석 실습뿐 아니라, 텍스트 분석에서 중요한 역할을 하는 기계학습과 딥러닝 알고리즘의 작동 원리를 자세히 설명합니다. 알고리즘의 이해를 돕기 위해, 알고리즘을 이해하는 데 필요한 수학 개념(벡터, 행렬, 확률 등)에 관한 설명도 제공합니다.

텍스트 분석이나 코딩 경험이 없는 독자도 쉽게 접할 수 있도록, 파이썬 기초와 텍스트 분석의 기초, 텍스트 분석을 하는 데 필요한 기본적인 내용(웹스크레이핑, 정규표현식 등)에 관해서도 부록에서 다룹니다.

★ 이 책에서 다루는 내용 ★

◎ 파이썬 기초, 웹스크레이핑, 정규표현식
◎ 기본 수학: 선형대수, 확률, MLE, EM 알고리즘, 베이지안 추론 등
◎ 텍스트 전처리와 텍스트 네트워크 분석
◎ 기계학습 알고리즘을 활용한 텍스트 분석: K-평균, 위계적 군집 분석, DBSCAN, GMM, 차원◎ 축소, 로지스틱 회귀 모형, 나이브 베이즈, 결정 트리, 앙상블 알고리즘, SVM, 토픽 모델링
◎ 딥러닝 알고리즘을 활용한 텍스트 분석: FNN, CNN, RNN, LSTM, GRU, seq2seq, Transformer, BERT와 BERT 기반 알고리즘, GPT 모형, 비전 트랜스포머, 오토인코더
목차

[1부] 텍스트 전처리와 기초 분석

▣ 1장: 텍스트 분석
1.1 텍스트 분석이란
1.2 텍스트 분석의 일반적 절차
1.3 텍스트 분석의 종류

▣ 2장: 파이썬 개발 환경 구축하기
2.1 아나콘다(Anaconda) 설치
2.2 주피터 노트북 사용 방법
___2.2.1 주피터 노트북 실행 방법
___2.2.2 주피터 노트북의 이름 변경 방법
___2.2.3 주피터 노트북 종료하기
2.3 구글 코랩 사용하기

▣ 3장: 파이썬 기본 문법
3.1 파이썬의 기본적인 구성 요소: 변수와 함수
___3.1.1 변수
___3.1.2 함수
___3.1.3 주석 달기
3.2 데이터 타입
___3.2.1 숫자
___3.2.2 리스트
___3.2.3 문자열
___3.2.4 사전
___3.2.5 튜플
___3.2.6 집합
___3.2.7 데이터 타입 변환
3.3 if-else 조건문
___3.3.1 if 구문
___3.3.2 if-else 구문: if 구문의 조건이 만족하지 않는 경우에도 코드 실행하기
___3.3.3 if-elif-else 구문: 여러 개의 조건 사용하기
___3.3.4 하나의 구문에서 여러 개의 조건 동시 사용하기
3.4 for 반복문
___3.4.1 for 반복문 사용하기
___3.4.2 for 문에서 range() 함수 사용하기
___3.4.3 continue와 break 키워드 사용하기
___3.4.4 여러 개의 튜플 원소의 값 동시에 사용하기
___3.4.5 enumerate() 함수 사용하기
___3.4.6 리스트 컴프리헨션
3.5 while 반복문
___3.5.1 while 반복문 사용하기
___3.5.2 continue와 break 사용하기
3.6 사용자 정의 함수
___3.6.1 사용자 함수 만들기
___3.6.2 위치 기반 파라미터(Positional parameters)
___3.6.3 파라미터의 이름을 사용하여 인자 전달하기
___3.6.4 파라미터의 기본값 설정하기
___3.6.5 입력받는 인자의 수가 정해지지 않은 경우
___3.6.6 파라미터의 이름을 미리 정의하지 않는 경우
___3.6.7 lambda 키워드 사용하기
3.7 파일 읽기/쓰기(File input / output)
___3.7.1 파일에 접근하기 (또는 새로운 파일 생성하기)
___3.7.2 파일의 내용 읽기
___3.7.3 파일에 내용 쓰기
___3.7.4 추가 모드 사용하기
___3.7.5 한글 처리
___3.7.6 with … as 구문 사용하기
___3.7.7 대용량 파일 내용 읽어오기
3.8 모듈 사용하기
___3.8.1 파이썬에서 기본으로 제공되는 모듈 사용하기
___3.8.2 새로운 모듈 설치하기
___3.8.3 사용자 정의 모듈 만들기
___3.8.4 모듈에서 특정 함수만 임포트하기
___3.8.5 import 키워드가 모듈을 찾는 경로
3.9 에러 처리
___3.9.1 에러의 예
___3.9.2 에러 처리하기
3.10 클래스
___3.10.1 클래스란?
___3.10.2 나만의 클래스 만들기
___3.10.3 상속

▣ 4장: 정규표현식
4.1 패턴 만들기
4.2 파이썬에서 정규표현식 사용하기
___4.2.1 특정 패턴을 만족하는 문자열을 찾는 데 사용되는 함수들
___4.2.2 패턴을 만족하는 문자열 찾기
4.3 대괄호의 기능
4.4 Alternation 기능
4.5 수량자
4.6 매치되는 결과 그루핑하기
4.7 특수 기호를 원래 기호의 의미로 사용하기
4.8 문자열 조작하기
___4.8.1 split()
___4.8.2 sub()
4.9 텍스트 전처리에서 알아두면 유용한 것들
___4.9.1 문장 간 띄어쓰기가 안 되어 있는 경우
___4.9.2 두문자어 혹은 약어를 나타낼 때 사용하는 마침표 없애기
___4.9.3 기호 없애기
___4.9.4 대문자 중에서 문장의 첫 글자만 소문자로 변경하기

▣ 5장: 텍스트 전처리 소개
5.1 텍스트 전처리란?
___5.1.1 전처리의 주요 과정
5.2 영어 텍스트 전처리
___5.2.1 불필요한 기호 또는 표현 없애기
___5.2.2 대소문자 통일하기
___5.2.3 토큰 단위로 분할하기
___5.2.4 단어의 품사 찾기
___5.2.5 원하는 품사의 단어만 선택하기
___5.2.6 단어의 원형(혹은 줄기) 찾기
___5.2.7 불용어 제거
5.3 한글 텍스트 전처리하기
___5.3.1 한글의 형태론적 특성
___5.3.2 한글 텍스트의 전처리 개요
___5.3.3 불필요한 기호/표현 제거하기
___5.3.4 형태소 분석 [토큰화 + 원형찾기 + 품사찾기]
___5.3.5 불용어 제거
___5.3.6 그 밖에 알아둘 점

▣ 6장: 기본적인 텍스트 분석 방법
6.1 빈도 분석
___6.1.1 단어의 출현 빈도 파악하기
___6.1.2 워드 클라우드 시각화
6.2 텍스트 네트워크 분석
___6.2.1 단어들 간의 네트워크 분석
___6.2.2 네트워크 분석 기초
___6.2.3 NetworkX를 이용한 네트워크 분석
___6.2.4 텍스트 네트워크 분석

[2부] 기계학습을 이용한 텍스트 분석

▣ 7장: 확률의 이해
7.1 시행과 사건
___7.1.1 시행
___7.1.2 표본 공간
___7.1.3 사건
7.2 확률의 계산
7.3 확률의 기본 공리
7.4 조건부 확률
7.5 조건부 확률에 대한 연쇄 법칙
7.6 독립 사건(Independent events)
7.7 조건부 독립(conditional independence)
7.8 전체 확률의 법칙
7.9 베이즈 공식
7.10 변수
___7.10.1 변수의 의미
___7.10.2 서로 독립인 변수들
7.11 변수의 종류
___7.11.1 이산변수와 연속변수의 구분
___7.11.2 이산변수의 확률
___7.11.3 이산 분포의 예: 베르누이(Bernoulli) 분포
___7.11.4 연속변수의 확률
___7.11.5 연속 분포의 예: 정규 분포
7.12 누적분포함수
7.13 변수의 평균, 분산, 공분산
___7.13.1 변수의 평균
___7.13.2 변수의 분산
___7.13.3 두 변수의 공분산(Covariance)
7.14 모멘트
7.15 결합확률분포
___7.15.1 두 개의 이산변수
___7.15.2 두 개의 연속변수

▣ 8장: 기계학습에 대한 이해
8.1 기계학습이란?
8.2 기계학습 알고리즘의 유형
___8.2.1 지도학습과 비지도학습 알고리즘
8.3 지도학습 알고리즘의 작동 원리
___8.3.1 학습에 사용되는 수학적 모형
___8.3.2 비용함수
___8.3.3 비용함수를 최소화하는 파라미터 값 찾기
___8.3.4 학습의 결과로 도출된 모형을 풀고자 하는 문제 데이터에 적용하기
___8.3.5 모형의 성능 평가하기
8.4 지도학습에서의 과적합 문제
___8.4.1 과적합 문제의 주요 원인
___8.4.2 규제화 방법

▣ 9장: 문서의 벡터화
9.1 벡터의 이해
___9.1.1 벡터란?
___9.1.2 공간상 벡터의 위치
___9.1.3 유클리디안 거리
___9.1.4 파이썬에서 벡터 다루기
___9.1.5 벡터의 길이, norm
___9.1.6 그 외 자주 사용되는 거리 지표
___9.1.7 코사인 유사도
___9.1.8 단위벡터에 대한 유클리디안 거리
___9.1.9 데이터 분석에서의 벡터
9.2 단어의 빈도 정보를 사용해 문서를 벡터로 표현하기
9.3 TF-IDF
9.4 sklearn을 이용해 문서를 벡터로 변환하기
___9.4.1 빈도 정보를 사용하여 벡터로 표현하기
___9.4.2 TF-IDF 정보를 사용해 벡터로 표현하기
___9.4.3 실제 문서 벡터화하기

▣ 10장: 군집 분석
10.1 K-평균(K-Means) 알고리즘
___10.1.1 K-평균 작동 원리
___10.1.2 군집의 수 정하기
___10.1.3 파이썬 코딩하기
___10.1.4 군집화 결과 평가지표
10.2 위계적 군집 분석
___10.2.1 병합 군집 분석
___10.2.2 군집을 연결하는 방법
___10.2.3 파이썬 코딩하기
10.3 DBSCAN
___10.3.1 DBSCAN 알고리즘의 작동 원리
___10.3.2 파이썬 코딩하기
10.4 가우시안 혼합 모형
___10.4.1 가우시안 혼합 모형이란?
___10.4.2 파이썬 코딩하기
10.5 차원 축소 후 군집화 수행하기
___10.5.1 차원 축소 소개
___10.5.2 고유분해
___10.5.3 특잇값 분해
___10.5.4 주성분 분석
___10.5.5 텍스트 데이터에 대해 주성분 분석을 수행한 후 군집화해 보기

▣ 11장: 텍스트 분류: 감성분석의 경우
11.1 로지스틱 회귀모형을 이용한 감성분석
___11.1.1 로지스틱 회귀모형
___11.1.2 비용함수: 교차 엔트로피
___11.1.3 파이썬 코딩하기
___11.1.4 분류 모형의 성능 평가 지표
___11.1.5 하이퍼파라미터 튜닝(Hyperparameter tuning)
___11.1.6 클래스 불균형 문제
___11.1.7 오버샘플링과 언더샘플링을 이용한 감성분석
___11.1.8 Cost Sensitive 방법을 적용한 감성분석
11.2 나이브 베이즈
___11.2.1 나이브 베이즈의 작동 원리
___11.2.2 다항 나이브 베이즈를 이용한 감성분석
___11.2.3 파이썬 코딩하기
11.3 결정 트리
___11.3.1 결정 트리의 작동 원리
___11.3.2 파이썬 코딩하기
11.4 앙상블 방법
___11.4.1 배깅
___11.4.2 랜덤 포레스트
___11.4.3 부스팅
11.5 SVM
___11.5.1 SVM 알고리즘의 기본 원리
___11.5.2 선형 하이퍼플레인으로 분리할 수 없는 경우(Non-linearly separable cases)
___11.5.3 SVM을 이용한 감성분석
11.6 감성어 사전 기반의 감성분석
___11.6.1 VADER 감성어 사전을 사용해 감성분석하기

▣ 12장: 토픽 모델링
12.1 LSI
___12.1.1 LSI 이해하기
___12.1.2 gensim을 이용한 LSI
12.2 LDA
___12.2.1 디리클레 분포
___12.2.2 다항 분포
___12.2.3 LDA의 이해
___12.2.4 Gensim을 이용한 LDA 수행하기
___12.2.5 LDA 결과를 이용한 문서 간, 단어 간의 유사도 파악하기

▣ 부록A: 웹 스크레이핑
A.1 컴퓨터 통신의 이해
___A.1.1 브라우저의 역할
A.2 웹 페이지를 구성하는 데이터의 구조
A.3 웹 스크레이핑 프로그램의 역할
___A.3.1 서버로부터 웹 페이지의 소스 코드 다운로드하기
___A.3.2 소스 코드로부터 원하는 정보 추출·저장하기
A.4 파이썬을 이용한 웹 스크레이핑의 주요 절차
___A.4.1 URL 주소를 사용해 해당 페이지의 소스 코드 다운로드하기
___A.4.2 원하는 정보를 담고 있는 태그 찾기: BeautifulSoup 클래스 사용하기
___A.4.3 태그의 속성 값 추출하기: get() 함수 사용
___A.4.4 BeautifulSoup에서 정규표현식 사용하기
A.5 추출하고자 하는 정보가 원본 소스 코드에 들어 있지 않는 경우
___A.5.1 네트워크 검사 기능을 통해 특정 파일에 접근하기
___A.5.2 셀레니엄(Selenium) 사용하기

▣ 부록B: 행렬
B.1 행렬이란?
B.2 행렬의 연산
___B.2.1 행렬과 스칼라 간 연산
___B.2.2 행렬과 행렬 간 연산
B.3 행렬의 종류
___B.3.1 대각행렬
___B.3.2 단위행렬
___B.3.3 전치행렬
___B.3.4 대칭행렬
B.4 역행렬
___B.4.1 역행렬이란?
___B.4.2 역행렬의 기하학적 의미
___B.4.3 행렬의 랭크
___B.4.4 역행렬을 이용해 연립 방정식 풀기

▣ 부록C: EM(Expectation-Maximization) 알고리즘
C.1 젠센 부등식
C.2 EM 알고리즘
C.3 가우시안 혼합 모형에 다시 적용해 보기
___C.3.1 E 단계
___C.3.2 M 단계

▣ 부록D: 베이지안 추론
D.1 베이지안(Bayesian Inference) 추론이란?
D.2 베이즈 공식
D.3 주요 베이지안 추론 방법
D.4 사후 분포를 우도와 켤레 사전 분포를 이용해 직접 계산하기
D.5 MCMC(Markov Chain Monte Carlo)
___D.5.1 메트로폴리스 알고리즘
___D.5.2 메트로폴리스-헤이스팅스
___D.5.3 깁스 샘플링(Gibbs Sampling)
D.6 파이썬 코딩: 파이썬을 이용한 베이지안 추론
D.7 위계적 모형(Hierarchical model) 소개