메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

오래된 내 정보 속 옥의 티를 찾아라(2022.9.22~12.31) / 회원정보 UPDATE하고 선물도 받고!

파이썬 라이브러리를 활용한 텍스트 분석

텍스트에서 통찰을 이끌어내는 98가지 자연어 처리 전략

한빛미디어

번역서

판매중

  • 저자 : 젠스 알브레히트 , 싯다르트 라마찬드란 , 크리스티안 윙클러
  • 번역 : 심상진
  • 출간 : 2022-10-11
  • 페이지 : 504 쪽
  • ISBN : 9791169210331
  • 물류코드 :11033
초급 초중급 중급 중고급 고급
4.8점 (24명)
좋아요 : 2

텍스트마다 적절한 분석 기법은 따로 있다!

당신의 경쟁력을 완성할 텍스트 분석 전략서 

 

텍스트에서 좋은 정보를 찾는 이가 뛰어난 경쟁력을 갖춘다. 머신러닝 기반 자연어 처리 기술이 발전함에 따라 다양한 텍스트 분석 기법이 속속 등장하고 있다. 수많은 기법 중에서 어떤 방법을 언제 어떻게 사용해야 유용한 정보를 얻어낼 수 있을까? 이 책은 유엔총회 일반토의 연설문부터 트위터, 로이터 뉴스 기사 등 다양한 데이터셋을 사용하여 상황별로 가장 유용한 텍스트 분석 기법을 소개한다. 실제 모범 사례를 기반으로 상황에 맞게 설계한 텍스트 전처리 파이프라인 구축, N-그램 분석, 텍스트 벡터화 등 다양한 전략으로 텍스트 분석과 자연어 처리를 정복해보자.

 

 

700px_상세이미지_파이썬 라이브러리를 활용한 텍스트 분석.jpg

 

젠스 알브레히트 저자

젠스 알브레히트

뉘른베르크 공과 대학 컴퓨터공학과 전임 교수다. 주된 분야는 데이터 관리 및 분석으로, 특히 텍스트에 중점을 둔다. 컴퓨터과학 박사 학위를 받고 업계에서 컨설턴트 및 데이터 설계자로 10년 이상 일한 뒤, 2012년 학계로 돌아왔다. 빅데이터 관리 및 분석에 관한 여러 편의 글을 기고했다.

싯다르트 라마찬드란 저자

싯다르트 라마찬드란

현재 소비재 산업용 데이터 제품을 구축하고 있는 데이터 과학자 팀의 리더다. 통신, 은행, 마케팅 산업 전반에 걸쳐 소프트웨어 엔지니어링 및 데이터 과학 분야에서 10여 년 경력을 쌓았다. 또한 테크크런치에 소개된 왓츠앱용 스마트 개인 비서 앱 기업 WACAO를 공동 설립했다. 인도 공과대학교 루르키 캠퍼스에서 공학 학사 학위를, 인도 경영대학교 코지코드 캠퍼스에서 MBA를 취득했다. 기술을 이용해 현업의 문제를 해결하는 일에 열정적이며 개인 프로젝트로 해킹을 하며 여가를 즐긴다.

크리스티안 윙클러 저자

크리스티안 윙클러

데이터 과학자이자 머신러닝 아키텍트다. 이론 물리학 박사 학위를 받고 20년 동안 대용량 데이터 및 인공지능 분야에서 일하며 대량 텍스트 처리를 위한 확장 가능한 시스템 및 지능형 알고리즘에 주력했다. 데이터나이징 유한회사를 창립하고 여러 컨퍼런스에서 강연하며 머신러닝/텍스트 분석을 주제로 다수의 글을 게재했다.

심상진 역자

심상진

국내 IT 대기업에서 자연어 데이터 분석 및 모델러로 활동 중이다. 물리학을 전공하고, 임베딩 소프트웨어 개발, 단백질 분자 모델링 연구 및 시스템 파이프라인 구축, 기상/지리 데이터 관련 시각화 및 관리 소프트웨어 방면에서 경력을 쌓았다. 데이터 분석을 평생의 업으로 생각하고 일에 매진하고 있다. 자연어 처리가 주 업무이며, 데이터 수집 방법과 레이블링의 효율적 처리 방법을 강구하는 중이다. BERT보다 작으면서도 효율적인 구성을 가진 모델을 연구하며, 자연어를 기계어에 일대일로 대응시킬 방법을 모색하고 있다. 무엇보다 얼마 전에 태어난 아기에게 애정 어린 관심을 쏟으며 연구를 게을리하지 않으려고 노력한다.

 

 

CHAPTER 1 텍스트 데이터에서 찾는 통찰

1.1 학습 목표

1.2 탐색적 데이터 분석

1.3 데이터셋: 유엔총회 일반토의

1.4 전략: 팬더스로 데이터 개요 확인

1.5 전략: 간단한 텍스트 전처리 파이프라인 구축

1.6 단어 빈도 분석을 위한 전략

1.7 전략: 컨텍스트 내 키워드 탐색

1.8 전략: N-그램 분석

1.9 전략: 시간 및 범주에 따른 빈도 비교

1.10 마치며

 

CHAPTER 2 API로 추출하는 텍스트 속 통찰

2.1 학습 목표

2.2 API

2.3 전략: 리퀘스트 모듈을 이용한 API 호출

2.4 전략: 트위피를 사용한 트위터 데이터 추출

2.5 마치며

 

CHAPTER 3 웹사이트 스크래핑 및 데이터 추출

3.1 학습 목표

3.2 스크래핑 및 데이터 추출

3.3 로이터 뉴스 아카이브

3.4 URL 생성

3.5 전략: robots.txt 파일 해석

3.6 전략: sitemap.xml 파일로 URL 획득

3.7 전략: RSS에서 URL 획득

3.8 데이터 다운로드

3.9 전략: 파이썬을 사용한 HTML 페이지 다운로드

3.10 전략: wget을 사용한 HTML 페이지 다운로드

3.11 반정형 데이터 추출

3.12 전략: 정규 표현식을 사용한 데이터 추출

3.13 전략: HTML 파서를 사용한 데이터 추출

3.14 전략: 스파이더링

3.15 밀도 기반 텍스트 추출

3.16 올인원 접근 방식

3.17 전략: 스크래피를 사용한 로이터 아카이브 스크래핑

3.18 스크래핑과 관련된 문제

3.19 마치며

 

CHAPTER 4 통계 및 머신러닝을 위한 텍스트 데이터 준비

4.1 학습 목표

4.2 데이터 전처리 파이프라인

4.3 데이터셋: 레딧 셀프포스트

4.4 텍스트 데이터 정리

4.5 토큰화

4.6 스페이시를 사용한 언어 처리

4.7 대규모 데이터셋에서 특성 추출

4.8 더 알아보기

4.9 마치며

 

CHAPTER 5 특성 엔지니어링 및 구문 유사성

5.1 학습 목표

5.2 실험을 위한 토이 데이터셋

5.3 전략: 자신만의 벡터화 객체 구축

5.4 단어 가방 모델

5.5 TF-IDF 모델

5.6 ABC 데이터셋의 구문 유사성

5.7 마치며

 

CHAPTER 6 텍스트 분류 알고리즘

6.1 학습 목표

6.2 데이터셋: JDT 버그 보고

6.3 전략: 텍스트 분류 시스템 구축

6.4 텍스트 분류를 위한 최종 코드

6.5 전략: 교차 검증을 사용한 현실적인 정확도 메트릭 추정

6.6 전략: 그리드 검색을 통한 하이퍼파라미터 조정

6.7 텍스트 분류 시스템 요약 및 결론

6.8 마치며

6.9 더 읽어보기

 

CHAPTER 7 텍스트 분류기

7.1 학습 목표

7.2 전략: 예측 확률을 사용한 분류 신뢰도 결정

7.3 전략: 예측 모델의 특성 중요도 측정

7.4 전략: LIME을 사용한 분류 결과 설명

7.5 전략: ELI5를 사용한 분류 결과 설명

7.6 전략: 앵커를 사용한 분류 결과 설명

7.7 마치며

 

CHAPTER 8 비지도 학습: 토픽 모델링 및 클러스터링

8.1 학습 목표

8.2 데이터셋: 유엔총회 일반토의

8.3 비음수 행렬 분해(NMF)

8.4 잠재 시맨틱 분석/인덱싱

8.5 잠재 디리클레 할당(LDA)

8.6 전략: 워드 클라우드를 사용한 토픽 모델 결과 비교

8.7 전략: 단락의 토픽 분포 및 시간 변화 계산

8.8 젠심을 사용한 토픽 모델링

8.9 전략: 클러스터링을 통한 텍스트 데이터 구조 파악

8.10 추가 아이디어

8.11 요약 및 추천

8.12 마치며

 

CHAPTER 9 텍스트 요약

9.1 학습 목표

9.2 텍스트 요약

9.3 전략: 주제 표현을 이용한 텍스트 요약

9.4 전략: 지시자 표현을 사용한 텍스트 요약

9.5 텍스트 요약 방법의 성능 측정

9.6 전략: 머신러닝을 이용한 텍스트 요약

9.7 마치며

9.8 더 읽어보기


CHAPTER 10 단어 임베딩으로 의미 관계 탐색

10.1 학습 목표

10.2 시맨틱 임베딩 케이스

10.3 전략: 사전 훈련된 모델에 유사한 질의 사용

10.4 자체 임베딩 학습 및 평가를 위한 전략

10.5 임베딩 시각화를 위한 전략

10.6 마치며

10.7 더 읽어보기

 

CHAPTER 11 텍스트 데이터를 이용한 감성 분석

11.1 학습 목표

11.2 감성 분석

11.3 데이터셋: 아마존 고객 리뷰

11.4 전략: 어휘 기반 감성 분석

11.5 지도 학습 접근법

11.6 전략: 텍스트 데이터 벡터화 및 지도 학습 알고리즘 적용

11.7 딥러닝을 사용한 사전 훈련된 언어 모델

11.8 전략: 전이 학습 기법과 사전 훈련된 언어 모델 사용

11.9 마치며

11.10 더 읽어보기

 

CHAPTER 12 지식 그래프 구축

12.1 학습 목표

12.2 지식 그래프

12.3 데이터셋: 로이터-21578

12.4 개체명 인식

12.5 상호 참조 해결

12.6 전략: 동시 발생 그래프 생성

12.7 관계 추출

12.8 지식 그래프 생성

12.9 마치며

12.10 더 읽어보기


CHAPTER 13 프로덕션에서 텍스트 분석

13.1 학습 목표

13.2 전략: 콘다를 사용한 파이썬 환경 구성

13.3 전략: 컨테이너를 사용한 재현 가능 환경 구성

13.4 전략: 텍스트 분석 모델을 위한 REST API 생성

13.5 전략: 클라우드 공급자를 사용한 API 배포 및 확장

13.6 전략: 빌드 버전의 관리 및 배포 자동화

13.7 마치며

13.8 더 읽어보기

이럴 땐 이렇게! 

98가지 분석 전략으로 텍스트를 정복하라

 

텍스트는 문맥에 크게 의존하고 있어 컴퓨터가 이해하는 데 많은 어려움이 있었다. 하지만 최근 들어 통계 기술과 머신러닝 알고리즘이 발전하며 텍스트를 분석하는 다양한 방식이 탄생했다. 그렇다면 이 많은 텍스트 분석 기법 중에서 내가 분석하려는 텍스트에 딱 맞는 방법을 찾을 수 있을까? 이 책은 저자들이 여러 비즈니스 영역에서 텍스트 분석 프로젝트를 진행한 경험을 바탕으로 텍스트에 맞는 분석 전략 98가지를 소개한다.

