본문 바로가기

이론

[패스트캠퍼스 - 30개 프로젝트로 끝내는 추천시스템 강의 Chapter06. 추천시스템이 필요한 이유]

추천 모델을 넘어 추천 시스템이 필요한 이유

콘텐츠 기반 vs 협업 필터링 vs 하이브리드

MF vs Neighborhood based

Factorization Machine

Deep learning Model - Wide and Deep, DeepFM

 

정해진 데이터 -> 정해지지 않은 데이터에서 추천에 필요한 데이터를 직접 만들어내기

올바르지 못한 알고리즘 선택

오프라인 기반의 추천 결과 -> 추천 결과를 일정 레이턴시 안에 유저에게 전달할 수 있는 서빙 (온라인 : 실시간) 

비즈니스를 고려하지 않은 메트릭 -> 실제 비즈니스의 가치를 창출해내는 기술

다양한 추천 Product를 고려하지 않고 부족한 확장가능성 -> 새로운 추천 프로덕트를 빠르게 만들고 유지보수할 수 있는 확장 가능성

 

가장 큰 어려움 : 시스템이 실제 세계에서 어떤 모습인지에 대한 이해 부족

온라인 콘텐츠는 모델에 초점을 맞추고 있음.

 

추천 시스템과 추천 모델의 관계

추천 시스템은 한 개의 추천 모델만 제공하지 않음.

유저가 아이템들에 가질 수 있는 관심도를 순서, 혹은 점수로 표현한 것

 

모델을 고를 때 고려할 점

추천 후보 아이템 수, 데이터의 종류, 추천 사용자와 추천 아이템 업데이트 주기

 

추천 시스템을 만들기로 할 때 먼저 알아야 할 점

추천 시스템 목표

SW개발의 최종 목표 : 비즈니스 목표 이루기

추천 시스템 최종 목표 : 비즈니스 목표 이루는 것을 도와주는 것

ex) 에이블리 - AI 추천 기술이 접목된 광고 모델 고도화

 

추천시스템을 결정하는 중요한 비즈니스 정보

1) 고객, 상품의 수

* 실효성의 문제

* 데이터 희소성 문제

피드백 데이터 -> 파레토 법칙

온라인 서비스의 기반 -> 롱테일 법칙

아이템 수 증가 -> 데이터 희소 -> 희소한 데이터 기반으로 더욱 더 개인화된 추천 -> 롱테일 달성

* 레이턴시의 문제

예측에 걸리는 시간

-> 품질 추천 받으려면 최소 1,000명의 사용자, 2개 이상의 상호작용이 이루어진 최소 50,000건 상호작용

 

2) 추천하고자 하는 상품의 특징 (산업군)

* 아이템 최신성의 중요도

* 재구매 가능 여부 / 음식, 생필품, 음악 (재구매 권장) / 뉴스, 영화, 책 (재구매 적음)

* Multi modailty (Content 기반 데이터가 무엇인지, 이미지 or 사운드 등)

 

3) 현재 사용할 수 있는 데이터

* 기존 서비스 데이터 아키텍쳐

기반 데이터 시스템에서 접근 가능한 데이터, DB 종류, 실시간 데이터

* 비즈니스 제한 사항

서비스에 따른 제한, 법적 제한 사항 (ex. 쿠키 사용 불가로 유저 구분 불가)

 

데이터 종류

메타 데이터(나이, 성별, 미리 유저가 공개한 관심사), 피드백 데이터(좋아요, 클릭한 상품, 구매한 상품, 리뷰 등)

사용 가능한 아이템 정보

메타 데이터(영화 태그, 감독 정보, 출판사 정보), 콘텐츠 데이터(뉴스 내용, 책, 음식 사진), 피드백 데이터(구매된 횟수, CTR 등)

Real time으로 유저나 상품의 데이터를 가져올 수 있는지 (Streaming Pipeline은 모던 서비스 데이터 아키텍쳐로 높은 난이도를 가짐.)

 

4) 추천 서비스로 달성하려는 비즈니스 목표

비즈니스 메트릭 == 추천 메트릭 ?

NDCG, MAP, AUC PR, KPI, OKR

 

5) 기존 추천 시스템

서비스에 리스트가 있다면 이미 추천은 존재, 정렬 기준 -> 어떤 데이터, 어떤 로직 사용하는지, 기존 데이터 내용, 추천 로직을 파악하는 것이 시작임.

 

대표적인 추천 Product

서로 다른 목표, 서로 다른 메트릭, 서로 다른 UI를 가지는 Product를 포함하는 서비스

한 개의 추천 시스템은 여러 개의 추천 Product를 제공함.

 

query, context -> 추천 시스템 -> Documents

 

1) Main Page

다양한 리스트, 위젯이 함께 있음.

광고 추천, 기획전 상품 추천 Product

신규 고객을 위한 main page recommendation을 따로 제공하는 경우도 있음.

 

2)  고객 history 기반의 개인화 추천

고객이 과거에 보았던, 혹은 구매했던 상품을 기반으로 추천 Product를 구성

 

3) 새로운 아이템 추천

새로운 아이템만을 위한 추천 Product를 별도로 만들고 이들 상품을 위해 따로 추천을 제공

특히 플랫폼 사업의 경우 새로 들어온 아이템에 충분한 conversion이 발생해야 건강한 운영이 가능

 

4) 당신이 좋아할 상품

개인화 추천을 이용하여 추천을 제공, 개인화 추천임을 보여주는 UX

 

5) 같이 본 상품

Source 아이템과 유사한 아이템을 추천, 유저가 계속 상품을 둘러볼 수 있는 UX를 제공, 보통 대체제를 추천

 

6) 같이 산 상품

Source 아이템과 함께 사면 좋은 아이템을 추천하여 객단가를 올림, 보통 보완제를 추천

 

7) 장바구니 추천

Source 아이템과 함께 사면 좋은 아이템을 추천하여 객단가를 올림, 같이 산 상품과 유사, 보통 Query 아이템이 한 개가 아닌 경우가 많음

 

8) 카테고리 페이지 추천

카테고리 별로 추천을 제공, 추천 모델을 별도로 구성? 카테고리가 많다면? 고려

 

9) 검색 추천

자연어 검색이 아닌 키워드 검색, 주로 검색과 추천을 같은 시스템으로 공유함.

 

자연어 검색 : 문장, 대부분의 검색 엔진

키워드 검색 : 문장이 아닌 단어 수준의 검색어, 아이템 검색


출처 : 패스트캠퍼스 - 30개 프로젝트로 끝내는 추천시스템 구현 강의