책의 특징
이 책의 목표는 텍스트를 분석하는 데 바탕이 되는 데이터의 기초를 이해하고, 코퍼스 또는 텍스트 데이터를 파이썬으로 분석하는 방법을 익히는 2가지 목표가 있다고 한다. 이를 위해서 1~3장에서는 파이썬 실습에 필요한 프로그래밍 기초에 대해 먼저 학습한다.
1장에서는 본문에서 사용할 구글 코랩(Google Colaboratory Colab)에 대해서 알아본다.
이어지는 2, 3장에서는 파이썬의 기초를 다룬다.
2장에서는 텍스트(문자열)를 다루는 데 필요한 파이썬의 기초를 배운다.
3장에서는 파이썬으로 텍스트를 다룰 때 쓸 수 있는 유용한 라이브러리에 대해서 배운다. 데이터 분석과 머신러닝에 광범위하게 쓰이는 판다스와 넘파이 라이브러리 핵심을 알아본다. 두 라이브러리 외에 많이 사용하는 사이킷런 라이브러리도 소개한다.
파이썬의 기초와 라이브러리 사용법을 배운 뒤, 이것들을 적용하고 응용해서 이후부터는 다양한 한국어 데이터에 파이썬을 적용해 본다.
4장에서는 텍스트 분석에 널리 쓰이는 분석 방법인 단어 가방(Bag of Words, BOW) 모형과 TF-IDF(Term Frequency-Inverse Document Frequency) 방법을 살펴본다.
5장에서는 뉴스 데이터라는 텍스트를 분류해 본다. 이 장에서는 연합뉴스 타이틀을 주제별로 분류해 본다. 제목을 놓고 그 범주를 맞춰본다. 단어 가방 모형을 사용해 텍스트를 학습시키고 분류한 결과가 정답과 일치하는지 확인해 본다. 이를 위해서 간단한 텍스트 분류를 통해 머신러닝 알고리즘이 학습할 수 있도록 단어를 수치화하는 방법, 머신러닝 모델을 통해 학습 및 예측하는 방법을 알아본다.
6장에서는 국민청원 데이터를 시각화해 데이터를 탐색해 본다. 국민청원 데이터를 판다스를 통해 데이터를 샬펴보고 KoNLPy와 soynlp로 특정 형태소를 추출하거나 제거해 본다. 그리고 머신러닝으로 텍스트 데이터를 이진 분류해 본다. 이를 진행하면서 텍스트 데이터 분석에 입문하고 간단한 머신러닝까지 활용해 본다.
7장에서는 120다산콜재단이라는 365일 24시간 상담 서비스를 제공하는 2007년 다산콜센터로 시작한, 서울시의 행정 상담 민원 서비스의 질문과 답변 데이터를 사용한다. 이 장은 두 가지 부분으로 구성되어 있다. (1.' 120다산콜재단' 데이터를 토픽별로 분석 시각화, 2.RNN, LSTM을 통한 모델링) 먼저 잠재 디리클레 할당을 통한 토픽 모델링으로 분석하고, 토픽 모델링을 시각화해 주는 pyLDAvis를 이용해 시각화해 본다. 그리고 학습, 시험 데이터를 분리해 RNN으로 모델을 만들어 학습시켜 본다.
책의 장점
이 책은 프로그래밍의 기초가 없는 사람에게 텍스트 분석을 위한 키워드를 제공해 줘서 텍스트 분석을 배우고 싶은 초보자들에게 유용하고 프로그래밍 자체를 너무 깊이 있게 다루지는 않아서 프로그래밍 초보자들도 배우기 유용한 책이다. 이 책은 구글 코랩(Google Colaboratory)을 이용해서 프로그래밍을 하는데 그로 인해 파이썬과 파이썬 라이브러리를 이미 설치해 제공하므로 사용하기가 편리하다. 또한 코드뿐만 아니라 설명, 이미지, 영상도 추가할 수 있다. 그리고 다른 사람에게 내 코드를 공유할 수 있으며, 내 계정과 다른 사람의 계정 구글 드라이브와도 호환할 수 있다. 돈을 낼 필요 없이 이 모든 것을 무료로 사용할 수 있는 장점도 있다. 코랩은 구글 계정과 크롬(Chrome)이라는 2가지만 있으면 사용이 가능하다는 편리한 점이 있다. 구글 코랩을 사용해서 컴퓨터에 따로 프로그래밍 환경을 설치할 필요도 없고 코드를 하나하나 입력할 필요도 없어서 쉽고 편리하게 실습할 수 있는 환경을 제공해 준다. 필요한 경우 코드 윗줄에 코드에 대한 설명을 주석으로 넣어 주어서 코드를 학습할 때 참고하기 좋다. 시중에 나와 있는 많은 프로그래밍 책들은 흑백으로 되어있는 경우가 많은데 이 책은 알록달록한 컬러로 되어있어서 눈이 편하고 눈을 즐겁게 만들어 준다. 시중에 많은 텍스트 분석 책과 인터넷 자료에는 영어 언어를 분석하는 책과 자료들이 많아서 한국어 텍스트 분석은 공부하기가 어려운 편인데 이 책은 한국어에 중점을 맞춰서 한국어 텍스트 분석을 공부 할 수 있는 기회를 제공해 준다. 만약에 이 책에서 어려운 자연과학, 사회과학, 응용과학(공학), 의학 저술, 논문과 같은 전문적이고 학술적인 텍스트 데이터 분석을 했다면 어렵고 흥미를 느끼기 어려웠을 것 같다. 그러나 이 책에서 제공하는 텍스트 데이터가 연합뉴스. 국민청원 데이터, '120다산콜센터 재단' 인프런 이벤트 댓글 분석과 같이 우리 일상에 흔히 접할 수 있는 데이터라서 쉽고 재미있게 분석할 수 있다. 예제로 제공한 텍스트 데이터 분석을 해서 실력을 기르고 이것을 기반으로 응용해서 나만의 새로운 텍스트 데이터 분석을 할 수 있게 도와준다.
책의 후기
나는 이 책에서 구글 코랩(Google Colaboratory Colab)을 처음으로 알게 되었다. 구글 코랩으로 구글 계정과 크롬 브라우저만 있다면 굳이 파이썬 홈페이지에 들어가서 파이썬을 설치하지 않고 파이썬으로 라이브러리를 다운받지 않아도 파이썬 프로그래밍을 할 수 있다는 것이 신기하고 놀라웠다. 실습을 빠르게 할 수 있어서 좋았다. 앞으로는 구글 코랩을 애용해 봐야겠다. 숫자가 아닌 텍스트 데이터에도 머신러닝을 사용할 수 있다는 것이 신기하기도 했고 텍스트 데이터를 수치 형태의 데이터로 변환하는 작업이 흥미로웠다. 또 유튜브에 저자의 무료 텍스트 분석 강의가 있어서 보면서 따라 할 수 있었다. 실습을 하면서 어려운 점도 있었고 이해가 잘 안되는 점, 막히는 점도 있었지만, 이것저것 찾아보고 다시 해보면서 조금씩 천천히 하다 보니 문제를 해결할 수 있었다. 열심히 해서 원하는 결과가 잘 나오면 기쁘고 뿌듯하기도 했다. 이 책에서 해본 텍스트 분석을 다른 사이트에 가서 다른 사이트의 텍스트를 모아서 해봐야겠다.