z [스터디] Recommender System : Toward the Next Generation of Recommender Systems : A Survey of the State-of-the-Art and Possible Extensions (2005) (1)
본문 바로가기

Recommender System

[스터디] Recommender System : Toward the Next Generation of Recommender Systems : A Survey of the State-of-the-Art and Possible Extensions (2005) (1)

728x90

시작하면서..

최근에 추천 시스템에 관한 스터디를 시작했습니다. 실제로 엄청 실용적이면서, 자금도 많이 몰리는 ? 그런 분야라서 관심이 갔습니다. 최근에 넷플릭스, 유튜브 등 영상 매체들이 엄청난 성장을 하면서 이러한 매체들은 우리 삶에 한 일부분이 되었습니다. 다른 사람들도 그러겠지만, 저는 유튜브를 보면 영상을 검색해서 볼 때 보다는 내가 흥미있는 영상이 나올 때 까지 새로고침 하면서 찾습니다. 여기에서 새로고침을 하면서 유튜브 추천 알고리즘이 추천해주는 영상에 대해서 만족도를 굉장히 높게 느끼는 사람 중 한명으로서 이 분야에 관심을 갖게되는 것은 자연스러운 절차라고 생각합니다. 때마침 추천 시스템 스터디를 할 기회가 생겨서 참여하게 되었습니다.
주마다 1회 미팅을 갖는 그런 형식이고 우선 2005년에 나온 Toward the Next Generation of Recommender Systems : A Survey of the State-of-the-Art and Possible Extensions (2005) 서베이 논문을 읽으면서 이 분야에 대한 전체적인 이해를 하고자 합니다.
그 주마다 공부한 내용을 정리해서 제 공부에 도움이 되도록 올리려고 합니다.
이제 개강해서 학부 생활이 시작하지만 꾸준히 잘 따라가다보면 가능하지 않을까 생각이 됩니다!

Abstract

요약에서는 추천 시스템에서의 세가지의 main categories를 소개하는데 이는 content based, collaborative, hybrid 이렇게 세가지 입니다.
그리고 논문에서는 이 뿐만 아니라 각각에 대한 한계 그리고 한계의 확장 가능성을 밝힌다고 합니다.
하지만 저의 공부 목적 자체는 이 분야에 대한 전체적인 이해이기 때문에 물론 한계 및 한계의 확장 가능성에 대해서도 공부를 하긴 하겠지만, 주된 목적을 recommender system 자체에 대한 이해로 잡고 공부해 나가고자 합니다.

Index Terms

논문에서 중요하게 생각하는 단어들을 써놓은 것입니다.

Recommender systems, collaborative filtering, rating estimation methods, extensions to recommender system

여기에서 좀 이상한 점을 느끼셨나요?
Abstract에서는 추천 시스템에서의 세가지 main categories를 언급합니다.

content based, collaborative, hybrid

하지만 Index Terms에서는 collaobrative만 포함이 되어 있는데, 이를 통해 이 논문에서는 세 categories 중 collaborative에 힘을 주고 있음을 알 수 있습니다.

Introduction

추천 시스템 자체에 대해서 소개합니다.
Recommender systems는 산업 그리고 학계 둘 다 모두 활발하게 work 합니다.
Recommender systems가 사랑받을 수 있는 두가지 특징이 있는데,

  • problem-rich research area
  • abundance of practical applications

말 그대로 그냥 연구할 거리가 많고, 실용적으로 응용할 부분이 풍부하기 때문 이라고 생각하시면 될 것 같습니다.

그리고 아직 개발/개선이 더 필요한 분야임을 언급합니다.

The Survey Of Recommender Systems

이 부분에 서는 포괄적으로 recommender system에 대해 다룹니다.

recommender system은 1990년대 중반에 나타난 독립적인 연구분야입니다.
나중에도 계속 나올 말이긴 한데,
결국 recommender system은 사용자의 rating을 기반으로 rating 되지 않은 아이템을 추천 하는 것 입니다

rating 되지 않은 아이템에 대해 우리가 rating을 추정 할 수 있다면 이를 바탕으로 추천할 수 있음

여기에서 더 나아가서 좀더 formally하게 말하고자 합니다.
\(C\) 를 모든 User의 집합, 그리고 \(S\) 를 추천 될 수 있는 모든 items(책, 영화, 식당 등등..)라 합시다.
\(C,S\) 모두 엄청 큰 set이 될 수 있음을 짐작 할 수 있습니다.
\(u\)는 utility function, user \(c\)에 대한 item \(s\)의 유용함을 측정 할 수 있는 함수입니다. (\(c\)에게 \(s\)가 얼마나 필요한지에 대한 measure)
그래서 결국 저희가 원하는건 각각의 user \(c \in C\)의 user's utilities \(u\)를 최대화 하는 \(s^\prime \in S\)를 찾는 것 입니다.

좀 더 formally하게는
$$
\forall c \in C, s^\prime_c = \arg\max_{s \in S}u(c,s)
$$

recommender system은 rating 기반이고, \(c \in C\)에서 \(c\)는 user의 profile 이라 생각하시면 됩니다. 그리고 \(s \in S\)는 특성 이라 생각하면 될 것 같습니다. (genre, year, ...)

앞서 말했듯이 uitility 함수는 전체에 대한게 아닌 어떤 subset을 통해 extrapolate 한다고 생각하시면 됩니다.

extrapolate : 알고 있는 걸로 모르는 걸 알도록

Extrapolation에도 두가지 방법이 있습니다.

  • specifying heuristics
  • estimating the utility function

heuristic 방법은 직관 추론으로, 그냥 될 것 같은 걸로 정하는? 그런 형식이라과 생각하시면 될 것 같습니다. 경험을 통해 해결을 하는 것처럼 !
그리고 uitility function 으로 추론하는 경우는 통계 기반이라고 생각하시면 됩니다. (MSE 같이)

마지막으로 대략적인 Content-based Recommendations, Collaborative recommendations, Hybrid approaches에 대해 알아보겠습니다.

  • Content-bases recommendations : 유저가 이전에 사용한 item과 비슷한 item 추천
  • Collaborative recommendations : 유저와 취향이 비슷한 사람이 좋아하는 item을 추천
  • Hybrid approach : 위의 두 방법을 결합시킨 방법

위를 보시면 Similar를 추천해주는 것임을 알 수 있습니다. (중요한 키워드라 생각함.)


논문을 보면서 좀 중요하다고 생각한 단어 두 가지가 있습니다. 영어를 많이 접하지 않은 학부생 입장에서는 이게 문맥을 보면서 뜻을 짚기가 좀 어렵더라구요. 머리에 잘 들어오는 단어도 아니라서..
논문의 문맥을 통해 제 주관대로 뜻을 해석하면, 이와 같이 표현되는 것 같습니다.

  • explicit : 사용자의 평가와 같은, 직접적인 척도를 통해 추천 시스템에 활용
  • implicit : 직접적인 척도를 이용하지 않는..

이 두 단어가 논문에서 굉장히 많이 나오기 때문에 만약 논문을 읽으신다면 꼭 알아두면 좋을 것 같습니다.

728x90