Ch 07-4. LARS: Location-Aware Recommender System

Yeonghyeon·2022년 8월 5일
0

Recommender System

목록 보기
22/33

본 포스팅은 Fastcampus 강의를 수강하며 일부 내용을 정리한 글임을 밝힙니다. 보다 자세한 내용은 아래 강의를 통해 확인해주세요.
참고 : Fastcampus 딥러닝을 활용한 추천시스템 구현 올인원 패키지 Online

Context-Aware Recommender System


📑 Paper Review

LARS: A location-aware recommender system

2021 IEEE 28th International Conference on Data Engineering
  • 위치기반 추천시스템: 위치를 어떻게 추가하는지 설명하는 논문
  • context를 추천시스템에 어떻게 적용할 수 있는지에 더 focus해서 논문 읽어보자!

Abstract & Introduction

  • LARS(라스)
  • location-based ratings을 사용하여 추천
  • 3 calsses of location-based ratings: location-based ratings을 구할 때 총 3가지 클래스에 대해 다뤄볼 예정
    1. Spatial(장소) ratings for non-spatial times (user, ulocation, rating, item)

      • user location이 rating에 어떤 영향 미치는지
    2. Non-spatial ratings for spatial items (user, rating, item, ilocation)

      • item location이 rating에 어떤 영향 미치는지
    3. Spatial ratings for spatial items (user, ulocation, rating, item, ilocation)

      • user, item location 둘 다 rating에 어떤 영향 미치는지
  • 중요 키워드
    • Preference Locality
    • Travel Penalty

Motivation

저자들이 왜 이런 생각을 하게 되었을까

(a) Movielens preference locality

  • 미국의 3개 주에 대해 영화 평점을 높은 순서로 나열한 것
  • 근데 Florida에서 갑자기 'Musical'이라는 장르가 등장 ➡️ 첫 번째 motivation
  • 아래 지도에서 보면 Florida는 미국 남부에 완전히 다른 지역으로 위치하고 있음

➡️ Minesota와 Wisconsin은 위치적으로 붙어있기 때문에 서로 비슷한 영화 장르를 지니는 반면, Florida는 둘과 지역적으로 멀리 떨어져있어 생뚱맞은 영화 장르를 가짐

(b) Foursquare preference locality

  • Minesota user 중 county 출신 별로 어느 장소에 방문했는지
  • 마찬가지로 거리 정보를 바탕으로 통계의 차이 발견 ➡️ 두 번째 motivation
    • ex) 서울 살고 있는데 아무리 맛집이라해도 부산까지 잘 안 가지
    • 따라서 서울 근교 맛집을 추천해줘야 user의 만족도가 높아지겠지

➡️ 따라서, 지역적 정보를 추천시스템이 추가로 적용하면 성능 향상이 될 것이라 기대

  • Spatially Close: 가까이 위치하는지
  • Travel distances: travel distanes가 얼마나 떨어져있는지

Contribution

1. location-based ratings의 세 가지 타입 제공

  • Spatial ratings for non-spatial times

  • Non-spatial ratings for spatial items

  • Spatial ratings for spatial items

2. 세 가지 location-based ratings을 사용한 LARS 제안

  • 2가지 기법 적용
    • User-partitioning technique
    • Travel Penalty

3. 다양한 실험을 통한 추천 퀄리티 향상

LARS Overview

1. LARS Query Model

  • Input: User id UU, numeric limit KK and location LL

  • Output: KK 개의 추천 아이템

  • Snapshot & continuous queries ➡️ user는 위치가 변함에 따라 업데이트된 추천을 받음

    • 즉, user의 위치가 변함에 따라 query가 변하게 됨
    • location이 드문드문 바뀌면 Snapshot query
    • location이 계속 바뀌면 continuous query

