파이썬과 자연어 처리 [파이썬과 함께하는 NLP 애플리케이션 만들기]
- 원서명Mastering Natural Language Processing with Python : Maximize your NLP capabilities while creating amazing NLP projects in Python (ISBN 9781783989041)
- 지은이딥티 초프라(Deepti Chopra), 니쉬트 조쉬(Nisheeth Joshi), 이티 마투르(Iti Mathur)
- 옮긴이유연재
- ISBN : 9791161750255
- 28,000원
- 2017년 07월 25일 펴냄 (절판)
- 페이퍼백 | 320쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
자연어 처리는 인간과 컴퓨터 간의 상호 작용에 관련된 인공지능(AI) 분야의 하나다. 이 책은 파이썬을 이용해 자연어 처리 애플리케이션을 개발하는 데 필요한 기술을 배우고, 이를 실제로 활용할 수 있도록 하는 지침서다. 자연 언어에 대한 기본 개념과 문자열 매칭, 스테머, 파싱, 의미 분석, 감정 분석, 정보 검색 등의 활용 예제를 살펴보며 독자들이 파이썬을 통해 자연어 처리를 빠르게 학습할 수 있도록 도와줄 것이다.
이 책에서 다루는 내용
■ 문자열 매칭 알고리즘 및 정규화 기술 구현
■ 통계 언어 모델링 기법 구현
■ 스테머, 원형화기, 형태소 생성기 개발에 대한 통찰력 습득
■ 검색 엔진 개발, n-gram 접근법과 관련된 POS 태깅 개념 및 통계 모델링 개념 구현
■ 트리뱅크(Treebank) 구조, CFG 생성, CYK 차트 파싱 알고리즘 및 Earley 차트 파싱 알고리즘 개념 습득
■ NER 기반 시스템 개발과 감정 분석의 개념 이해 및 적용
■ 정보 검색 및 텍스트 요약의 개념 이해 및 구현
■ 담화 분석 시스템 및 대용어 복원(anaphora resolution) 기반 시스템 개발
이 책의 대상 독자
합리적인 지식 수준과 파이썬에 대한 이해를 바탕으로 NLP 중급 개발자를 대상으로 한다.
이 책의 구성
1장, ‘문자열을 사용한 작업’에서는 토큰화와 정규화 같은 텍스트에 대한 사전 처리 작업을 수행하는 방법과 다양한 문자열 매칭 방법을 설명한다.
2장, ‘통계 언어 모델링’에서는 단어 빈도를 계산하고 다양한 언어 모델링 기법을 수행하는 방법을 다룬다.
3장, ‘형태학 – 시작하다’에서는 스테머, 형태소 분석기 및 형태소 생성기 개발 방법을 다룬다.
4장, ‘품사 태깅 - 단어 식별’에서는 품사 태깅 및 n-gram 접근법을 포함한 통계 모델링을 다룬다.
5장, ‘파싱 - 훈련 데이터 분석’에서는 트리 뱅크 구성, CFG 구성, CYK 알고리즘, 차트 파싱 알고리즘 및 음역의 개념에 대한 정보를 살펴본다.
6장, ‘의미 분석 – 본질 표현’에서는 얕은 의미 분석과 WordNet을 사용하는 WSD의 개념과 애플리케이션에 대해 살펴본다.
7장, ‘감정 분석 – 나는 행복하다’에서는 감정 분석의 개념을 이해하고 적용하는 데 도움이 되는 정보를 제공한다.
8장, ‘정보 검색 - 정보 접속’에서는 정보 검색 및 텍스트 요약의 개념을 이해하고 적용한다.
9장, ‘담화 분석 - 아는 것은 믿는 것이다’에서는 담화 분석 시스템과 대용어 복원 기반 시스템을 개발한다.
10장, ‘NLP 시스템의 평가 - 성능 분석’에서는 NLP 시스템을 평가하는 개념을 이해하고 적용하는 방법에 대해 살펴본다.
목차
목차
- 1장. 문자열을 사용한 작업
- 토큰화
- 텍스트를 문장으로 토큰화
- 다양한 언어의 텍스트 토큰화
- 문장을 단어로 토큰화
- TreebankWordTokenizer를 사용한 토큰화
- 정규 표현식을 사용한 토큰화
- 정규화
- 문장 부호 제거
- 소문자와 대문자로 변환
- 불용어 처리
- 영어의 불용어 계산
- 토큰의 대체 및 수정
- 정규 표현식을 사용한 단어 대체
- 텍스트를 다른 텍스트로 대체하는 예제
- 토큰화 전에 대체 수행
- 반복되는 문자 처리
- 반복 문자를 삭제하는 예제
- 단어를 동의어로 대체
- 단어를 동의어로 대체하는 예제
- 텍스트에 지프의 법칙 적용
- 유사 척도
- 편집 거리 알고리즘을 사용한 유사 척도
- 자카드 계수를 사용한 유사 척도
- 스미스 워터맨 거리를 사용한 유사 척도 적용
- 그 외 문자열 유사도 메트릭
- 요약
- 토큰화
- 2장. 통계 언어 모델링
- 단어 빈도 이해
- 주어진 텍스트의 MLE 개발
- 은닉 마르코프 모델 추정
- MLE 모델의 스무딩 적용
- 에드온 스무딩
- Good Turing
- 크네저 네이 추정
- 위튼 벨 추정
- MLE의 백-오프 메커니즘 개발
- 믹스 앤 매치를 얻기 위한 데이터 보간법 적용
- 혼잡도를 통한 언어 모델 평가
- 모델링 언어에서 메트로폴리스 헤이스팅스 적용
- 언어 처리에서 깁스 샘플링 적용
- 요약
- 단어 빈도 이해
- 3장. 형태학 – 시작하기
- 형태학 소개
- 스테머 이해
- 원형복원 이해
- 비영어 언어의 스테머 개발
- 형태소 분석기
- 형태소 생성기
- 검색 엔진
- 요약
- 4장. 품사 태깅 - 단어 식별
- 품사 태깅 소개
- 기본 태깅
- POS-tagged corpora 생성
- 기계 학습 알고리즘 선택
- n-gram 접근법과 관련된 통계 모델링
- pos-tagged data를 사용한 청커 개발
- 요약
- 품사 태깅 소개
- 5장. 파싱 - 훈련 데이터 분석
- 파싱 소개
- 트리뱅크 구성
- 트리뱅크의 문맥 자유 문법 규칙 추출
- CFG에서 확률적 문맥 자유 문법 생성
- CYK 차트 파싱 알고리즘
- Earley 차트 파싱 알고리즘
- 요약
- 6장. 의미 분석 - 본질 표현
- 의미 분석 소개
- NER 소개
- 은닉 마르코프 모델을 사용한 NER 시스템
- 기계 학습 툴킷을 사용한 NER 훈련
- POS 태깅을 사용한 NER
- Wordnet의 synset id 생성
- Wordnet을 사용한 의미 판별
- 요약
- 의미 분석 소개
- 7장. 감정 분석 - 나는 행복하다
- 감정 분석 소개
- NER를 사용한 감정 분석
- 기계 학습을 사용한 감정 분석
- NER 시스템의 평가
- 요약
- 감정 분석 소개
- 8장. 정보 검색 - 정보 접속
- 정보 검색 소개
- 불용어 제거
- 벡터 공간 모델을 사용한 정보 검색
- 벡터 공간 스코링 및 질의 연산자 상호 작용
- 잠재 의미 색인을 이용한 IR 시스템 개발
- 텍스트 요약
- 질의 응답 시스템
- 요약
- 정보 검색 소개
- 9장. 담화 분석 - 아는 것은 믿는 것이다.
- 담화 분석 소개
- 중심화 이론을 사용한 담화 분석
- 대용어복원
- 요약
- 담화 분석 소개
- 10장. NLP 시스템의 평가 - 성능 분석
- NLP 시스템 평가의 필요성
- NLP 도구(POS 태거, 스테머, 형태소 분석기) 평가
- 골드 데이터를 사용한 파서 평가
- IR 시스템의 평가
- 오류 식별 메트릭
- 어휘 매칭 기반 메트릭
- 구문 매칭 기반 메트릭
- 얕은 의미 매칭을 사용한 메트릭
- NLP 시스템 평가의 필요성
관련 블로그 글
컴퓨터와 인간의 소통 방법, 자연어 처리
최근 핸드폰, 스피커, 리모콘
등 다양한 기계를 음성 인식으로 조작하는 모습을 쉽게 볼 수 있다.
단순한 기계 조작은 물론이고 실제 사람과 대화하듯이 궁금한 것을 묻고 답하는 것도 가능하다.
이외에도 기계 번역, 챗봇, 검색 엔진 등 다양한 분야에서 자연어 처리 기술을 쉽게 찾아볼 수 있다.
자연어: 일반 사회에서 자연히 발생하여 쓰이는 언어로, 인공적으로 만들어진 언어인 인공어와 구분하여 부르는 개념
인공어: 자연적으로 생성된 자연어와 달리 한 사람이나 여러 사람의 의도와 목적에 따라 만들어진 언어
자연어 처리란 사용자가 입력하는 자연어를 분석하고 처리해 컴퓨터가 이해할 수 있는 형태로 만드는 기술이다.
자연어 처리에는 사람들이 사용하는 다양한 단어와 각 단어가 사용되는 상황, 상호작용하는 방식 등 방대한 양의 언어 데이터가 필요하며, 사용자가 입력한 데이터의 형태, 구문, 의미 등의 분석을 통해 텍스트를 이해하고 적합한 결과를 출력한다.
지난해 10월 구글은 AI 언어 모델인 버트(BERT)를 발표했다.
버트는 구글의 딥러닝 아키텍처인 '트랜스포머'로 구성된 자연어 처리 모델로 대표적인 자연어 처리 평가 지표인 GLUE(General Language Understanding Evaluation)와 SQuAD(Stanford Question Answering Dataset) 중 일부 항목에서 인간보다 뛰어난 성적을 보이면서 많은 주목을 받기도 했다.
활용 사례 1.
태블로 소프트웨어(Tableau Software)는 자연어 질의를 지원하는 애스크 데이터(Ask Data)를 발표했다.
애스크 데이터를 사용해 확인하고 싶은 내용을 입력하면 그에 대한 답변을 시각화 자료로 보여준다.
활용 사례 2.
아시아나항공의 챗봇 서비스 아론(Aron)에서는 간단한 문의는 물론 항공권 예약과 구매까지 가능해졌다.
아론은 애저(Azure)와 루이스(LUIS)를 활용해 개발됐으며, 다양한 메신저와 애플리케이션을 통해 서비스를 제공하고 있다.
활용 사례 3.
퀄컴 테크놀로지는 아마존의 '알렉사 보이스 서비스' 개발 키트를 기반으로 개발한 퀄컴 스마트 오디오 플랫폼을 시연했다.
차량에 설치된 스마트 오디오 플랫폼을 통해 음성으로 길을 검색하거나 음악, 영상을 재상할 수도 있다.
자연어 처리 with 파이썬은 파이썬과 자연어 툴킷(NLTK)을 이용해 자연어 처리(NLP)를 수행하는 다양한 방법을 알려주는 독창적인 레시피가 담긴 책이다.
자연어 이해, 자연어 처리, 구문 분석 등 다양한 주제를 포함해 실용적인 감정 분석부터 최신 딥러닝 기술의 적용 방법까지 자연어를 다루는 데 사용할 수 있는 60여 개의 레시피를 접할 수 있다.
자연어 처리에 관심이 있는 독자라면 이 책을 통해 다양한 상황에서 자연어 처리를 어떻게 구현하는지 확인해보자.
크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
도서 오류 신고
정오표
정오표
[p.30 : 아래서 3행]
[p.32 : 코드 아래에서 5행]
sent= She secured
->
sent=" She secured
[p.100 : 아래에서 3행]
토큰화가 적절하게 수행되지 않으면 이 후에 텍스트를 원래의 구성 요소로 분할하는 과정에 대한 형태소 분석을 수행할 수 있다.
->
토큰화가 적절하게 수행되지 않아도, 이 후에 텍스트를 원래의 구성 요소로 분할하는 과정에서 형태소 분석을 수행할 수 있다.
[p.235 : 9행]
ap = API(auth)
->
ap = API(authen)