《파이썬 라이브러리를 활용한 텍스트 분석》 리뷰

에듀테크랩 2023. 3. 23.

최근에 《파이썬 라이브러리를 활용한 텍스트 분석》을 읽었습니다.


최근에 《파이썬 라이브러리를 활용한 텍스트 분석: Blueprint for Text Analytics Using Python》을 읽었습니다. 비전공자인 저에게는 상당히 난해한 책이었습니다.

하지만 최근 챗GPT 열풍으로 자연어 분석과 트랜스포머 모델 등에 관심을 갖게 된 저로서는 이번 책은 파이썬 라이브러리를 활용한 텍스트 분석은 어려웠지만 흥미로운 점과 유의미한 지점이 있었습니다.


파이썬 라이브러리를 활용한 텍스트 분석 앞표지

다행히도 이 책에서는 저와 같은 비전공자도 이해할 수 있도록 다양한 예제와 설명을 통해 텍스트 분석에 대한 이해를 돕고, 파이썬 라이브러리를 사용하는 방법을 설명합니다.

토큰화, 어간 추출, 불용어 처리, N-그램, POS 태깅, 개체명 인식, 감정 분석, 토픽 모델링 등 다양한 텍스트 분석 기술에 대해 다루며, 이러한 기술들을 사용하여 실제 문제를 해결하는 방법을 다양한 예제와 함께 설명합니다.

책의 유의미한 지점 중 하나는, 파이썬 라이브러리를 사용하여 텍스트 분석을 수행할 때, 주어진 문제에 대한 올바른 접근 방법을 결정하는 것이 중요하다는 것입니다. 이를 위해, 책에서는 텍스트 분석 문제를 파악하고, 적절한 방법을 선택하고, 그 방법을 구현하는 방법을 설명합니다.


가전제품 제조업체 프로젝트에서 제품 리뷰를 분석해 고객의 구매에 영향을 미치는 요소를 파악하자

특히 실무에서 접할 수 있는 문제를 제시하고, 문제를 정의하고 분석하는 과정을 제시함으로써 텍스트 분석에 대한 이해를 돕습니다.

또한, 책에서는 텍스트 데이터를 시각화하는 방법도 다룹니다. 텍스트 데이터를 시각화하면 데이터를 쉽게 이해할 수 있으며, 텍스트 분석 결과를 시각화하면 이해하기 쉽고 효과적인 결과를 얻을 수 있습니다.

이 책은 텍스트 분석에 대한 기초 지식이 없는 사람들도 분명 처음에는 어렵겠지만 그럼에도 불구하고, 예제와 함께 파이썬 라이브러리를 사용하는 방법을 설명하여 인내심을 갖으면 따라 할 수 있도록 구성되었습니다.


주피터 노트북은 필수입니다.

 


그러면 《파이썬 라이브러리를 활용한 텍스트 분석: Blueprint for Text Analytics Using Python》에 대해서 조금 더 자세히 알아보도록 하겠습니다.

 

《파이썬 라이브러리를 활용한 텍스트 분석》에 대해서 조금 더 자세히 살펴보도록 하겠습니다.


먼저 이 책의 저자들과 역자에 대해서 간단히 살펴보도록 하겠습니다.
 
젠스 알브레히트는 뉘른베르크 공과 대학 컴퓨터공학과 전임 교수이며, 데이터 관리 및 분석 분야에 중점을 두고 있습니다.

컴퓨터과학 박사 학위를 받고 업계에서 컨설턴트 및 데이터 설계자로 10년 이상 일한 뒤, 2012년 학계로 돌아왔습니다. 빅데이터 관리 및 분석에 관한 여러 편의 글을 기고했습니다.

싯다르트 라마찬드란은 현재 데이터 과학 분야에서 활동하고 있는 전문가로, 통신, 은행, 마케팅 산업 등에서 10여 년간 소프트웨어 엔지니어링 및 데이터 과학 분야에서 경력을 쌓았습니다.

기술을 이용해 현업의 문제를 해결하는 일에 열정을 가지고 있으며, 여가 시간에는 개인 프로젝트로 해킹을 즐기고 있습니다.

크리스티안 윙클러는 이론물리학 박사 학위를 받았으며, 20년 동안 대용량 데이터 및 인공지능 분야에서 일했습니다.

