본문 바로가기

카테고리 없음

[패스트캠퍼스 - 30개 프로젝트로 끝내는 추천시스템 구현 강의 Chapter05. Cold Start 문제]

Cold Start 문제 해결 방법

콜드 스타트 문제

지금껏 배운 대부분의 알고리즘은 고객의 과거 기록을 활용하여 잠재된/미래의 선호를 예측하는 것을 시도함.

고객에 대해 아는 것이 거의 없다면 어떻게 추천해 줄 수 있을지 논의해보자 !

 

콜드 스타트?

유저의 선호도나 행동에 대한 기록이 적거나 전혀 없을 때, 새로운 유저에 대해 정확하고 적절한 추천을 하는 데 따르는 어려움

신규 유저가 유입되었을 때, 신규 아이템이 추가되었을 때 아이템에 대한 소비 패턴이 밝혀지지 않은 경우

 

콜드 스타트의 3가지 종류

1) user 콜드 스타트 : 새로운 유저가 플랫폼에 가입한 경우 추천 시스템이 사용자의 선호도, 관심사 또는 과거 행동에 대한 충분한 정보를 가지고 있지 않은 상황

2) item 콜드 스타트 : 새로운 아이템이 시스템/서비스에 추가되었을 때, 해당 아이템에 대한 유저 interaction 데이터가 충분하지 않은 경우

3) system 콜드 스타트 : 추천 시스템을 처음 시작할 때 user 및 item 모두에 대한 interaction 데이터가 전혀 없을 때(혹은 거의 없을 때)

 

* 파레토 법칙(pareto principle)

80:20 법칙이라고도 불림. "약 80%의 결과가 20%의 원인에서 비롯된다"

경제학자 빌프레도 파레토가 "이탈리아 인구의 20%가 전체 부의 80%를 차지한다"고 말한 데서 유래한 이름

추천시스템에서는, 80%의 유저-아이템 interaction이 인기 있는 20%의 아이템에 집중되는 현상을 이 법칙으로 표현할 수 있음.

 

* 롱테일 문제(long-tail problem)

이러한 법칙을 따르는 상황을 시각화하면 긴 꼬리가 그려지는 멱함수 분포를 따름

소수의 아이템에 대부분의 상호작용이 몰려 추천 과정에서 잘 노출되지 않는 아이템이 발생함

이러한 현상으로 개인의 선호가 반영화된 추천이 아닌 인기있는 아이템을 추천 받을 가능성이 높아지며 long tail을 악화시키는 결과를 낳음. user의 cold 문제 악화 (선호도가 반영된 feedback 누적이 어려움)

 

콜드 스타트 개선의 필요성

1) 유저 몰입 : 개인화되고 관련성 높은 추천을 제공하는 것은 유저의 시스템 몰입을 유지하는 데 매우 중요함. 관련 없는 아이템을 계속 추천하면 흥미를 잃고 시스템에서 이탈할 가능성이 있음.

2) 수익 관점 : 추천을 도입하는 이유는 매출에 직접적인 도움이 되기 때문, 시스템이 신규 유저에게 개인화된 추천을 제공하지 못하면 잠재적인 직접 판매/결제 수익을 잃게 됨.

3) 서비스 체류 시간 증대 : 개인화된 추천은 관련성 있고 흥미로운 아이템/컨텐츠를 제공함으로써 사용자 경험을 개선하고 이로써 더 오랜 시간 시스템에 체륳게 유도할 수 있어 간접적인 매출 발생에 기여함.

4) 시스템 성능 : 대다수의 신규 유저에게 잘 작동하지 않는 추천 모델의 결과로 서빙을 하면 시스템 부하 대비 좋지 않은 결과를 얻게 될 것임. 따라서 cold-start 상황에서 적절한 모델을 고안해 개선하는 것이 필요

ex) 간단하게 추천해야 할 것을 비싼 리소스를 들여 딥러닝 모델으로 구현

 

