추천시스템/Recommender Systems

Recommender System [1.2 Goals of Recommender System]

알맹리 2021. 7. 28. 16:44

1.2 Goals of Recommender System

Recommendation problem이 formulted되는 여러가지 방식 중 가장 유명한 2개는 아래와 같다.

 

1. Prediction version of problem: 첫번째 접근은 user-item 조합의 평점을 예측하는 것이다. user의 item에 대한 선호도를 나타내는 training data가 있다고 가정한다. m명의 user와 n개의 item에 대해, 불완전한 mxn matrix를 만들 수 있고 여기서 특정 값(지정되거나 관찰된 값)은 training에 사용한다. matrix에서 비어있는 값은 training data로 예측해서 채워 넣는다. 우리는 완전하지 않은, 특정한 값만 채워져 있는 matrix를 가지고 있고 가지고 있는 값을 기반으로 learning algorithm을 활용해 비어있는 값을 예측한다는 점에서 matrix completion problem이라고 한다.

 

2. Ranking version of problem: 연습할 때는 user가 특정한 item에 대해 어떤 평가를 내릴지 예측하고 그를 기반으로 해당 user에게 무언가를 추천해주는 작업은 필수가 아니다. 반면 판매자는 특정 user에게 top-k개 item을 추천하거나 top-k user를 특정 item의 타겟으로 잡고 싶어 한다. 두가지 방법은 거의 유사하지만 Top-k item을 결정하는 게 top-k user를 결정하는 것보다 더 자주 사용되기 때문에 이 책에서는 top-k item을 결정하는 내용만 다룬다. 이러한 문제를 top-k recommendation problem이라고 하며 recommendation problem의 ranking formulation이다.

 

두번째 케이스에서는 정확한 예측 평가값이 중요하지 않다. 이 경우에는 다양한 user-item 조합에 대한 첫번째 식을 풀고, 그 다음 예측한 값의 순위를 매길 수 있기 때문에 앞의 첫번째 formulation이 더 일반적이다. 하지만 많은 경우에 ranking version으로 문제를 해결하는 것이 더 쉽고, 문제 푸는 방식을 정의하기에 더 자연스럽다.

 

 

추천 시스템 자체가 판매자의 이윤을 남기기 위해 처음 구상되었기 때문에 추천 시스템의 최종적인 목표는 제품의 판매를 늘리는 것이다. 추천시스템은 user에게 추천할 item을 신중하게 선택해서 관련된 item을 user에게 추천함으로써 item의 판매량을 늘리고 판매자의 이윤을 더 만들어낸다. 추천 시스템의 최종 목표는 판매자의 이윤을 증가하는 것이지만, 이러한 목표를 처음 봤을 때보다 덜 명확하게 달성하게 된다. 이윤을 남긴다는 Business-centric 목표를 더 광범위하게! 달성하기 위해서 추천 시스템의 목표를 operation goal과 technical goal 2가지로 나눌 수 있다.

 

  1. Relevance : 운영의 관점에서 추천시스템의 가장 명확한 목표는 직접 user와 관련있는 item을 추천해주는 것이다. user들은 대부분 자기가 관심있는 걸 찾아서 해당 item을 소비한다. 관련성이라는 건 추천 시스템의 primary operational goal인데, 관련성 하나만으로는 충분하지 않다. 따라서 우리는 관련성만큼 중요하지는 않지만, 그럼에도 불구하고 상당한 영향을 미치는 몇개의 secondary goal을 함께 달성해야 한다.
  2. Novelty : 추천시스템은 user가 이전에 전혀 보지 못했던 item을 추천해줄 때 아주 큰 도움이 된다. 예를 들어, 유명한 영화의 장르는 user에게 딱히 새로운 것이 아니라는 점을 볼 수 있다. 따라서 유명한 영화를 반복해서 추천해주는 건 판매량을 점점 감소시키는 원인이 될 수도 있다.
  3. Serendipity : 추천 받은 item이 예상했던 것이 아닐 때 우리는 운 좋게 예상 밖의 발견을 할 수 있다. Serendipity는 와 어떻게 이걸 찾았지! 보다는 와 이런 것도 있었네?에 가깝다. 항상 비슷한 타입의 item만 소비하는 특정 유저들 말고 다른 타입의 item에 대한 잠재적인 관심이 있던 user가 새로운 걸 알게 할 수 있다. 예를 들어, 새로운 인도 식당이 근처에 열엇을 때 평소에 인도 음식을 좋아하던 사람들에게 추천해주는 것은 serendipity가 아니고 에티오피아 음식을 좋아하는 사람에게 인도 음식이 입에 맞을 수도 있다고 추천해 주는 것이 serendipity이다. Serendipity는 새로운 트랜드에 관심이 있는 user들의 소비를 늘려 이윤을 가져다준다. 판매자들에게는 완전히 새로운 분야나, 특정 분야의 가능성을 볼 수 있게 해주기 때문에 장기적인 전략을 세우는 데 도움이 된다. 반면 serendipitous recommendation에서 사용하는 알고리즘이 현재에는 아예 관련이 없는 항복을 추천해줄 수도 있기 때문에 장기적인 전략을 세우기엔 좋지만 단기에는 오히려 불이익을 가져올수도 있다.
  4. Increasing recommendation diversity :추천 시스템은 대체로 top-k item들만 제안한다. 이 때 추천해준 k개 item들이 모두 비슷한 경우에는 user의 마음에 드는 게 하나도 없을 수도 있다는 리스크가 있다. 반면에 추천 시스템이 서로 다른 타입의 item을 추천 목록에 포함했을 때는 적어도 1개는 마음에 들어할 수도 있다. 앞의 예시처럼 다양(diversity)하게 item을 추천해주면 user한테 비슷한 상품을 추천받는 것처럼 지루해하지 않을 수 있다.

