프로젝트 개요
- 주제 : 코로나 시대 베스트셀러 특성 분석 / 교보문고 베스트 셀러 데이터를 활용한 추천시스템 구현
- 기여도 : 20% (총원 5명)
- 담당 부분 : 데이터 수집 (크롤링 코드 개발), 시각화 및 데이터 분석, 추천시스템 (CBF, CF)
- 프로젝트 진행기간 : 2022/02/09 ~ 2022/02/14
- 결과 : 추천시스템 프로젝트 발표회 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
'Jay's Project > 교보문고 책 추천시스템 구현' 카테고리의 다른 글
[교보문고 베스트셀러 분석 / 추천시스템] 4. 추천시스템 (CBF) (0) | 2022.07.25 |
---|---|
[교보문고 베스트셀러 분석 / 추천시스템] 3. 베스트셀러 분석 (0) | 2022.07.23 |
[교보문고 베스트셀러 분석 / 추천시스템] 2. 데이터 수집 (0) | 2022.07.21 |
[교보문고 베스트셀러 분석 / 추천시스템] 1. 프로젝트 기획 (0) | 2022.07.21 |