누구나 쉽게 다양한 한국어 텍스트 데이터를 분석할 수 있다!
먼 미래의 거대 모델도 작은 모델에서 시작!
지금 당장 내 손으로 직접 작고 간단한 모델을 구현해보자!
정말 쉽게 누구나 따라 해볼 수 있는 실전형 프로젝트 4가지 수록!
컴퓨터는 한국어를 어떻게 이해할 수 있을까? 컴퓨터로 한국어 텍스트를 다루는 데는 무엇이 필요할까? 맨땅에서 텍스트 분석을 시작하려 할 때 또는 텍스트 분석과 자연어 처리 분야의 기본기를 탄탄히 다지며 재정비하고 싶을 때 반드시 알아야 하는 내용만 담았다.
우선 본격적인 프로젝트를 시작하기 전에 텍스트 분석에 필요한 파이썬 기초 개념과 필수 파이썬 라이브러리의 기본 사용법을 살펴보면서, 텍스트 데이터 전처리 기능과 방법을 익힌다. 다음으로 텍스트 분석의 기본 개념이자 텍스트를 수치 형태의 데이터로 변환하는 벡터화 방법인 단어 가방 모형과 TF-IDF를 배운다. 이어서 네 가지 다른 한국어 데이터를 가지고 실제 프로젝트를 진행해본다. 프로젝트는 데이터 다운로드부터 전처리, 시각화까지 전 과정을 다루며, 실습은 지금 당장 어디서라도 쉽게 진행할 수 있게 코랩으로 준비했다.
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 한국어 생성 서비스: 뤼튼
독자의견 남기기