한빛미디어

데이터베이스

스파크를 이용한 자연어 처리

대규모 텍스트를 다루는 가장 효율적인 딥러닝을 만나다

한빛미디어

번역서

판매중

스파크를 이용한 자연어 처리
좋아요: 4
  • 저자 : 앨릭스 토머스
  • 역자 : 이창현
  • 출간일 : 2021-08-20
  • 페이지 : 440쪽
  • ISBN : 9791162244654
  • 물류코드 :10465

합계 : 30,600

도서판매처

  • Spark NLP로 구현하는 자연어 처리 애플리케이션

     

    아파치 스파크 위에 구축된 자연어 처리 라이브러리인 Spark NLP는 정확성과 빠른 속도, 넓은 확장성을 지원한다. 이 책은 Spark NLP로 효율적인 애플리케이션을 설계하고 제작하는 방법을 소개한다. 구체적인 예제와 친절한 설명을 통해 기본적인 언어학과 문자 체계부터 감성 분석, 검색 엔진 구축까지 Spark NLP를 사용하는 데 필요한 모든 것을 다룬다. 또한 NLP 애플리케이션 개발 시 매우 중요한 성능 문제도 살펴보며 실무에 응용하기 전 꼭 알아야 할 내용을 빠짐없이 담았다. 예제를 따라 하며 딥러닝과 Spark NLP 라이브러리로 자신만의 확장 가능한 NLP 애플리케이션을 만들어보자.

     

     

    주요 내용

    • 자연어 처리와 Spark NLP, 딥러닝 기초를 설명합니다.
    • 토큰화, 문장 분할, 개체명 인식 방법을 살펴보고 각각의 작동 방식을 이해합니다.
    • 자신만의 NLP 애플리케이션 구축에 필요한 설계, 개발, 실험 과정을 차례대로 살펴봅니다.
    • NLP 애플리케이션 제작과 배포 시 고려해야 할 중요한 항목을 알아봅니다.

     

    추천사

     

    딥러닝 기초부터 전이 학습을 적용한 언어 모델까지 실제 산업용 AI 애플리케이션을 구축하는 과정을 완벽하게 풀어냈습니다.

    _데이비드 탈비, John Snow Labs CTO

     

    상세이미지700_스파크를 이용한 자연어 처리_re.jpg

  • [저자] 앨릭스 토머스

    와이즈큐브(Wisecube)의 데이터 과학자다. 자연어 처리와 머신러닝에 임상 데이터, 신원 데이터, 고용주 및 구직자 데이터를 비롯해 현재는 생화학 데이터까지 사용하고 있다. 아파치 스파크 0.9 버전부터 UIMA와 OpenNLP를 포함한 NLP 라이브러리와 프레임워크로 작업해왔다.

    [역자] 이창현

    컴퓨터 공학을 전공하고 20여 년간 다양한 IT 산업 분야에서 애플리케이션을 개발했다. 최근에는 의료 영상 소프트웨어에 AI 기술을 적용한 솔루션을 개발했으며, 닷넷 코어 기반 기술에 관심이 있어 다양한 연구를 진행 중이다. 현재 이창현 코딩 연구소(https://blog.naver.com/jamsuham75) 대표로 활동하면서 개발자를 꿈꾸는 청년들을 교육하는 업무에 주력하고 있다. 연구한 기술을 틈틈이 정리하고 공유하며 집필하거나 번역하고, 강의를 통해 타인과 소통하는 작업을 즐긴다. 『나혼자 파이썬』(디지털북스, 2020)을 비롯해 프로그래밍 관련 도서 8권을 집필했다. 늘 누군가에게 감동을 주는 일을 하면서 사는 게 꿈이다.

  • [PART I 기초]


    CHAPTER 1 시작하기

    1.1 Spark NLP와 자연어 처리

    1.2 기타 도구

    1.3 환경 설정

    1.4 아파치 스파크에 익숙해지기

    1.5 Spark NLP를 사용한 Hello World


    CHAPTER 2 자연어 처리 기초

    2.1 자연어 처리 정의

    2.2 언어학

    2.3 사회언어학

    2.4 화용론

    2.5 문자

    2.6 인코딩

    2.7 연습 문제: 토큰화

    2.8 참고 자료

     

    CHAPTER 3 아파치 스파크의 NLP 라이브러리

    3.1 병렬처리, 동시성과 분산 컴퓨팅

    3.2 아파치 스파크의 아키텍처

    3.3 스파크 SQL과 Spark MLlib

    3.4 NLP 라이브러리

    3.5 Spark NLP

    3.6 연습 문제: 토픽 모델 구축

    3.7 참고 자료

     

    CHAPTER 4 딥러닝 기초

    4.1 경사 하강법

    4.2 역전파

    4.3 합성곱 신경망

    4.4 순환 신경망

    4.5 연습 문제 1

    4.6 연습 문제 2

    4.7 참고 자료

     

     

    [PART II 빌딩 블록]


    CHAPTER 5 단어 처리

    5.1 토큰화

    5.2 어휘 감소

    5.3 단어 가방

    5.4 CountVectorizer

    5.5 n-gram

    5.6 시각화: 단어 및 문서 분산

    5.7 연습 문제

    5.8 참고 자료

     

    CHAPTER 6 정보 검색

    6.1 역 인덱스

    6.2 벡터 공간 모델

    6.3 연습 문제

    6.4 참고 자료

     

    CHAPTER 7 분류와 회귀

    7.1 BoW 기능

    7.2 정규식 특성

    7.3 특성 선택

    7.4 모델링

    7.5 반복

    7.6 연습 문제


    CHAPTER 8 케라스를 사용한 시퀀스 모델링

    8.1 문장 분할

    8.2 섹션 분할

    8.3 품사 태깅

    8.4 조건부 무작위장

    8.5 청킹 및 구문 분석

    8.6 언어 모델

    8.7 순환 신경망

    8.8 연습 문제: 문자 n-gram

    8.9 연습 문제: 단어 언어 모델

    8.10 참고 자료

     

    CHAPTER 9 정보 추출

    9.1 개체명 인식

    9.2 상호 참조 해결

    9.3 어서션 상태 감지

    9.4 관계 추출

    9.5 마치며

    9.6 연습 문제

     

    CHAPTER 10 주제 모델링

    10.1 k-평균

    10.2 잠재 의미 분석

    10.3 음수 미포함 행렬 분해

    10.4 잠재 디리클레 할당

    10.5 연습 문제

     

    CHAPTER 11 단어 임베딩

    11.1 Word2Vec

    11.2 글로브

    11.3 패스트텍스트

    11.4 변환자

    11.5 ELMo, BERT와 XLNet

    11.6 doc2vec

    11.7 연습 문제

     

     

    [PART III 애플리케이션]


    CHAPTER 12 감성 분석과 감지

    12.1 문제 진술과 제약

    12.2 프로젝트 계획

    12.3 솔루션 설계

    12.4 솔루션 구현

    12.5 솔루션 테스트와 측정

    12.6 검토

    12.7 마치며

     

    CHAPTER 13 지식 베이스 구축

    13.1 문제 진술과 제약

    13.2 프로젝트 계획

    13.3 솔루션 설계

    13.4 솔루션 구현

    13.5 솔루션 테스트와 측정

    13.6 검토

    13.7 마치며

     

    CHAPTER 14 검색엔진

    14.1 문제 진술과 제약 조건

    14.2 프로젝트 계획

    14.3 솔루션 설계

    14.4 솔루션 구현

    14.5 솔루션 테스트 및 측정

    14.6 검토

    14.7 마치며

     

    CHAPTER 15 챗봇

    15.1 문제 진술 및 제약

    15.2 프로젝트 계획

    15.3 솔루션 설계

    15.4 솔루션 구현

    15.5 솔루션 테스트 및 측정

    15.6 검토

    15.7 마치며

     

    CHAPTER 16 객체 문자 인식

    16.1 OCR 작업의 종류

    16.2 문제 진술 및 제약

    16.3 프로젝트 계획

    16.4 솔루션 구현

    16.5 솔루션 테스트 및 측정

    16.6 모델 중심 지표

    16.7 검토

    16.8 마치며

     

     

    [PART IV NLP 시스템 구축]


    CHAPTER 17 다국어 지원

    17.1 언어 유형

    17.2 시나리오: 학술 논문 분류

    17.3 다양한 언어의 텍스트 처리

    17.4 전이 학습과 다국어 딥러닝

    17.5 언어 간 검색

    17.6 체크리스트

    17.7 마치며

     

    CHAPTER 18 수동 레이블링

    18.1 가이드라인

    18.2 시나리오: 학술 논문 분류

    18.3 레이블러 간 동의

    18.4 반복 레이블링

    18.5 텍스트 레이블링

    18.6 체크리스트

    18.7 마치며

     

    CHAPTER 19 NLP 애플리케이션 제작

    19.1 Spark NLP 모델 캐시

    19.2 Spark NLP와 텐서플로 통합

    19.3 체크리스트

    19.4 마치며

  • 언어학자, 데이터 과학자, 소프트웨어 개발자의 눈으로 구현하는 자연어 처리 애플리케이션

     

    자연어 처리는 사람과 기계를 소통할 수 있게 만드는 기술입니다. 최근에는 의료 산업, 기계번역, 작문, 챗봇과 같이 데이터를 분석해 서비스를 제공하는 애플리케이션의 개발과 기술 도입이 활발하게 확대되고 있습니다. 자연어 처리 기술을 쉽게 구현하도록 돕는 라이브러리 중 하나인 Spark NLP는 아파치 스파크 기반으로 정확성과 확장 가능성, 빠른 속도를 자랑합니다. 

     

    그러나 애플리케이션을 만들기 전에 유념해야 할 부분은 우리가 다룰 데이터(텍스트, 이미지, 영상, 음성)가 컴퓨터를 염두에 두고 만들어지지 않았다는 점입니다. 이 책에서는 이런 데이터를 잘 분석하고 처리하기 위해서 언어학, 데이터 과학, 소프트웨어 공학 측면에서 이를 살펴봐야 한다는 새로운 관점을 제시합니다. 애플리케이션을 구현하기 전, 언어학자가 되어 추출하려는 데이터의 내용에 초점을 맞춰 살펴보고, 데이터 과학자가 되어 데이터에서 필요한 정보를 추출하는 방법을 고민하고, 소프트웨어 개발자가 되어 애플리케이션이 수행해야 할 작업에 초점을 맞춰 접근하는 방법을 알아봅니다. 

     

    세 가지 관점으로 구현하려는 애플리케이션과 데이터를 바라보면 NLP 애플리케이션을 효율적으로 개발할 수 있고, 사용자에게 더 유용한 애플리케이션을 제공할 수 있습니다. 이 책에서 Spark NLP 사용법과 NLP 애플리케이션을 현명하게 구현하는 방법을 배워 자연어 처리 전문가가 되어봅시다.

    • 실시간성이 필요한 빅데이터 처리에 강점을 갖는 아파치 스파크는 국내에서도 금융권 등에서 널리 쓰이고 있다. 최근 게시물 내용을 활용한 빅데이터 처리를 스터디할 일이 생겨 자료를 찾던 중에 스파크 NLP 책이 발간된 것을 보고 매우 반가웠다. 더욱이 스칼라가 아닌 파이썬 기반의 설명으로 구성되어 있어 파이썬에 익숙한 사람들에게 더 유용할 것 같았다.


       


      아파치 스파크를 처음 접하는 사람들을 위해 기본 환경 설정을 설명하는 부분부터 딥러닝 기초인 신경망을 기본 스파크 NLP 라이브러리를 이용해 소개하는 부분이 포함되어 있다. 2부에서는 NLP 기술에 사용되는 여러 기법들, 단어처리와 정보검색, 분류와 회귀시퀀스, 정보 추출, 단어 임베딩 등의 주제를 다루고 있어 실제 적용에 필요한 기술을 차근차근 배울 수 있었다.


       


      실제 적용을 다루는 3부에서는 솔루션을 구현하는 데 필요한 설계 과정과 제약조건을 해결하는 방법을 의사결정 과정을 포함하여 기술하고 있어 실 모델 구현에 많은 도움을 받을 수 있었다. NLP 시스템을 기반으로 하여 최종 제품을 만들어내는 과정까지 빠지지 않고 4부에서 기술하고 있다. 


       


      스파크 기반의 NLP 모델 구축 뿐 아니라 NLP의 기본적인 기술, 구현 과정을 익힐 수 있는 구성으로 되어 있어 큰 도움이 되었다. 


       


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


       








    • IMG_3766.jpg


       


      현업에서 Spark를 사용해 빅데이터 분석을 하고 있지만, 자연어 처리에 대한 경험은 없어서 공부를 위해 이 책을 보게 되었습니다.


       


      Spark 설치로 이 책의 자연어 처리 실습들을 진행 할 수 있어서, 흥미를 잃지 않고 빠르게 진행할 수 있었습니다.


      Spark는 빅데이터 분석 플랫폼입니다. 큰 데이터도 별도 구현없이 분할해서 빠르게 분석 할 수 있습니다.


      그리고 Spark의 ML 라이브러리로 간단하게 머신러닝/딥러닝을 활용할 수 있습니다.


      이 책을 보면서, Spark가 머신러닝/딥러닝 분석을 시작하는 분들에게 가장 좋은 환경을 만들어 주는 플랫폼이라는 생각이 들었습니다.


       


      Chapter 2에서 자연어처리/딥러닝 기초에 대한 내용을 설명하고, 이 후에 텍스트 전처리, 언어 모델, 표현 등의 일련의 과정들을 구현해 볼 수 있게 되어 있습니다.


      영화 리뷰 분석, 검색 엔진, 챗봇 및 이미지에서 텍스트 추출 등 여러 애플리케이션을 개발할 수 있는 예제도 있어서 자연어 처리를 경험하기에는 좋은 구성이였습니다.


       


      자연어 처리에 대한 이해가 있다면, 여러 재밌는 데이터 분석들을 할 수 있습니다.



      자연어 처리를 시작하려는 분들에게 책을 추천합니다.


    •  



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



      장점



      1. 기존의 자연어 처리를 위한 전처리, 분석, 시각화, 학습에 대한 서적이 보통 R언어에 치우쳐져 있으며 Python 경우 서적이 별로 없고 Sklearn,nltk 등을 통해 분석을 하였는데 해당 책에서는 Spark 집중 활용하여 자연어를 처리하는 것을 보여주어 기존에 나와있는 파이썬 관련 자연어 처리 입문 서적 최고라고 생각함



       



      2. TF-IDF, 코사인 유사도, n-gram 분석하는 방법들이 자세하게 나와 있어 자연어 처리 입문자가 보면 좋은 내용들이 많음



       



      단점



      1. 데이터가 영어로 진행되어 한국어로 해보고 싶으면 개인적으로 찾아보면서 해야됨



      2. 분석에 집중한 책인지 학습하는 방법이나 응용해보는 구간이 간략하게 되어 있음



       



      후기



      1. 자연어 처리의 경우 그나마 괜찮은 서적들이 R언어로 되어 있으며 Python 활용해 보고 싶어 검색을 통해 sklearn,nltk, konlp 등을 활용해본 경험이 있는데 책이 좀더 일찍 나왔다면 책을 사서 공부를 했을 정도로 자연어 처리 입문서적으로 훌륭한 서적인거 같다.


       



      20210923_021826.jpg


       






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



       



      IMG_4108.jpeg



       






      요즘 활용을 많이들 한다는 스파크 에서 사용하는 자연어 처리 라이브러리 스파크 NLP를 사용하는 법을 소개하는 책이다.






       



      output_3017185027.jpeg





       



      아무래도 해당 분야에는 초보다 보니 읽는데 아무래도 쉽지는 않았네요



      뭔가 설명이 친절하지않고, 이해가 잘 가지 않는 용어들, 뭔가 이상한 설명에....



      읽기에 편한 책은 아니었네요



      그래도 스파크 자연어 처리의 전반적인 틀을 이해할 수 있고 그것을 위해 스파크를 어떻게 다뤄야하는 지 등을 알기에 좋았습니다.



      또한 중간중간 건네주는 팁들이 생각보다 알짜였어요



      하지만 어색한 문체라던지 이해가지 않는 설명 등



      이 책만으로 spark nlp를 정복하기는 어려울 것 같았습니다.


       







       


       



      output_926399499.jpeg



       



       






    • Spark NLP는 아피치 스파크 및 스파크 ML에 기반을 두고 구축된 오픈 소스 자연어 처리 라이브러리입니다. 자연어 처리는 텍스트를 이해하거나 추론해야 하는 많은 데이터 과학 시스템의 핵심 구성요소를 말하는데요. 이번 스파크를 이용한 자연어 처리 저서를 통해 기본 사항과 구성요소, 언어학 기반의 여러 개념과 용어들 그리고 NLP 라이브러리 기반의 애플리케이션 프로젝트에 관해 쉽게 이해할 수 있는 내용을 담고 있습니다.



       



      스파크를 이용한 자연어 처리는 크게 4부로 나눠집니다.



      1부에서는 아파치 스파크의 기본 환경 설정, 언어학, 문자 체계 및 Spark NLP 라이브러리를 설명하고 딥러닝 기초로서 신경망에 대해서 다룹니다.



       



      2부에서는 자체 NLP 기술을 구축하는데 필요한 여러 가지 기술을 소개합니다. 이들의 기술의 종류와 작동 방법을 이해하면 자신의 애플리케이션에 적용할 수 있습니다.



       



      3부에서는 이전 내용을 바탕으로 NLP 애플리케이션을 구축하는데요. 소프트웨어 공학, 데이터 과학 그리고 언어학이라는 세 가지 관점을 염두에 두어야 하는 점입니다.



       



      4부에서는 NLP 시스템 기반에서 제품으로 만들 때 고려할 여러 사항을 다룹니다.



       



      자연어 처리 애플리케이션을 개발하고 싶은데 어디부터 시작해야 할지, 어떤 도구를 사용해야 좋을지 고민하는 분들에게 Spark NLP는 답을 제시해줍니다. 스파크를 이용한 자연어 처리 저서는 친절하고 다양한 예시, 영화 리뷰 작성자의 감정 분석하기, 지식 베이스 구축하기 등 실용적인 예제 실습들이 있습니다. 이뿐만 아니라 응용력 강화를 위한 요소 제공을 해줍니다.



       



      자연어 처리는 사람과 기계를 소통할 수 있게 만든 기술로 최근에는 의료 산업, 기계번역, 작문, 챗봇과 같이 데이터를 분석해 서비스를 제공하는 애플리케이션의 개발과 기술 도입이 활발하게 확대되고 있는데요. 스파크를 이용한 자연어 처리는 데이터를 잘 분석하고 처리하기 위해서 언어학, 데이터 과학, 소프트웨어 공학 측면에서 이를 살펴봐야 한다는 새로운 관점을 제시해줍니다. 이 책을 통해 Spark NLP 사용법과 NLP 애플리케이션을 현명하게 구현하는 방법을 배워 자연어 처리 전문가가 되어 보시길 바랍니다.



       



      예제 코드는 깃허브 저장소에서 내려받을 수 있습니다.



      github.com/jamsuham75/spark-nlp-book



       


       





       



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


    • 20210922_214904.jpg



      안녕하세요? 이번에 소개할 도서 리뷰는 스파크를 이용한 자연어처리입니다.


      새 책을 펼치면서 우리는 많은 기대를 합니다. 


      그런데, 그 분야의 책들을 많이 읽으면, 새롭게 얻는 지식을 적어질 수 밖에 없겠죠.


      그래도 새 책을 읽는 이유는 그 작은 인사이트를 얻기 위해서가 아닐까 싶습니다.


      이번에 읽은 스파크를 이용한 자연어처리가 저에게 그런 느낌입니다.


      몇년 자연어처리책들을 읽어 왔던터라, 스파크를 이용한 자연어처리라는 말에, 대단한 스파크 이용법이라던가, 대규모 텍스트를 다루는 뭔가 특별한 것이 있을 것이라고 생각하였습니다.

       



      이 책은 자연어처리를 어느 정도 할 수 있고, 똑같은 자연어처리 과정을 스파크 문법을 통해 해결하는 것을 한번 훓어본다는 느낌으로 보면 좋을 것 같습니다.

       


      20210922_214940.jpg



      이 책의 핵심인 빌딩 블록 파트에서 단어처리부터 하나하나 우리가 알고 있는 자연어처리 기법들을 설명합니다.


      머신러닝 이전, 머신러닝, 딥러닝까지 올때까지의 여러 것들을 조금씩 설명하고 있으므로, 기존의 지식을 정리하기에 좋습니다.


      그러나 이론적 설명이 짧고, 번역투에, 뭔가 이해하기 어려운 용어들도 나오기에, 초보가 읽기에는 벅찰 수도 있습니다.

       



      전, 가끔가다 나오는 팁들이 좋았습니다. 

       


      20210922_215009.jpg


       



      소스코드도 일반적인 자연어처리에서 보여주는 소스 코드 길이 수준입니다.


      간단한 자연어처리 책 한권 정도 읽었다면, 파이썬 문법은 해석할 수 있는 수준입니다.


      이 책이 아쉽게도 소스코드는 제공하는데, 코드에 대한 자세한 설명이 없습니다.


      그래서, 파이썬 코드나 자연어 처리 공부를 한 적이 없다면, 어려울 수 있습니다.


      그리고, sql 문법도 나오고, NLTK, 사이키런, 케라스도 나옵니다.


      그러니까, 기존에 알고 있는 지식을 총동원해서, 스파크로 처리하는 과정을 이해해야 합니다.


      한가지 다행이라면, 앞부분에서 소스소코드 하나하나 이해하면, 뒤에는 그 소스코드를 재활용하므로, 쉽게 쉽게 넘어갑니다. 400페이지 전부 다른 코드는 아니니까, 너무 걱정하지는 마세요.






      다른 분들 리뷰보니까, 자바 등 설치에 문제가 좀 있는 것 같습니다. 저는 추석에 책만 읽어보았는데, 이제 MS 애저에서 설치된 환경에서 테스트해보아야 겠습니다. 가끔 이렇게 클라우드에서 테스트해보는 것이 더 편할때가 있는 것 같습니다.


      이번에 읽은 스파크를 이용한 자연어처리는 제게는 자연어처리를 어느 정도 할 수 있으면, 스파크 머신러닝 라이브러리를 통해 쉽게 적응할 수 있을 것 같다는 느낌을 받았다는 점입니다.


      평소 잘 설명되어진 자연어처리 책으로 공부하시다가, 대규모 텍스트 분석을 빠르게 분석할 필요가 있을때 이 책의 위력이 나타나지 않을까 생각해봅니다. 자연어 처리 전과정을 다시 복습해서 즐거운 시간이었습니다.













       



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

       


    • 2021년 8월에 출간된 <스파크를 이용한 자연어 처리>에 대해 소개합니다. 이 책의 부제는 '대규모 텍스트를 다루는 가장 효율적인 딥러닝을 만나다'입니다. 필자는 자연어 처리를 온톨로지를 학습할 때 경험해 봤었습니다. 이 책은 자연어 처리를 스파크 기반 위에서 할 수 있는 라이브러리인 Spark NLP에 대해 소개하는 책입니다. 



      이 책의 저자는 'Alex Thomas'이며, 원서는 아마존 리뷰에서 높은 점수(9점)를 받았습니다. 역자는 이창현 님으로 번역에 대해서는 개인적으로 호불호가 있을 것으로 판단합니다.



      <스파크를 이용한 자연어 처리>는 440 페이지로 구성되어 있어 휴대하면서 읽기에 부담스럽지 않습니다. 다만 최근 출시된 한빛미디어 책은 전차책으로도 출간되므로 전자책을 읽을 수 있는 장치를 보유하신 분이라면 전자책으로 만나보는 것도 좋을 것 같습니다.



      한빛미디어 평가단에 참가하여 작성한 글이며, 한빛미디어에서 제공해준 책을 읽고 작성했음을 밝힙니다. 




      이 책의 매력은?



      <스파크를 이용한 자연어 처리>는 자연어 처리 기초와 주요 알고리즘, 그리고 Spark NLP 라이브러리에 대해 학습하는 책입니다.



      <스파크를 이용한 자연어 처리>는 4부 19개의 챕터로 구성되어 있습니다. 1부에서는 자연어 처리를 기본 개념과 지식, 그리고 딥러닝에 대해 간략히 소개합니다. 2부에서는 NLP 애플리케이션을 제작하기 위한 기술과 작동원리를 다룹니다. 3, 4부에서는 NLP 애플리케이션을 예제를 활용하여 직접 작성해보고 고려해야 할 사항들을 소개합니다. 이 책은 NLP 학습과 스파크를 활용한 NLP 애플리케이션 제작에 좋은 참고자료가 될 것 같습니다. 



      저는 이 책을 제대로 소화하기 위해서는 기본적인 CS에 대한 지식이 필요하다고 생각합니다. CS에 대한 기초 지식이 부족하면 이 책에서 설명하는 내용을 소화하기가 어려울 것으로 판단합니다. 이 책의 주제가 쉬운 주제는 아니지만, 조금 꼼꼼하게 독자를 배려했으면 하는 아쉬움은 있습니다.



      위 이미지는 이 책의 그림 1-1입니다. 하지만 코드를 실행해서 나온 결과는 아래 이미지입니다. 코드에 대해 이해를 하고 이 책을 읽었다면, 우측 이미지가 제대로 나온 결과물임을 알 수 있겠지만 그렇지 않은 독자들은 당황스러울 수 있습니다.


       



      1.png


       



      2.png


       


       



      위의 예처럼 저자가 설명을 전개하는 부분에서 아쉬움이 느껴집니다.







      마치면서



      <스파크를 이용한 자연어 처리>의 원서가 출간된 시점은 약 1년 전입니다. 이 문제로 말미암아, 컴퓨터에 익숙하지 않은 분들이라면 이 책에서 제공하는 개발 환경을 제대로 구축하고 실습을 원활히 진행하기에는 어려움이 있을 수도 있습니다. 필자가 추천하는 방법은 Google Colab을 활용하는 방법입니다. Google Colab을 이용하는 방법은 Github의 colab 디렉토리에 있는 자료를 활용하면 됩니다. 



      <스파크를 이용한 자연어 처리>는 스파크 기반 환경에서 NLP를 효과적으로 학습하는 데 도움을 주는 책입니다. 이 책을 통해 새로운 라이브러리(Spark NLP)를 알게 되었습니다. 앞으로 자연어 처리가 필요할 때 이 라이브러리를 활용해보고 싶습니다. 개인적으로는 파이선으로 작성된 예제를 스칼라로 변경해 보고 싶습니다. 



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

    •  



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


       



      spark_1_표지.jpg


       


       



      파이썬과 딥러닝 프레임워크로 자연어처리를 어느정도 한 사람으로써 spark 를 통해서 자연어처리를 한다는 것은 신선한 주제였습니다. 하지만, spark 와 Sparknlp , java 버전의 호환 문제로 인해서 일부 api가 작동하지 않는 문제가 있어서 아쉬운 부분입니다. 그렇기에, 로컬보다는 저자가 준비한 colab 파일을 이용해서 코랩에서 실습을 진행하는 것이 좋을 것 같습니다.


       



      (로컬 실습 기준)데이터 엔지니어링 도구들은 특히나 의존성 문제로 인해 api 작동이 안되는 문제가 비일비재한데 이 책 역시 그러한 문제에서 벗어날 수 없었습니다. 우선, 설치한 뒤 일부 api 가 실습 도중 java 버전으로 인해 작동하지 않는 것 같아서 java 버전도 바꾸고 spark 버전도 하둡이랑 맞춰서 바꾸었지만 결국 특정 api 가 실행되지 않았습니다. 제가 세팅을 잘못해서 그런 것일수도 있겠지만, 이 책을 보고 따라하는 상당수의 사람들에게도 비슷한 문제가 닥칠 수 있어서 우려가 되는 부분입니다. shell에서 할 때는 쥬피터에서 작동 안하던 Spark의 api 작동이 잘되는 아이러니가 있어서 아마 jupyter notebook 와 spark 연결을 환경변수 등을 신경써저 잘해야 될 것 같습니다.


       



      코드는 pyspark 를 쓰기에 파이썬을 어느정도 할 줄 알면 큰 문제는 없습니다. 중간중간 spark Api 를 쓰지만 전반적인 코드는 파이썬을 따릅니다. 자연어에 대한 이론은 시중에 나온 자연어처리 책들과 크게 다르지 않습니다. 스파크를 이용해서 nlp를 하는데 의의를 두면 좋을 것 같습니다. 자연어처리 자체는 더 좋은 교재들이 시중에 많이 있지만 책처럼 spark 로 자연어처리를 주제로 삼은 책은 거의 없을 것입니다. 


       



      책의 후반부에서는 keras 를 사용해서 lstm 등의 딥러닝 모델을 실습하는 챕터가 있고, 딥러닝이 나오면서부터는 관련된 라이브러리들을 pyspark 와 sparknlp 와 함께 사용합니다. api 이름만 조금 다를뿐 자연어처리 흐름은 파이썬과 다른 라이브러리에서 하는 것과 별반 차이는 없습니다.


       


       



      spark_1_2_.jpg


       


       



      책의 저자는 spark 2.4를 썼고 역자는 3.0.2 를 썼습니다. 저는 spark 3.0.3 과 3.1.2 를 둘 다 썼습니다. 그럼에도 일부 api 가 java 와 호환이 안되는지 에러가 발생해서 중간중간 실습이 막히는 것은 어쩔 수 없었습니다. 책의 저자가 사용한 spark 2.4 버전은 spark 공식홈페이지에서 다운로드 받을 수 없습니다. 2.4.8 설치파일이 있는 것 같은데 다운로드 되는 부분이 안 보였습니다. wget 으로 다른 기술블로그 등의 보니 코드를 내린 거지 404 error 가 발생했습니다. 그러니, 로컬에 spark 를 설치하고 실습이 막힌다면 코랩으로 바로 넘어가서 실습을 하면 좋을 것 같습니다.


       



      실습이 중간중간 막히는 아쉬움을 제외하고는 spark 로 자연어처리를 할 수 있는 신선함을 느낄 수 있어서 자연어처리를 좀 더 다양한 언어로 해보고 싶은 분들은 재밌게 할 수 있을 것 같습니다. 


       



       


       


       


       


       


       

    • 안녕하세요! 한빛미디어 도서 서평단 나는 리뷰어다 2021 멤버로서 작성하는 여섯 번째 리뷰입니다 :)



      이번에 제가 리뷰할 책은 스파크를 이용한 자연어 처리입니다. 저는 8월부터 2021 오픈소스 컨트리뷰션 아카데미 NLP with U 팀의 (어쩌다보니) 리드멘티로 참여하고 있는데, 그동안 웹과 모바일 프로그래밍만 공부하다가 지난 학기에 컴파일러 수업을 흥미롭게 듣고 관심이 생겨 지원한 것이라 자연어 처리 분야에 대한 지식은 거의 없이 오픈소스 NLP 도구만 조금 써 본 상태였습니다. 그래서 미팅 때 멘토님과 다른 멘티님들이 말씀하시는 내용을 이해하고 따라가기에는 어려움이 있었는데 마침 자연어 처리 내용을 다루는 이 책을 보고 선택했는데 마침 원하던 책을 리뷰할 수 있게 되어 기뻤습니다!



      KakaoTalk_Photo_2021-09-19-20-05-06 001.jpeg


       


      이 책은 약 430 페이지의 분량의 책으로 19개의 챕터에 걸쳐 자연어 처리에 유용한 Spark NLP로 효율적인 자연어 텍스트 분석 애플리케이션을 설계하고 제작하는 방법을 구체적인 예제와 설명을 통해 기본적인 언어학과 문자 체계부터 감성 분석, 검색엔진 구축까지 다양한 부분을 성능 문제까지 고려하여 다룹니다.


      이번에도 어김없이 목차부터 꼼꼼하게 살펴봤는데 감성 분석과 감지, 검색엔진, 챗봇, 객체 문자 인식, 다국어 지원 등 흥미로운 챕터명에 눈길이 가는데 여러분은 어떤 챕터에 관심이 있으신가요? 저는 얼른 애플리케이션을 개발해보고 싶었습니다.



      KakaoTalk_Photo_2021-09-19-20-05-06 002.jpeg


       


      종종 처음 환경 세팅할 때 막혀버려서 진도를 못 나가면 지쳐서 흥미를 잃게 되는데 저는 이번에도 이 부분에서 많은 고생을 했습니다. 그래도 끈기를 가지고 구글링을 통해 해결했습니다ㅎㅎ 아무래도 독자마다 처한 환경이 달라서 발생한 문제이니 어쩔 수 없는 것 같습니다^^



      KakaoTalk_Photo_2021-09-19-20-05-07 003.jpeg


       


      이론적인 부분에 대한 설명도 있지만 역시 흥미롭게 빠르게 공부하기에는 애플리케이션을 구현해보는 것만한 게 없다고 느꼈습니다. 평소에 선택이 필요한 상황에서 리뷰와 피드백을 꼼꼼히 살피는 편이고 개발할 때도 사용자의 리뷰와 피드백에 관심이 많은 편이라 감성 분석과 감지 파트에 특히 관심이 갔는데 애플리케이션을 개발할 때 문제와 제약 조건을 먼저 살펴보고 프로젝트를 계획한 다음, 솔루션을 구현하고 테스트 및 측정과 검토까지 단계적으로 다뤄주어 이 책을 통해 빠르게 전반적인 자연어 처리를 공부하고 적용해보는데 도움이 되었습니다 :)


      아직은 모르는 것이 많지만 그래도 이 책 덕분에 이제는 미팅 때 오가는 용어들에 대해 조금은 귀가 트인 것 같습니다. 저처럼 자연어 처리 분야에 관심을 가지시기 시작한 분들에게 간단한 애플리케이션을 만들어보며 전반적인 내용을 알아가기에 좋다고 생각하여 추천합니다!



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











    • [목차]



      [PART I 기초]



      CHAPTER 1 시작하기



      CHAPTER 2 자연어 처리 기초



      CHAPTER 3 아파치 스파크의 NLP 라이브러리



      CHAPTER 4 딥러닝 기초







      [PART II 빌딩 블록]



      CHAPTER 5 단어 처리



      CHAPTER 6 정보 검색



      CHAPTER 7 분류와 회귀



      CHAPTER 8 케라스를 사용한 시퀀스 모델링



      CHAPTER 9 정보 추출



      CHAPTER 10 주제 모델링



      CHAPTER 11 단어 임베딩







      [PART III 애플리케이션]



      CHAPTER 12 감성 분석과 감지



      CHAPTER 13 지식 베이스 구축



      CHAPTER 14 검색엔진



      CHAPTER 15 챗봇



      CHAPTER 16 객체 문자 인식







      [PART IV NLP 시스템 구축]



      CHAPTER 17 다국어 지원



      CHAPTER 18 수동 레이블링



      CHAPTER 19 NLP 애플리케이션 제작








      [주요 내용]



      - 자연어 처리와 Spark NLP, 딥러닝 기초를 설명합니다.



      - 토큰화, 문장 분할, 개체명 인식 방법을 살펴보고 각각의 작동 방식을 이해합니다.



      - 자신만의 NLP 애플리케이션 구축에 필요한 설계, 개발, 실험 과정을 차례대로 살펴봅니다.



      - NLP 애플리케이션 제작과 배포 시 고려해야 할 중요한 항목을 알아봅니다.







      [서평]



      요즘 자연어 처리애플리케이션 개발이 뜨고 있습니다. 하지만 막상 시작하고 싶지만 어디서 부터 해야하는지 어떤 도구를 사용 해야 하는지 막막합니다. ‘스파크를 이용한 자연어 처리’에서는 자연어 처리에 완벽한 Spark NLP에 알아 봅니다. 우선 100% 오픈소스로 다양한 모델과 파이프라인 사용이 가능 합니다. 그리고 아파치 스파크 기반으로 구축된 유일한 NLP 라이브러리로 다양한 확장성이 가능 합니다. 파이썬, 스칼라, 자바 언어등 다양한 언어를 지원합니다. Spark NLP를 구현하기 전에 먼저 3가지 관점을 살펴보겠습니다.







      첫째 소프트웨어 개발자의 관점




      • 애플리 케이션이 수행해야 할 작업에 초점을 맞춥니다.





      둘째 언어학자의 관점




      • 추출하려는 데이터의 내용에 초점을 맞춥니다.





      셋째 데이터 과학자의 관점




      • 데이터에서 필요한 정보를 추출하려는 방법에 초점을 맞춥니다









      이책의 구성은 크게 4파트로 되어 있습니다.



      파트1에서는 자연어 처리 이해에 필요한 기본적인 언어학 개념과 딥러닝 기초 개념 소개합니다.



      파트2에서는 NLP 애플리케이션 구축에 필요한 기술과 작동원리를 소개합니다.



      파트3에서는 NLP 애플리케이션을 직접 구축해보며 과정을 배웁니다.



      파트4에서는 NLP 애플리케이션 시스템을 구축할 때 고려해야 할 사항에 대해서 자세히 배웁니다.







      친절하고 다양한 예시











      실용적인 예제 실습



      영화 리뷰 작성자의 감정 분석하기






      지식 베이스 구축하기






      검색엔진 개선하기






      챗봇 애플리케이션 만들기






      이미지 텍스트 추출하기










      응용력 강화를 위한 요소 제공
















      아파치 스파크 NLP 라이브러리는 인공지능 프레임워크 및 도구 중에서 7번째(오라일리 설문조사)로 인기 있는 라이브러리로 선정될 정도로 널리 사용되어 있습니다. 오픈 소스 자연어 처리 라이브러리로 사용으로 크게 부족함이 없다고 생각합니다. 이책에서 자연어 처리를 하는 AI 애플리케이션 구축 및 Spark NLP 기본 사항과 구성요소 등 쉽게 이해할수 있도록 구성되어 있어 자연어 처리 분야를 공부 하고 싶은 분들에게 적극 추천 합니다.








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

    • 이 책, "스파크를 이용한 자연어 처리 Spark NLP"를 보면 대규모 텍스트를 다루는 가장 효율적인 딥러닝을 만나다. 라고 되어있다. 하지만 이 책에서는 대규모 텍스트를 다루지 않는다. 스파크는 다음 그림과 같이 대규모 데이터를 다루는데 최적화 되어있는 엔진이다.


       


       


      하지만 이 책에서는 스파크를 설정해 HDFS에서 부터 시작해 셋팅하는 법을 다루는 것은 물론이며 부족한 설명, 정확하지 않는 설명, 어색한 번역체, 문맥에 맞지 않게 나오는 단어와 문장들이 완성된 책이라고 보기에는 너무나 부족한 책이라는 느낌을 준다. NLP 용어에 대한 전반적인 내용을 배우기에는 괜찮은 책이지만... 통일성도 없고... 급하게 낸 책인가? 싶을 정도로 너무나도 부족한 책이였다.

    • [나는 리뷰어다] 대규모 텍스트를 다루는 가장 효율적인 딥러닝을 만나는 책, 스파크를 이용한 자연어처리







      글 / 사진 : 서원준 (news@toktoknews.com













      * 이 포스팅은 한빛미디어 ‘나는 리뷰어다” 에서 도서를 제공받아 작성한 것으로 구매가이드 성격이 짙은 서평입니다. 






      이제 얼마 안 있으면 민족의 명절 중 하나인 추석이 돌아온다. 올해 추석은 델타변이 바이러스의 영향으로 그 어느 때보다 온라인 선물 구매가 늘어날 것으로 보인다. 당장 추석을 맞이하는 업체들은 저마다 보도자료를 내면서 추석 대목 잡기에 한창이다. 이럴 때 일수록 추석 선물을 할 때 제일 중요한 이슈는 가성비가 될 수밖에 없다. 






      추석에 가장 어울리는 것은 역시 책 즉, 도서가 되겠다. 특히 지식을 담은 책은 그 자체로 매력있다고 하겠다. 필자는 많은 도서 서평을 쓰지는 못한다. 책 욕심이 많음에도 불구하고 다른 정보통신 제품 리뷰 때문에 늘 한정된 페이지만 읽고 서평을 쓰는 경우가 부지기수다. (ㅋㅋㅋ) 추석 선물로 먹거리, 정보통신 제품 등도 쓸모는 있겠지만 선물할 것이 없다면, 지식을 담을 수 있는 책이라도 선물하는 것은 어떨까. 이번에 필자가 준비한 도서는 새로운 지식과 기능을 습득할 수 있 책으로 준비했다. 






      이번에 필자가 준비한 도서는 대규모 텍스트를 다루는 가장 효율적인 딥러닝을 만날 수 있는 “스파크를 이용한 자연어 처리”이다. 딥러닝이라는 단어는 필자가 B2B 웨비나를 시청할 때면 어김없이 등장하는 용어로 머신러닝과 함께 최근 이슈의 중심에 서 있다. 






      아파치 스파크 위에 구축된 자연어 처리 라이브러리인 스파크 NLP는 정확성과 빠른 속도, 넓은 확장성을 지원하는 것으로 정평이 나 있다. 이 책은 Spark NLP로 효율적인 애플리케이션을 설계하고 제작하는 방법을 소개한다. 






      구체적인 예제와 친절한 설명을 통해 기본적인 언어학과 문자 체계부터 감성 분석, 검색 엔진 구축까지 Spark NLP를 사용하는 데 필요한 모든 것을 다룬다. 또한 NLP 애플리케이션 개발 시 매우 중요한 성능 문제도 살펴보며 실무에 응용하기 전 꼭 알아야 할 내용을 빠짐없이 담은 책이다.











































      서평을 마치면서 






      스파크를 이용한 자연어 처리 부분은 일반인들에게는 난해할 수 있고 관련 개발자들에게도 약간 힘들 수 있겠다는 생각이 든다. 필자가 이 책을 읽고 내린 결론은 일반인들에게 추석 선물로 하기에는 다소 부적합할 지 모르지만 딥러닝에 대해서 호기심을 가진 분들이 읽기에는 딱 적합한 구성을 가지고 있다고 본다.




    •  


      한빛미디어의 따끈따끈한 신작 '스파크를 이용한 자연어 처리'이다. 


      소제목은 '대규모 텍스트를 다루는 가장 효율적인 딥러닝을 만나다'라고 한다. 


      지금 하고 있는 프로젝트에서 빅데이터를 처리하고자 쓰려고 했던 스파크에 대해 미리 알아보려 한다! 


       




       


      스파크는 스파크만의 자료구조를 사용해서 분산처리를 하는 분석엔진이다.


      빅데이터를 다룰 때 많이 사용된다.


       




       


      '스파크를 이용한 자연어 처리'책에서는 아파치 스파크로 자연어를 처리하는데 의미를 둔다.


      그래서 텍스트, 자연어 처리를 할 때 알아두어야하는 개념에 대해 미리 설명하고 시작한다.


       


      스파크 NLP 참고 자료




       


      다만 빅데이터에 대해 잘 모르거나 통계학 전공자가 아닌 독자에게는 조금 어려울 수도 있을 것 같다.


       




       


      코드 예시. 히스토그램과 같이 시각화하는 방법도 실려 있다.


       




       


      뒤 설명에 적혀있는 대로 자연어와 스파크 NLP, 딥러닝 기초를 친절하게 설명한다.


      그리고 자연어 처리에 필요한 여러 개념부터 배포까지 설명해준다. 


      스파크를 사용해 자연어 처리를 해보고 싶은 사람이라면 이 책 한권으로도 최소한의 개발은 앱 구축은 해볼 수 있지 않을까 싶다!


       


      - 해당 도서를 한빛미디어로부터 제공받아 작성한 리뷰입니다. - 

  • 내용이 없습니다.
  • 내용이 없습니다.
닫기

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