위의 예시들처럼 구체적인 목표도 있지만, 몇 개의 soft goal도 user와 판매자의 관점에서 찾아볼 수 있다. user의 관점에서, 추천을 해주는 것은 웹사이트를 이용하는 user의 만족도에 영향을 미친다. 예를 들어, 아마존을 쓰는 유저가 계속해서 관련있는 추천을 받는 경우에는 서비스에 만족하고 계속 웹사이트를 이용하게 할 수도 있다. 해당 유저가 지속적으로 아마존 사이트에 방문하고 만족하면 아마존은 유저의 충성도를 얻을 수 있고, 매출을 올릴 수 있다. 결국 판매자의 관점에서는 추천 프로세스가 유저가 어떤 걸 필요로 하는지 인사이트를 얻을 수 있고 유저의 경험을 더 좋게 만들어줄 수 있다. 예를 들어 넷플릭스에서는 이전에 본 영화와 함께 새로운 것을 추천해준다.

 

굉장히 다양한 종류의 제품들이 이러한 시스템들에 의해 추천된다. 페이스북같은 경우에는 상품을 추천하지는 않는 대신 페이스북의 사용과 광고 효과를 간접적으로 늘리기 위해 social connection을 추천한다. 이와 같은 걸 이해하기 위해 historical recommender system과 current recommender system을 공부한다. 이 예시들은 research prototypes에서 제안된 다양한 추천 시스템 모델이거나, 여러가지 commercial system 문제 세팅에서 오늘날 사용 가능하다.

 

GroupLens Recommender System

GroupLens는 Usenet news를 추천하기 위해 research prototype으로 만들어진 pioneering recommender system이다. Usenet 독자들의 평점을 수집하고 수집한 데이터로 다른 독자들이 기존 독자가 읽었던 기사를 읽을지 안 읽을지를 예측한다. 초기 몇개의 자동 collaborative filtering 알고리즘은 GroupLens 세팅에서 시작했다. 이 그룹이 개발한 일반적인 아이디어는 뉴스에서 책, 영화와 같은 다른 상품들에 대한 설정(BookLens, MovieLens)으로도 확장됐다. 또한 GroupLens에서 추천 시스템 필드가 아직 시작 단계라 데이터를 구하기 어려울 때 여러개의 데이터셋을 뿌렸다. 대표적인 예시로는 MovieLens의 3가지 데이터셋이 있다. 이 3개 데이터셋은 각 대략 10^5, 10^6, 10^7개의 평가점수를 가지고 있다.

https://grouplens.org/datasets

 

표 1.1

1.2.1 The Spectrum of Recommendation Applications

추천 시스템의 다양한 구현에 의해 달성할 수 있는 application별 목표에 대해 본다. 추천 시스템을 통한 상품 제시와 목표 달성은 표 1.1에 쓰여 있다. 많은 추천 시스템이 책, 영화, 여행 등과 같은 다양한 상품과 서비스가 포함된 전통적인 이커머스 application에 집중한다. 이커머스 application에 대한 추천 시스템의 적용 가능성은 [530]에서 논의된다. However, 추천 시스템은 상품 추천이라는 전통적인 도메인에서 더 많이, 다양하게 확장됐다. 표 1.1에 있는 몇 개의 추천 시스템은 특정한 상품을 추천하지 않을 수도 있다. Google search application은 서치 결과에 대해서만 상품을 광고하는 Computational advertising의 영역인데, 이건 그 자체로 별개의 영역이면서도 추천 시스템과 밀접한 관련이 있다(13장에서 다룰 예정). Reciprocal recommender의 한 예시로 Facebook도 친구를 서로 추천해주고 온라인 리크루팅 사이트에서도 job-seeker와 employer 서로한테 서로를 추천해준다. 이러한 추천 알고리즘 모델은 전통적인 추천 시스템과는 확실히 다르다. 앞으로 이런 디테일에 대해서도 많이 공부할 거다.

'추천시스템 > Recommender Systems' 카테고리의 다른 글

Recommender Systems [1.1 Introduction]  (0) 2021.07.27
추천시스템 기본 개념  (0) 2021.07.22