각 장에서는 API나 크롤링을 이용한 텍스트 수집, 정규표현식이나 인공지능을 활용한 유사 단어 탐색, 단어 사이 관계를 파악하는 지식 그래프 생성 같은 텍스트 분석의 모든 과정마다 필요한 다양한 전략을 소개한다. 이때 사용하는 데이터는 유엔총회 연설 데이터, 깃허브 이슈 모음, 커뮤니티 게시글 모음 등 실제로 마주할 수 있는 텍스트로 여러 상황이나 데이터에 적합한 맞춤형 분석 전략을 소개한다. 전략마다 넘파이(NumPy), 트랜스포머스(Transformers), 사이킷런(scikit-learn), 사이파이(SciPy), 스페이시(spaCy) 등 텍스트 분석에 필요한 라이브러리를 사용하며, 각자 가지고 있는 데이터와 요구 사항에 맞게 변경해 분석해볼 수 있도록 코드의 뼈대도 함께 제공한다. 지금 당장 새로운 정보를 알아내야 할 텍스트가 있다면 이 책에서 소개하는 적절한 전략을 찾아 텍스트를 정복하자.

 

 

대상 독자

  • 갖고 있는 텍스트에 적합한 분석법을 판단하려는 개발자
  • 빠르게 초기 결과를 만들어서 프로젝트의 성공 가능성을 검토하려는 기획자
  • 문제를 풀기 위한 베이스라인을 빠르게 작성해야 하는 데이터 과학자

 

주요 내용

  • API와 웹페이지에서 데이터를 추출하는 법
  • 텍스트 데이터를 통계 분석과 머신러닝에 사용할 수 있도록 전처리하는 법
  • 머신러닝을 활용한 분류, 주제 모델링, 요약 기법
  • 단어 임베딩을 활용한 구문 유사도 시각화 방법
  • 명명된 개체와 그 관계를 기반으로 한 지식 그래프 구축법

 

추천사

 

첫 리서치 때 이 책이 있었다면 큰 도움이 되었을 겁니다. 탄탄한 기초와 수많은 연구를 토대로 머신러닝을 비즈니스 프로젝트에 접목할 만한 예제가 많아 매우 실용적입니다.

_K.V.S. 딜립, 그레이아톰 개발자

 

엔지니어링 분야의 체계적인 요구와 데이터 과학의 반응적 특성을 매끄럽게 결합했습니다. 기업 프로젝트에 도입 가능한 해법과 혁신적인 기술, 탐색 시나리오를 균형 있게 소개합니다. 실력을 한 단계 높이고자 하는 데이터 엔지니어에게 추천합니다.

_크레이그 트림, 캐주얼리티 링크 시니어 엔지니어

 

구글링한 결과를 그대로 옮겨 적고 제대로 돌아가기만을 바랐다면, 이 책을 읽고 나서는 프로젝트를 완성할 코드를 바로 떠올릴 수 있을 겁니다. 소개하는 전략마다 명확한 이름이 붙고 코드를 중심으로 한 설명 덕분에 시간과 수고를 덜게 됩니다.

_니란트 카슬리월, Verloop.io

 

이 책은 오늘날 생산 시스템에서 수행되는 텍스트 분석 및 NLP 분야에 활용할 유용한 방법과 기술을 빠짐없이 포괄적으로 살펴봅니다. 현업에서 영감을 받은 데이터셋과 사용 사례를 통해 대규모 조직에서 마주할 복잡한 비즈니스 문제의 해결 방법을 통찰하게 됩니다.

_수딥 로이 챠우더리, Eugene.ai 창업자 겸 CEO

빅데이터에 대한 관심이 높다.
처음부터 원하는 데이터를 확보할 수 있으면 좋겠지만 그런 행운을 얻기란 쉽지 않다.
여러가지 데이터 유형 중 가장 쉽고(?) 간편하게 얻을 수 있는 데이터는 ‘텍스트'이다.

 

text.jpg

 

이 책 ‘파이썬 라이브러리를 활용한 텍스트 분석'은 텍스트 데이터와 관련있는 모든 프로세스를 설명하고 있다.
데이터 수집을 위한 웹사이트 스크래핑부터 시작해서 데이터 가공에 해당하는 전처리는 물론이고 그것을 활용한 분석 결과까지 보여주고 있다.
심지어 비지도 학습을 통해 모델링까지 만들 수 있다.
여기에 활용되는 라이브러리는 모두 파이썬으로 이루어져 있다.
데이터 분석을 위해 파이썬만 사용되는 것은 아니지만, 왜 파이썬을 데이터 분석에서 많이 사용하는지를 알 수 있었다.
아직 파이썬을 자유자재로 쓸 수 있는 것은 아니지만 이 책을 보면서 파이썬의 강력함과 다양성에 다시 감탄하고 있다.

‘영어'위주의 내용이라 ‘한글'을 적용하기에는 조금은 다른 방법을 찾아봐야 한다는 것이 아쉬웠다.
자연어 처리가 결코 그리 녹녹치 않음을 다시 한번 느낀다.
그럼에도 ‘텍스트 분석'에 대한 전반적인 과정을 모두 경험해 볼 수 있어서 좋다.
머신러닝도 그 과정 중 일부이기에 함께 공부할 수 있다.
이 책을 가이드 삼아 각 단계별로 심화 학습을 하면 좋을 것 같다.

[한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.]
 

NLP를 개인 프로젝트에 적용할 수 있도록 안내하는 책

 텍스트를 기반으로 한 AI 모델을 만들고자할 때 이 책으로 도움을 받을 수 있다. 일기나, 말투를 기반으로 사람의 감정을 분석하는 서비스나, 문법 자동 완성 서비스 등등 사람의 말을 기반으로 AI 모델을 학습하여 제공할 수 있는 서비스는 NLP를 기반으로 한다.  

개인적으로 졸업프로젝트로 NLP를 공부해야하는 상황이었는데 우선 NLP 모델을 만들어 학습하기 전에 원하는 모델을 학습하기 위한 데이터를 준비하는 과정부터 난감하였다. 데이터를 어디서 끌어와야할지, 크롤링을 한다면 어떻게 시작해야할지 그런데 이 책은 데이터를 준비하는 과정(크롤링)부터 모은 데이터들로 할 수 있는 다양한 NLP 모델들을 소개한다. 또한 모델의 성능을 높일 수 있는 방법을 차례대로 알려준다.  

이 책을 읽으면서 가장 좋았던 점은 NLP만 덩그러니 알려주는 것이 아닌 데이터를 수집하는 과정부터 소개하기 때문에 개인 프로젝트에 쉽게 응용할 수 있겠다는 점과 성능을 발전시킬 수 있는 방법이 제시되어 있다는 점이었다. 

물론 유의해야할 점도 있는데 머신러닝에 대한 기초지식이 없다면 이 책은 읽기 어려울 수 있다. 머신러닝에 대한 기초지식이 있고 특히 NLP 모델을 만들고자할 때 이 책을 읽으면 좋을 것 같다. 또한 한국어 기반의 모델을 만들고 싶다면 조금의 개인적인 노력을 더해야 한다는 점도 염두에 두는 것이 좋다. (이 책의 예제는 영어 문장이기 때문에)

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

NLP 분야는 Transformer 기반의 언어 모델을 필두로 빠르게 발전하고 있는 상태입니다. Hugging face를 비롯해서 온라인으로 공유되는 여러 Transformer 모델과 튜토리얼은 학습자 입장에서 무척 편리합니다. 관련 경험이 별로 없는 사람이더라도, 몇 시간만 투자하면 사전 학습된 언어 모델을 Fine-tuning하여 손쉽게 본인에게 필요한 Task를 수행하는 모델을 구축할 수 있습니다.

 

당장 모델 구축이 필요한 상황이라면 이 책은 그리 큰 도움이 되지 않을 수도 있습니다. 한, 두개의 작업을 진득하게 설명하는 책이 아니기 때문입니다. 대신, 이 책은 보다 폭넓은 수많은 자연어 처리와 텍스트 분석 케이스에 대한 해답과 해결 과정을 제시합니다. 즉, 자연어 처리 전반에 대한 지식과 활용 케이스를 익히고자 하는 학습자에게 큰 도움이 될 수 있는 책입니다.

 

약 100페이지 이상을 할애하여 데이터셋 구축과 관련된 내용을 다루는 점은 특히 인상적이었습니다. 자주 등장하는 웹 스크래핑 라이브러리 뿐만 아니라, Tweepy를 비롯해 다양한 상황에서의 데이터셋 수집과 구축을 위한 라이브러리를 소개하고, 그 외의 대안까지 제시합니다. 이 과정에서 기본적인 전처리 과정까지 다루고 있기에, 5~6장까지 진행하면 학습자는 기본적인 자연어 처리 지식을 습득할 수 있습니다.

 

이후에는 기성 자연어 처리 모델들부터 시작하여, Transformer 모델까지, 일반적인 자연어처리 관련 도서와 비슷한 구성을 취합니다. 하지만 여기서도 분명한 차별점은 존재합니다. 예를 들어, 11장의 텍스트 데이터를 이용한 감성 분석 파트의 경우, 기존 도서 또는 웹 상의 여러 튜토리얼은 상당수가 BERT 등의 모델을 활용하여 Fine-tuning을 통해 손쉽게 감성 분석을 해내는 모델을 구축하는 것을 다룹니다. 하지만 이 책은 케이스 별로 문제를 해결하기 위한 여러 방안을 소개합니다. 

 

해당 파트의 경우, 아마존 고객 리뷰의 감성 분석을 위해, 먼저 어휘집을 사용하는 어휘 기반 감성 분석을 이용합니다. 이후, 더 좋은 성능을 낼 수 있는 지도 학습 접근법으로 SVM을 활용하며, 마지막으로 BERT를 이용한 Fine-tuning 기반의 감성분석 모델을 훈련 시킵니다. 

즉, 주어진 문제를 해결할 수 있는 가장 강력한 방법만을 제시하는 것이 아닌, 기성 방법론까지 제시하면서 독자가 텍스트 분석의 토대를 쌓을 수 있는 콘텐츠를 충분히 제공합니다. 또한, 문제에 따라 시간과 자원이 많이 필요한 딥러닝 모델을 사용하는 것이 반드시 정답은 아닐 수 있기에, 여러 엔지니어링 기법과 방법론을 충실히 제공한다는 점이 무척 마음에 들었습니다.

 

NLP 분야에서 Transformer 모델이 이미 범접할 수 없는 성과를 내고 있기에, 아예 Transformer만을 중점적으로 다루는 책도 다수 등장하고 있습니다. 당장 필요한 SOTA 모델을 학습하는 것도 중요하지만, 이에 못지 않게 기초부터 차근차근 다져가며 관련 지식을 쌓는 것 또한 중요하다고 생각합니다. 이제 막 첫걸음을 떼어 가시는 NLP 학습자 분들, 혹은 저처럼 NLP의 기본기를 다져가며 한층 더 관련 지식을 확장할 필요성을 느끼는 기존 학습자 분들 모두에게 추천 드릴만한 좋은 교재인 것 같습니다.

 

 

본 리뷰는 한빛미디어의 도서 서평단 <나는 리뷰어다 2022> 프로그램의 일환으로, 무상으로 도서를 증정 받고 작성된 리뷰임을 고지합니다.

(해당 포스트에서 소개하고 있는 "파이썬 라이브러리를 활용한 텍스트 분석" 책은 한빛 미디어로부터 제공받았음을 알려드립니다.)

 

파이썬 라이브러리를 활용한 텍스트 분석

분석하려는 텍스트에 맞는 처리 기법을 소개하는 도서로 실제 모범 사례를 기반으로 상황에 맞게 설계한 텍스트 전처리 파이프라인 구축, N-그램 분석, 텍스트 벡터화 등 다양한 전략과 그때 필

hanbit.co.kr

인공지능이 실생활에 적용되는 분야를 꼽으라면 대표적인 분야가 보통 NLP로 표현되는 자연어처리일 것이다. 몇년전만 해도 뭔가 시대를 앞서나가는 듯한 사례를 제공했던 AI assistant도 이제 다양한 업체에서 제공하는 대표적인 케이스가 되었고, 이밖에도 사용자의 감정을 이해하고 어떤 상품을 추천하는데 있어서 자연어처리는 이런 기술들을 실제로 실현시킬 수 있는 핵심 기술이 되었다.

파이썬 라이브러리를 활용한 텍스트 분석

