CBF 추천 알고리즘으로 가장 기본적인 형태이다. CBF(Contents Based Filtering)는 데이터가 가지는 속성(Content)를 기반으로 또 다른 유사한 데이터를 추천해주는 알고리즘이다. 이 때 유사함이란 특정한 유사도(similiarity)를 기준으로 측정된 거리를 말하며 가까운 거리일수록 추천할만한 유사 데이터라고 해석한다. 데이터 전처리 CBF 알고리즘의 특성 상 keyword 항목이 데이터 안에서 중복되는 횟수가 적은 경우에는 추천시스템의 성능이 매우 떨어질 수 있다. 예를 들면 대다수가 액션 장르인 영화 데이터셋에서 오컬트 장르의 영화를 추천받기 원하는 경우와 같다. 따라따라서 조금 더 상위 개념의 keyword인 카테고리(분야)를 추가하여 데이터 사이에 겹치는 keyword를 ..
import pandas as pd import numpy as np import nltk from konlpy.tag import Okt # 그래프 %matplotlib inline import matplotlib.pyplot as plt import seaborn as sns # matplotlib 그래프 한글폰트 깨질 때 대처(Mac & Window) import matplotlib from matplotlib import font_manager, rc import platform if platform.system() == 'Windows': # 윈도우인 경우 font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/HMFMMUEX.ttc")..
타겟 데이터 본 프로젝트는 교보문고의 분야별 베스트셀러에 대한 분석과 추천시스템 구현을 목적으로 한다. 따라서 프로젝트에 필요한 타겟 데이터는 다음과 같다. 교보문고 분야별 베스트 셀러의 정보 (목록, 출판사 등) 해당 도서의 키워드 (일본소설, 치유, 사회문제, 대화) 해당 도서 평점과 평점에 참여한 유저의 정보 해당 도서의 리뷰 (추후의 NLP 적용를 위한 플러스 알파) 교보문고는 분야별 베스트셀러 목록을 excel 파일로 제공한다. 따라서 베스트셀러의 데이터를 일일이 크롤링 해야하는 수고를 덜어 작업이 훨씬 순조로웠다. 베스트셀러 도서의 키워드 역시 제공한다. 키워드픽이라는 항목으로 도서의 분류, 혹은 내용에 대한 키워드를 선정하여 고객들이 구매 전 미리 알아볼 수 있도록 했다. 미리 실물 책을 읽..
이번 프로젝트는 추천시스템 구현을 목적으로 수행한 팀 프로젝트이다. 별도의 포스팅으로 다루겠지만 추천시스템은 데이터 사이언스 기술이 본격적으로 알려지기 전에도 흔하게 찾아볼 수 있는 기술이었는데 주로 온라인 쇼핑 등에서 쉽게 볼 수 있었다. 구매자의 이력을 파악하여 비슷한 종류의 제품을 추천해주는 방식이 일반적이었다. 하지만 데이터 시대에 이르러 추천시스템의 위력이 대중들에게 강력하게 인식된 계기는 유투브, 그리고 넷플릭스와 같은 OTT 서비스일 것이다. '유투브 알고리즘'은 하나의 용어이자 밈으로 까지 쓰여서 늦은 밤 불면증의 주범이 되거나 혹은 관련도가 전혀 없는 영상을 추천해 실소를 자아내고 있다. 요새는 전보다 훨씬 성능이 좋은 것 같긴 하지만. 주제 선정 데이터 분석 부트캠프에서 머신러닝에 접어..
프로젝트 개요 주제 : 코로나 시대 베스트셀러 특성 분석 / 교보문고 베스트 셀러 데이터를 활용한 추천시스템 구현 기여도 : 20% (총원 5명) 담당 부분 : 데이터 수집 (크롤링 코드 개발), 시각화 및 데이터 분석, 추천시스템 (CBF, CF) 프로젝트 진행기간 : 2022/02/09 ~ 2022/02/14 결과 : 추천시스템 프로젝트 발표회 2등 (데이터 분석 부트캠프 과정) 상세 내용 코로나시대 분야별 베스트셀러 분석 및 시각화 책 추천시스템 구현 : CBF (Contents Base Filtering), CF (Collaborative Filtering) Workflow 프로젝트 기획 코로나 시대 출판시장의 트렌드 및 특성 분석 교보문고 분야별 베스트셀러의 키워드 분석을 통한 인사이트 도출 책..