최근 IoT 기술의 발전으로, 사람들의 일상과 밀접하게 관련된 사이버 공간이 열려 다양한 사교 활동, 여가 활동, 업무 활동 등이 이루어지고 있다.
IoT 기술은 정보의 양을 폭발적으로 증가시키며, 사용자는 정보의 바다에 빠져들게 된다. 이에 따라 사용자에게 적절한 적합한 item을 추천해주는 추천 시스템이 중요해지고 있다.
본 논문에서는 IoT 사용자를 위한 SoR에 초점을 맞추어 연구를 진행하였다.
Social network는 그 관계의 정량화가 어렵기 때문에 쉽지 않은 task이다. 보통은 social relationship과 user의 선호도간의 관계를 파악하는게 일반적인 접근이다.
사용자는 사회적 관계가 더 높은 사람들에게 영향을 받을 가능성이 더 크기 때문이다. 하지만 item features간에도 상관관계가 존재한다.
1) user-item
2) user-user
3) item-item
Inherence preference는 user가 구매한 item에 대한 정보를 바탕으로 user의 preference feature를 의미한다. 이때, 에 대한 item rating은 으로 나타낼 수 있다. m은 user i가 구매한 item의 총 개수가 된다.
를 통해 inherent preference factor 를 구한다. 식은 다음과 같다. 는 ReLu를 사용한다.
를 이용해서 를 만들 수 있는데 이는 로 표현되며 총 개의 집합으로 이루어져있다.
에 포함된 funtion은 로 구성되며, 이를 통해 를 표현하면 다음과 같다..
user i가 구성하고 있는 social network를 통해 social infulence를 알아본다.
의 social influence feature는 로 표현되며 다른 user과의 관계가 있음을 로 표시한다. 는 one-hot encoding으로 구성된다.
social influence factor는 이며, 로 표현된다.
에 포함된 는 로 표현된다. 는 feature transition vector이며, 이다. 이때, 는 user i의 latent vector이다.
은 transformation function, 는 Attribute 의 관계(weight)를 표현한다.
Count function이 나타내는 의미는 전체 item attribute network에서 와 를 함께 포함하는 item j의 수를 의미하며, Count()는 를 포함하는 item의 수를 의미한다.
은 transformation function으로 나타나는데 Attribute 간의 in/out의 정도를 표현하는데 사용이 된다. 즉 사이의 정보 전달을 의미하는 matrix이며 아래와 같이 표현된다.
user latent space와 item laten space를 transition matrix 를 통해 rating matirx prediction한다.
해당 문제의 loss function은 rating의 차이를 최소화 시켜주는 method를 사용한다. 이때, 앞에서 등장한 feature들에 weight decay를 주어 regularization을 한다.
본 연구에 활용된 데이터셋은 SoR 분야에서 흔히 볼 수 있는 아래 세 가지 데이터이다.
- Epinions
- Yelp
- Flixster
2003년, Paolo Messa et al.에서 인터넷 크롤링을 통해 유명한 온라인 쇼핑 웹사이트인 epinions에서 수집한 데이터이다. 이 웹사이트에서 사용자는 각 item에 1에서 5사이의 정수로 선호도 등급을 메기고, 다른 사람들과의 관계를 trust하게 설정했다.
본 논문에서는 4미만의 value를 걸러내고, 5개 미만의 평점을 게시한 사용자와 5개 이하의 item을 제거했다. 또한 original 데이터에는 contents에 대한 정보와 상관관계를 포함하고 있지 않았기 때문에 유명한 쇼핑 웹사이트인 아마존에서 epinions의 상품 정보에 따라 product attribute metadata를 크롤링했다.그 후 attribute pairs의 동시 발생 기록을 search하여 크롤링된 attribute의 상관 정보를 정량화한다. 상관 관계는 0 또는 1의 binary한 값으로 표현된다. 1일 때 상관 관계가 있음을, 0일 때 상관관계가 없음을 나타낸다.
미국 샌프란시스코의 유명한 비즈니스 리뷰 웹사이트인 Yelp는 2004년에 설립되었는데, 이 웹사이트에서 사용자는 판매자 평가, 의견 제출, 쇼핑 경험 공유 등을 할 수 있다. 데이터에는 사용자 및 판매자에 대한 정보, 판매자에 대한 사용자의 선호도, 판매자에 대한 사용자 리뷰 등이 포함된다. 이 중 데이터셋의 판매자가 item으로 간주된다. 총 데이터의 양이 방대하기 때문에 평가 기록이 3개 미만인 사용자를 걸러낸다.
Flixster는 사용자가 선호도를 공유하고, 다른 사람과 만날 수 있는 영화 관련 온라인 웹사이트이다. 이 데이터셋은 item과 user간의 풍부한 선호도와 상관관계를 담고 있다. item의 attrivute는 IMDb5라는 유명한 온라인 영화 데이터베이스에서 메타베이터를 크롤링하고 상관관계를 추출한다. Flixster의 등급은 0.5에서 5.0까지이며, 정수가 아닌 값은 정수로 추가 변환하는 과정을 거친다.
아래 표는 전처리된 데이터셋의 통계이다.
본 논문에서는 평가 지표로 RMSE, MAE, NDCG를 사용한다. NDCG는 순위에 따른 중요도를 고려하여 평가하는 지표로 값이 높을 수록 더 나은 성능을 나타낸다.
GNN-SoR 모델과 비교하는 baseline으로는 TrustMF, SocialMF, TrustSVD, AutoRec의 4가지가 있다.
GNN-SoR은 tensorflow로 구현했다. (3)과 (11)의 반복 ψ, ζ는 각각 50이고, 배치사이즈는 2000이다. tradepff parameter τ1, τ2는 각각 0.5이며 SGD의 learning rate는 0.01이다. 그리고 penalty parameter인 λ1, λ2, λ3는 각각 0.35, 0.35, 0.3으로 설정했다.
데이터의 training set 비율은 60%, 80% 두 값으로 설정한다.
Epinions
Yelp
Flixster
전반적으로 GNN-SoR이 좋은 성능을 보였다. 본 논문에서는 이에 대해 2가지 이유를 제시한다.
- 본 논문에서는 GNN을 사용하였기 때문에 다양하고 복잡한 관계를 더 잘 표현한다.
- item의 attribute 상관관계를 인코딩한 벡터를 사용함으로써 성능을 높였다.
그런 다음 배치사이즈를 1000, 2000, 2500, 3000, 3500, 4000으로 설정하고 권장 사이즈를 3, 5, 7, 8, 10으로 설정한다.
Epinions
Yelp
Flixster
위 그림에서 각 그림 내부의 사각형 색 차이가 상대적으로 적기 때문에 GNN-SoR모델이 안정성 부분에서 우수함을 확인할 수 있다. 다양한 파라미터 설정에 대해 안정적으로 반응한다.