Skip to content

HyoYoung22/Comment-based-recommendation-system-

 
 

Repository files navigation

Comment-based-recommendation-system-

Introduction

✨서비스 개요

서비스명

사용자 리뷰 데이터 기반 게임 추천 시스템 구현

한줄 소개

구글 앱 스토어내의 카카오 게임즈들의 사용자 리뷰 데이터들을 바탕으로 사용자 맞춤 게임 추천 시스템 구현

개발 동기

게임 튜토리얼이 끝나면 다음과 같이 리뷰를 부탁하는 알림창을 모두 한번쯤 만나 보셨을 것이라고 생각합니다.

왜 이렇게 게임사들은 사용자들이 리뷰를 남겨주기를 바랄까요?? 아마 아직 사용해보지 않은 사용자들에게 더 많은 정보를 제공하고, 조금 더 많은 사용자들이 게임을 이용했으면 하길 바라기 때문이라고 생각합니다.

“사용자에게 더 많은 정보를 제공하기 위해서 만들어진 리뷰 데이터를 직접적으로 추천에 사용할 수 있다면 더 다채로운 추천이 가능하지 않을까?” 라는 생각에 사용자 기뷰 데이터 기반 추천 시스템을 개발하게 되었습니다.

📝세부 내용

웹 크롤링을 통해 추출한 사용자 리뷰, 평점, 전체 리뷰 수 등의 정보가 담긴 데이터를 활용하여 컨텐츠 기반 필터링 과정을 통해 사용자 리뷰에 따른 추천시스템을 구현하였음

image

1. Crawling

Selenium 을 이용하여 Data Crawling 진행

91개의 카카오 게임 선정(review 링크가 안들어가지거나, 동일 장르가 너무 적은 경우는 제외 )

각각의 게임마다 title,genre,rating,review_num,url,img, 500개의 리뷰

2. 키워드 추출

리뷰 데이터 하나에 대하여 한국어로 학습된 skt/kobert-base-v1 pretrained 모델을 사용하여 keyBert() 진행, 개별 리뷰 키워드,

500개의 문장에서 추출된 key world 의 가중치를 계산하여 게임의 통합 키워드 선정 (통합 키워드를 선정하기 위하여 TF - IDF 진행)

3. 컨텐츠 기반 추천 알고리즘

IMDB 에서 제안한 Weight Rating 방식으로 평점 재산정

→ 기존의 Rating 점수에 리뷰 갯수에 대한 가중치 할당 방식

TF - IDF 를 통해 키워드들에 대한 중요도를 가중치로 벡터 임베딩

코사인 유사도 함수 활용

→ 유사도 계산시 Genre와 Key_words 두 변수 동시 반영하여 추천 시스템에 적용

4. Frontend 구현

: React, styled-components

image

image

5. Web 구현

  • 사용 기술 :

Contents-Based-Recommendation Algorithm, Pandas, Numpy, React, Fastapi, KeyBert

기대 효과

  • 리뷰 데이터와 게임의 장르만을 활용한 최소한의 정보를 바탕으로 추천 시스템을 구현함
  • 게임 선정에 앞서 사용자가 리뷰를 습득하고자 할때 해당 시간을 단축 할 수 있음
  • 게임 선택에 있어서 사용자 경험 정보를 활용 가능해짐

Tech stack

분류 기술
Frontend REACT Axios
Backend Fastapi Uvicorn Swagger
Crawling Selenium
NLP KeyBert pandas NumPy

👨‍👨‍👧‍👦 Members

이름 개발분야 소개페이지
정태민 NLP Github
김주원 Frontend, Backend Github
박정훈 Crawling Github
장효영 NLP Github

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 98.2%
  • JavaScript 1.4%
  • Other 0.4%