이번에 다루는 책도 역시 이 자연어처리에 관련된 내용을 다루고 있다. 그런데 일단 책의 내용을 다루기 전에 책 제목에 대해서 언급하고 싶은게 있다. 사실 이 책의 원제는 Blueprints for Text Analytics Using Python 라는 제목을 가지고 있는데 직역을 하자면 파이썬을 활용한 텍스트 분석에 대한 청사진을 뜻한다. 제목만큼이나 이 책에서는 다양한 라이브러리와 어떻게 보면 머신러닝과 딥러닝을 활용한 자연어 처리에 대한 내용을 풍부하게 담고 있다. 그런데 한국어판에서는 파이썬 라이브러리를 활용한 텍스트 분석이라는 제목을 가졌는데, 사실 시중에 나와있는 대부분의 자연어처리 책들이 대부분 파이썬 라이브러리를 사용한다. 어떻게 보면 책이 가진 특징을 잘 못 살린 케이스가 아닌가 싶다. 물론 이런 제목을 가진 나름의 이유가 있겠지만..

아무튼 이 책은 말한대로 텍스트 분석에 필요한 전처리 기법 및 머신러닝을 통한 기본적인 분류 기법, 더 나아가 transformer를 활용한 감정 분석, knowledge graph와 같은 고급 기법들에 대한 소개가 다뤄진다. 단순히 이론적인 설명만 기술되어 있는 것이 아니라 이론 내용을 직접 다뤄볼 수 있는 예제가 같이 제공되는데, 생각보다 이 예제의 퀄리티가 좋다고 생각한다. (실제로 원서의 평에도 github을 통한 예제를 통해서 내용 이해가 쉬웠다는 내용이 있기도 하다.) 그리고 개인적으로는 물론 이론적인 내용도 어려운 부분이 있겠지만, 자연어처리를 실제로 다루면 어려운 부분 중 하나가 주변 라이브러리 사용법이 너무 복잡하다는 것인데, 이 책은 그런 부분에 대한 설명도 포함하면서 뭔가 응용을 할 수 있는 여지도 제공한다. 참고로 이 책에서는 자연어처리를 위한 라이브러리로 spaCy나 Gensim, NLTK 등을 사용했고, (아 여기까지 읽다보니까 어떻게 보면 이 관점에서 제목을 지었을 수도 있었겠다 하는 생각이 들기도 했다.) 혹시라도 이 부분이 궁금한 사람은 출판사에서 제공하는 미리보기에 각 장별 사용 라이브러리와 데이터셋에 대한 기술이 요약해서 되어 있으므로 한번 보면 좋을것 같다. 이론적인 내용을 떠나 마지막 장에서 다루는 클라우드 환경에서 데이터 분석을 할 수 있는 방법에 대해서 소개되어 있는 부분은 진짜 현업에서 활용할 수 있을 법한 내용을 다뤘기에 해당 분야로 일하는 사람들에게는 조금 더 현실적인 내용이 되지 않을까 생각한다.

[나의 한줄 추천사]

- 자연어 처리 분야는 실무에서 가장 필요한 머신러닝의 기술중에 하나일 것이다. 자연어 처리의 청사진이 드디어 나왔다.

[책 추천 이유]

- 한국어 자연어 처리 책들은 많이 나와 있는데, 오히려 "영문 자연어 처리" 는 드문 것 같다. 이 책의 예제코드들은 "영어" 기반의 자연어 처리이며, 바로 실무에 적용할 수 있도록 설명과 코드들을 제공하고 있다.

[내가 찾고자 했던 질문들]

1. 자연어 처리 분야에 필요한 기술들은 어떻게 있나?

- 데이터 수집 : 웹스크래핑, Open API 이용

- EDA : N그램을 이용한 단어 빈도 분석, 빈도 타임라인 생성, 빈도 히트맵 생성

- 전처리 : 언어감지, 맞춤법 검사, 토큰 정규화

- 모델링 : 워드 임베딩, 유사도 측정, 텍스트 분류, 텍스트 클러스터링 (비지도 학습), 텍스트 요약, 텍스트 감정분석, 지식그래프 구축

- 모델 배포 : 컨테이너 생성, Rest API 서버 구축, 배포 자동화

2. 데이터 분류 작업을 수행하려는데 데이터 불균형한 상태이다. 해결 방법은?

- 클래스의 불규형 문제는 upsampling (oversampling), donwsampling, SMOTE (oversampling 일종) 있는데, 대부분 클래스의 양을 한쪽으로 맞추는 방식이라고 보면 된다. 데이터의 질은 어느 정도 Trade Off 가 필요하며, 실험을 통해서 적합한 방법을 찾아내야 하겠다. 

3. 자연어 처리 분야에서 가장 많이 쓰이는 "감정 분석"은 어떻게 이뤄지나?

- 어휘 기반의 감정분석 사용

- 머신러닝 분류 사용

- 딥러닝을 사용한 사전 훈련된 언어 모델 사용

 

 

4. 챕터 실습을 하고 싶다면?

https://github.com/hanbit/blueprints-text

 

 

 

 

 

파이썬으로 자연어 처리를 하고 싶다면

공부해볼만한 책 한 권을 소개하고자 한다.


표지

 

원서 제목은 다음과 같다.

"Blueprints for Text Analytics Using Python"


초판


발행한지 얼마 안된 따끈따끈한 책이다.


원서는 2020년 12월에 출간되었으니

약 2년의 시차가 있어서 조금 아쉽기는 하지만

지금 공부하기 해서 활용하는데에는 부족함이 없다.


독자

 

이 책은 텍스트 분석에 대해서 처음 접하는 분들이 아니라

텍스트 분석을 실제 구현하고자 하는 분들을 위한 책이다.


제약

 

다만, 기본적으로 영어를 기반으로 하기 때문에

한글 텍스트 분석을 위해서는

추가적인 학습이 필요하긴 하다.


원서와 2년의 차이가 있는데,

이왕이면 실습 코드만이라도 한글 지원을 추가해줬으면

훨씬 더 좋았을 것 같다.


챕터 개요

 

각 챕터(장)에서 어떤 데이터셋을 사용하고

어떤 라이브러리를 이용했는지

깔끔하게 정리를 해줘서

필요할 때 손쉽게 찾아볼 수 있다.


추천 도서

 

이 책에서는 기본적인 이론 등에 대해서 설명해주지 않기 때문에

추가적으로 공부하면 좋을 책들을 추천해주고 있다.


심지어 한빛미디어 출판이 아닌 책도 추천을 해준다 ^^


본문

 

책은 아쉽게도 흑백이다.

컬러 추종자로써 조금 아쉽다 ^^


원서 eBook을 보면 컬러로 나오던데...


구성

 

각 챕터(장)별로

학습목표와 데이터셋에 대한 설명을 해준다.


해당 챕터에서 뭘 하고자 하는 것인지

어떤 데이터를 가지고 하는 것인지

설명을 해주기에 공부할 때 많은 도움이 된다.



그리고, 중요한 실습 코드 !!!


https://github.com/blueprints-for-text-analytics-python/blueprints-text


실습 코드

각 챕터별로

README.md

내용을 너무나 예쁘게 잘 작성해줘서 기분이 좋았다.


JupyterNotebook


JupyterNotebook 파일도 깔끔하게 작성되어 있다.


사실 책 내용을 보면 책에서 설명하고 있는 내용이

JupyterNotebook 파일에 작성되어 있으면

공부할 때 훨씬 더 손쉽게 접근할 수 있을 것 같지만...

그것까지 바라는 것은 욕심인 것 같기도 하고...



NLP에 대해서 기본적인 사항을 공부한 다음

실제 코드로 만져보고 싶은 분들에게는

엄청 유용한 도움이 될 책이다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."




[도서 소개]

텍스트마다 적절한 분석 기법은 따로 있다!

당신의 경쟁력을 완성할 텍스트 분석 전략서

텍스트에서 좋은 정보를 찾는 이가 뛰어난 경쟁력을 갖춘다. 머신러닝 기반 자연어 처리 기술이 발전함에 따라 다양한 텍스트 분석 기법이 속속 등장하고 있다. 수많은 기법 중에서 어떤 방법을 언제 어떻게 사용해야 유용한 정보를 얻어낼 수 있을까? 이 책은 유엔총회 일반토의 연설문부터 트위터, 로이터 뉴스 기사 등 다양한 데이터셋을 사용하여 상황별로 가장 유용한 텍스트 분석 기법을 소개한다. 실제 모범 사례를 기반으로 상황에 맞게 설계한 텍스트 전처리 파이프라인 구축, N-그램 분석, 텍스트 벡터화 등 다양한 전략으로 텍스트 분석과 자연어 처리를 정복해보자.

 

[대상 독자]

- 갖고 있는 텍스트에 적합한 분석법을 판단하려는 개발자

- 빠르게 초기 결과를 만들어서 프로젝트의 성공 가능성을 검토하려는 기획자

- 문제를 풀기 위한 베이스라인을 빠르게 작성해야 하는 데이터 과학자

 

[주요 내용]

- API와 웹페이지에서 데이터를 추출하는 법

- 텍스트 데이터를 통계 분석과 머신러닝에 사용할 수 있도록 전처리하는 법

- 머신러닝을 활용한 분류, 주제 모델링, 요약 기법

- 단어 임베딩을 활용한 구문 유사도 시각화 방법

- 명명된 개체와 그 관계를 기반으로 한 지식 그래프 구축법


[추천사]


  • K.V.S. 딜립 (그레이아톰 개발자)
    첫 리서치 때 이 책이 있었다면 큰 도움이 되었을 겁니다. 탄탄한 기초와 수많은 연구를 토대로 머신러닝을 비즈니스 프로젝트에 접목할 만한 예제가 많아 매우 실용적입니다.

  • 크레이그 트림 (캐주얼리티 링크 시니어 엔지니어)
    엔지니어링 분야의 체계적인 요구와 데이터 과학의 반응적 특성을 매끄럽게 결합했습니다. 기업 프로젝트에 도입 가능한 해법과 혁신적인 기술, 탐색 시나리오를 균형 있게 소개합니다. 실력을 한 단계 높이고자 하는 데이터 엔지니어에게 추천합니다.

  • 니란트 카슬리월 (Verloop.io)
    구글링한 결과를 그대로 옮겨 적고 제대로 돌아가기만을 바랐다면, 이 책을 읽고 나서는 프로젝트를 완성할 코드를 바로 떠올릴 수 있을 겁니다. 소개하는 전략마다 명확한 이름이 붙고 코드를 중심으로 한 설명 덕분에 시간과 수고를 덜게 됩니다.

  • 수딥 로이 챠우더리 (Eugene.ai 창업자 겸 CEO)
    이 책은 오늘날 생산 시스템에서 수행되는 텍스트 분석 및 NLP 분야에 활용할 유용한 방법과 기술을 빠짐없이 포괄적으로 살펴봅니다. 현업에서 영감을 받은 데이터셋과 사용 사례를 통해 대규모 조직에서 마주할 복잡한 비즈니스 문제의 해결 방법을 통찰하게 됩니다.



[서평]

 이 책은 데이터 과학자와 개발자가 텍스트 분석 및 자연어 처리를 비즈니스에 쉽게 도입할 수 있게 도와준다. 비즈니스에서 활용할 수 있는 전략을 소개하고 이를 직접 적용할 수 있는 솔루션에 대해서 배울수 있다. 전략은 문제에 일반적으로 적용할 수 있는 해법으로, 쉽게 복사하고 조정할 수 있는 템플릿을 제공해 해결하려는 문제에 코드를 재사용 할수 있다. 현업에서 실제 도입할 수 있는 모든 전략은 데이터 분석, 자연어처리, 머신러닝 전용 파이썬 프레임워크를 사용하고 기본적인 모델과 알고리즘을 배울수 있다. 파이썬 라이브러리를 활용한 텍스트 분석에서는 자연어 처리 모델에 대해서는 자세히 다루지는 않지만 입문하는데 필요한 정도의 기본 내용은 다루고 있다. 다양한 솔루션 접근 방식을 설명하고 각각의 장단점에 대해서 배울수 있다. 특정 종류의 문제에 대해서 해결하는 방법을 배우면서 데이터 및 요구 사항에 맞게 변경해 코드를 재사용 할수 있는 응용력을 기를수 있을것이라 생각한다. 

 

 

 "한빛미디어 리뷰어 활동을 위해서 책을 제공받아 작성된 서평입니다."


오늘 리뷰할 도서는 [파이썬 라이브러리를 활용한 텍스트 분석] 이다.

 
 
 

