Giter Site home page Giter Site logo

level2-3-recsys-finalproject-recsys-07's Introduction

프로젝트 개요


“STEAM BUDDY” 는 사용자와 친구의 Steam ID를 이용하여 Steam 라이브러리를 분석하고 친구와 함께 즐길 수 있는 게임을 선호도 순으로 추천해주는 서비스 입니다.

# 게임 추천 시스템: 사용자의 게임 플레이 이력을 분석하여 친구와 함께 즐길 수 있는 최적의 게임을 추천합니다.
# 소셜 게이밍: 친구와 공통된 게임 취향을 발견하고 공유할 수 있는 기회를 제공합니다.

팀 소개

프로토타입


최종 배포본


level2-3-recsys-finalproject-recsys-07's People

Contributors

hun-hong avatar kimeunwoo95 avatar jinhos avatar hyeyoonme avatar juniork725 avatar github-classroom[bot] avatar

Stargazers

 avatar  avatar

level2-3-recsys-finalproject-recsys-07's Issues

[BE] FastAPI 도입

Background

  • streamlit에서 FastAPI로 BE 변경

To Do

  • prototype과 같은 역할을 하는 FastAPI 구현
  • 추가 기능 구현...(예정)

[FE] 스팀 코드 입력방식

Background

  • 자신의 코드를 알 수 있는방식이 어렵다. 접근성이 떨어짐

To Do

  • Steam 프로필로 연결하는 링크 추가
  • SteamIDfinder 링크 추가
  • Steam URL을 파싱하여 Steam ID 입력
  • 친구 목록을 조회하여 Steam ID 입력

[DATA] api key 관련 문제

Background

  • code에 직접적으로 api key를 작성하는것이 보안에 취약하므로 api key를 보관할 규칙을 정하는것이 필요합니다.

To Do

  • api key 저장 규칙 정하기

[BE] api 구현

Background

  • SteamID64를 입력받아, 유저의 라이브러리 정보를 얻어온 후, 라이브러리 정보를 기반으로 앞으로 할 게임을 추천하는 api 구현

To Do

  • 유저 라이브러리 정보 획득
  • 추천 아이템 선정

[MODEL] Model Input 형태 결정

Background

  • 모델의 작동 시간을 줄이기 위해 B matrix와 DB에 있는 게임 목록도 입력 인자로 받고자 합니다.
    Prototype 단계에서는 생략하고, 실제 서비스 구현 과정에서 BE와 연계하여 결정하고자 합니다.

To Do

  • DB에 B matrix 파이프라인 구현
  • DB에 게임목록 파이프라인 구현

[FE] Progress bar 추가

Background

  • 모델이 연산 중일 때, 안내 문구 및 진행 바 등의 대기화면으로의 전환

To Do

  • 대기 화면, 안내 문구, 진행 바 등 구현
  • 디자인 선택

[FIX] requirements.txt 작성 및 확인

Background

  • 코드를 push 하실때, code가 필요로 하는 python library에 대한 정보를 담고 있는 requirements.txt 필수 작성 및 확인 필요

To Do

  • requirements.txt 작성
  • requirements.txt 작동 확인 (실제 존재하는 version인지 확인)

[ETC] main branch 항상 최신화

Background

  • main branch를 최신화 하신뒤에 branch를 생성하지 않으면 이후 수정사항 때문에 develop 환경에서 conflict가 쉽게 발생합니다. 반드시 branch 생성 전에 main branch pull을 부탁드리겠습니다.

To Do

  • branch 생성 전 main pull 하기

[MODEL] EASE 모델 구현

Background

  • Interaction의 sparsity가 매우 높고, 낮은 latency를 필요로 함.
  • 두 조건을 고려했을 때 EASE가 적합한 모델이라 생각되어 구현하고자 합니다.

To Do

  • EASE 모델 구현
  • 모델 평가를 위한 ndcg@k 구현

[MODEL] Neural EASE 학습 및 추론

