Paper Review

[Paper Review] A systematic review and research perspective on recommender systems

y2r1m 2023. 3. 26. 02:02

https://journalofbigdata.springeropen.com/articles/10.1186/s40537-022-00592-5

 

A systematic review and research perspective on recommender systems - Journal of Big Data

Recommender systems are efficient tools for filtering online information, which is widespread owing to the changing habits of computer users, personalization trends, and emerging access to the internet. Even though the recent recommender systems are eminen

journalofbigdata.springeropen.com

[ 논문 요약 ]

ChatGPT가 도와줌

  • 추천 시스템의 기술과 연구 동향을 살펴보고, 향후 연구 방향을 제시하는 것을 목적으로 함
  • 추천 시스템이 사용자와 아이템 간의 관계를 모델링하고 예측하기 위해 사용되는 다양한 기술과 방법론을 소개
    • 협업 필터링, 콘텐츠 기반 필터링, 하이브리드 방식, 매트릭스 분해, 딥러닝 등
    • 각 방법론의 장단점을 비교하고, 현재 연구 동향을 분석
  • 추천 시스템 연구에서의 주요 문제점
    • 데이터 희소성, 새로운 사용자와 아이템에 대한 추천의 어려움, 도메인 지식의 부족, 평가 지표의 한계 등

 

추천 시스템에 대한 큰 그림을 그려보자

위 논문에서 연구 동향에 대한 내용은 제외하고, 기술 설명 위주로 정리해보고자 한다.

 

 

[ 추천 시스템 소개 ]

  • 추천 시스템은 두 entities를 다룬다 - users and items
  • 각 user는 item에 대해 rating(평가)을 부여한다.
  • user rating은 implicit(암시적) / explicit(명시적) 방법으로 수집되고, 모인 값들은 utility matrix로 표현된다.
  • utility matrix는 결측값(missing values)이 많아 이걸 찾는 것이 주된 문제

Utility matrix

 

 

 

 

 

[ 추천 시스템의 종류 ]

 

  • 크게 세 가지 종류로 나뉜다
    • Content-based filtering / Collaborative filtering / Hybrid approach

 

 

# Content-based recommender system

 

  • 모든 data items이 description 또는 features에 따라 다른 item profiles로 수집됨
  • 사용자가 어떤 item에 positive rating을 주면, 해당 item profile에 있는 다른 items이 함께 집계되어 user profile 작성

 

 

 

# Collaborative fltering‑based recommender system

  • 유저 간 유사성을 측정하여, A 유저와 선호가 비슷한 다른 유저들의 그룹 X (=neighborhood) 를 찾는다.
  • 새로운 item이 X에서 많은 유저들에게 선호되면, A에게도 추천된다.
  • memory-based / model-based approches로 나뉘며,
    memory-based는 또 user-based, item-based로 나뉜다.
  • memory-based는 neighborhood의 선호를 고려해 new item 추천
    • new user에 대해 추천을 만드려면 user profile이 utility matrix에 추가되어야 함
    • user-based : 이전에 같은 items에 대해 비슷하게 평가한 neighborhood로부터 다른 users를 찾아 new item에 대한 user의 rating 예측
    • item-based : 이전에 비슷하게 평가한 item들로 item-neighborhood가 구성됨. 새로운 item과 유사한 item-neighborhood에 존재하는 모든 rating의 가중 평균을 계산해, 새로운 item에 대한 user의 rating 예측

왼쪽은 user-based, 오른쪽은 item-based

 

  •  model-based는 unrated item에 대한 유저의 rating을 예측하는 모델을 만들기 위해, 다양한 data mining과 ML 알고리즘을 사용
    • 예측하기 전에 utility matrix에 user profile을 추가하지 않음.
    • 따라서 모델에 없는 유저에게도 추천 가능
    • 그룹 추천에서 더 효율적
    • 차원 축소 및 모델 학습 기술에 따라, 추천시스템의 고전적인 문제인 sparsity와 scalability 해결

 

 

 

# Hybrid filtering

  • 둘 이상의 기술을 집약한 기법
  • 하나의 기술을 쓰는 것보다 보통 더 좋은 performance와 accuracy를 보임

 

 

 

 

 

[ Recommender system challenges ]

# Cold start problem

  • 불충분한 데이터 때문에 추천을 못하는 문제
  • 보통 새로운 user 혹은 item이 db에 들어갔을 때 생긴다.
  • 미리 새로운 user에게 items에 대한 선호/평가를 ask하거나, demographic information(or meta-data)를 수집해 해결

 

# Shilling attack problem

  • 어떤 user가 특정 item의 인기를 올리거나 내리고 싶어서 악의를 가지고 fake 정보를 주는 문제
  • system 안정성을 크게 줄인다.
  • 공격 user를 빠르게 탐지하고 fake ratings와 fake user profiles를 제거하여 해결

 

# Synonymy problem

  • 동의성 문제
  • 비슷한 item들이 서로 다른 이름을 가지거나, 같은 item들이 다른 이름을 가질 때 발생
  • demographic filtering, automatic term expansion, Singular Value Decomposition 등의 방법으로 완화

 

# Latency problem

  • 지연 문제
  • CF(Collaborative Filtering) approaches에만 한정됨
  • 새로운 item들이 빈번하게 db에 들어올 때 발생
  • 문제 발생 시 system이 새 item을 추천해주지 못함.
    • cf에서는 new item들이 추천되기 전에 반드시 review가 되어야 하기 때문
  • 해결을 위해 content-based를 사용할 수도 있지만, overspecialization 및 성능 저하 가능성
  • 오프라인 환경에서 계산 수행 또는 clustering-based 기술 사용으로 performace 향상 가능

 

# Sparsity problem

  • 데이터 희소성 문제
  • 데이터셋에 결측값이 많을 때, 즉 활동적인 user가 아주 적은 items에 대해서만 평가했을 때 발생
  • 추천의 정확도(accuracy)를 낮춘다
  • demographic filtering, singular value decomposition, model-based collaborative techniques 와 같은 기술을 사용함으로써 문제 완화 가능

 

# Grey sheep problem

  • pure collaborative filtering 방식에서, 한 user의 feedback이 어떤 user neighborhood와도 match되지 않을 때 발생
  • 문제 상황에서는 해당 user에 대한 관련 항목을 정확하게 예측 불가
  • user의 profiles과 item properties를 기반으로 예측하는 pure content-based 기법을 사용하여 해결

 

# Scalablility problem

  • 확장성 문제
  • 특히 CF에서, 많은 양의 train data를 요구할 때 문제 발생
  • 입력으로 사용되는 데이터의 양이 빠르게 증가할 때 발생
  • 빅데이터 시대가 도래한 만큼, 더 많은 items과 users가 system에 빠르게 추가되고 있어 흔한 문제임
  • dimensionality reduction으로 해결 가능
  • 또는 clustering-based 기술을 사용해 완전한 db 대신 작은 clusters에서 users를 찾음으로써 해결 가능

 

 

 

'Paper Review' 카테고리의 다른 글

Causal Inference in the Social Sciences - Guido W. Imbens  (1) 2025.04.16