표지 IMG_20221127_200859.jpg

 

 
뭔가 분석을 한다는 것은 어렵고 복잡하기도 하지만 때로는 재미 있고 흥미 진진하기도 하다.
 
내가 경험한바로는... 
 
- 이미지 분석 -> 어렵고 복잡

- 텍스트 분석 -> (이미지 분석에 비해 덜 어렵고) 재미 있고 흥미 진진
 
물론 개인차가 많이 있긴 하겠지만... 어쨌든 이 책은 텍스트 분석에 대한 거의 모든 내용을 다루고 있다(내가 아는 한에서).
 
텍스트 분석을 위한 기본적인 이론과 텍스트 데이터 수집, 추출 등의 기본적인 내용에 대해서도 모두 설명하고 있으며,
 
머신러닝과 다양한 알고리즘에 대해서도 다루고 있다. 특히 8장의 비지도 학습에 대한 내용은 좀 의외였다.
 
텍스트 분석을 하는데 비지도 학습을 이용한다고? 내용이 어려워서 이해를 다 하기는 어렵지만 다른 챕터들도 신선했다.
 
마치 요즘 인공지능으로 많이 구현해서 사용한다던 기능들이 하나의 챕터들로 자리 잡고 있는거처럼 보였다.
 
마지막 13장은 대부분 부록처럼 구성해서 딱히 안보는 경우가 많은데, 이 책의 마지막은 실무에서 텍스트 분석을 
 
적용하기 위한 부분에 대해서도 다루고 있어서 좋았다.
 
아 챡운 초급자용이 아닌 초중급자용이므로 내용이 쉬운 편은 아니었다. 
 
또한 알고리즘이 모델 관련해서는 수학적인 내용도 상당히 필요하므로 역시나 어려운 내용이다.
 
분량은 500페이지가 넘어가므로 많은 내용을 담고 있어서 좋았지만,
 
한국어 처리에 대한 내용이 전혀 없다는 것과,
 
아래 보이는 히트맵이나, 워드 클라우드는 무조건 컬러 인쇄로 봐야 하는것인데 흑백이라서 조금 아쉽다.
 
 

흑백 이미지 9.png

 

 
마무리 하자면, 텍스트 분석에 관심이 있다면 이 책을 꼭 보시라. 

텍스트 분석에 대한 많은 부분을 다루고 있어서 좋은 책이라고 생각한다.
 
 
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

OpenAI의 DALL-E 2나 구글의 Imagen, Stability AI의 Stable Diffusion과 같은 text-to-image 딥러닝 인공지능 모델의 등장과 해당 모델들이 보여주는 놀라운 수준의 결과물들로 인해 덩달아 NLP(Natural Language Processing, 자연어 처리)에 대한 관심도 아주 높아진 듯 합니다. NLP 를 다루는 다른 책들이 보통 기본적인 개념과 내용부터 차근차근 다루는 것과 다르게 이 책은, 뭐랄까 비유하자면 마치 수능 유형별 기출문제집을 보는 느낌으로 구성되어 있습니다. Pandas 를 활용한 비교적 단순한 통계적 탐색 부터 Transformers 를 이용한 딥러닝 모델을 이용한 제품 리뷰 분석까지 현업에서 다루게 되는 대부분의 NLP 문제 해결 패턴을 설명하고 있습니다.

 

사실 명확한 결과를 보여주는 영상과는 다르게 문자를 다루는 영역은 상대적으로 흥미를 잃기 쉬운 편인데, 이 책은 실무에서 당면하게 될 문제 유형에 따라 시행착오를 줄이고 빠르게 따라갈 수 있게 내용이 구성되고 최적화 되어 있어, 집중력을 잃지 않고 보다 잘 따라갈 수 있다는 느낌을 받았습니다. 서론에서 역자가 밝히고 있듯 아쉽게도 한글에 대한 처리는 다루고 있지 않지만, 현업에서 관련 경험이 없는 상태에서 NLP 관련한 업무를 진행하게 된다면 이 책이 아주 훌륭한 길잡이가 될 것이라 생각합니다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

분석에 필요한 텍스트를 수집하는 방법부터 시작해서 텍스트에서 여러 가지 방법을 통해 정보를 추출하고, 머신러닝을 통하여 분석하는 과정까지 담고 있다. 모든 코드는 깃헙을 통해 직접 실습해 볼 수 있다. 각 장마다 다른 여러가지 데이터를 사용하여 각 데이터에 따라 맞는 전략을 설명한다. 각각의 데이터를 활용하여 풀 수 있는 문제, 문제를 풀기 위해 필요한 라이브러리와 전략을 다양하게 소개하여 실제 비즈니스에서 발생하는 다양한 문제에도 쉽게 적용할 수 있다. 


1-3장에서는 다양한 데이터셋을 수집하는 방법,

4-5장에서는 텍스트를 머신러닝에 활용하기 위해 정제하고 처리하는 방법,

6-12장에서는 수집한 텍스트를 머신러닝을 통해 분류, 요약 등의 테스크를 수행하는 과정,

13장에서는 프로덕션에서 텍스트 분석을 사용하는 방법을 담고 있다.


한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

인공지능 기술에 대한 접근성이 낮아지면서, 그 기술을 활용할 수 있는 도메인들이 많이 늘어났습니다.

대충 어느 분야에서 일하는지/관심을 갖는지에 따라 사용할 수 있는 부분이 다르긴 하지만, 전통적으로는... 신호처리나 영상 부분 혹은 전처리 과정을 통해서, 구조적 데이터로 정리된 데이터의 분류/군집/회귀(예측) 등을 위해 사용되고 있죠.

이 책은, 그 중, 자연어 문서를 처리하기 위한 방법에 대해 이야기하고 있습니다.

사실, 알파고가 나오기 전까지, 바둑은 컴퓨터가 사람을 이길 수 없다고 했었지만, (게임트리의 복잡성 때문에, 컴퓨터가 수읽기를 제대로 할 수 없다는 것이 당시 전문가들의 의견이었죠), 실제로 해 보니까 사람을 뛰어넘었죠.

이전 심볼릭 방법을 통해, 명목지(Explicit Knowledge)를 만드는 것이 목적이었던 클래식 AI를 하던 사람들이 말하던, "사람이 잘 할 수 있는 일" vs "기계가 잘 할 수 있는 일" 의 개념이 무너지기 시작한 것이죠.

자연어 처리의 복잡성 때문에, 기계가 하기에는 어렵다고 생각했던 일, 그래서, 언어학자의 지식을 어떻게 AI로 만들어야 할 것인지에 대한 문제가, 어느 순간, 그냥 자연어를 데이터로 처리해버려도 동작해버리는 결과가 나와버린 것이죠.

 

자연어 처리 능력의 놀라움은 사실, 옛날부터 인공지능을 해 왔던 사람들에게나 놀라운 일이지, 2010년 이후에 AI 기술을 접한 사람들에게는, 당연한 일인지도 모르겠습니다.

 

각설하고,

이 책은 텍스트를 처리하기 위한 기술을 13개의 챕터를 통해 알려줍니다.

챕터 1에서는 가장 기본적인 텍스트 분석의 배경인, 단어를 찾고, 빈도수를 재고, 단어들 사이의 관계를 계산하는 방법을 소개합니다.

챕터 2에서는 트위터 데이터를 가져오기 위한 API 사용법을 소개합니다.

챕터 3에서는 웹스파이더를 통해 공개된 데이터를 자동으로 가져오는 방법을 이야기합니다.

챕터 4에서는 팬더스를 이용해, 텍스트 데이터에서 단어를 뽑아내는 방법, 그리고 단어를 구분하기 위한 토큰화 방법과 관련된 이야기들 (불용어제거, 형태소, 어근 찾기, 개체명 찾기)에 대해서 이야기를 합니다.

챕터 5에서는 지금까지 본 내용을 바탕으로 간단한 실습을 해 봅니다. 이 실습이라는 것은 실제 스크레치 빌딩을 통한 실습이 아니라, 알려진 텍스트 라이브러리를 사용하는 부분입니다.

챕터 6과 7에서는 텍스트를 분류하는 방법을,

챕터 8에서는 토픽맵을 이용한 군집화 방법을,

챕터 9에서는 텍스트를 요약하는 방법을,

챕터 10에서는 최신(이라고 하기에는 이미 그 시작은 한참된 기술이죠) 기술인 단어 임베딩 기법을

챕터 11에서는 감성 분석하는 방법을

챕터 12에서는 지식그래프 그리는 방법을

챕터 13에서는 실전에서 텍스트를 분석할 때 주의해야 할 점들을

 

이야기하고 있습니다.

확실히, 텍스트 분석을 하는데 필요한 주요 텍스트 분석의 주제들과 해당 주제를 해결하기 위해 잘 알려진 라이브러리들을 사용하는 방법을 말해주고 있는 책이었습니다.

하지만.. 라이브러리 사용에 대한 부분에 좀 더 힘을 주고 있어서, 실제, 그 라이브러리의 함수가 어떻게 문제를 해결하고, 함수를 호출할 때 사용하는 파라메터의 종류와 각 종류의 의미에 대한 설명.. 즉 이론에 대한 설명 부분은 부족했습니다.

"어떻게 하는지는 알려주지만, 왜 그렇게 해야 하는지는 나중에 직접 찾아봐라"

라고 말하는 책이었습니다. 하지만, 원래 텍스트 분석이라는 분야가 너무 방대하기 때문에, 500페이지도 안되는 책 한권에 더 많은 것을 기대하는 것 자체가 무리긴 하죠. 현실적으로, 텍스트분석에 대한 입문서로는 최고의 책이 아닐가 싶었습니다.

하지만, 더 큰 문제는, 이 책은 영어로 된 텍스트를 기준으로 한다는 거죠. 그리고 한글과 영어는 다른 체계라는 것입니다. 이 책의 내용을 따라할 때, 텍스트의 언어가 바뀌면, 기대하는 결과가 나오지 않게 됩니다. 한글 처리를 하기 위해서는 다른 방법을 사용해야 한다는 점은 명심하고 해야 할 것입니다.

한글 자연어 처리를 원한다면, 이 책 말고 다른 책을 보시는 것이 맞지만, 텍스트 분석에 대한 프랙티컬 수준에서의 입문서를 찾는다면, 이 책만한 것이 없다고 할 수 있습니다.

-------------

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

-------------

 

파이썬을 바탕으로 AI개발은 이세돌과 알파고 대전 이후 많은 분야에서 투자도 하고 인력도 늘리는 추세이다.

 

비단 강화 학습뿐만 아니라 자연어 처리 등 다양한 분야에 기대가 큰 상황 속에 꾸준히 관심을 두는 분야는 텍스트 부분인데요.

텍스트 분석을 처음 접하는 분들에게 추천해 드릴만한 책이 있어서 소개해드리려고 합니다.

 

바로 ‘파이썬 라이브러리를 활용한 텍스트 분석’입니다.

 

이 책은 뉴스 등 텍스트 데이터 분석할 방법들이 상세히 서술돼 있어서 초보자분들도 쉽게 이해할 수 있습니다.

그럼 두 가지 정도로 요약해 보도록 하겠습니다.

 

 

02-.jpg

 

 

1) 데이터 수집 > 데이터 전처리 > 데이터 분석 > 시각화

데이터 처리를 할 때 제일 어려운 부분은 분석할 데이터가 없는 것입니다.

 

그럴 때 다른 곳에서 몰래 가져와서 쓰면 저작권에 위배될 수도 있어서 꺼림직하죠.

 

데이터를 관리하는 분이나 분석할 때는 어떻게 수집할지 있는 데이터를 어떻게 가공할지 생각을 많이 하는 게 중요합니다.

 

어떻게 생각을 할 수 있을까요?

이 책을 통해서 보면 데이터를 추출하는 개념부터 API 등에서 가져오는 방법까지 상세히 설명해 줍니다.

 

전체 사이클 한번 보는 것과 안 보는 것은 개념을 잡는 데 있어서 큰 차이가 납니다.

 

전체적인 그림을 이 책을 통해서 분석이 처음인 분들에게 추천합니다.

 

 

03-.jpg

 

 

2) 영어 참 좋지만, 여긴 ‘한국’

