티스토리 뷰

추천 시스템 이란?

⬛ 등장배경 

  • 인터넷의 폭발적인 성장과 정보의 다양화로 인터넷에서 찾을 수 있는 정보가 많아졌고,
    인터넷 관련 비즈니스(e-Business, e-Commerce)가 활성화되면서
    사용자가 인터넷 공간에서 정보를 찾고 적절한 결정을 내리기 어려운 실정이 되었다.

사용자가 정보를 수집하고 찾는 시간을 줄여주는 것이 목적!

 

⬛ 추천시스템 정의

  • 사용자(user)상품(Item)으로 구성된 시스템으로, Item 또는 User가 관심 갖을만한 정보를 추천한다.
    • 특정 사용자(User)가 좋아할 상품(Item)을 추천하거나, 비슷한 상품(Item)을 좋아할 사용자(User)를 추천한다.
  • Push Information으로 사용자가 요구하기 전 작동하며, 사용자 스스로 원하는 바를 정확히 알지 못한다.
    (↔ 검색 서비스 : Pull Information, 사용자 스스로 원하는 바를 알고 있으며 사용자가 스스로 원하는 바를 알고 있다.)
  • 사용자(Users)로부터 선호도(Preferences) 여부데이터화한다.
    • Explicit Feedback (평점 등)
    • Implicit Feedback (사용자의 행동 패턴 등)
  • 사용자의 선호도와 제한사항(constraints)를 바탕으로 가장 적절한 아이템 점수를 계산하고
    사용자에게 가장 관련 있는 아이템 순서대로 리스트 형태로 제시한다.

⬛ 추천시스템을 사용하는 이유는?

  • 더 많은 아이템을 판매할 수 있다.
  • 더 다양한 아이템을 판매할 수 있다. (소비자가 보지 못한 상품을 판매할 수 있다.)
  • 소비자 만족도가 증가한다.(플랫폼을 사용하면서 만족도가 증가하고 플랫폼에 더 머물게 된다.)
  • 충성도가 높은 고객이 증가한다.
  • 고객이 원하는 것이 무엇인지 알 수 있다.(데이터가 쌓이면 쌓일수록 추천알고리즘의 성능이 향상된다.)

⬛ 추천시스템 적용 사례

  • [영화/드라마 등 영상 플랫폼] 넷플릭스 콘텐츠 추천
    • 계정 생성 시 선택된 '좋아하는 콘텐츠'를 기반으로 콘텐츠 추천
    • (기타) 사용자의 리뷰 또는 피드백을 분석하여 취향 파악 가능
  • [소셜네트워크] 인스타그램 : 팔로우 추천
    • 팔로잉하고 있는 계정 유형과 피드에서 자주 클릭한 계정을 분석하여 피드에 광고 노출
    • 계정 팔로우할 경우 해당 계정과 비슷한 계정을 추가적으로 추천
  • [쇼핑 플랫폼] 쿠팡 : 상품 추천
    • 구매 목록, 상품 검색 키워드, 클릭한 상품을 기반으로 다양한 상품 추천
  • 기타 서비스 제공 플랫폼
    • 인테리어 등 집 꾸미기, 커플 매칭, 여행 등 관광상품, 금융상품 추천 플랫폼

 

추천 시스템에서 사용자(User)와 상품(Item) 정의

사용자 정보와 아이템 정보를 활용하여 사용자와 아이템 사이의 관계를 분석하고 연관관계를 찾고 해당 연관 관계를 점수화한다.

사용자(User) 프로필(Profile)

사용자 또는 사용자 그룹을 분석 가능한 요소로 프로파일링하여 개인별 추천 또는 사용자 그룹별 추천을 한다.

  • 사용자 구분할 수 있는 정보
      •  사용자 고유 정보 : 나이, 성별, 지역, 학력 등
      •  사용자 로그 분석 : 쿠키(Cookie), 인터넷 주소, 웹 페이지 방문 기록, 클릭 패턴 등 사용자 행동 정보
    • 사용자 정보를 수집하기 위한 방법
        • 직접적인(Explicit) 방법 :설문조사, 평가, 피드백 등
        • 간접적인(Implicit) 방법 :웹 페이지 머무는 시간, 클릭 패턴, 검색 로그 등
    •  

아이템(Item) 프로필(Profile)

플랫폼마다 정의하는 아이템의 종류는 다르며, 플랫폼마다 관련 있는 상품 또는 아이템만 추천한다.

      • 추천 아이템 예시
        • 영화, 음악, 동영상, TV프로그램 등 다양한 미디어
        •  옷, 책  등 웹 사이트 내 웹 페이지
        •  SNS에서 관심있을 만한 게시글이나 사진
        • 뉴스, 논문 등 문서
        • 여행지, 음식점 등 지역 또는 장소 정보
      • 아이템 프로필에 속하는 정보
        • 아이템 ID, 아이템의 고유 정보(상품의 경우 크기, 색, 가격 등), 아이템을 좋아하거나 구매한 사용자 정보 등

 

추천 시스템 데이터 종류

⬛ Items

  • 추천할 항목으로, 가치와 데이터의 복잡도에 따라 구분할 수 있다.
    • Low : 뉴스, 책, 영화 등
    • High : 금융 상품, 직업, 여행 등

⬛ Users

  • 여러 목적과 특징을 갖는 집단으로 행동 패턴 등으로 유저 모델링을 한다.
  • 협업 필터링 : 여러 아이템에 대한 평점 리스트
  • 사회적인 요인을 활용한 추천시스템 등 

⬛ Transaction

  • 유저와 아이템간의 상호작용
  • 유저가 인터넷에 남긴 로그에서 중요한 정보를 추출한다.
  • 해시태그, 평점, Implicit한 점수 모두 활용 가능

 

추천점수란?

  • 사용자와 아이템 정보를 분석하여 추천점수를 계산한다.
  • 사용자 또는 아이템 프로필에서 어떤 정보를 사용할지에 따라 추천알고리즘을 결정한다.
  • 사용자 또는 아이템을 추천하기 위해 각가의 아이템 또는 사용자에 대한 정령화된 기준이 필요하다.
  • 추천 알고리즘의 목적은 점수화(Scoring)하는 것이다.

 

 

추천 시스템 이 풀고자 하는 문제

⬛ 랭킹 문제

  • 특정 유저가 특정 아이템들에 대한 평점(or 점수)을 정확하게 예측할 필요가 없다.
  • 특정 아이템을 좋아할만한 Top-K 유저를 선정하거나,
    특정 유저가 좋아할만한 Top-K 아이템을 선정

⬛ 예측 문제

  • 유저-아이템 조합해서 평점(or 점수)을 예측한다.
  • 유저(m명)-아이템(n개) 행렬(mXn 행렬)을 채우는 문제
    • 관측값은 모델 학습에 사용
    • 결측값은 모델 평가에 사용

 

Explicit ratings & Imlicit ratings