Deep Learning/Recommender system

[Recommender System] Emplicit data와 Implicit data란?

언킴 2021. 7. 14. 10:58
반응형

추천시스템의 최종 목적은 기존 고객 혹은 유입된 신규 고객에 대해 item을 추천해주는 것이라고 할 수 있다. 고객들에게 상품을 추천해주려면 어떻게 해야할까? 첫 번째로는 고객들이 직접 입력한 데이터( e.g. Rating, Review, Vote, ...)를 가지고 추천을 해줄 수 있다. 두 번째로는 고객들이 Click하거나 구매하거나 하는 등에 해당하는 자료를 기반으로 추천해줄 수 있을 것이다. 첫 번째 경우를 우리는 Explicit(명시적)이라 지칭하고, 두 번째 경우를 Implicit(암묵적, 내재적) 이라 지칭한다. 

 

 

 

Explicit

명시적인 데이터는 어떻게 수집할 수 있을까? 명시적인 선호도를 얻기 위해서 가장 간단한 방법은 직접 고객에게 물어보는 것이다. 

 

  • 별점 선호도 : 가장 많이 쓰이는 방법 중 하나다. 넷플릭스의 기준 1점에서 5점까지의 점수를 반영한다.
  • 좋아요 : up / down 형태로 선호도를 측정하는 방법. 좋아요 방식은 수명이 짧은 item에 주로 사용한다.
  • 스케일 점수 : 해당 item에 대한 점수를 척도화 하여 선호도를 측정할 수 있다.
  • 비교 : 해당 item 과 다른 item 간의 비교를 통해 어떤 item을 선호하는지 측정할 수 있다.

넷플릭스 별점

문제점

고객의 선호도 측정이 정확한가?

과거의 선호도가 현재와도 동일한가?

노이즈가 포함되어 있지 않은가?

위 질문들을 해결해야 한다. 

Implicit

묵시적인 선호도는 사람들의 어떠한 행위에 대해 수집된 자료들이다. 예를 들어 사용자가 기사를 읽을 때 기사에 댓글은 달지 않지만 기사를 오랫동안 읽은 것으로 기사에 대한 선호도가 있다고 판단할 수 있고, 쇼핑몰에서 상품을 구매를 하지 않지만 상품을 보는 시간이 길면 그 상품을 좋아해서 계속 찾아봤다고 판단할 수 있을 것이다. 

 

문제점

고객이 상품에 대해 구매를 했다고 해도 그 구매가 본인이 사용하기 위함이 아니라 지인에게 선물하기 위함으로 구매를 한 제품이면 그 상품은 고객의 선호도와는 상관없다고 할 수 있다. 그리고 고객이 한 화면에 오래 머무르고 있었다 하더라도 그 때 화장실이 급해, 화장실을 가게 되어서 잠시 머물렀을수도 있을 것이다. 이 행위를 어떻게 수치화 할 수 있을까?