콜드 스타트 개선 방법 - Navie Approaches

1) 인기 아이템 추천

대부분의 유저가 좋아하는 상품 추천하는 방법, 초기 추천을 제고하는 데 효과적인 방법이며 좋은 반응을 이끌어낼 수 있음

최신성을 반영하여 trending contents를 보여주는 방식도 있는데 인기 아이템 추천의 한 갈래로 볼 수 있음.

유저의 고유한 선호도를 항상 반영하지 못할 수 있으며, 필터 버블 효과를 유발할 수 있음.

2) 랜덤 아이템 추천

신규 유저에게 랜덤하게 아이템을 추천하는 방식, 신규 아이템을 신규 유저에게 제공할 수있음.

다양한 아이템에 노출되기 때문에 유저의 선호를 발굴할 수 있는 exploration의 기능을 수행할 수 있으나 부족한 relevance로 인해 서비스 이탈 위험이 있음

3) 인구 통계 기반 추천 (Demographic-based)

유저의 특성에 따라 segment를 나누어 나이, 성별, 지역 등의 정보로 반응이 좋은 아이템을 추천하는 방식

CF 방식의 가장 단순한 형태, 인기 상품 추천보다 조금 더 나은 결과를 보일 가능성이 높지만 여전히 개인화된 추천은 어려움

4) 규칙 기반 추천 (Rule-based)

간단한 비지니스 룰 등을 적용하는 추천 방식, 역시 개인화된 추천은 아니지만 서비스에서 얻은 도메인 지식을 활용한다는 점에서 강점 있음.

ex) 신규 아이템, 평점 높은 아이템, 세일 중인 아이템 등

 

콜드 스타트 해결 방법

1. 선호도 유도(Preference Elicitation)

유저/고객의 잠재된 선호를 이끌어 내는 방법, 이를 달성하기 위한 방법론을 묶어 선호도 유도로 이르기도 함.

유저에게 특정 아이템을 평가하거나, 선호도를 선택하도록 요청, 관심사와 관련된 질문에 답하도록 하는 등 다양한 방법을 통해 유저의 선호도나 관심사를 명시적으로 파악하는 프로세스

추천시스템에서는 콜드 유저의 선호를 파악하기 위해 적용하는 다양한 기법을 선호도 유도의 방식으로 해석할 수 있음. (elictation process)

explicit한 방법, implicit한 방법이 있으나, 강의에서는 explicit만 다룸. 

 

1) 온보딩 설문지(onboarding questionnaires)

유저가 플랫폼이나 서비스에 처음 가입할 때 간단한 설문을 제시하여 관심사, 선호도 또는 인구통계적 정보를 수집

이 데이터를 사용해 조금 더 연관성 있는 추천을 제공하거나, 유저의 그룹을 나누어 추가적인 정보 수집을 이끌어낼 수 있음.

2) 아이템 선택 or 순위 지정 유도

pinterest와 같은 서비스의 경우, 첫 접속 시 관심있는 분야 선택을 요청

일부 서비스는 이와 같은 과정을 강제함으로써 가능한 많은 정보를 수집하기도 함.

선택된 아이템과 지정된 순위는 초기 ranking에 반영됨.

3) 인터렉티브 퀴즈

대화형 인터페이스를 통해 고객의 선호에 대한 정보를 이끌어내는 방법

conversational recommender system에 응용 가능함.

4) 소셜미디어 연동

친구들이 이미 소비한 아이템을 추천해주는 방식으로 활용

homophily : 유사한 사람들은 서로 연결되는 경향

5) 게임으로 만들기(gamification)

게임의 구조를 통해 유저가 자발적으로 자신의 정보를 채워 넣도록 유도하는 방법

linkedin의 경우, 대표적, 희소한 유저 정보를 채워 넣음으로써 더욱 연관성 있는 job post 추천을 제공할 수 있음.

 


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