[교보문고 베스트셀러 분석 / 추천시스템] 0. 프로젝트 개요

프로젝트 개요

  • 주제 : 코로나 시대 베스트셀러 특성 분석 / 교보문고 베스트 셀러 데이터를 활용한 추천시스템 구현
  • 기여도 : 20% (총원 5명)
  • 담당 부분 : 데이터 수집 (크롤링 코드 개발), 시각화 및 데이터 분석, 추천시스템 (CBF, CF)
  • 프로젝트 진행기간 : 2022/02/09 ~ 2022/02/14
  • 결과 : 추천시스템 프로젝트 발표회 2등 (데이터 분석 부트캠프 과정)
  • 상세 내용 
    1. 코로나시대 분야별 베스트셀러 분석 및 시각화
    2. 책 추천시스템 구현 : CBF (Contents Base Filtering), CF (Collaborative Filtering)

Workflow

프로젝트 기획

  • 코로나 시대 출판시장의 트렌드 및 특성 분석
  • 교보문고 분야별 베스트셀러의 키워드 분석을 통한 인사이트 도출
  • 책 추천시스템 구현
    • 베스트셀러 키워드 픽 제공 : CBF 알고리즘 적용 가능
    • 사용자 리뷰와 별점 제공 : CF 추천 알고리즘 적용 가능

데이터 수집

  • 타겟데이터 : 교보문고 분야별 베스트 셀러
  • 데이터수집 : 책 제목, 키워드, 사용자 리뷰와 해당 아이디(masking 처리), 사용자 별점
  • 책 3,240권, 리뷰 182,115건 수집
  • 크롤링 코드 작성 : 반응형 웹 페이지 selenium으로 크롤링 
 

GitHub - jaydatum/project

Contribute to jaydatum/project development by creating an account on GitHub.

github.com

데이터 분석

  • 시각화, 분석
 

GitHub - jaydatum/project

Contribute to jaydatum/project development by creating an account on GitHub.

github.com

추천 알고리즘 구현

CBF ( Contents Based Filtering)

  • 교보문고 선정 keyword 기반 CBF 알고리즘 적용
  • CBF 특성상 중복되는 키워드의 수가 중요한 문제 
  • 기존 교보문고 키워드의 경우 세부적인 키워드가 많아 알고리즘의 성능이 저하되는 문제 발생
  • 카테고리를 키워드로 추가하여 추천성능을 높임
  • 리뷰수가 매우 적은 책은 경우 평점이 매우 높게 계산됨 : 가중평점으로 재계산

CF (Collaborative Filtering)

  • 평점을 남긴 아이디와 평점으로 CF 알고리즘 적용
  • 구매이력이 많지 않은 유저의 경우 추천 성능이 떨어지는 문제 발생
  • 유저 아이디의 경우 마스킹 처리로 신뢰도와 정확도가 높지 않음

기술 스택

  • 데이터 수집 : Selenium
  • 전처리 및 분석 : pandas, konlpy
  • 시각화 : matplotlib, seaborn
  • 추천알고리즘 : sklearn

Github 링크

 

GitHub - jaydatum/project

Contribute to jaydatum/project development by creating an account on GitHub.

github.com