Introduction: Recommendation System

반응형
Introduction: Recommendation System

’추천 엔진을 구축하기 위한 기본서(수레시 고라칼라 지음)’을 읽고..

1. 추천 엔진 정의

  • 정보 검색과 인공지능의 한 분야인 추천 엔진은 엄청난 양의 데이터(제품 정보와 사용자 정보 등)를 분석하고 데이터 마이닝을 기반으로 연관 추천을 제공할 수 있는 강력한 도구이자 기술입니다.
  • 기술적인 측면에서 바라본다면, 사용자가 얼마나 해당 항목을 좋아할 지 예측할 수 있는 수학적 모델 또는 목적함수(ojbective function)를 개발하는 것 입니다.
  • \(U = (\text{User})\), \(I = (\text{Item})\), \(R = (\text{추천항목})\), \(F : \text{objective function}\)일 때 각 사용자 \(u\)를 위해 목적 함수의 최댓값을 구하는 항목 \(i\)를 선택하고자 하는 것

\[u \in U, I^{'}_{u}=\arg{\max}_{u} f(u, i)\]

2. 추천 시스템 종류

2. 1. 협업 필터링 추천 시스템

  • 협업 필터링 추천 시스템(collaborative filtering recommender systems)은 가장 기본적인 형태의 추천 시스템 입니다. 이러한 유형의 추천 시스템에서는 사용자들의 선호도를 이용해서 선택 가능한 많은 집합들로부터 아이템들을 필터링 합니다.

    • 가장 간단한 예시로 사용자 \(u_1\)와 사용자 \(u_2\)가 음악 듣는 취향이 비슷하며, 사용자 \(u_1\)은 사용자 \(u_2\)가 최근에 듣지 못한 힙합 음악을 들었을 경우, 사용자 \(u_2\)에게 힙합 음악을 추천한다는 로직입니다.
  • 이러한 협업 필터링 추천 시스템에는 크게 두 가지 유형이 있습니다.


사용자 기반 협업 필터링(User-based CF)

  • 사용자 주변의 취향을 고려해 추천
  • 유사한 선호도를 가진 사용자를 발견하고, 활성 사용자는 아직 평가가 매겨지지 않은 아이템에 대해 유사한 사용자가 제공한 평가를 바탕으로 활성 사용자에게 새로운 아이템을 추천해주는 로직

아이템 기반 협업 필터링(Item-based CF)

  • User-based CF와 달리 아이템의 유사한 정도를 이용해서 추천
    아이템들간 유사한 정도를 찾은 후 과거에 활성 사용자가 평가한 아이템과 유사한 평가되지 않은 아이템을 추천
  • 아이템 선호도를 기반으로 아이템 유사도를 계산한 후, 활성 사용자가 아직 평가하지 않은 가장 유사한 아이템을 찾은 다음 해당 아이템을 추천하는 로직

  • 협업 필터링 시스템의 장점으로는 구현하기 비교적 간단하다는 장점이 있지만 콜드 스타트(cold start, 과거 기존의 데이터에 의존하기 때문에 정보가 없는 첫 사용자에게는 추천할 수 없는 문제)와 같은 한계점을 가지고 있습니다.
  • 협업 필터링 시스템을 구축하기 위해서는 다음과 같은 측면을 알아볼 필요가 있습니다.
    • 사용자 사이의 유사도는 어떻게 계산하는가?
    • 아이템 사이의 유사도는 어떻게 계산하는가?
    • 추천하는 방법은 무엇인가?
    • 정보가 없는 새로운 아이템과 새로운 사용자들인 경우 어떻게 대처하는가?

2. 2. 콘텐츠 기반 추천 시스템

  • 콘텐츠 기반 추천 시스템(content-based recommender systems)은 이름에서도 알 수 있듯이, 추천 모형을 구축하기 위해 아이템의 콘텐츠 정보를 사용합니다.
  • 활성 사용자를 위한 추천 사항을 생성하는 데 일반적으로 사용자 프로필 생성 단계, 아이템 프로필 생성 단계, 그리고 모형 구축 단계를 포함합니다.
  • 즉, 아이템과 사용자 프로필의 콘텐츠 또는 특징을 이용해서 사용자에게 아이템을 추천하는 로직 입니다. 좀 더 간단히 말해, 시스템은 사용자가 과거에 좋아했던 것과 유사한 아이템들을 추천하는 것 입니다.
  • 콘텐츠 기반 추천 시스템을 구축하기 위해서는 다음과 같은 측면을 알아볼 필요가 있습니다.
    • 아이템의 콘텐츠 또는 특징들을 선택하는 방법은 무엇인가?
    • 해당 아이템 콘텐츠와 유사한 선호도로 사용자 프로필을 생성하는 방법은 무엇인가?
    • 아이템들의 특징을 기반으로 아이템 사이의 유사도를 생성하는 방법은 무엇인가?
    • 사용자 프로필을 생성하고 지속적으로 업데이트하는 방법은 무엇인가?

2. 3. 하이브리드 추천 시스템

  • 추천 시스템을 조금 더 견고하게 구축하기 위해 다양한 추천 시스템들을 결합할 수 있는데, 이러한 형태를 하이브리드 추천 시스템이라고 말할 수 있습니다.
  • 다양한 추천 시스템을 결합시킴으로써, 하나의 시스템이 지닌 단점을 다른 시스템의 장점으로 대체해 견고한 시스템을 구축하는 것 입니다.
    • 예를 들면, 새로운 아이템에 대한 평가가 없는 경우의 협업 필터링 방식과 아이템의 특징 정보를 사용하는 콘텐츠 기반 시스템을 결합시키면, 새로운 아이템을 조금 더 정확하고 효율적으로 추천해 줄 수 있습니다.
반응형
TAGS.

Comments