2 . Item-Based Collaborative Filtering

  • Item-based: 유저의 취향과 비슷한 아이템들을 모아 추천
  • popularity 해서 item-based 모델을 사용했다고 함
    • 근데 저자들은 복잡한 모델도 사용할 수 있었겠지만, 아마도 location이라는 정보를 사용해보기 위해 복잡한 모델보다 우선 간단한 모델부터 해보는 것이 좋다고 생각했을 것이라고 생각함..!
    • user-item matrix로 collaborative filtering을 했는데, 거기에 context(location)을 추가해봄으로써 추천 품질에 큰 영향 안 끼치게 간단한 모델로 구현(했는데 성능이 좋게 나온거지)

1. Model Building

  • Item pair (p, q)에 대해서 similarity score 계산

2. Recommendation Generation

  • query하는 user uu가 주어지면, user uu가 rating하지 않은 아이템들로 유사도를 reduce
  • similarity list 만들 때 코사인 유사도 사용 (이도 마찬가지로 popularity해서)

Spatial User Ratings for Non-Spatial Items

1. User의 출신 또는 지역에 따라 선호도가 다르다라는 기준에서 출발

2. spartial user ratings를 사용하기 위한 세 가지 필수 조건

  • 1. Locality: spatial neighborhood에서 user와 가까이 있는 추천을 해야한다

  • 2. Scalability: 추천 과정과 데이터 구조가 더 많은 user로 확장 가능해야 한다

  • 3. Influence: spatial neighborhood의 크기를 조절해서 추천할 수 있어야 한다

    • user가 살고있는 동네의 크기에 따라서도 추천의 영향을 받을 수 있어야 한다는 것
    • ex) 살고 있는 동네가 커져서 사람들이 많이 유입 ➡️ 많이 유입된 사람들의 정보가 또 추천알고리즘에 적용되야 함

3. User partitioning 기법 (a.k.a 피라미드 구조)

위 세 가지 필수 조건을 만족시키기 위해 저자들이 제안하는 방법

  • ulocaiton을 제외한 (user, rating, item) 로 spatial regions를 구성하고 CF로 추천한다
  • level 0: 전체 시스템 Area
    • ex) 데이터를 미국 전체에서 얻었다면 이 부분은 미국 전체
  • level 1: 미국 안에서도 서부,동부 등의 지역으로 나눔
  • level 2: 그 안에서도 또 세부 지역으로 나눔
  • level 3: 각각의 셀이 CID를 갖게 되고, 이 CID 값을 기준으로 같은 region인지 아닌지 spatial 정보 확인 가능

➡️ 이러한 데이터 구조로 만들어놓고 Spatial User Ratings를 학습 시킴

Non-Spatial User Ratings for Spatial Items

1. Using non-spatial rating for spatial items ➡️ (user, rating, item, ilocation)

  • 아이템의 spatial 정보를 바탕으로 rating을 매긴다
  • ilocation: 아래의 travel locality, travel penalty로 얘기 해볼 수 있다

2. Travel Locality

  • 이동 거리가 user의 선택에 영향이 있다는 가정을 둔다
    • 아무리 맛있는 맛집이라도 이동 거리가 멀면 선택하기 부담스럽겠지
  • 추천 점수에 travel penalty를 부여한다
    • 그 부분에 거리에 따라서 penalty를 주자는 것

3. Travel Penelty

  • 계산 방법: Road network travel distance between uu and ii

  • Rating scale (e.g. [0,5])로 normalize ➡️ 같은 공간 안에서 RecScore 계산 가능

    RecScore(u,i)=P(u,i)TravelPenalty(u,i)\text{RecScore}(u,i)=P(u,i)-\text{TravelPenalty}(u,i)

이때, Item-Based CF 후에 Travel Penelty를 부여해야 하는데, Travel Penelty를 줄 때 추천된 모든 것들에 대해 계산해야해서 계산량이 굉장히 큼
따라서 계산량이 많아지는 부분에서 저자들은 발전시켜야한다고 얘기하고 있음

Experiments (1)

  • LARS: Spatial ratings for spatial items (유저 위치 + 아이템 위치)
  • LARS-U: LARS-User (유저 위치)
  • LARS-T: LARS-Travel (아이템 위치)
  • CF: Item-based Collaborative Filtering