Background

  • 현재 아무런 평가지표를 사용하고 있지 않아, 여러 시도를 정성적으로 밖에 평가할 수 없습니다. 문제를 해결하고자 N-ease 모델의 학습 및 추론 환경을 구축하려고 합니다.

To Do

  • Train, Valid, Test 구별을 통한 offline metric
  • n-ease 모델
  • 학습 및 검정

[FE] prototype 완성

Background

  • 사용자 선호도 및 취향 반영율 그래프 추가
  • 인터페이스 변경

To Do

  • requirement.txt 작성
  • 버그 수정

[FE] 유저 프로필 제공

Background

  • 추천 게임 뿐만 아니라, 유저의 선호 프로필을 요약하여 제공

To Do

  • 프로필 컨텐츠 구상 및 구현
  • 유저 Clustering
  • ... 추가 요망

[BE]Airflow를 이용한 자동화 구현

Background

  • 서비스 중 수집된 신규 유저에 대한 DB 업데이트 자동화
  • 업데이트된 DB에 대한 Model 업데이트 자동화

To Do

  • 신규 유저 DB 업데이트
  • Model 업데이트

[FE] 서버 보안 이슈

Background

  • streamlit으로 작성한 페이지에서 임의로 error를 발생시킬 경우 에러메세지에 서버의 디렉토리 구조가 그대로 드러나는 문제가 있습니다.

To Do

  • 원인 파악
  • 해결 방안 모색 및 적용

[DOC] github에 영상 추가

Background

  • prototype부터 실제 배포 버전까지의 history를 정리할 수 있는 영상 제작
  • 영상 편집 후 github readme에 추가

To Do

  • 영상 제작 및 편집
  • github readme에 추가

[DATA] 필터 및 장르 정보 데이터 추가

Background

추천 시 제공하는 필터링 기능과 유저 별 선호 장르 분석에 필요한 데이터 추가

  1. os(platform) 선택
  2. 연령 제한 선택
  3. 무료 여부 선택

To Do

  • 필터 데이터 수집
  • 필터 데이터 파이프라인 구축

[ETC] Issue 및 PR Template 추가

Background

  • 이슈 및 PR 작성 시 양식을 맞추는 작업을 편하게 하기 위해 template을 추가합니다.
  • 양식은 직전 프로젝트에서 사용하던 것과 동일합니다.
  • 프로젝트의 성격에 따라 몇가지 prefix를 추가합니다.

To Do

  • 이슈 템플릿 추가
  • PR 템플릿 추가

[FE] 도메인 주소 발급 필요

Background

  • 현재 웹페이지에 접속할때 ip주소를 이용해서 접속해야하는 문제가 있습니다. 이를 보편적인 도메인 주소로 변환하는 작업이 필요합니다.

To Do

  • 도메인 주소 정하기
  • 도메인 확보 전략 수립 및 선택

[DATA] 학습용 데이터 구분 feature 생성

Background

  • 이상치 데이터 제거, 해외 게임 제거, 유틸리티 프로그램 제거 등을 위해 데이터를 학습에 사용할지 여부를 결정하는 feature가 필요합니다.
    서비스에서 장르, 연령 제한 등을 기준으로 한 필터와는 별개의 기능입니다.

To Do

  • Feature 생성
  • 모델 학습 비교

[MODEL] 추천 모델 시나리오 추가

Background

  • 모델에서 나오는 추천 시나리오 추가

To Do

  • 현재 가장 인기 있는 게임 추천 추가
  • 멀티 플레이 게임 별 같이 플레이 할 만한 친구 추천 추가
  • ... (추가요망)

[MODEL] 모델 추천 방식 변경

Background

  • 현재 적용되고 있는 각 유저의 게임의 playtime 대신, 게임의 평균 playtime 대비 유저의 playtime을 이용하여 선호도를 계산하여 추천

To Do

  • 추천 시스템 구현 및 학습
  • 기존 시스템과 비교 분석

[ETC] BLACK formatter 적용

Background

  • code를 push 하실 때, BLACK이 적용되어 있는지 확인 부탁드리겠습니다.

To Do

  • code format 단일화 (BLACK)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.