Top

파이썬과 자연어 처리 [파이썬과 함께하는 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 시스템을 평가하는 개념을 이해하고 적용하는 방법에 대해 살펴본다.

저자/역자 소개

지은이의 말

파이썬에서 다양한 NLP 작업을 구현하는 방법과 NLP의 최신 연구 주제에 대한 통찰력을 얻을 수 있다. 학생과 연구원이 실제 애플리케이션을 기반으로 자신의 프로젝트를 생성하는 데 도움이 되는 포괄적인 단계별 안내서다.

지은이 소개

딥티 초프라(Deepti Chopra)

바나스탈리 대학(Banasthali University)의 조교수다. 주요 연구 분야는 전산 언어학, 자연어 처리 및 인공지능이다. 여러 저널 및 컨퍼런스에서 간행물을 발간했으며 관련 프로그램 위원회에서도 활동하고 있다.

니쉬트 조쉬(Nisheeth Joshi)

바나스탈리 대학(Banasthali University)의 부교수다. 관심 분야는 전산 언어학, 자연어 처리 및 인공지능이다. 인도에서 언어 기술 기금 및 연구(Language Technology Funding and Research)를 총괄하는 최상위 기관인 인도 정부(Govt) 정보 기술부(Department of Information Technology)에서 TDIL 프로그램의 배심 전문가로도 활동하고 있다. 여러 저널 및 컨퍼런스에서 간행물을 발간했으며 관련 프로그램 위원회 및 편집 위원으로도 활동한다.

이티 마투르(Iti Mathur)

바나스탈리 대학(Banasthali University)의 조교수다. 관심 분야는 전산 의미론 및 온톨로지 공학(ontological engineering)이다. 인도 정부(Govt)의 전자 정보 기술부(Department of Electronics and Information Technology,DeitY TDIL) 프로그램의 배심 전문가로도 활동하고 있다. 여러 저널 및 컨퍼런스에서 간행물을 발간했으며 관련 프로그램 위원회 및 편집 위원으로 활동한다.

옮긴이의 말

파이썬은 네덜란드 개발자 귀도 반 로섬(Guido van Rossum)이 만든 프로그래밍 언어 중 하나다. 파이썬은 문법이 복잡하지 않고 쉬워서 초보자들도 쉽게 다가갈 수 있는 인터프리터 프로그래밍 언어다. 하지만 우리나라의 경우 C, JAVA 중심의 프로그래밍 환경이 대중적이라서 파이썬 같은 그 외의 프로그래밍 언어는 접해볼 수 있는 기회가 적다. 심지어 10년 넘게 프로그래머 개발자로 근무한 나의 경우에도 파이썬을 접한 것은 불과 수 년 전이었다.
파이썬은 미국에서 교육용 프로그래밍 언어로 사용하면서 점차 세계적으로 인기를 얻기 시작했고 파이썬을 사용하는 기업과 프로그래머도 증가했다. 이제 국내 대학에서도 교양 수업으로 파이썬을 채택하고 있다. 또한 수많은 라이브러리의 제공으로 자연어 처리, 머신 러닝 등의 분야에서 파이썬을 사용하고 있다.
이 책은 파이썬을 이용한 자연어 처리(NLP)를 다룬다. 자연 언어는 최근에 새롭게 등장한 개념이 아니다. 예전부터 연구됐던 인공지능의 한 분야다. 자연 언어라는 개념이 생소한 독자들은 내용을 이해하는 데 약간의 어려움도 있을 것이다. 개인적으로는 이 책을 살펴보기 전에 학창 시절 배웠던 문장 및 언어의 기본 구조를 살펴보는 것을 추천한다. 이 책을 이해하는 데 많은 도움이 될 것이다. 또한 파이썬 기본서가 아니기에 파이썬에 대한 기본 지식이 있는 독자를 대상으로 한다. 독자들은 이 책으로 문자열 매칭, 알고리즘 및 정규화 기술 구현, 스테머, 검색 엔진 개발, 담화 분석 등을 다양한 예제와 함께 살펴보면서 점점 능숙하게 자연 언어를 처리하는 자신을 발견할 수 있을 것이다.

옮긴이 소개

유연재

동국대학교 재학 중이던 2002년부터 여러 회사에서 개발 업무로 경력을 쌓아 왔다. 현재는 더케이손해보험에서 일반보험시스템 개발 업무를 담당하고 있다. IT에 관해서는 편식하지 않고 다양한 분야에서 멀티플레이어가 되려고 노력하는 프로그래머다. 옮긴 책으로는 에이콘출판사에서 출간한 『자바 네트워크 프로그래밍』(2016)이 있다.

목차

목차
  • 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 시스템의 평가
    • 오류 식별 메트릭
    • 어휘 매칭 기반 메트릭
    • 구문 매칭 기반 메트릭
    • 얕은 의미 매칭을 사용한 메트릭

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안