잘라지는 정보기술업, 출판업 및 금융업 근무 이력이 있는 숙련된 데이터 과학자이다. 『Python Natural Language Processing』(파이썬 자연 언어 처리)이라는 책의 저자이기도 하다. 자연 언어 처리, 머신러닝, 딥러닝 및 빅데이터 분석을 연구하는 데 관심이 있다. 데이터 과학자이기도 하지만 사회 활동가이자 여행가이며 자연을 사랑하는 사람이기도 하다.
제목인 『Python Natural Language Processing』은 이 책에 대해 여러 가지를 생각하게 만든다. 여러분은 독자로서 자연어 처리(NLP: natural language processing)의 모든 측면을 처음부터 배울 수 있는 기회를 얻게 된다. 나는 이 책에서 NLP 개념을 매우 간단한 언어로 설명했으며 이 분야를 잘 이해할 수 있게 실용 예제를 소개한다. 예제를 구현하다 보면 NLP 기술을 향상시킬 수 있다. 재미있을 것 같지 않은가?
이제 NLP 분야에 대해 내가 친구나 동료로부터 받은 가장 일반적인 질문에 답해보겠다. 이 질문들은 내가 이 책을 쓰는 데 정말로 큰 영감을 주었다. 내게 있어서는 모든 독자에게 이 책의 집필 이유를 알리는 것이 아주 중요하다. 그렇다면 시작해보자!
일단 독자에게 중요한 질문에 답하고 싶다. 몇 가지 질문부터 답하겠다. 내가 보통 묻는 첫 번째 질문은 "NLP란 무엇인가?"이다. 두 번째 질문은 "파이썬이 주로 NLP 애플리케이션을 개발하는데 사용되는 이유는 무엇인가?"이다. 마지막으로 가장 중요한 질문은 "NLP를 배우기 위해 사용할 수 있는 자원은 무엇인가?"이다. 이제 답변을 알아보자.
첫 번째 질문에 대한 대답으로, NLP는 인간처럼 말하고 쓰고 읽거나 이해하는 언어다. 따라서 자연어는 의사 소통 수단이다. 전산과학 알고리즘, 수학 개념, 통계 기법을 사용해 우리는 머신도 인간이 하듯이 언어를 이해할 수 있게 언어를 처리하려고 한다. 이를 NLP라고 한다.
이제 두 번째 질문, "사람들이 주로 NLP 애플리케이션을 개발하는데 파이썬을 사용하는 이유는 무엇일까?"에 대한 대답을 해보겠다. 여러분과 나누고 싶은 사실이기도 한데, 매우 간단하고 직설적으로 말하면 파이썬에는 NLP 애플리케이션을 개발할 때 쉽게 사용할 수 있는 라이브러리가 많다. 또한 여러분이 C, 또는 C ++ 코딩 경험이 있다면 메모리 누수를 걱정할 필요가 없다. 파이썬 인터프리터가 이를 처리하기 때문에 주요 코딩 부분에만 집중할 수 있다. 게다가 파이썬은 코더 친화적(coder-friendly)인 언어다. 다른 객체 지향 언어에 비해 몇 행의 코드만 작성하면 훨씬 많은 작업을 수행할 수 있다. 따라서 이러한 모든 사실로 인해 사람들은 파이썬을 사용해 신속한 프로토타입 제작을 위한 NLP 및 기타 데이터 과학 관련 애플리케이션을 개발할 수 있다.
마지막 질문은 내게 중요한데 그 이유는 내 친구에게 위의 답변을 설명하곤 했고, 그들은 여러 사항을 들은 후에 NLP를 배우고 싶다면서 이용할 수 있는 자원은 무엇인지 물었기 때문이다. 예전에는 책, 블로그, 유튜브 동영상, Udacity, Coursera 같은 교육 플랫폼 등을 추천했지만 며칠 후 도서, 블로그, 그 외 형태의 하나로 된 자원이 있는지 물었다. 불행히도 내 대답은 "아니오."였다. 나는 그때 모든 자원을 일일이 이용하는 것이 어렵다고 느꼈으며, 결국 이 책을 집필하게 된 것이다.
그래서 나는 이 책에서 모든 사람에게 유용한 NLP의 필수 부분을 모두 다루려고 노력했다. 좋은 소식은 파이썬을 사용한 실용적인 예제를 담았기 때문에 독자는 이론적으로나 실제적으로 모든 개념을 이해할 수 있다는 것이다. 나는 독자가 쉽게 알 수 있게 읽기, 이해, 코딩이라는 3개의 주요 과정에 따라 이 책을 썼다.