비전공자를 위한 데이터 속 숨겨진 이야기
파이썬으로 시작하는 텍스트 마이닝
- 출판사:
- 연두에디션
- 저 자:
-
배정수
- 발행일:
- 2025-06-30
- 가 격:
- 25,000원
- 페이지:
- 432 페이지
- ISBN:
- 9791193177495
- 도 수 :
- 4도
- 도서자료
-
교재내용
- 우리는 매일 엄청난 양의 텍스트 데이터를 접합니다. 뉴스 기사, 소셜 미디어, 이메일, 그리고 각종 문서 속에는 우리가 미처 발견하지 못한 의미와 패턴이 숨겨져 있습니다. 텍스트 마이닝은 이러한 데이터 속에서 유용한 정보를 찾아내고, 그 안에 담긴 이야기와 흐름을 이해할 수 있도록 돕는 강력한 도구입니다. 그러나 많은 사람들에게 텍스트 마이닝은 여전히 낯선 개념일 수 있습니다. 데이터 분석이나 프로그래밍에 대한 경험이 없다면, 어렵고 복잡한 분야로 느껴질 수도 있습니다.
하지만 텍스트 마이닝은 생각보다 훨씬 친숙한 기술입니다. 우리가 평소에 읽고 쓰는 글과 메시지 속에서도 의미 있는 패턴을 발견할 수 있으며, 이를 활용하면 다양한 인사이트를 얻을 수 있습니다. 실제로 텍스트 마이닝은 비즈니스, 마케팅, 학문 연구, 그리고 개인적인 데이터 분석까지 다양한 분야에서 강력한 도구로 활용되고 있습니다.
이 책은 파이썬을 이용하여 텍스트 마이닝을 쉽고 재미있게 배울 수 있도록 구성되었습니다. 특히, 비전공자를 위한 맞춤형 설명과 별도의 프로그램 설치 없이 구글 코랩(Google Colab) 환경에서 실습 할 수 있도록 접근성을 높였습니다. 여러분이 처음으로 텍스트 마이닝을 접한다고 해도 걱정할 필요 없습니다. 이 책은 개념을 하나씩 차근차근 설명하며, 실습을 통해 직접 코드를 실행해보면서 학습할 수 있도록 구성되었습니다. 단순한 이론이 아니라 실제 데이터에서 의미를 발견하는 과정을 함께 경험하며, 텍스트 데이터가 가진 가능성을 체험할 수 있을 것입니다.
목차
- 텍스트 마이닝이란? 텍스트의 세계로 떠나는 모험 1
1.1 “데이터 속 숨은 보물을 찾아서” 2
1.2 텍스트 마이닝(Text Mining)이란? 4
1.3 텍스트 마이닝(Text Mining)의 성장 이야기 5
1.4 텍스트 마이닝과 인공지능(AI)의 만남 8
1.5 세상 속 텍스트마이닝 활용 사례 10
1.6 텍스트 마이닝의 기본 흐름 13
파이썬과 분석 환경 준비하기 21
2.1 파이썬, 세상을 바꾸는 언어 22
2.1.1 파이썬(Python) 이란? 22
2.1.2 왜 파이썬인가? 24
2.1.3 주요 편집기 소개 26
2.2 파이썬 설치부터 첫 실행까지 28
2.3 IDLE에서 첫 탐험 시작하기 30
2.4 터틀(Turtle) 모듈로 선 그리기 35
2.5 설치 없이 시작하는 코랩 환경 만들기 39
2.5.1 구글 코랩(Colab)이란? 39
2.5.2 코랩 사용법과 계정 연동 40
2.6 코랩 환경에서 파이썬 실습 기초 47
파이썬 기초 다지기 - 텍스트를 다루는 첫 도구 49
3.1 입출력 함수 - 텍스트와 소통하는 첫 시작점 50
3.1.1 출력함수 print() 50
3.1.2 입력함수 input() 53
3.1.3 실전 예제 54
3.2 변수(Variable)와 자료형 57
3.2.1 변수 선언 및 기본 문법 57
3.2.2 변수의 특징과 규칙 58
3.2.3 데이터 유형(Data Types) 59
3.2.4 실전 예제 60
3.3 연산자(Operators) 62
3.3.1 산술 연산자 (Arithmetic Operators)– 계산기 도구 62
3.3.2 할당 연산자 (Assignment Operators)– 물건을 상자에
담는 도구 63
3.3.3 비교 연산자 (Comparison Operators)– 저울 도구 63
3.3.4 논리 연산자 (Logical Operators)– 교통 신호등 64
3.3.5 멤버십 연산자 (Membership Operators) 65
3.3.6 실전 예제 65
3.4 문자열 다루기 –텍스트 분석의 출발점 67
3.4.1 문자열 인덱싱 (indexing) 67
3.4.2 문자열 슬라이싱(slicing) 68
3.4.3 문자열 메서드(String Methods) 69
3.5 구조화된 자료형 73
3.5.1 리스트(List)– 여러 값을 순서대로 저장 73
3.5.2 튜플(Tuple)– 변경하지 않는 데이터 묶음 74
3.5.3 딕셔너리(Dictionary)– 키-값 쌍으로 단어 관리 75
3.5.4 집합(Set)– 중복 없는 단어 모음 76
3.6 제어문- 프로그램의 흐름을 자유롭게 조종하는 기술 79
3.6.1 조건문 (if 문): 프로그램에 논리를 더하다 80
3.6.2 반복문(loop statements) 83
3.7 함수 - 코드 재사용과 효율적인 프로그래밍 89
3.7.1 함수의 개념과 필요성 89
3.7.2 기본 함수 (Built-in Functions) 90
3.7.3 사용자 정의 함수 (User-defined Functions) 91
3.7.4 실전 예제 94
3.8 파일 입출력 - 텍스트 파일 다루기 97
3.8.1 파일 입출력 기본 개념 97
3.8.2 파일에서 텍스트 읽기 (read(), readlines()) 98
3.8.3 파일에 쓰기 (write(), writelines()) 99
3.9 기본 라이브러리 활용-이미 준비된 도구를 꺼내 쓰자 101
3.9.1 라이브러리 설치 및 사용 101
3.9.2 라이브러리 불러오기 –import 모듈 102
3.9.3 실전 예제 –내장 모듈 사용하기 103
넘파이(Numpy)- 숫자 세상을 탐험하자 105
4.1 Numpy(Numerical Python) 소개 106
4.1.1 Numpy( Numerical Python )란? - 데이터를 다루는
마법 도구 106
4.1.2 넘파이 설치와 실행 107
4.2 배열 생성과 다루기 108
4.2.1 넘파이 배열 생성하기 - 나만의 보물 상자 만들기 108
4.2.2 넘파이 배열의 차원(Dimensions in Arrays) -
데이터의 깊이 읽기 109
4.2.3 넘파이 배열의 주요 속성- 차원과 구조 이해하기 111
4.2.4 Numpy 배열 인덱싱과 슬라이싱(Slicing) - 데이터 조각 찾기 114
4.3 넘파이로 데이터 연산 116
4.3.1 숫자 데이터 계산하기: 산술 연산 116
4.3.2 데이터 비교 탐험: 논리 연산 119
4.3.3 데이터 요약하기: 통계 연산 120
4.4 넘파이와 텍스트마이닝 123
4.4.1 텍스트 데이터를 넘파이 배열로 변환 123
4.4.2 텍스트 데이터 가공하기 - 문자열 연산 125
4.4.3 배열 조작하기 - 데이터 변형 스킬 126
4.4.4 텍스트 데이터 분석 - 길이, 빈도, 분포 파악하기 127
4.4.5 조건 기반 인덱싱으로 필요한 데이터 찾기 128
4.5 실전 예제 - 넘파이로 텍스트 분석하기 131
4.5.1 가사에서 단어 등장 횟수 찾기 131
4.5.2 리뷰 데이터로 감성 분석 체험하기 132
판다스(Pandas)로 보물지도 그리기 137
5.1 Pandas 소개 138
5.1.1 Pandas? - 텍스트 데이터를 쉽게 다룰 수 있는 강력한 도구! 138
5.1.2 Pandas가 텍스트 분석에 중요한 이유 138
5.1.3 Pandas 설치와 실행 139
5.2 Pandas 데이터 구조 - Series와 DataFrame 141
5.2.1 Series 만들기: 텍스트 리스트 다루기 141
5.2.2 DataFrame 만들기: 표 형태로 데이터 관리하기 143
5.3 파일 읽기와 저장하기 145
5.3.1 CSV 파일 읽어오기 (read_csv) 145
5.3.2 CSV 파일로 저장하기 (to_csv) 147
5.3.3 Excel 파일 읽어오기 (read_excel) 148
5.4 데이터 구조 파악과 정리 150
5.4.1 데이터 구조 확인하기 (info, shape, columns) 150
CONTENTS ix
5.4.2 데이터 요약 통계 (describe) 153
5.4.3 데이터 선택 및 필터링 (필요한 데이터 추출) 154
5.4.4 결측값(missing values) 처리 및 중복데이터 제거 156
5.4.5 데이터 정렬하기 (sort_values) 159
5.4.6 그룹화 및 집계 (Grouping) 161
5.5 텍스트 데이터 다루기 163
5.5.1 공백 제거하기 ( str.strip) 164
5.5.2 특정 키워드 포함 여부 확인하기 (contains) 166
5.5.3 문자열 변경하기 (replace) 166
5.5.4 문장 분리하기 (토큰화 split) 167
5.5.5 데이터 타입 변환하기 (astype) 168
5.5.6 대소문자 변환하기 (lower, upper) 168
5.6 실전 예제 –판다스로 텍스트 데이터 이해하기 171
5.6.1 CSV 파일에서 특정 조건 데이터 추출 171
5.6.2 부서별 급여 및 연령 분석 및 Excel 저장 173
텍스트 데이터 전처리 177
6.1 텍스트 데이터 이해 178
6.1.1 텍스트 데이터의 특성 178
6.1.2 텍스트 데이터 전처리 유용한 라이브러리 181
6.2 텍스트 정제의 기본 기술 183
6.3 정규 표현식으로 텍스트 다듬기 195
6.3.1 정규 표현식의 주요 활용 사례 195
6.3.2 정규 표현식의 주요 함수 196
6.4 실전 예제 199
6.4.1 텍스트 데이터를 깨끗하게! NLP 전처리 파이프라인 구축하기 199
6.4.2 “Let It Be 가사 속 ‘Let it be’는 몇 번 나올까?” 204
6.4.3 “Let It Be”, 희망과 평온의 가사 속 감정은? 208
텍스트 데이터 전처리 Ⅱ 215
7.1 한국어의 특별성 216
7.1.1 한국어, 세계 유일의 베타 테스트를 거친 언어? 216
7.1.2 “왜 한국어는 그렇게 특별한가?” 217
7.1.3 형태소, 한국어의 비밀 열쇠 218
7.2 KoNLPy 라이브러리 소개 220
7.2.1 KoNLPy 라이브러리 설치 및 확인 220
7.2.2 주요 형태소 분석기 221
7.3 KoNLPy 한국어 텍스트 전처리 226
7.4 실전 예제 - “잃어버린 강아지를 찾는 이야기” 233
데이터 시각화 243
8.1 데이터 시각화란? 244
8.1.1 데이터 시각화의 중요성 244
8.1.2 대표적인 시각화 도구 살펴보기 246
8.2 Matplotlib - 기본 그래프부터 시작하기 248
8.2.1 Matplotlib이란? 248
8.2.2 Matplotlib 설치와 기본 사용법 251
8.2.3 주요 그래프 그리기 252
8.2.4 Colab에서 matplotlib 한글 지원하기 261
8.2.5 실전 예제 - 타이타닉 생존률 데이터 분석 및 시각화 263
8.3 워드클라우드 - 단어의 무게를 그리다 271
8.3.1 WordCloud 개요 271
8.3.2 WordCloud 생성 274
8.3.3 WordCloud 생성 이미지 저장 280
8.3.4 실전 예제 - “잃어버린 강아지를 찾는 이야기”
워드클라우드 생성 281
8.4 NetworkX (네트워크X) - 단어 관계를 선으로 잇다 286
8.4.1 NetworkX (네트워크X) 개요 286
8.4.2 NetworkX를 활용한 기본 네트워크 그래프 생성 287
8.4.3 실전 예제 - “잃어버린 강아지를 찾는 이야기” 네트워크X 생성 291
웹 크롤링 297
9.1 웹 크롤링 (Web Crawling) 소개 297
9.1.1 웹 크롤링 (Web Crawling)이란? 298
9.1.2 웹 크롤링 활용 사례 299
9.2 웹에서 데이터 가져오는 원리 301
9.2.1 인터넷과 웹페이지의 동작 방식 301
9.2.2 HTML 구조 기본 개념 303
9.2.3 CSS 선택자(CSS Selectors) 305
9.2.4 웹사이트에서 필요한 데이터 찾기 (브라우저 개발자 도구 활용) 307
9.3 웹 크롤링 첫걸음 - Requests로 웹페이지 가져오기 309
9.3.1 requests로 웹페이지 가져오기 309
9.3.2 응답 상태 코드 310
9.4 HTML을 BeautifulSoup으로 분석하기 311
9.4.1 BeautifulSoup이란? 311
9.4.2 BeautifulSoup을 활용한 기본 HTML 분석 312
9.4.3 BeautifulSoup4의 주요 메서드 314
9.5 실전 예제 315
9.5.1 웹 페이지에서 제목 크롤링 후 데이터 저장하기 315
9.5.2 뉴스 웹사이트에서 기사 제목 크롤링 후 저장하기 316
9.5.3 네이버뉴스 ’세계’섹션의 헤드라인에서 가장 많이
등장하는 단어는? 322
텍스트 데이터 벡터화-Bag of Words 327
10.1 텍스트 데이터의 벡터화란? 328
10.1.1 벡터화(vectorization) 개념 328
10.1.2 왜 벡터화가 필요한가? 329
10.1.3 자연어를 숫자로 변환하는 다양한 방법 329
10.2 Bag of Words(BoW, 단어 빈도 벡터화) 334
10.2.1 Bag of Words란? 334
10.2.2 Bag of Words 구현 단계 337
10.3 Term Frequency-Inverse Document Frequency 341
10.3.1 TF-IDF란? 문서 내 단어의 빈도 341
10.3.2 TF-IDF 구현 단계 342
10.4 실전 예제 345
10.4.1 네이버 뉴스 헤드라인을 BoW와 TF-IDF로 변환하고 비교하기 345
10.4.2 BTS 가사를 데이터 분석으로 살펴보기 351
텍스트 분류와 지도학습 357
11.1 텍스트 분류란? 358
11.1.1 텍스트 분류(Text Classification)의 개념 358
11.1.2 텍스트 분류가 필요한 이유 359
11.1.3 텍스트의 카테고리별 분류 단계 360
11.2 머신러닝이 텍스트를 분류하는 원리 362
11.2.1 머신러닝(Machine Learning)? 362
11.2.2 대표적인 텍스트 분류 알고리즘 364
11.2.3 머신러닝 모델의 성능 평가 지표 366
11.3 실전 예제 369
11.3.1 영화 리뷰 감성 분석 369
11.3.2 로지스틱 회귀로 예측 문제 해결하기 374
텍스트 클러스터링과 비지도학습 379
12.1 텍스트 데이터 클러스터링 이해 380
12.1.1 텍스트 데이터 클러스터링이란? - 정답 없이 의미를 묶는 방법 380
12.1.2 텍스트 데이터 클러스터링의 단계 381
12.1.3 데이터 분석에서 차원 축소(Dimensionality Reduction)란? 382
12.1.4 텍스트 데이터의 유사성 측정 방법 386
12.2 K-means 클러스터링 이해 391
12.2.1 K-means 클러스터링이란? 391
12.2.2 K의 중요성 392
12.2.3 K-means 클러스터링 과정 393
12.3 실전예제 - K-means로 쇼핑몰 고객 분석하기 395
감성 분석 프로젝트 403
13.1 감성 분석(Sentiment Analysis) 이해 404
13.1.1 감성 분석(Sentiment Analysis)이란? 405
13.1.2 부정도 긍정도 아닌 그 어딘가 –중립 감정의 어려움 405
13.2 실전 예제 - 영화 리뷰 데이터를 활용한 감성 분석 407
13.2.1 NSMC 데이터셋 407
13.2.2 NSMC 감성분석 408
/? include "./common/signup.html"; ?>