이 책에 아쉬운 점은 한국어에 대한 분석이 없는 점입니다.

 

세계 공용어라 영어로 된 분석 자료들은 즐비합니다.

 

논문들만 봐도 한국어로 된 좋은 논문을 찾기 어려운 것처럼 말이죠

 

하지만, 한국에서 비즈니스를 할 때 어순 문제, 말뭉치 문제 등 이슈가 크게 다가올 것입니다.

그러한 점들은 차차 영어로 된 베이스에서 텍스트 분석을 해보시면서 맥락을 이해하시고 다양한 데이터들을 수집한 후 도전해 보시면 쉽지는 않지만 노하우가 쌓이겠다고 생각합니다.

 

01-.jpg

 

 

Ps

오랜만에 텍스트 분석에 관련된 책을 읽었는데요.

다양한 라이브러리를 쓰는 방법을 잘 설명해 주고 있어서 좋았고 코드 들도 쉽게 작성돼 있어서 실습하기 편했습니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”



 

 

[BOOK] 파이썬 라이브러리를 활용한 텍스트 분석  - 젠스 알브레히트, 싯다르트 라마찬드란, 크리스티안 윙클러 지음 / 심상진 옮김
 

2022-11-22 22.25.35.jpg

 

부제: "텍스트에서 통찰을 이끌어내는 98가지 자연어 처리 전략"
 
세상에는 다양한 데이터들이 있지만 인류가 가장 오랜기간 쌓아온 데이터가 있습니다.
문자, 글. 바로 텍스트입니다.
텍스트를 분석하는 것은 컴퓨터가 잘 할까요? 사람이 잘 할까요?
아마 사람이 더 잘 할 겁니다. (모국어로 작성된 글에 한정해서?)
단어의 의미, 문법이 정리되어 있지만 텍스트 속에서 변화가 심합니다.
이런 변화를 컴퓨터는 쉽게 알 수 없기 때문에 텍스트를 분석하는 것을 잘 못합니다.
컴퓨터를 활용해서 텍스트를 분석하는 것을 '자연어 처리(Natural Language Processing)'라고 합니다.
NLP는 인공지능의 한 분야로 머신러닝을 적용하여 텍스트를 처리하고 해석합니다.
 
서두가 길었습니다. 이 책은 파이썬 라이브러리를 활용해서 자연어 처리를 하는 방법에 대한 내용을 담고 있습니다.
원서의 제목이 'Blueprints for Text Analytics using Python'인데 책을 읽어보면 'blueprints'라고 쓴 이유를 알 수 있습니다.
번역서의 표지에 '98가지 자연어 처리 전략'이라는 표현이 있습니다. (원서에서는 '전략'이 'blueprint'로 작성되어 있습니다.)
 

청사진(靑寫眞) 또는 블루프린트(blueprint)는 아키텍처 또는 공학 설계를 문서화한 기술 도면을 인화로 복사하거나 복사한 도면을 말한다. 은유적으로 "청사진"이라는 용어는 어떠한 자세한 계획을 일컫는 데에 쓰인다.

 
각 장마다 텍스트 분석에 필요한 내용을 다루면서 간단한 설명과 활용 할 수 있는 전략을 소개합니다.
전략의 내용은 실제 업무에서 활용가능한 것들이라 수정해서 재활용이 가능한 것들입니다.
이런 전략(blueprint)들을 소개하는 책입니다.
전략마다 다루는 라이브러리들이 다양해서 깊이있게 파고들면서 공부하려면 시간과 노력을 많이 들여야 할 것 같네요.
파이썬으로 텍스트를 가볍게(?) 다루는 책을 찾는다면 이 책은 살며시 덮으시고, 파이썬으로 자연어 처리를 하는 방법이 궁금하다면 시간을 투자하시기 바랍니다.
이론에 대한 설명이 많지 않아서 활용 위주의 사용법을 배우기에 좋은 책입니다.
 
"한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다."

비정형 텍스트 데이터는 정형 데이터에 비해 전처리가 어렵기도 하고 또 여러 전처리 방법을 사용한다 하더라도 막상 시각화를 하거나 분석을 하다보면 제대로 된 인사이트를 얻기 위해 텍스트를 정제하는 과정이 쉽지 않음을 느낀다.

하지만 텍스트 데이터를 분석할 수 있다면 방대한 논문 속에서 트랜드를 이루는 키워드를 찾아낼 수도 있으며 방대한 텍스트를 시각화해서 인사이트를 얻는데 도움이 될 수도 있다.

이 책은 이렇게 텍스트를 통해 의미를 찾기 위한 과정을 찾는 방법을 알려준다.

이 책의 특징

  • 대부분 파이썬 라이브러리를 활용한다.
  • 라이브러리를 활용하기 때문에 복잡한 수식, 통계를 직접 계산할 수 없더라도 해당 라이브러리의 활용방법을 익히게 되면 비교적 간단한 API를 통해 의미를 찾아볼 수 있다.
  • 그런면에서 파이썬 기초와 라이브러리에 대한 활용법을 알고 있는 대상에게 적합한 책이다.
  • 기본적인 라이브러리 활용법을 익히고 텍스트 분석에 대한 이론적인 내용을 어느정도 이해하고 있다면 사이킷런, Gensim, spacy 등의 라이브러리를 활용하여 의미를 찾는 방법을 소개하고 있다.

