Skip to content

Latest commit

 

History

History
108 lines (58 loc) · 5.08 KB

File metadata and controls

108 lines (58 loc) · 5.08 KB

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