대량 텍스트 처리를 위한 확장 가능한 시스템 및 지능형 알고리즘에 주력하였으며, 데이터나이징 유한회사 Datanizing GmbH를 창립하고 다수의 콘퍼런스에서 강연하며 머신러닝/텍스트 분석을 주제로 다수의 글을 게재하고 있습니다.
 
또한 이 책을 옮긴 심상진은 국내 IT 대기업에서 자연어 데이터 분석 및 모델러로 활동하고 있습니다. 물리학을 전공했는데, 데이터 관련 시각화 및 관리 소프트웨어 방면의 경력을 지니고 있습니다.

최근에는 아기가 태어나서 아기를 키우는데 깊은 관심을 쏟고 있다고 합니다.
 
이렇게 실력있는 분들에 의해 쓰여지고 번역된 《파이썬 라이브러리를 활용한 텍스트 분석: Blueprint for Text Analytics Using Python》은 파이썬으로 텍스트 마이닝 및 자연어 처리를 수행하는 데 필요한 기술과 라이브러리를 소개하는 책입니다.

이 책은 텍스트 분석의 기본 개념과 기술을 이해하기 쉽게 설명하며, 파이썬의 기본 구문과 라이브러리를 활용하여 실제 텍스트 분석 문제를 해결하는 방법을 다룹니다.

텍스트 데이터의 전처리부터 문서 분류, 감성 분석, 주제 모델링, 네트워크 분석 등 다양한 분석 기법을 다루고 있습니다.

책에서 주로 다루고 있는 내용은 다음과 같습니다.

  • 파이썬을 이용한 텍스트 분석 개요
  • 텍스트 데이터 전처리 기술
  • 텍스트 분류 및 머신 러닝 기법
  • 텍스트 감성 분석
  • 텍스트 주제 모델링
  • 텍스트 네트워크 분석


또한 이 책에서는 파이썬에서 주로 사용되는 텍스트 분석 라이브러리인 NLTK, Scikit-learn, Gensim 등을 다루며, 이를 활용하여 문서 분류, 감성 분석, 개체명 인식, 문서 군집화, 유사도 측정 등 다양한 텍스트 분석 기법을 학습합니다.

그리고 텍스트 데이터를 전처리하는 방법과 텍스트 시각화 기술에 대해서도 다루고 있습니다.
 
이 책은 파이썬을 처음 배우는 독자도 쉽게 따라 할 수 있도록 구성되어 있으며, 텍스트 분석에 대한 전반적인 이해를 바탕으로 실무에서 바로 활용할 수 있는 실용적인 내용을 제공합니다.


많은 실습 예제와 모범 사례를 제공하여 실무에서 바로 활용할 수 있는 실용적인 지식을 제공하기에 특히 텍스트 데이터 처리에 관심이 있는 엔지니어, 데이터 과학자, 연구자, 학생 등에게 유용한 참고서가 될 것입니다.
 
왜냐하면 이 책은 NLP를 다루는 다른 책들과는 달리, 실제 문제를 다룰 때 마주치는 어려움을 해결하는 데 초점을 맞추고 있습니다.

기초를 설명하는 대신, 어떻게 빠르고 효과적으로 NLP 모델을 구축하고 문제를 해결할 수 있는지에 대한 전략과 코드를 제공하고, 엔지니어링 분야와 데이터 과학 분야를 결합하여 다양한 시나리오에 대응할 수 있는 해결책을 제시하고 있기 때문입니다.

책의 내용은 다음과 같은 방식으로 진행됩니다. 먼저, 특정 문제를 해결하는 데 필요한 데이터를 찾는 방법과 그 과정에서 마주치는 현실적인 문제를 다룹니다.

그리고 전처리 과정을 통해 회귀 또는 예측 모델을 만드는 방법을 설명합니다. 이러한 내용은 빠르게 사용할 수 있는 코드와 함께 제공됩니다.

책의 후반부에서는 다양한 모델의 종류와 학습 방법, 그리고 배포하는 방법에 대해 다루고 있습니다. 이러한 내용은 더 고도화된 모델을 구축하려는 독자에게 유용합니다.

또한, 샘플 결과를 빠르게 만들어 프로젝트의 성공 가능성을 검토하려는 독자나, 문제를 풀기 위한 베이스라인을 빠르게 작성해야 하는 독자에게도 유용합니다.

그러다보니 저와 같은 NLP에 대한 기본 지식이 없는 비전공자에게는 어려울 수 있습니다. 하지만, 제공되는 코드와 함께 기본 지식을 덧붙여 실제 문제를 해결할 수 있도록 도와줍니다.

