책소개
먼 미래의 거대 모델도 작은 모델에서 시작! 지금 당장 내 손으로 직접 작고 간단한 모델을 구현해보자!정말 쉽게 누구나 따라 해볼 수 있는 실전형 프로젝트 4가지 수록!컴퓨터는 한국어를 어떻게 이해할 수 있을까 컴퓨터로 한국어 텍스트를 다루는 데는 무엇이 필요할까 맨땅에서 텍스트 분석을 시작하려 할 때 또는 텍스트 분석과 자연어 처리 분야의 기본기를 탄탄히 다지며 재정비하고 싶을 때 반드시 알아야 하는 내용만 담았다. 우선 본격적인 프로젝트를 시작하기 전에 텍스트 분석에 필요한 파이썬 기초 개념과 필수 파이썬 라이브러리의 기본 사용법을 살펴보면서, 텍스트 데이터 전처리 기능과 방법을 익힌다. 다음으로 텍스트 분석의 기본 개념이자 텍스트를 수치 형태의 데이터로 변환하는 벡터화 방법인 단어 가방 모형과 TF-IDF를 배운다. 이어서 네 가지 다른 한국어 데이터를 가지고 실제 프로젝트를 진행해본다. 프로젝트는 데이터 다운로드부터 전처리, 시각화까지 전 과정을 다루며, 실습은 지금 당장 어디서라도 쉽게 진행할 수 있게 코랩으로 준비했다.
![](https://ipx.image-gmkt.com/imageproxy/?src=http%3a%2f%2fwww.bibot.co.kr%2fImage%2fFull%2f9%2f7%2f9%2f1%2f1%2f4%2f0%2f7%2f0%2f4%2f5%2f2%2f1%2f9791140704521.jpg&scw=-1&remake=Y)
목차
1장 코랩 시작하기
LESSON OT 들어가며
LESSON 01 코랩 실행하기
____1 주석
____2 단축키
LESSON 02 코랩에서 실습 코드 열기
____1 코랩 테마
2장 파이썬에서 문자열 다루기
LESSON OT 들어가며
LESSON 01 문자열 실습 전에
LESSON 02 문자열 실습
____1 문자열 표현
____2 오류 처리
____3 표현 방법 + 오류 처리
LESSON O3 문자열을 다루는 여러 방법
____1 변수
____2 인덱싱
____3 슬라이싱
____4 문자열의 길이, 단어 수
____5 문자열 함수
____6 반복
____7 함수
____8 문자열 내장 메서드 목록
3장 라이브러리 다루기
LESSON OT 들어가며
LESSON 01 판다스
____1 데이터 프레임과 시리즈 이해하기
____2 str 접근자로 문자열 다루기
LESSON 02 넘파이
____1 넘파이 배열 이해하기
____2 맷플롯립으로 넘파이 배열 시각화하기
4장 단어 가방 모형과 TF-IDF
LESSON OT 들어가며
LESSON 01 단어 가방 모형
____1 단어 가방 모형을 만드는 방법
____2 단어 가방 모형 만들기
____3 n-gram: 앞뒤 단어 묶어서 사용
____4 min_df와 max_df: 빈도수 설정
____5 max_features: 학습 단어 개수 제한
____6 stop_words: 불용어 제거
____7 analyzer: 문자, 단어 단위 설정
LESSON 02 TF-IDF
____1 TF-IDF 가중치를 적용하는 방법
5장 연합뉴스 타이틀 주제 분류
LESSON OT 들어가며
LESSON 01 데이터 선택하기
LESSON 02 분류 과정
LESSON 03 분류를 위한 기본 설정
____1 라이브러리 불러오기
____2 시각화를 위한 폰트 설정
LESSON 04 데이터 불러오기
LESSON 05 데이터 전처리하기
____1 데이터 전처리를 위한 데이터 병합
____2 정답값 빈도수 확인
____3 문자 길이 확인
____4 맷플롯립과 시본을 이용해 히스토그램으로 시각화
____5 주제별 글자와 단어의 빈도 확인
LESSON 06 문자 전처리하기
____1 숫자 제거
____2 영문자는 모두 소문자로 변경
____3 형태소 분석기로 조사, 어미, 구두점 제거
____4 불용어 제거
LESSON 07 학습, 시험 데이터 세트 분리하기
LESSON 08 단어 벡터화하기
LESSON 09 학습과 예측하기
____1 랜덤 포레스트 분류기
____2 교차 검증
____3 학습
LESSON 10 답안지 불러오기
6장 국민청원 데이터 시각화와 분류
LESSON OT 들어가며
LESSON 01 분석 과정
LESSON 02 분석을 위한 기본 설정
____1 라이브러리 불러오기
LESSON 03 판다스로 데이터 불러오기
____1 구글 드라이브에 파일 다운로드
____2 다운로드한 데이터 살펴보기
____3 결측치가 있는지 확인하기
LESSON 04 판다스 데이터 분석과 시각화
____1 답변 대상 청원 열 추가
____2 청원 기간별 분석
____3 청원 기간과 분야별 분석
____4 시각화
LESSON 05 soynlp로 워드클라우드 그리기
____1 라이브러리와 데이터
____2 토큰화
____3 텍스트 데이터 전처리
____4 워드클라우드 그리기
____5 명사만 추출해 시각화
LESSON 06 머신러닝으로 국민청원 데이터 이진 분류하기
____1 지도학습과 데이터 세트 분리
____2 이진 분류 대상 정하기
____3 평균을 기준으로 투표수 예측하기
____4 전처리하기
____5 학습 세트와 시험 세트 만들기
____6 단어 벡터화하기
____7 TF-IDF 가중치 적용하기
____8 LightGBM으로 학습시키기
____9 평가하기
____10 예측하기
____11 예측 결과의 정확도 평가하기
7장 ‘120다산콜재단’ 토픽 모델링과 RNN, LSTM
LESSON OT 들어가며
LESSON 01 분석 과정
LESSON 02 잠재 디리클레 할당으로 토픽 분류하기
____1 라이브러리 설치 및 데이터 불러오기
____2 단어 벡터화하기
____3 잠재 디리클레 할당 적용하기
____4 pyLDAvis를 통한 시각화하기
____5 유사도 분석하기
LESSON 03 순환 신경망으로 텍스트 분류하기
____1 라이브러리와 데이터 불러오기
____2 학습/시험 데이터 세트 분리하기
____3 레이블값을 행렬 형태로 만들기
____4 벡터화하기
____5 패딩하기
LESSON 04 모델 만들기
____1 Bidirectional LSTM
____2 모델 컴파일하기
____3 학습하기
____4 예측하기
____5 평가하기
8장 인프런 이벤트 댓글 분석
LESSON OT 들어가며
LESSON 01 분석 과정
LESSON 02 분석을 위한 기본 설정
____1 라이브러리 불러오기
____2 데이터 불러오기
LESSON 03 데이터 전처리
____1 중복된 글 제거하기
____2 소문자로 변환하기
LESSON 04 문자열 분리로 ‘관심강의’ 분리하기
LESSON 05 벡터화하기
LESSON 06 TF-IDF로 가중치를 주어 벡터화하기
LESSON 07 군집화하기
____1 KMeans
____2 MiniBatchKMeans
____3 클러스터 예측 평가하기
____4 실루엣 계수 분석하기
9장 ChatGPT를 사용한 문장 생성 자동화
LESSON OT 들어가며
LESSON 01 생성 모델의 개념
LESSON 02 생성 모델의 파라미터 크기와 종류
LESSON 03 ChatGPT 사용하기
LESSON 04 한국어 생성 서비스: 뤼튼
작가
박조은, 송영숙
출판사리뷰
누구나 쉽게 다양한 한국어 텍스트 데이터를 분석할 수 있다!준비: 코랩 환경과 파이썬 기초이 책의 예제와 프로젝트는 코랩에서 설치 없이, 클릭만으로 바로 실행할 수 있다. 본격적인 프로젝트를 시작하기 전에 텍스트 분석에 필요한 파이썬 기초 개념과 필수 파이썬 라이브러리인 판다스, 넘파이, 사이킷런의 기본 사용법을 살펴보면서, 텍스트 데이터 전처리 기능과 방법을 익힌다.개념: 텍스트 분석 방법의 기본 개념컴퓨터가 한국어를 어떻게 이해하는지, 텍스트 데이터를 어떻게 분석하는지 텍스트 분석 방법의 기본 개념을 이해한다. 그리고 머신러닝/딥러닝 라이브러리를 사용하기 위해 텍스트를 수치 형태의 데이터로 변환하는, 벡터화 방법으로 단어 가방 모형과 TF-IDF를 배운다.프로젝트: 네 가지 실제 프로젝트 분석네 가지 다른 한국어 데이터를 가지고 실제 프로젝트를 진행해본다. (1) 연합뉴스 타이틀 주제 분류 (2) 국민청원 텍스트 분석 (3) 120다산콜재단 데이터 토픽 모델링과 유사도 분석 (4) 인프런의 이벤트 댓글 텍스트 군집 분석[지은이 서문]"사소한 텍스트 처리 방법을 배워 언제 거대 모델을 만들 수 있을까”초거대 모델의 엄청난 성능을 볼 때면 비교적 적은 데이터와 간단한 작업으로 무엇을 할 수 있을지 고민이 된다. 하지만 초거대 모델도 작은 시도에서 시작됐을 것이다. 최근 모델은 코드 한두 줄의 API만 있다면 이미지나 텍스트를 생성해 내거나 질문을 하면 마치 사람처럼 답변을 준다. 하지만 텍스트로 직접 작고 간단한 모델이라도 구현하려면 어디에서부터 시작해야 할지 난감하다. 텍스트 분석을 하며 다양한 도메인의 다양한 전공자들을 만나면서 어떻게 쉽게 기술과 내용을 전달할 수 있을지 고민했던 과정이 모여서 이 책이 되었다. 하루가 다르게 새로운 연구가 쏟아져 나오는 시기에 텍스트 분석의 기본을 익혀 보는 데 좋은 시작점이 되었으면 하는 바람이다.- 지은이 박조은 서문 중에서"한국어 텍스트 분석 책이 없으면 영어 텍스트 분석하는 방법이랑 똑같이 하면서 글자만 한글로 바꾸면 되는 거 아닌가”하지만 처음 시작하는 사람은 한글이 깨져 보이면 ‘UTF-8 인코딩’이란 단어를 검색해야 하는 것을 모른다. 또한, 어떤 데이터로 시작해야 할지도 막막하고, 책이나 강의에서는 잘 돌아가는 코드가 내가 하면 에러가 나는 이유를 매번 누군가에게 물어보기도 어렵다. 누구나 그렇다. 아는 사람이 보면 아주 낮은 턱이라도 모르는 사람은 넘기가 어렵다.이 책은 한국어로 된 다양한 텍스트를 다루면서, 데이터를 바꾸면서 달라지는 부분을 익히고, 같은 부분은 반복하면서 자연스럽게 넘파이, 판다스, 사이킷런을 익힐 수 있도록 고심해서 구성했다. 그런데도 3장에서 4장으로 넘어갈 때 난이도가 점프한다는 느낌을 받을 것이다. 하지만 6장을 넘어서면 드디어 2년 차 직장인처럼 "아! 비슷비슷하구나!” 하고 느낄 수 있기를 소망한다.버전이 안 맞아서 안 되는 부분은 스스로 수정한 후 깃허브에 올려 보면 공부하는 데 도움이 많이 될 것이다. 잘 안 되어도 포기하지 말고 문의를 남겨 해결한 뒤 계속 공부하기를 바란다. 창의적인 부분에도 도전하면서 수동적 독자가 아닌 적극적 동반자로 함께하기를 바란다. 그 후에는 텍스트 분석의 방법이 딥러닝의 블랙박스를 밝히는 데도 도움이 될 것이다.- 지은이 송영숙 서문 중에서