추천시스템/패스트캠퍼스 추천시스템

[Part 3] Ch 03. Contextual Filtering

알맹리 2021. 8. 27. 11:15

Contextual Filtering


01. Contextual Information in RS

Contextual Information 적용

  1. Contextual Pre-filtering
    1. 맥락 정보를 활용해 처음 데이터를 필터링하는 기법
    2. 맥락 정보를 기준으로 user, item을 나눈다
  2. Contextual Post-filtering
    1. user, item, contextual information 등 다양한 features로 모델링을 먼저 진행하고, 모델의 추천 결과를 맥락 정보로 필터링하는 기법
  3. Contextual Modeling
    1. 맥락 정보 자체를 모델링에 활용하는 기법
    2. Complex한 방법으로 머신러닝 등 모델을 활용할 수 있다.

⇒ Contextual layer를 어느 위치에 쌓는지에 따라 다르다. 1, 2번은 filtering, 3번은 modeling에 사용


02. Contextual Pre-filtering

  1. 맥락 정보를 활용해 가장 관련있는 2D 데이터를 만든다.
  2. 많이 알려진 다양한 추천 알고리즘을 사용한다.
  • 맥락은 query의 역할로써 가장 관련있는 데이터를 선택하는 역할을 한다.
  • Context Generalization
    → 너무 specific한 데이터를 사용하게 되면 specific한 맥락 데이터가 충분하지 않아 sparsity 문제가 발생할 수 있기 때문에 맥락을 활용한 user-item splitting을 할 때 일반화할 필요가 있다.
  • 적절한 filtering을 위해서는 계산량이 많아질 수 있다.

03. Contextual Post-filtering

  1. 맥락 정보를 무시하고, 유저 아이템 정보로만 2D 추천시스템 모델을 먼저 학습한다.
  2. 추천 결과를 맥락 정보를 활용해 filter, adjust 한다.
  • Hueristic한 방법 → 주어진 맥락으로 특정 유저가 관심있는 공통 아이템의 특징을 활용한다.
  • Model-based 방법 → 주어진 맥락으로 유저가 아이템을 선호할 확률을 예측하는 모델을 만든다.
  • 유저의 specific한 취향 혹은 패턴을 맥락으로 찾을 수 있고 context generalization을 적용할 수 있으며 알려진 대부분의 추천 알고리즘을 적용할 수 있다.

04. Contextual Modeling

  1. 모든 정보(아이템, 유저, 맥락)를 전부 활용해 모델링한다.
  2. Predictive model(일반적으로 말하는 contextual modeling) 또는 heuristic approach를 사용한다.
  • 기존 2D → N-Dimension으로 확장해 모델링
  • e.g.) Context-aware SVM, (Pairwise Interaction) Tensor Factorization, Factorization Machine