책을 읽기 전에 알고 있다면 좋은 점

  • 파이썬 기본 문법에 대한 이해와 라이브러리의 개념을 이해하고 있다면 책을 읽는데 도움이 된다.
  • 소스코드를 제공하고 있기 때문에 github( https://github.com/hanbit/blueprints-text )을 통해 실습과 책의 내용을 함께 볼 수 있다.
  • 의존성 있는 라이브러리 설치가 안 되어 있다면 동작을 하지 않을 수 있기 때문에 책의 내용을 잘 살펴보며 관련 라이브러리를 설치해야 사용할 수 있는 도구들이 있다.
  • 이 책을 읽고 어디에 활용할지에 대한 고민을 갖고 시작하는 것도 좋다.

사용하는 라이브러리

  • 각 장의 개요를 보면 사용하는 라이브러리가 나온다.
  • 사이킷런 뿐만 아니라 Gensim, Spacy, NLTK, Transformers 등의 활용방법이 나오며
  • 활용사례를 통해 각 라이브러리를 어떤 상황에서 사용하면 좋은지에 대한 감을 잡기 좋다.

텍스트 데이터를 통한 다양한 시각화 사례

  • 각종 시각화 도구 뿐만 아니라 LIME, ELI5, 그래프 등의 도구를 사용하여 텍스를 분석하고 시각화 하는 다양한 기법을 소개한다.
  • 기본적인 워드클라우드에서 시작해서 시각화나 요약, 전처리를 위한 행렬분해 기법을 통한 차원축소 방법을 다루고 있다.

텍스트 수집, 전처리, 시각화, 토픽모델링 뿐만 아니라 머신러닝, 딥러닝 기법을 활용한 텍스트 분석까지 텍스트 데이터 관련 라이브러리의 모든것을 알아볼 수 있는 책이기도 하다. 한국어 관련 전처리 도구에 대한 설명이 없다는 점이 조금 아쉽기는 하지만 텍스트 분석에 대한 A-Z 을 꼼꼼하게 알려주는 책이다.

이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.

실무에 텍스트분석을 적용하고자 한다면 참고하기 적합한 책이다.

 

필요한 코드만 짚어준다.

Info, describe 등 데이터분석 전 메타 정보 등을 확인할 때 필요한 것들을 간략하게 확인한다.

 

간단한 텍스트 전처리 파이프라인

텍스트 데이터 -> 변환 -> 토큰화 -> 불용어 제거(stopwords) -> 준비된 토큰

 

한국어는 이 불용어 처리가 그렇게 쉽게 되진 않더라. 아무래도 영어에 비해서 조사 등이 많고 한자 기반의 동음이의어도 많다. 그래서 대부분 텍스트로 뭔가 응용하고자 할 때 워드클라우드로 끝나는 경우가 많았다.

 

기본적인 NLP 내용이 포함되므로 실제 코드와 함께 내용을 복습하고 싶은 사람이라면 잘 이용할 수 있겠다.

 

데이터를 추출하는 방법에 대해서도 안내하고 있다. API라던가 웹사이트 스크래핑이라던가. 실제 텍스트 자료로 뭔가 분석을 하고자 한다면 외부 데이터를 가져와야 되는데 그 부분에 대한 내용이다. 네이버의 경우 최근 API 정책을 바꾼 걸로 아는데 과금되는 호출 수준을 확인해보는 것도 좋겠다.

 

[웹사이트 스크래핑]

URL 생성 : 사이트맵, RSS, 아카이브, 크롤링

다운로드 : request, wget, scrapy

추출 : Regex, HTML parser, Header, 휴리스틱

영속적 저장

 

robots.txt 파일을 해석하는 부분도 포함하고 있으니 이쪽도 참고하면 좋겠다.

 

[머신러닝을 위한 데이터 전처리 파이프라인]

소스 텍스트 -> 노이즈 식별-> 노이즈 제거 -> 문자 정규화 -> 데이터 마스킹 -> 정리된 텍스트 : 데이터 정리

-> 토큰화 -> 품사태깅 -> 원형 복원 -> 개체명 인식(NER) -> 준비된 텍스트 : 언어학적 처리

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

텍스트 분석에 필요한 거의 모든 기술과 라이브러리를 핵심만 쉽고 간결하게 전달하고 있어 놀랍다.

이 책의 가장 큰 장점은 생산성에 있는 것 같다. 독자로 하여금 빠른 시간 내 텍스트 분석 실무에 적응할 수 있고 한 권의 책으로 제품화까지 구상하는 데 큰 무리가 없게 구성하고 있기 때문이다.

책의 원서 제목이 “Blueprints for Text Analytics using Python”인데 가히 Blueprints라는 용어를 쓸 수 있을만큼 텍스트 분석 생태계에 필요한 전반을 한 권의 책으로 통일성있고 유기성있게 엮어냈다는 것이 신기하다.

이러한 실용적인 생산성을 높여주는 근거는 크게 두 부분으로 나눌 수 있겠다.

하나는 텍스트 생태계의 Python 라이브러리를 일목요연하게 훑어보고 바로 실전에 적용할 수 있도록 구성되었다는 점을 들 수 있고, 다른 하나로 텍스트 분석 전반에 필요한 기술을 대부분 아우르고 있다는 점을 들 수 있겠다.

먼저 텍스트 데이터를 둘러싼 Python 진영의 Pandas와 같은 기본 라이브러리에서 부터 Gensim과 같은 비교적 최신의 임베딩 라이브러리에 이르기까지 왠만한 현업 종사자도 전부 다 활용해 보진 못했을거라 추측될 정도로 방대한 라이브러리를 예제에 담아냈다.

아울러 기본적인 통계지식을 활용하여 빠르게 EDA로 데이터에 친숙해지며 감을 잡는 것을 시작으로 API나 크롤링을 통해 외부 데이터 세계를 가져와 전처리 하는 방법, 또 이를 전처리하여 활용할 수 있는 형태로 가공하는 방법, 준비된 데이터를 머신러닝에 적용해보며 토픽 모델링이나 분류 작업을 학습할 수 있음은 물론 책의 뒷부분으로 갈수록 지식그래프와 같은 시멘틱 기술을 활용하여 머신러닝의 단점을 보완할 수 있게 해주고 도커나 콘다를 이용한 배포 및 제품화까지 고려하고 있다.

조금 더 자세히 살펴보겠다. 1장에서는 주어진 데이터에 친숙해지는데 있어 가장 효율적이고 빠른 방법을 소개하고 있다.

그동안 실무에서 텍스트 분석에 임하다보면 꼬리에 꼬리를 무는 생각 때문에 시간을 많이 소요하는 일이 잦았다. 가능할지 불가능할지 혹은 주어진 데이터로 할 수 있는 일인지 조차 생각하지 못한채 거창한 아이디어를 꿈꾸다가 시간을 낭비하는 일이 종종 있는데 언제나 돌이켜보면 어느 데이터에나 적용할 수 있는 심플하고 빠른 방법을 먼저 수행하는 편이 좋았다는 생각이 들었고 나름의 정형화된 방법을 정리해 적용해오고 있었는데 1장에 제시된 방법들은 적어도 몇년 간 내가 정리한 방법보다 깔끔하고 빠르게 분석할 수 있었기에 느낀 바가 컸다.

아울러 1장에서는 데이터에 친숙해지기 위한 EDA 과정외에도 불용화나 토큰화와 같은 기본적인 전처리 방법도 배운다.

2장 ~ 3장은 API나 크롤링을 활용하여 데이터를 수집하는 노하우를 담은 장이다. 역시 짧은 지면에 데이터 수집과 관련된 시행착오를 쉽게 해결할 수 있는 방법을 잘 요약하고 있다. 의외로 데이터 분석가 중에 REST API를 호출하며 HTTP의 기본 Response Code를 해석하지 못해 쩔쩔매는 경우를 흔히 봐왔는데 친절히 코드별 대응책을 알려주고 있어 인상적이었다.

깃허브의 API, 트위피, 스크래핑 등의 예제를 따라할 수 있는 것 자체로도 좋은 예제 구성이지만 robot.txt를 시작으로 과부하로 부터 서버를 보호하기 위해 서버측에서 행하는 제약들을 유연성있게 피하며 데이터를 수집할 수 있는 좋은 팁들이 더 값지다는 생각이 든다.트위피

4장은 앞서 수집한 데이터를 가공하는데 초점을 맞춘다. 표준화 작업을 시작으로 팀 내부 간 쉽고 빠른 공유를 위해 SQLite를 활용하여 데이터를 축적하는 방법을 다루고 있으며 노이즈 제거, 토큰화, 원형추출 등 보다 심화된 전처리 방법을 다루고 있는데 이 역시 현업에서 가장 중요한 부분의 핵심만 담아내고 있어 빠른 시간 내 실무 능력을 키우는데 큰 도움이 되리라 생각한다.

5장 ~ 8장은 본격적인 머신러닝 알고리즘을 적용하는 장이다. 5장에서 머신러닝에 필요한 기본 개념들 즉, 벡터화, TF-IDF, 차원축소, 구문유사성과 관련된 기본기를 다진 후 6장에서 SVM 분류 알고리즘을 적용하며 기본적인 머신러닝 활용법을 정리해 볼 수 있다.

다른 책들과 차별화 된 부분이 주로 7장 ~ 8장에서 많이 실려있는데 기본기를 익히는 데 한 걸음 더 나아가서 피처 엔지니어링이나 XAI 측면에 집중하며 분석가로 하여금 더 나은 아이디어를 떠올리게 함은 물론 뒤에 이어질 고차원 NLP처리를 위한 탄탄한 기본기를 잡는데 도움을 준다.

예를 들면 7장에는 해석을 위한 여러 시각화 도구를 활용하는데 LIME과 같이 전통적으로 자주 활용하는 라이브러리도 등장하지만 개인적으로 ELI5나 앵커와 같이 자주 사용해보지 않은 라이브러리가 자세히 소개되고 있어 많은 도움을 받을 수 있었다.ELI5

특히 pyLDAvis와 같이 한 번도 활용해보지 못한 라이브러리도 다수 만날 수 있었는데 빠른 시간 내에 활용할 수 있게 구성되어있어 인상적이었다. 뭐든 있는지, 없는지 자체라도 알면 쉽게 학습할 수 있는데 있는지, 없는지 자체를 모르면 빙빙 돌아가고 시간을 크게 낭비하게되니 말이다.pyLDAvis

아무튼 7장 ~ 8장을 거치며 feature importance를 중심으로 데이터 모델에 대한 해석력을 확보할 수 있는 과정은 매우 유익했고, 이를 통해 토픽모델링을 실습하며 뒤에 이어질 고급 기술들의 이해력을 높이는 구성이 매우 마음에 들었다.

더불어 NMF, LDA 등의 알고리즘을 실습해보며 선형대수 등의 기초 학문 지식이 어떻게 기술에 응용되는지 볼 기회도 제공되고 있어 학문과 산업 간 연계 이해 측면에도 도움이 될 것 같다.

9장 이후에는 보다 실용적인 관점으로 책의 집필 방향이 변하는 것 같다. 사실 텍스트 요약과 같은 주제는 능히 책 한 권을 할당하고도 모자를 만큼 방대한 주제이기에 이에 대한 밑바닥을 살피는 것은 쉽지 않으므로 라이브러리를 활용하여 빠르게 원하는 답을 찾는 수준으로만 소개되어있다.

임베딩이나 의미론적 유사성을 찾는 과정 역시 Gensim과 같은 라이브러리 활용에만 초점을 맞추고 있다. 실무에서 그 내부를 들여다 볼 필요는 크게 없기에 이 자체로도 유용하다고 생각하며 앞서 언급했듯 7 ~ 8장에서 얻은 지식으로 내부를 충분히 상상하고 이해하는데 무리가 없을 것이다.

번외로 R에 비해 Python이 마음에 안 드는 대표적인 이유를 꼽자면 시각화 정도를 들 수 있겠는데 특히 Matplotlib이 개인적으로 가장 마음에 들지 않았다. 이 역시 Matplotlib만 고집하지 않고 Plotly와 같은 훨씬 좋은 라이브러리 등 예제마다 적재적소에 필요한 라이브러리를 잘 선택하며 예제를 구성하고 있어 마음에 들었다.Plotly

아무튼 앞서 배웠던 지식들을 토대로 11장에서는 감성 분석 예제로 그간의 지식을 잘 정리할 수 있게 도와준다.

12장이나 13장은 약간 부록의 성격에 가깝다. 12장은 지식그래프 구축 주제를 다루는 데 이는 시멘틱 기술 진영의 이야기이다. 자동화된 머신러닝 진영에 비해 아래 그림과 같이 사람이 지정하는 규칙에 큰 영향을 받는다.지식그래프

양 진영의 정반합이 텍스트 분석 생태계의 발전에 큰 역할을 하고 있으므로 비교 우위를 논하는 것은 별 의미가 없으며 시멘틱 기술에 관심이 있다면 최근에 작성한 관련 책 리뷰를 참고하기 바란다. 리뷰 - 시맨틱 데이터 모형화

13장은 콘다와 YAML로 개발 환경을 구성하는 방법이나 도커 환경을 구성하는 방법, 심지어 WSGI서버를 활용하여 API 서버를 구축하고 빌드 및 배포를 자동화하는 방법을 다루고 있다. 제품화와 관련된 핵심 기술을 단 하나의 챕터로 핵심만 간결하게 전달하고 있다는 점이 매우 놀라웠다.

이 부분에서 큰 그림을 잡지 못하면 좋은 모델을 갖고도 제품이나 서비스는 산으로 가는 경우가 많은데 경험이 풍부한 전문가의 전달력으로 짧은 지면에 핵심을 담아내는 능력에 감탄했다.

전반적으로 텍스트 분석에 있어 필요한 A to Z를 매우 빠르게 습득할 수 있는 책이다. 그렇기에 생산성 측면 즉, 공부한 시간 대비 가장 많은 기술과 지식을 익힐 수 있는 책이라 생각하며 빠르게 현업 및 실무에 배운 기술을 써먹을 수 있도록 안배된 책이라 생각한다.

아마도 BERT나 GPT-3와 같은 딥러닝 모델을 제외하고는 적어도 내가 아는 모든 기술이 콤팩트하게 담겨있다고 본다.

다만, 모든 책에는 독자의 수준이 중요한 것 같다. 너무 좋은 책인데도 독자가 극도로 초보자이거나 전문가여서 비판 받는 경우를 많이 봐왔다. 그렇기에 이 책 역시 독자 스스로의 수준 파악이 중요할 것 같다.

Python의 기본 문법은 물론 기본 생태계 정도는 충분히 활용해보고, 분석 계열이 아닌 IT 분야에서라도 문자열 처리 (특히, 정규표현식) 정도는 무수히 다뤄봤으며, 기본적인 머신러닝 알고리즘 혹은 통계 지식 및 선형대수 정도의 지식을 갖추고 있다면 2, 3, 13장을 제외하고는 무난한 이해가 가능하리라 생각한다.

다만 2, 3, 13장은 기본적인 IT 지식이 필요한 장이고 특히 13장은 하나하나의 주제별로 책 한 권씩 낼 수 있는 부분이라 각 챕터를 지도삼아 다른 자료를 많이 참조하면 좋을 듯 하다.

텍스트 분석에 입문한다면 가장 처음으로 볼만한 책으로 추천하고 싶다. 이 책이 기준점이 된다면 보다 고차원 적인 기술이나 모델을 익히는데 넘어야 할 장애물을 최소화할 수 있을 것 같다는 생각이 들며 이 분야의 전체 지도를 머릿속에 그리고 출발할 수 있다는 것이 전문가로 성장하는데 큰 도움을 줄 수 있을거라 생각한다.


번역, 검색, 추천등 우리 주변의 많은 서비스에서 자연어 처리가 활용되고 있습니다.

세상에는 다양한 언어가 있고 사람마다 표현 방식이 다르기 때문에 자연어를 분석해 원하는 결과를 얻어내는건 아직도 매우 어려운 일입니다.

 

이 책에서는 “영어 텍스트”를 분석하는 방법을 중점적으로 설명합니다.

텍스트 데이터를 가져와 어떤 성격인지 살펴보고 원하는 목표에 맞는 알고리즘을 적용해 결과를 추출하는 전반적인 과정을 체험할 수 있습니다.

여러 주제로 챕터를 나눠 실습을 할 수 있게 구성된 점이 참 좋았습니다.

 

실제 프로젝트에서는 정제되지 않은 데이터를 가져와(ex. 크롤링) 전처리해 사용해야 하는 경우가 많이 있습니다.

잘 정제된 데이터셋만 사용하는게 아니라 API나 웹페이지 크롤링을 통해 데이터를 가져와 전처리 하는 과정들도 잘 설명되어 있어 좋았습니다.

 

어느분야나 마찬가지지만 한권의 책으로 모든 내용을 학습할 수는 없습니다.

이 책은 제목처럼 “파이썬 라이브러리를 활용한 텍스트 분석”을 체험하고 자연어 처리를 맛볼 수 있는 최적의 도서라고 생각합니다.

 

머신러닝을 학습하고 있는, 자연어 처리를 맛보고 싶은 분들에게 이 책을 추천합니다.

 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


정확한 시점을 지정할 수는 없겠으나 SNS를 통한 트렌드 혹은 리뷰 분석 등으로 텍스트 데이터 분석이 주목을 받은 지도 이제는 거의 10년이 다 되어갑니다. 특히 자연어처리 기술의 급부상으로 인하여 텍스트 데이터에 대한 관심이 더욱 늘어났는데요. 2-3년 전만 하더라도 텍스트 데이터 처리에 대한 자료를 일목요연하게 정리해 놓은 텍스트북이 많지 않았습니다만, 이제는 시중에 많은 텍스트 데이터 처리 혹은 자연어처리 서적이 나와있습니다.


이번에 보게 된 책도 다른 서적과 마찬가지로 텍스트 데이터 처리를 위한 전반적인 내용을 다루고 있습니다. 해당 서적의 목차 대부분은 같은 출판사에서 나온 다른 텍스트 데이터 텍스트북에서도 확인할 수 있는데요. 그렇기에 책을 처음부터 끝까지 살펴보며 아주 특별한 점을 느끼지는 못했습니다만, 그래도 해당 서적을 골라야만 하는 이유를 말씀드려보고자 합니다.



- 다른 서적에서는 잘 다루지 않는 'XAI', '지식 그래프', '프로덕션'


1) 첫 번째로 책의 7장('텍스트 분류기')에서 다루고 있는 분류 결과 설명에 대한 내용입니다. 텍스트 데이터 역시 Tabular 데이터 만큼이나 설명 가능(eXplainable)성이 많이 요구된다고 생각합니다. 텍스트 데이터를 다루는 각종 경진대회 발표를 보면 다양한 알고리즘을 사용하여 자신의 알고리즘에 대해 설명하는 모습도 볼 수 있는데요. 본 책에서는 XAI를 다루는 책에서나 볼 수 있었던 LIME, ELI5 등의 알고리즘을 통해 텍스트 데이터 분류 결과를 설명하는 방법에 대해 소개하고 있습니다.