책의 내용은 NLP 모델을 구축하고 고도화하는 방법에 대한 아이디어를 제공하기 때문에, 실제 문제를 해결하려는 독자에게는 매우 유용하게 다가올 것입니다.
 
 

《파이썬 라이브러리를 활용한 텍스트 분석》에 대해서 인상깊은 부분은 다음과 같습니다.



컴퓨터가 텍스트를 잘 이해하지 못하는 것은 문법이나 문장 구성 규칙이 엄격하게 지켜지지 않기 때문이며, 문맥에 크게 의존하기 때문입니다. 하지만 최근에는 통계 기술과 머신러닝 알고리즘의 발전으로 이러한 문제들이 해결되고 있습니다.

텍스트 데이터에서 가치를 도출하는 데 있어서 가장 큰 걸림돌 중 하나였던 의미 파악 문제도 최근 개발된 모델은 이전 모델보다 더 잘 해결할 수 있게 되었습니다.


LsaSummarizer 예시


 
따라서 현재는 단어 빈도만 사용하는 단순한 모델로도 가치 있는 결과를 도출하는 비즈니스 영역이 많이 나타나고 있습니다.

예를 들어, 가전제품 제조업체 프로젝트에서는 제품 리뷰를 분석해 고객의 구매에 영향을 미치는 주요 요소를 파악하고, 전자상거래 소매업체에서는 심층 신경망을 사용해 고객 질의를 분류하고 이를 적절한 담당자에게 이관하여 문제를 빠르게 해결하는 등의 사례가 있습니다.

텍스트 분석과 자연어 처리를 텍스트 데이터 분석에 대한 전략을 소개하고, 각각의 전략이 어떤 문제를 해결할 수 있는지를 설명합니다. 또한, 데이터 분석, 자연어 처리, 머신러닝 전용 파이썬 프레임워크를 사용하여 이러한 전략을 비즈니스에 적용하는 방법과 사례는 상당히 인상 깊습니다.


textrank_summary 예시



텍스트 분석 문제를 파이썬 생태계를 활용하여 효율적으로 해결하는 방법도 흥미로웠습니다. 텍스트 분석 및 머신러닝과 관련된 제반 개념을 자세하게 설명하며, 기본 라이브러리인 Pandas를 활용한 예제들은 저와 같은 비전공자도 학습하기 쉬웠습니다.

그리고 이 책에서 사용된 알고리즘의 일반적인 아이디어를 설명하지만 세부적으로 깊게 다루지는 않습니다. 수식을 완전히 이해하지 않고도 코드를 재사용할 수 있기만 하면 이 책의 예제들을 따라해볼 수 있습니다. 
 
또한 텍스트에서 감성을 이해하는 것은 어렵기 때문에 추론이 필요한데요. 브랜드에 대한 소셜 미디어 채널의 게시물, 댓글, 리뷰에서 감성을 분석하는 부분은 상당히 재밌었습니다.
 
특히 아마존에서 구매한 노트북에 대한 고객 리뷰를 분석하는 사례는 이 책의 백미라고 할 수 있습니다.


인공지능은 위 리뷰의 아이러니를 읽어낼 수 있을까?



바로 마케팅 부서에서 스마트폰 제품의 고객 인식을 파악하기 위해 아마존 고객 리뷰 데이터셋을 사용하는 방법을 설명하고 있습니다.


다양한 범주에 속하는 제품들에 대한 고객 리뷰를 모아놓은 것이며, 이를 분석하여 고객들의 제품에 대한 감성을 파악하고 제품의 잠재적인 성공 가능성을 결정할 수 있습니다.

이 데이터셋은 스탠퍼드 대학교 연구원에 의해 이미 스크랩 및 편집되었으며, 이를 사용해 고객 인식 분석에 활용할 수 있습니다.
 
이러한 분석을 위해서 어휘집(Lexicon)을 사용합니다. 어휘집은 단어와 해당 단어의 의미, 품사, 감성 등을 포함하는 딕셔너리 형태의 전문 용어집입니다. 감성 분석에서는 특히 각 단어의 감성 점수를 할당하여 사용하기에 어휘집이 필요합니다.


어휘집 lexicon이란?

