About Rating Elicitation
Rating Elicitation은 추천시스템을 처음 이용하는 신규 User에게 Seed itemset을 전달하여 rating을 부여하도록 권유하는 전략이다. 이러한 전략을 사용하는 까닭은, 신규 User의 cold-start problem을 일부 완화시키기 위함이다.
여러 협업필터링 기반의 추천시스템에서 사용된 Active learning에 대한 서베이 논문으로는 [1]이 있는데, rating prediction을 수행한 뒤 top-k방식을 채택해 상위 k개 item을 seed itemset으로 사용하는 경우가 대부분인 것 같다.
같은 저자의 [2]에서는 CF를 위한 Rating Elicitation 전략에 대해 소개하고 있는데, null entry가 존재하는(sparse matrix란 의미) rating matrix \(R\in\mathbb{R}^{n\times m}\)에 대하여 rating strategy \(S\)를 다음과 같이 설명하고 있다. : \(S(u, N, K, C_u)=L\) which returns a list of \(M<=N\) items \(L=\{i_1, ... , i_M\}\) whose ratings should be asked to the user \(u\), where \(N\) is the maximum number of ratings to be elicited.
추천시스템이 가진 전체 N개 itemset에 대하여, K개의 seed itemset L을 rating 하도록 하고, L을 이용해 \(C_u\)를 예측하는 전략으로 요약할 수 있다. 그러니까, 이 이야기는 학술적으로 들리지만, 실상 현재 추천시스템을 적극 활용하고 있는 여러 플랫폼에서 사용하고 있는 하나의 전략인데 대표적으로는 역시 넷플릭스를 예로 들 수 있다. 넷플릭스의 경우 여러 장르의 영상물 중 78개의 seed itemset을 신규 user에게 rating 하도록 한다. 이때, explicit rating을 권하는 것은 아니고, '좋아하는 컨텐츠를 3개 선택하라'고 권한다. implicit feedback을 하도록 권하는 형태인 것.
국내 서비스 중에는 에이블리 등의 쇼핑 어플이 해당 전략을 사용하는 것으로 보인다. 아마도, 영화 데이터와 마찬가지로 각 패션 이미지에 대한 라벨 데이터와 feedback으로 구성된 DB를 이용해 추천시스템을 운영할 것이라고 생각해본다. 에이블리도 마찬가지로 78개의 seed itemset을 신규 user에게 전달한다. k의 갯수가 어떻게 지정된 것인지에 대해서는 레퍼런스가 없어서 아쉽다. 다만, 이러한 플랫폼은 어찌됐건 user가 rating 하는 과정에서 지쳐 나가떨어지게 해서는 안되기 때문에 k=78을 적정 수준으로 여긴 듯 하다. 3개 이상을 선택하라고 하는 이유는 적어도 similarity를 최소한의 수준으로 계산하려고 해도 item 2개만 가지고는 \(Similarity(A,B)\) 하나의 값만 계산되기 때문에 그 최소한의 요건으로 3개라는 하한선을 둔 것으로 보인다.
(에이블리의 신규 회원에 대한 rating elicitation 화면)
Representative?
신규 유저에 대한 추천은 이 seed itemset에 대해 rating을 많이 부여할수록 예측 성능이 올라갈 것이다. 그런데 k=78 사이즈의 seed itemset을 신규 유저에게 전달한다고 하여, 신규 user가 충분히 많은 수의 item에 대해 rating할 것이라는 확신을 할 수는 없다.
곧, 이 문제는 seed itemset이 전체 itemset 또는 category 별 itemset을 대표하는 대표성을 띠어야 한다는 방향으로 이어진다. 때문에 78개의 itemset을 결정하는 방식이 중요하게 된다.
해서, [1],[2]에서 소개된 바와 같이 top-k 방식을 활용하는 경우가 많다. top-k의 대상이 될만한 평가 방법은 다양하다. 예를 들어, 클릭률, 클릭수가 될 수 있고, 또는 플랫폼에 따라 구매자의 수, 리뷰의 수, 아이템에 대한 평점 등으로 활용할 수 있다. 경우에 따라 [3](관련 포스트)과 같이 휴리스틱한 방식의 유사도 measure를 개발에 이 방법에 활용할 수 있을 것이다.
Idea
Rating Elicitation이란 전략에 대해 간단히 알아본 까닭은, 계획 중에 있는 연구에서 얻어지는 부수적인 효과 때문이다. 바로 전 절에서는 seed itemset의 대표성에 대해 잠시 다뤘는데 케이스 스터디를 해보다보면, representative dataset을 결정하는 방식에는 휴리스틱, 메타휴리스틱한 방법들이 많이 존재한다.
local optima에 빠지지 않도록 global representative selection하는 방식의 연구등이 존재하는데, 최근에 읽어본 연구는 [4] 등이 있다. 아쉽게도 해당 방식은 SVM을 이용하는 것이라 추천 시스템에 임베딩할 방법을 아직까지 찾지 못했다.
한 편, 최근에 리뷰한 CAEs와 같은 모델의 경우에는 Feature selection을 위한 모델인데 이 경우 선택된 feature가 seed itemset으로 구성될 수 있도록 latent vector를 계산하는 방식이 가능하다. 즉 목적으로부터 결과가 나오는 것이 아니라, 계산값을 이용하여 부수적 효과를 얻어내는 방식이 가능해보인다. 현재는 이 아이디어를 기초로 한 연구를 진행해보고 있다.
[1] Elahi, Mehdi, Francesco Ricci, and Neil Rubens. "A survey of active learning in collaborative filtering recommender systems." Computer Science Review 20 (2016): 29-50.
[2] Elahi, M., Repsys, V., & Ricci, F. (2011, August). Rating elicitation strategies for collaborative filtering. In International Conference on Electronic Commerce and Web Technologies (pp. 160-171). Springer, Berlin, Heidelberg.
[3] Ahn, H. J. (2008). A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem. Information sciences, 178(1), 37-51.
[4] Y. Ma, X. Liang, G. Sheng, J. T. Kwok, M. Wang and G. Li, "Noniterative Sparse LS-SVM Based on Globally Representative Point Selection," in IEEE Transactions on Neural Networks and Learning Systems, vol. 32, no. 2, pp. 788-798, Feb. 2021, doi: 10.1109/TNNLS.2020.2979466.