2) 두 번째는 12장에서 다루는 지식 그래프입니다. QA와 같은 분야에서 정확한 답변을 하는 인공지능 구현을 위해 지식 그래프 기술에 많이 기대고 있습니다. 아주 큰 라지 스케일 모델이라도 특정 도메인의 지식에 대해서 물어보면 잘못된 대답을 하는 경우가 많은데요. 도메인이 한정된 분야에서는 지식 그래프를 통해 이를 해결하고자 하는 경향을 보여주기도 합니다. 이런 분야에서 지식 그래프 구축과 활용은 중요할 수 밖에 없는데요. 그럼에도 많은 텍스트 데이터 관련 서적이 이에 대해서는 자세히 다루고 있지는 않았는데, 깊이는 얕지만 이런 부분까지 커버하고 있다는 점이 인상적으로 다가왔습니다.


3) 마지막은 책의 끝부분에서 다루고 있는 프로덕션입니다. 모델을 연구-개발 했다면 마지막으로 서빙하는 단계로 넘어가야 하는데요. 이 단계에서 효율적인 프로덕션 방법이 고려되지 않는다면 미쉐린 3성급 요리를 만들어 놓고도 주방 밖으로 내지 않는 것과 같다고 할 수 있겠습니다. 텍스트 데이터를 다루는 모델이 어떻게 프로덕션 단계로 이어져 사용자에게 닿을 수 있는지 알고 싶은 분은 마지막 챕터를 주목해주시면 좋겠습니다.



책 자체는 나쁘지 않으나 이미 비슷한 주제를 다룬 책이 많다는 점에서(=책의 질과는 상관없이 타이밍에서) 아쉽다는 생각이 드네요. 본 책의 원어 제목이 'Blueprints(청사진)'으로 시작하는 만큼 텍스트 데이터 분석에 대해 개괄적인 지식을 가지고 있거나 다른 텍스트북을 가지고 있다면 굳이 살 필요는 없다고 생각합니다.

하지만 위에 소개드린 내용에 관심이 있거나, 아직 텍스트 데이터에 대해 개괄하는 책을 마땅히 정하지 못한 분에게는 책을 강력히 추천드릴 수 있겠습니다.

# 요약

- 텍스트 분석과 관련된 다양한 토픽들(웹 스크래핑, 소프트웨어 버그 분류, 뉴스 요약, 리뷰에서  감성 식별 등)을 각 chapter 의 주제로 다루고 있어서, 텍스트 분석을 실용적으로 접근해보기에 적합한 도서

 

# 장점

- https://github.com/hanbit/blueprints-text 에서 한국어로 된 설정법, 코드(ipynb), 데이터셋 등이 제공되기 때문에, 책을 읽으며 실습하기에 적합함

- 깊이 있는 이론보다 당장 적용가능한 코드에 더 관심이 있으신 분들에게 추천

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

6.jpg

 

 


요즘 데이타분석이 다양한 영역에서 각광을 받고 있다. 비단 IT 분야가 아니더라도 다양한 분야에서 다양한 데이타를 가공해서 원하는 데이타를 만드는 것이 중요한  시대가 되었다. 점점 데이타분석 능력이 중요한 시대이며 이에 따라 다양한 도구를 사용하여 데이타를 분석하고 있다. 값비싼 제품을 사용하면 좋겠지만 일반인이 데이타분석을 경험하기 위해 비용을 지불하고 사용하기는 어려울 수 있다. 이를 대신해 무료로 사용되는 도구와 라이브러리를 활용해 직접 해볼 수 있다면 좋은 대안이 될 수 있다고 생각한다.


이 책은 텍스트 분석 문제를 파이썬 생테계를 활용해 효율적으로 해결하는 방법을 알려준다. 하지만 책을 읽는 독자는 Pandas와 같은 기본 라이브러리를 비롯한 파이썬에 대한 기본 내용을 알고 있어야지만 텍스트 분석 및 머신러닝과 같은 개념을 제대로 소화할 수 있다. 즉 파이썬 경험이 없는 사람은 사전에 파이썬을 공부할 필요가 있으며 관련된 라이브러리에 대한 경험도 어느정도 할 필요가 있다. 하지만 어느정도 지식이 있다면 전반적인 내용을 이해하기는 그리 어렵지 않다. 또한 제공된 코드를 따라 실행하면 눈에 보이는 결과가 도출되기 때문에 훨씬 개념적으로 파악하기도 쉬운 부분이 있다.


이 책은 13개의 장으로 구성되어 있다. 텍스트 데이터에 대한 통찰을 얻는 것으로 시작해서 API로 추출하는 텍스트의 통찰, 그리고 웹 사이트 스크래핑을 통해 데이타를 추출하는 개념과 방식을 설명한다. 이 모든 과정에서 직접 데이타를 수집하고 분석하고 결과를 도출하는 과정을 단계 단계 쫒아가면서 테스트해볼 수 있다. 이어지는 장에서는 통계 및 머신러닝을 위해 필수적인 데이터를 준비하는 방법과 구문 유사성을 분석할 수 있는 모델을 여러가지 제시한다. 텍스트 분류 알고리즘과 이를 이용한 텍스트 분류기, 그리고 머신러닝 학습 방법 중의 하나인 비지도 학습을 통한 토픽 모델링 및 클러스터링에 대해 자세히 설명한다. 또한 텍스트에 대한 요약이나 의미 관계 분석, 감성 분석 등 텍스트 분석을 이용한 다양한 접근 방법과 모델에 대해 잘 설명하고 있다.


 

6-1.jpg


 

실제 사례를 기반으로 상황에 맞게 설계한 텍스트 전처리 파이프라이닝 구축, 텍스트 벡터화 등 다양한 전략으로 텍스트 분석 및 자연어 처리 과정을 설명하고 있어서 텍스트분석에 경험이 없더라도 각자가 원하는 형태로 가공해서 활용하기 좋은 참고 자료가 되는 것 같다. 이론적인 개념도 잘 설명되어 있지만 실제 따라하면서 결과를 볼 수 있다는 점이 이 책의 큰 장점이라고 생각한다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 

나는 매일매일 텍스트를 읽는다.

 

 

책을 읽기도하고

웹으로 다양한 사람들의 아티클들을 읽기도하고

팀즈나 카톡의 단톡에 올라온 대화 글들을 읽기도 한다.

 

 

간혹 이렇게 정보를 접하고 있다보면

통계적으로 얼마나 많은 사람들이 이런 생각을 하고 있는지

혹은 다른 어떤 다양한 의견들이 있는지 궁금해지긴 하지만

 

일일히 찾아보고 읽어보기에는 그 방대함에 엄두가 나지 않을 때가 많다.

 

 

그래서 오래전부터 관심은 있었지만 선뜻 손대지 못하고 있었던

텍스트 분석에 손을 뻗어보았다.



 

Screenshot 2022-11-23 at 9.59.36 AM.png

 

 



한국어에 적용 못함

 

아니 할 수 있으나

나같은 초보는 불가능..ㅜㅠ

하... 책을 읽고 따라가는것도 벅찬데 한국어 라이브러리를 적용하는 것은 산넘어 산 정도가 아니라.

히말라야 위를 비행기를 타고가다 뜬금없이 내던져진 기분이었다..;;;

 

'약간의 수정만 거쳐 이 책의 코드를 사용할 수 있을 것이다.' <-- 누군가에게는 공감되겠지만

나같은 초보에게는 전혀 해당되지 않았다..

 

물론..

 

제공되는 코드와 리소스들을 들여다 보며 책을 따라가보는 것은 나름 재미가 있었고

특히 제공되는 텍스트 소스들의 다양성에서

"와 이런것도 외국에서는 잘 모아두는 구나!"

"한국에도 이런 데이터들이 있나???"

하면서 색다른 인사이트를 얻기도 했다.

 

한국어 라이브러리를 제공하는 텍스트 분석 도서들이 대부분 인터넷 댓글, 뉴스 기사 분석, 블로그 텍스트 분석에 그친다면 이 책에서는 그래도 공신력있는 소스들을 통해서 어떤 인사이트를 찾아낼 수 있는지를 보여주어서 그 부분은 마음에 들었다.

 

허나... 당장 써먹어 보고 싶은건 한글로 된 것들이란 말이다..ㅜㅠ

오류가 나도 당췌 어떻게 고쳐서 써먹을 수 있는지 모르겠어서

일단은 덮어두기로 했다.

 

하.지.만.

 

파이썬에 조금은 익숙하고

텍스트 분석에 관심이 있다면

아니면 영어로 된 텍스트 분석에 관심이 있다면!!!

이 책은 큰 도움이 될 것이라고 본다.

자료를 분석하는 것 뿐만 아니라

분석을 통해 인사이트를 얻고 시각화 하는 단계까지 차근차근 잘 따라갈 수 있다.



- 목차

 

Screenshot 2022-11-23 at 10.00.15 AM.png

 

 



사실 텍스트 분석에 필요한 기술의 거의 모든것을 다 다루고 있다고 본다.

 

또한 특장점으로 코드를 한 번에 뭉터기로 주지 않고

작은 덩어리로 설명과 함께 제공한다.



 

 

Screenshot 2022-11-23 at 10.58.22 AM.png



그래서 코드 자체는 이해하고 따라 가기 쉽다.

 

 

또한 중간중간 개념 이해를 돕기 위한 그림들이 등장하는데 이또한 직관적으로 잘 표현되 있어서 좋았다.



 

 

Screenshot 2022-11-23 at 10.59.22 AM.png

 

 



마지막으로 데이터 분석 예시를 들 때에

 

 

실 데이터를 이용해서 그래프를 그려도 물론 좋지만

이 책에서 처럼 도식으로 제공하니 훨씬 더 이해하기 좋았다.



 

Screenshot 2022-11-23 at 11.00.30 AM.png

 

 



요약하면 책은 나에게 해 줄 수 있는 모든 것을 다 해줬다..

한글에 적용하지 못하는 내 미천한 파이썬 실력을 탓할뿐..ㅜㅠ

 

아쉬움이 남는 책이다.



 

 

 

 

 

 

 

도서명 : 파이썬 라이브러리를 활용한 텍스트 분석

출판사 : 한빛미디어

 

지은이 : 크리스티안 윙클러

 

독서 기간 : 2022-11-15 ~ 2022-11-26

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

 

책 표지 화면

 

 

최근들어 실무에서 자연어 처리에 대한 업무 비중이 늘어나 해당 책을 선택하여 독서를 시작하였다.

 

 

 

Chapter 1. 텍스트 데이터에서 찾는 통찰

 

Chapter 2. API로 추출하는 텍스트 속 통찰

 

Chapter 3. 웹사이트 스크래핑 및 데이터 추출

 

Chapter 4. 통계 및 머신러닝을 위한 텍스트 데이터 준비

 

Chapter 5. 특성 엔지니어링 및 구문 유사성

 

Chapter 6. 텍스트 분류 알고리즘

 

Chapter 7. 텍스트 분류기

 

Chapter 8. 비지도 학습: 토픽 모델링 및 클러스터링

 

Chapter 9. 텍스트 요약

 

Chapter 10. 단어 임베딩으로 의미 관계 탐색

 

Chapter 11. 텍스트 데이터를 이용한 감성 분석

 

Chapter 12. 지식 그래프 구축

 

Chapter 13. 프로덕션에서 텍스트 분석

 

 

 

목차만 봐도 알 수 있듯이 타 텍스트 관련 서적에 비해서 데이터 로드 부터 전처리까지 모두 다 텍스테 데이터에 한해서만 진행되어 있다.

 

 

 

챕터 1, 2 를 보면 알 수 있지만 텍스트 사이의 통찰이라는 부분은 텍스트 데이터의 본질을 파악하기 위한 부분이라고 이해하면 빠르다. 

 

 

 

하지만, 단순하게 텍스트 데이터는 어떻게 정제하며 형태소 분석을 해서 빈도수가 얼마이고 이러한 진부한 과정이 아닌 단어 빈도만으로도 TF-IDF를 이용한 빈도 분석을 진행하는 것을 볼 수 있었다.

 

 

 

