(젠스 알브레히트 2022)

  • 원서 : Blueprints for Text Analytics using Python

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 더 읽어보기

저자 젠스 알브레히트 (Jens Albrecht)

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

심상진

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

저자 코드

콘다 활용.

출판사 리뷰 : 98가지 분석 전략으로 텍스트를 정복하라

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

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

대상 독자

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

주요 내용

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

추천사

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

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

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

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

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

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

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

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

Related-Notes

References

젠스 알브레히트. 2022. 파이썬 라이브러리를 활용한 텍스트 분석. Translated by 심상진. https://www.yes24.com/Product/Goods/114654927.