머신러닝(Machine Learning)/추천 시스템(Recommendation System)

추천시스템 Overview

leebaro 2017. 9. 22.
728x90

추천시스템 Overview

추천의 사전적 의미

  • 어떤 조건에 적합한 대상을 책임지고 소개함(Naver 국어사전)

추천의 관점 기준 분류

사용자 관점

  • 사용자의 취향과 선호도를 파악함
  • 사용자의 선호도가 높을 것으로 예상되는 아이템을 예측하거나 제공함

서비스 제공자 관점

  • 서비스 제공자가 목표로 하는 KPI(매출, Page View 등)를 달성함

추천 사례

아마존

  • 매출의 35%가 추천을 통해 발생

넷플릭스

  • 대여되는 영화의 2/3가 추천 영화를 경유

구글 뉴스

  • 38% 이상의 조회가 추천 뉴스를 경우

추천 관련 용어정의

User

  • 사용자

Item

  • 추천이 되는 대상
  • 업종에 따라 다를 수 있음(예 : 온라인 서점 - 책, 넷플릭스 -영화)

Rating

  • 사용자 아이템에 대한 선호도 평가 점수

Preference / Taste

  • 선호 / 취향

System Architecture

System Architecture

Application Server

  • 실제 사용자가 이용하는 서비스를 제공하는 서버(예:쇼핑몰)

Contents DB

  • 상품 정보, 사용자 정보, 주문이력, 장바구니 이력 등을 저장한 데이터베이스

Log Stream

  • 사용자가 Application Server(쇼핑몰)을 이용시 발생하는 이력 정보(Web Log)

Recommendation Server

  • 추천 아이템을 생성하고, Applcation Server에 추천 데이터를 제공하는 서버

Log Cache

  • Batch Processing을 거치지 않고 로그 데이터를 이용하여 추천 상품을 제공하기 위해 로그 데이터를 저장하는 공간(예 : 이전 조회 상품 등)

Recommendation DB

  • Batch Processing을 통해 생성된 추천 상품을 저장하는 데이터베이스

Content DB Replica

  • 추천 아이템를 생성하기 위한 Contents DB을 복사본
  • Contents DB를 사용할 수 있으나, 운영중인 서비스에 영향을 최소화 하기 위해 데이터를 복사하여 이용

Log Storage

  • 추천 아이템을 생성하기 위해 사용하는 로그 데이터를 저장하는 공간

Batch Processing

  • 추천 아이템을 생성하는 작업
  • 이 작업시 CF 알고리즘, 통계적 기법등을 이용하여 추천 아이템을 생성





728x90