1. (a)

  • CF와 LARS-T(Travel): 피라미드 구조 사용 X (Spatial User Ratings에서 피라미드 사용) ➡️ 품질 점수가 일정함

    • 이때 MSE, RMSE같은 지표가 아닌 recommendation의 quality(품질) 점수로 매김
  • CF와 LARS-T 점수 차이는 travel penalty에서 발생

    • 피라미드 구조 사용하지 않았기때문에 품질 점수는 일정하지만, 이 일정한 점수 사이에서도 차이를 보이는 것은 travel penalty를 줬냐 안 줬냐에 따라
    • 즉, 기본보다는 travel penalty라도 주는 것이 도움이 된다
  • More localized pyramid 일수록 (피라미드 레벨이 높아질수록 ➡️ 더 세부 지역으로 나뉠수록) 품질이 증가한다(LARS, LARS-U) ➡️ user partitioning과 location-based ratings가 효과가 있음을 의미한다

  • LARS는 travel penalty까지 적용한 시스템 ➡️ 즉 저자들이 제안하는 user 위치, item 위치 모두 합친 모델이 좋다!

2. (b)

  • MovieLens 데이터에 대해 진행한 실험 (영화 평점 데이터)

    • 어느 영화를 어디에서 몇 점을 주었는지와 같이 location 정보가 들어있음
  • 피라미드 구조 적용 여부에 따라 품질이 달라지는 것을 알 수 있다 ➡️ LARS-U 품질 증가한다

    • FourSquare 데이터는 당연히 위치 정보가 포함되어 있지만, MovieLens는 user-item matrix에 조금 더 치중한 데이터인데도 불구하고 이러한 성능을 보였다는 것은 LARS-U, 즉 user partitioning과 location-based ratings가 효과가 있음을 의미한다

Experiments (2)

  • 추천하는 아이템 수, 즉 k 값이 얼마나 증가하냐에 따라(시스템 입장에서 추천 폭을 넓히는 게 더 유리하겠지) 모델들의 성능 살펴본 실험
  • LARS와 LARS-U 모두 k가 증가함에 따라 품질이 증가
  • LARS는 CF에 비해 거의 모든 k에서 2배 이상 더 나은 정확도를 나타낸다
  • MovieLens와 Foursquare 데이터셋 모두 동일한 지표를 보인다

Experiments (3)

  • spartial user ratings를 사용하기 위한 세 가지 필수 조건을 확인하는 실험

  • M: [0,1] 사이의 scalability gain과 locality loss의 tradeoff

  • scalability와 locality 부분에 대해 체크해보니 LARS에 좋은 영향이 있고, 또 LARS에 적절한 M이 얼마인지 나타냄

More on this paper

  1. 기술별(user partitioning, travel penalty) 자세한 내용은 논문 참고
  • Data Structure

  • Query Processing

  • User Partitioning

    • Data Structure Maintenance: Model Rebuild, Merging/Split Maintenance(Calculating locality loss/gain, Calculating scalability loss/gain)
    • Partial Merging and Splitting
    • Partial Merging and Splitting
  • Travel Penalty

    • Incremental Travel Penatly and Splitting
  1. STELLAR: Spatial-Temporal Latent Ranking for Successive Point-of-Interest Recommendation

    • Shenglin Zhao, et al. Published in AAAI 2016

Conclusions

  1. 기존 traditional recommender system에 적용되지 않은 location을 활용한 recommender system 제안

  2. 이때 location-based ratings을 3가지 형태로 구분하여 제안

    • Spatial ratings for non-spatial times

    • Non-spatial ratings for spatial items

    • Spatial ratings for spatial items

  3. User partitioningtravel penalty를 도입하여 spatial ratings와 spatial items 모두 적용 가능

  4. 2가지 기법을 함께 또는 따로 사용 가능

  5. 여러가지 실험 통해 LARS가 efficient, scalable, better quality 임을 증명

0개의 댓글