지난 목요일에 4일 동안 진행한 세 번째 개인 프로젝트가 끝났다.

세 번째 프로젝트에서는
네이버 쇼핑 리뷰 데이터를 가지고
자연어 처리(Natural Language Process, NLP) 감성 분석을 위한 데이터 파이프라인을 구축하는 과제를 진행하였다.

먼저 쇼핑 리뷰 데이터를 로컬 데이터베이스를 MySQL을 활용해 적재하고,
텐서플로우(Tensorflow)를 활용하여 딥러닝 GRU 모델을 적용한 자연어 처리 중에서도 감성 분석(Sentiment Analysis)를 진행했다.
새로운 리뷰를 입력 받으면 학습을 진행한 자연어 처리 모델이 결과 값을 반환해주는 방식으로
API 서비스도 만들었다.
API를 화면에 출력하기 위해 HTML에 진자(Jinja) 템플릿을 적용하고,
간단하게 CSS를 적용한 웹 애플리케이션도 만들었다.
로컬 데이터베이스와 연동한 대시보드도 만들었다.

하지만 딥러닝 라이브러리 용량 문제로 heroku에서 배포하는 것은 실패했다.
또 메타베이스(Metabase)로 작성한 대시보드는 인터넷 포트를 개방하여 배포할 수 있지만 약간 위험한 것 같아서 확인만 하고 포트를 다시 닫았다.
처음에는 네이버 Open API를 통해서 네이버 블로그 리뷰를 수집하여 리뷰 감성 분석 과정을 자동화하는 것까지 수행하려고 했는데,
제공되는 블로그 리뷰는 글의 첫 머리 일부분에 불과하여 본격적으로 활용하기는 어려웠다.

쉽지만은 않은 과정이었지만
이번 프로젝트를 통해 데이터 파이프라인이 구축되는 전반에 대해서 다뤄볼 수 있었고,
텐서플로우로 자연어 처리 모델 학습을 수행하고 API 서비스로까지 연결하는 과정에서 크게 성장한 느낌이 들었다.
문제를 하나 하나 해결해 나가는 과정에서 자신감도 얻었다.

다음 프로젝트에서는 개인화 추천 시스템을 구축하는 과제를 진행해 보고자 한다.
그럴려면 미리 미리 개인화 추천 시스템 공부를 해 놓아야겠다.

덧붙이는 말

제가 이번 개인 프로젝트에서 작성한 코드와 Readme 파일 등은 제 깃허브 my_project3 레포지토리에 함께 담아 두었습니다!