byc3***
2022-11-27

분석하려는 텍스트에 맞는 처리 기법을 소개하는 도서로 실제 모범 사례를 기반으로 상황에 맞게 설계한 텍스트 전처리 파이프라인 구축, N-그램 분석, 텍스트 벡터화 등 다양한 전략과 그때 필요한 파이썬 라이브러리를 소개한다.
[나의 한줄 추천사]
- 자연어 처리 분야는 실무에서 가장 필요한 머신러닝의 기술중에 하나일 것이다. 자연어 처리의 청사진이 드디어 나왔다.
[책 추천 이유]
- 한국어 자연어 처리 책들은 많이 나와 있는데, 오히려 "영문 자연어 처리" 는 드문 것 같다. 이 책의 예제코드들은 "영어" 기반의 자연어 처리이며, 바로 실무에 적용할 수 있도록 설명과 코드들을 제공하고 있다.
[내가 찾고자 했던 질문들]
1. 자연어 처리 분야에 필요한 기술들은 어떻게 있나?
- 데이터 수집 : 웹스크래핑, Open API 이용
- EDA : N그램을 이용한 단어 빈도 분석, 빈도 타임라인 생성, 빈도 히트맵 생성
- 전처리 : 언어감지, 맞춤법 검사, 토큰 정규화
- 모델링 : 워드 임베딩, 유사도 측정, 텍스트 분류, 텍스트 클러스터링 (비지도 학습), 텍스트 요약, 텍스트 감정분석, 지식그래프 구축
- 모델 배포 : 컨테이너 생성, Rest API 서버 구축, 배포 자동화
2. 데이터 분류 작업을 수행하려는데 데이터 불균형한 상태이다. 해결 방법은?
- 클래스의 불규형 문제는 upsampling (oversampling), donwsampling, SMOTE (oversampling 일종) 있는데, 대부분 클래스의 양을 한쪽으로 맞추는 방식이라고 보면 된다. 데이터의 질은 어느 정도 Trade Off 가 필요하며, 실험을 통해서 적합한 방법을 찾아내야 하겠다.
3. 자연어 처리 분야에서 가장 많이 쓰이는 "감정 분석"은 어떻게 이뤄지나?
- 어휘 기반의 감정분석 사용
- 머신러닝 분류 사용
- 딥러닝을 사용한 사전 훈련된 언어 모델 사용
4. 챕터 실습을 하고 싶다면?
- https://github.com/hanbit/blueprints-text