나아가 N-Gram 분석과 시계열 데이터와 함께 바라보는 방법도 소개되었다.

 

 

 

챕터 2, 3은 데이터 수집에 대한 부분이 공통적으로 들어가있다. 

 

 

 

챕터 제목에서도 보이지만 챕터 2는 API를 통해 텍스트 데이터들을 추출한다. 단순 공공 데이터 포털과 같은 API를 제공해주는 곳에서 텍스트 데이터를 가져올 수도 있지만, 트위터와 같은 텍스트 기반의 방대한 데이터가 적재되어 있는 기업이 제공하는 API를 통해 데이터 수집하는 것을 볼 수 있다.

 

 

 

그리고 챕터 3는 챕터 2와 달리 웹스크래핑으로 데이터 수집에 대한 이야기를 풀어나갔다. API 처럼 표준화된 방법으로 데이터를 가져올 수 있는 것은 축복과도 같은 일이다. 하지만, 이렇게 API를 통한 방법이 아닌 웹 스크래핑이란 방법으로 데이터를 수집하는 방법을 알려주는 파트이다.

 

 

 

기존에 내가 알고 있던 selenium 방식은 설명되어 있지않고, 대부분이 request 방식으로 HTML을 추출하여 파싱하는 방법으로 설명이 되어 있다.

 

 

 

챕터 4 부터는 본격적인 분석이 진행되는 파트이다. 

 

해당 파트가 텍스트 데이터 전처리의 모든 과정을 간략히 각각 하나씩 보여주는 아주 좋은 파트라고 생각된다. 정규표현식으로 클렌징을 하고 불용어제거, 각 품사별 추출 등 거기다 추가로 맞춤법 검사까지 해당 파트의 프로세스는 일반 실무에서도 활용되는 방법들이고 순서인 것 같다.

 

 

 

챕터 5는 4와 비슷한 행태로 진행되었고, 챕터 6부터 본격적인 모델링이 시작되었다.

 

 

 

챕터 6에서는 텍스트 분류 알고리즘을 구축하는 내용을 담고있다. 샘플 분류 모델은 SVC와 Linear SVC를 기반으로 구축을 진행한다. pipline 함수를 사용해 최적의 하이퍼파라미터와 모델을 찾아내는 과정까지 포함되어있다.

 

 

 

챕터 7은 텍스트 분류기에 중점적으로 이야기를 진행한다.

 

 

 

이후 챕터들도 하나씩 살펴보면 일반적인 분류만 진행하는 것이 아닌 감성분석과 비지도 학습 방법론 등 다양한 분석 방법과 목표들이 있는 도서였다.

사실 이 책의 내용을 읽기 전까진 이 책이 '파이썬을 이용한 텍스트 데이터 전처리'에 관한 내용을 다룬 줄 알았다. 그러나 책의 내용을 펼쳐보니 python을 이용하여 텍스트 분석을 어떻게 할 지에 대해 다양한 사례를 들며 소개하고 있었다. 물론 이 책에는 텍스트 데이터를 전처리하는 내용도 들어있고, 어떤 식으로 데이터를 추출하고 저장할지에 대한 내용도 상세하게 담겨 있다!

이 책은 python을 이용한다는 것을 전제로 하고 있기에, 기본적으로 언어에 대한 이해는 있어야 한다. 또한, 영어 데이터를 다루고 있기에 한국어 데이터 예시를 찾고자 하는 분들께는 그다지 적합하지는 않다. 이 책에서도 소개하는 추천 독자는,

  • 샘플 결과를 빠르게 만들어 프로젝트의 성공 가능성을 검토하려는 독자

  • 문제를 풀기 위한 베이스라인(머신러닝 모델이 넘어야 하는 최소한의 성능)을 빠르게 작성해야 하는 독자

로 나와 있다. 그렇기에 기초 내용을 다루고 있다기 보다는 응용과 관련한 내용을 읽고 싶은 분들께 추천한다.

이 책은 개념의 원리를 깊게 다루지는 않지만, 두루두루 넓게 어떤 식으로 활용할 수 있는지를 세세하게 알려주고 있기 때문에 특정 task를 어떤 식으로 접근하면 좋을지에 대한 조언을 얻어갈 수 있을 것이다.

* "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

한빛미디어 '나는 리뷰어다' 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

Blueprints_for_Text_Analytics_using_Python.png

 

 

0. 소개


요즘에는 Machine Learning / Deep Learning이 일상생활에 알게 모르게 스며들어 있고, 누구나 배우고자 한다면 매우 다양한 자료를 접할 수 있습니다.


Deep Learning 분야에서 가장 먼저 큰 진전을 이루었던 것이 Image 분야이지만, 시각적인 인공지능 못지않게 인간들에게 중요한 것이 글로 쓰인 Data 즉, Text Data입니다.


NLP(Natural Language Process)를 다루는 수많은 동영상 강의, Technical Blog 등에서는 가장 기초적인 부분에서부터 최신 트렌드를 반영하는 주제까지 모두 다루고는 있습니다.


하지만, 정작 실무에 적용하려고 하면 막막한 것이 현실입니다.


정작 내가 풀려고 하는 문제에는 어떤 Model을 적용해야 하고, Text Data Preprocessing은 어떤 식으로 하면 좋은지 전혀 감이 잡히지 않습니다.


더욱더 어려운 점은 어떤 Dataset을 어떻게 구해야 하는 지도 모르는 상황인 것입니다.


이 책은 이런 문제들에 대해서 가장 좋은 대답을 제시해 줍니다.


다양한 Model을 문제에 맞게 빠르게 적용해 볼 수 있는 간단한 Code들을 제시해 주며, 필요한 Dataset을 어떻게 구할 수 있는지도 상세하게 알려줍니다.



뿐만 아니라, 각 Chapter마다 중요한 읽을거리도 제공해 줍니다. 이는 주제에 대한 배경지식을 더욱더 넓혀주는 유용한 정보가 많이 포함되어 있습니다.


또한, 매 Chap마다 다른 실제 Dataset을 사용하여 Project를 진행하기 때문에 실용적이며 현실적입니다.


실제 Project에 바로 사용할 수 있는 Dataset을 Web에서 수집하는 실용적인 방법을 소개하는 Chapter도 포함되어 있습니다.


기초적인 Text 처리에 대한 개론부터 고전적 Machine Learning / Deep Learning에 사용하는 기법 소개 및 활용 방안 소개되어 있고, 현재 실제도 많이 사용되는 최신 Algorithm / Solution도 소개하고 있습니다.


다만, 몇 가지 단점이라면 최신 NLP 기술을 다루는 것에는 상대적으로 취약하고 Deep Learning 기법보다는 주로 Machine Learning 내용이 많으며 사용하는 Model이나 Text Dataset이 영어라는 점입니다.



1. 구성


CHAPTER 1 Text Data에서 찾는 통찰

  • Text Data의 통계적 탐험 시작
  • Text Data를 다루는 데 있어서 기본적인 방법들을 소개한다.(Tokenization , 빈도 Diagram, Word Cloud , TF-IDF)


CHAPTER 2 API로 추출하는 Text 속 통찰

  • 인기 있는 API에서 Data를 추출하는 다양한 Python Module 사용
  • Text Data 분석에 사용할 Dataset을 다양한 경로(Github , 트위터 등)에서 추출하는 방법에 대해서 알아본다.
  • 특정 API를 사용하여 유용한 Dataset을 만드는 방법을 알아본다.


CHAPTER 3 Web Site 스크래피 및 Data 추출

  • 웹 페이지 다운로드, 콘텐츠 추출 전용 Python Library 사용
  • HTML Data를 얻고 도구를 통해 콘텐츠를 추출하는 방법에 대해서 알아본다.


CHAPTER 4 통계 및 머신러닝을 위한 Text Data 준비

  • Data 정리와 언어 처리 소개
  • Data Preprocessing 파이프라인 개발
  • Data 셋 : 레딧 셀프 포스트
  • Token 화를 포함한 기본적인 Text Data Preprocessing 기법 소개
  • Text Data를 생성하는데 필요한 Solution 제공
  • 정규화 방식 제안


CHAPTER 5 Feature Engineering 및 구문 유사성

  • 특성과 Vector 화 소개
  • 문서 유사도 측정
  • 문서 -> Vector 변경 시에 매우 다양한 변환 방법 소개


CHAPTER 6 Text 분류 Algorithm

  • 머신러닝 Algorithm을 사용해 소프트웨어 버그를 분류하는 Text 분류기 Algorithm
  • 지도학습 기반 Text 분류 Model을 사용해 SW 버그를 분류하는 Text 분류 Algorithm
  • JDT Bug Report Dataset을 사용
  • Data 준비, Vector 화, 분류기 결정, Train , Hyperparameter 조정 등 실제 쓸만한 Model 생성을 자세하게 소개


CHAPTER 7 Text 분류기

  • Model 및 분류 결과 설명
  • Model이 결정을 내린 이유를 확인하는 방법
  • 설명 가능한 Model은 아직 신생 분야


CHAPTER 8 비지도 학습: Topic Model 링 및 Clustering

  • 비지도 학습으로 Text에서 편향 없는 통찰 획득
  • 다양한 Topic Model 링 방법과 구체적인 장단점 확인(NMF(비음수 행렬 분해), 특잇값 분해(SVD), 잠재 디리클레 할당(LDA) )
  • 유엔 총회 일반 토의 Dataset 사용


CHAPTER 9 Text 요약

  • 규칙 기반과 Machine Learning 방식을 사용한 뉴스와 포럼 타래 글의 요약 생성
  • 입문 단계의 Text 요약 기술을 알아본다. ( 추출 방법 / 추상화 방법 )
  • LSA / TextRank 등의 기본적인 사용법 학습


CHAPTER 10 단어 Embedding으로 의미 관계 탐색

  • 단어 Embedding을 사용한 특정 Data 셋의 의미적 유사성 탐색과 시각화
  • 기존에 사용하던 TF-IDF의 단점을 알아보고, 이를 개선한 다른 Embedding 방식을 알아본다.
  • Word2Vec , FastText , GloVe


CHAPTER 11 Text Data를 이용한 감성 분석

  • 아마존 상품 리뷰에서 소비자의 감성 식별
  • Text Data에서 감성을 구분하는 Model을 학습한다.
  • 간단한 규칙을 기반으로 하는 Model에서 최신 BERT를 이용한 Model까지 활용하는 방법을 알아본다.


CHAPTER 12 지식 그래프 구축

  • 사전 훈련된 Model과 사용자 규칙을 사용해 명명된 개체와 개체의 관계 추출
  • Python의 고급 언어 처리 기능을 이용하여 개체명 인식(NER, Named-Entiry Recognition) , 상호 참조 해결(Coreference Resolution) , 관계 추출(Relation Extraction)을 위한 사용자 지정 규칙과 함께 사전 훈련된 신경망 Model을 사용하는 방법을 학습 나다.


CHAPTER 13 프로덕션에서 Text 분석

  • Google Cloud Platform에서 감성 분석 서비스를 API로 배포 및 스케일링
  • REST API를 사용하여 학습된 결과를 공유하거나 배포하는 방법에 대해서 알아본다.
  • Linux Shell or Windows PowerShell에서 잘 작동하는 방법으로 작성한다.
  • Conda / Docker 등을 이용하는 방법을 알아본다.



2. 대상 독자


이 책은 다음과 같은 독자에게 추천드립니다.


  • Text를 이용한 Machine Learning / Deep Learning Project를 수행하여야 하지만 기초가 부족하다고 느끼는 독자
  • 최신의 Transformer와 같은 Model에 대해서 공부하였지만, 정작 실제 Data를 어떻게 구하고 Machine Learning / Deep Learning에 입력해야 하는지 감이 잡히지 않으신 분들
  • Sample 결과를 빠르게 만들어 Project 성공 가능성을 확인하려는 독자
  • 문제를 풀기 위한 Baseline을 빠르게 작성해야 하는 독자

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

도서판매처

리뷰쓰기

닫기
* 도서명 :
파이썬 라이브러리를 활용한 텍스트 분석
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
파이썬 라이브러리를 활용한 텍스트 분석
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
파이썬 라이브러리를 활용한 텍스트 분석
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실