감성 어휘집은 일반적으로 긍정, 부정, 중립으로 구분되며, 단어의 감성 정도를 표현하는 점수가 할당됩니다. 이러한 감성 어휘집은 자연어 처리 분야에서 감성 분석, 감정 분석 등 다양한 분야에서 활용됩니다. 감성 어휘집은 다양한 방법으로 구축될 수 있으며, AFINN, SentiWordNet, Bing Liu, VADER 등이 대표적인 감성 어휘집입니다.
 
끝으로 구글 코랩에서 무료로 GPU를 사용할 수 있다는 정보도 함께 제공을 합니다. 대부분의 파이썬 책은 구글 코랩보다는 주피터 노트북을 주로 사용하고, 이를 기반으로 설명합니다. 그런데 컴퓨터에 GPU가 없는 경우 머신러닝 구동이 상당히 더딥니다.


구글 코랩 소개

 


GPU를 사용하면 머신러닝 모델의 훈련 속도를 크게 향상시킬 수 있기 때문에, 이를 무료로 사용할 수 있다면 파이썬으로 텍스트 분석을 하는 속도가 상당히 단축됩니다. 구글 코랩을 사용하면 어디에서나 브라우저를 통해 노트북을 열어 머신러닝 모델을 만들고 실행할 수 있으며, GPU를 사용하면 보다 복잡하고 대규모인 모델도 빠르게 실행할 수 있습니다. 
 
그런데 저와 같은 비전공자들은 대개 책의 내용을 따라치기에 급급하다보니 구글 코랩이 있다는 정보조차 모르는 경우가 많습니다.  《파이썬 라이브러리를 활용한 텍스트 분석》에서는 구글 코랩을 소개하고 사용법을 간단히 알려주고 있기에 저와 같은 비전공자에게도 큰 도움이 될 것입니다. 

 

오늘은 《파이썬 라이브러리를 활용한 텍스트 분석》을 리뷰해보았습니다.


사실 《파이썬 라이브러리를 활용한 텍스트 분석》은 관련 실무자나 데이터 엔지니어들이 아니라면 이해하기 상당히 어렵습니다. 특히 교육현장에 있는 교사나 학생에게는 매우 어렵게 다가올 수 있습니다.


파이썬 라이브러리를 활용한 텍스트 분석 뒷표지

그럼에도 불구하고 《파이썬 라이브러리를 활용한 텍스트 분석》은 다양한 실무 문제를 제시하고, 문제 원인을 분석하고 해결하는 절차를 상당히 깔끔하게 제공하고 있습니다.
 
앞에서 예로 들었던 아마존 리뷰뿐만이 아니라 다음과 같은 문제 설정 사례도 좋았습니다.
 

  • 현재 사례를 준비하는 데 도움이 되도록 과거 사례를 검토하려는 법률 회사와 협업하는 경우
  • 고객이 긴 이메일을 좋아하지 않기 때문에 각 기사의 짧은 요약을 작성하는 경우
  • 슬랙이나 마이크로소프트 팀즈 등으로 커뮤니케이션 하는데 핵심만 간결하게 전달해야 하는 경우
  • 회의 도중 몇 시간 자리를 비운 상황에서 중요한 메시지만 확인해야 하는 경우

위의 사례는 모두 텍스트 요약 챕터에서 다루고 있는 사례들입니다.
 
이와 같이 실무 현장에서 있을 법한 문제들을 제시하고 있습니다. 저에게는 매우 인사이트있는 내용이 아닐 수 없었습니다. 
 

이처럼 《파이썬 라이브러리를 활용한 텍스트 분석》은 단순히 텍스트 분석을 위한 파이썬 라이브러리 사용법만을 제공하는 것이 아닙니다. 텍스트 분석이 필요한 실무 프로젝트에 도입할 수 있는 실용적인 예제와 해법, 절차 등을 제시하고 있습니다.

 
인공지능의 발전과 함께 더불어서 점차 교육현장에서도 데이터리터러시가 중요해지고 있습니다. 기업 실무자뿐만이 아니라 교육현장에서 근무하는 교사들 역시 수많은 학생의 과제를 통해 자연어, 텍스트를 다루고 있습니다. 
 
 
《파이썬 라이브러리를 활용한 텍스트 분석》을 통해서 교사로서 교육현장에서 활용가능한 인사이트를 얻기를 바라면서, 오늘 《파이썬 라이브러리를 활용한 텍스트 분석》 리뷰를 마치도록 하겠습니다. 감사합니다.
 

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

 

반응형

댓글

추천 글