.__.

[추천 시스템 입문] CH01. 추천시스템 본문

추천 시스템/추천시스템입문

[추천 시스템 입문] CH01. 추천시스템

yesjiyoung 2024. 1. 12. 18:40

들어가는 글 


6주동안 <추천시스템 입문> 책을 공부하고 그 내용을 정리해보려한다.

책 정보 : https://m.yes24.com/Goods/Detail/118625987

 

추천 시스템 입문 - 예스24

추천 시스템 도입을 고민하고 있다면 제일 먼저 봐야 하는 책! ‘맞춤 동영상’ ‘팔로우 추천’ ‘다른 고객이 함께 본 상품’ 등 추천 기능은 주변의 다양한 서비스에 포함되어 있다. 수많은

m.yes24.com

 

 

추천시스템 


1.1 추천 시스템


  • 추천 시스템이란?
    • 사용자가 특별히 키워드를 입력하지 않고도 마음에 드는 아이템을 만날 수 있는 시스템.
  • 추천 시스템을 통해서? 고객과 기업은 각각 어떤 이점을 얻는지?
    • 사용자 입장 - 아이템 구입에 도움을 줌 
    • 기업 입장 - (1) 매출상승 (2) 고객의 체류시간 상승 
      ➡️체류시간상승은 곧 충성 고객의 확보로 이어질 수 있다.
  • 추천 시스템 = "여러 후보 가운데 가치 있는 것을 선정한다."
    • 예를들면, 다음과 같은 방법들이 있을 수 있다. 
      방법 (1) 단순하게 클릭이 많은 Top 10을 선택하는 방법
      방법 (2) 고객이 과거에 구입한 것과 유사한 것을 선택하는 방법
      ....
      방법 (N)

      ➡️ 각 방법은 계산은 빠르지만 예측도가 떨어지거나, 축적된 데이터 양이 충분해야 예측 정확도를 높일 수 있는 등 장단점이 다양하게 존재한다. 
      ➡️ 비지니스 목적에 맞게 알고리즘을 적절하게 선택할 필요가 있음  (2장에서 자세히)
  • 추천 시스템의 알고리즘
    • 4장, 5장에서 자세히 
  • 추천 시스템을 제시하는 방법
    • 웹 서비스에서의 사용자 경험을 고려해 의사결정을 지원할 추천 아이템 제시 방법도 검토 → 3장에서 다룸
    • 예를들면, 방법측면에서, 시점측면에 요런 것들을 고려해볼 수 있다.
      • 방법으로는 "웹 사이트 내에서 추천 아이템을 표기할지", "메일로 전달할지?", "스마트폰 푸시 알림으로 보낼지?"
      • 시점으로는 "상품을 구입한 시점에 다른 아이템을 추천할지", "상품을 살펴보는 중에 추천할지?"

1.2 추천 시스템의 역사


  • 제록스 팔로알토 연구소의 연구자 골드버그가 협조필터링 추천시스템을 최초로 제안
    • 골드버그가 제안한 추천시스템은 태피스트리라 불렸고, 날로 늘어가는 전자 메일 중에서 유익한 메일을 선택하는 것
      • 단순 필터 처리만으로 유익한 메일 찾아내는 것이 어려워, 협조 필터링을 사용한 메일 스코어링을 제안
  • 아마존과 같은 전자상거래 사이트가 등장 → 방대한 상품에서의 원하는 상품을 제공하는 기술로 추천 시스템이 활용
  • 넷플릭스, 2006년에 10억원 상당의 상금을 걸고 추천 알고리즘 경진대회를 진행
    • 186개 국가에서 4만 팀 이상이 참가
    • 10억 건의 영상 평가 데이터가 공개되었는데 → 이 이후로 학계/업계에서 대규모 데이터에 대한 예측 정확도를 효율적으로 높일 수 있는 추천 시스템 연구가 가속되었ㅅ다.
  • 2007년에는 The ACM Conference on Recommender System(RecSys)라는 추천 시스템 국제회의가 처음 개최 
    • ➡️ 우리 회사 추천시스템 모델링팀에서 쓰는 계정명에 RecSys 였던 것 같다. 그래서 그랬구만
    • 2007년, 참가자 120명
    • 2019년 그 수가 1000명을 넘고
    • ➡️ 현재 (?) 몇명이지 ??
  • 이제는 있으면 좋은 기능이 아니라, 없으면 안되는 기능으로서 추천 시스템 중심의 서비스 설계가 이루어지는 경우도 늘어나는 추세 
    ➡️ 우리회사의 NextHomeTab??
  • 트위터, 넷플릭스, 아마존, 애플과 같은 기업에서는 추천 시스템을 전문으로 개발하는 추천시스템 개발자라는 직군을 채용하고 있음

1.3 추천 시스템의 종류


  • 추천 시스템 : 입력(데이터 입력), 프로세스(추천 설계), 출력(추천 결과 제시)의 3요소로 구성된다.

1.3.1 입력(데이터 입력)


  • 추천 시스템에서 사용하는 데이터는 주로 콘텐츠(contents)와 인터랙션(interaction) 두 종류가 있다.
    • 콘텐츠 정보
      • 사용자의 콘텐츠 정보 : 나이, 성별, 주소 등 프로필 정보
        • 서비스에 따라서 회원 등록시 선호하는 카테고리나 가격대를 설문으로 수집한다면 그 정보도 포함됨
      • 아이템의 콘텐츠 정보 : 카테고리, 상품 설명문, 발매일, 가격, 제작자 등
      ➡️콘텐츠 정보를 이용하는 추천을 내용기반 필터링(content-based filtering)이라고 부름
    • 인터렉션 정보
      • 인터렉션 정보는 사용자가 서비스 안에서 행동한 이력 데이터를 의미. ex 클릭, 구입, 찜하기 등이 아이템에 대한 인터렉션 데이터 
        ➡️이 데이터는 사용자가 서비스 안에서 행동할수록 축적된다.
        ➡️인터렉션 정보를 사용하는 추천을 협조 필터링(collaborative filtering)이라고 부름
    • 한편, 신규 사용자나 신규 아이템에 대한 데이터가 적어 추천이 어려워지는 문제를  콜드스타드 문제 라고 부르고 실제로 시스템 개발시 많이 직면하는 부분이다.  
      ➡️콜드스타트 문제가 뭔가 했더니 이런 뜻이었구낭..

      ➡️옵션상품이 단일상품으로 쪼개지면서, 대표상품의 로그를 단일상품에 상속시키는 것

1.3.2 프로세스(추천 설계)


  • 입력 데이터를 활용해, 추천하는 방법은 3가지가 있다. 다음의 세 가지가 있다.(1) 개요 추천, (2) 연관 아이템 추천, (3) 개인화 추천
    • (1) 개요 추천(개인화 없음)
      • 아마존 판매 순위와 같이 신규 아이템순, 낮은 가격순, 높은 인기순 등 모든 사용자에게 동일한 내용을 제시.
      • 개인화가 적용된 추천에 비해 기술은 매우 간단하지만 업종에 따라서는 개인화를 적용한 것보다 클릭율, 구매율이 높은 경우도 있다.
      • 아잍템이 바뀌지 않는 경우네느 항상 같은 인기도나 신규 아이템 순으로 나타나기 때문에 별로 효과적이지 않다.
    • (2) 연관 아이템 추천
      • 아이템 페이지 아래쪽에 표시되는 경우가 많다. ➡️PDP 바로 아래쪽에 
      • “이 아이템을 확인한 사람은 이런 아이템도 확인했습니다.”, “관련 아이템”과 같이 표시 
        • ex. 11번가 → View Together 모델 

11번가 상품페이지 하단

 

    • 연관 아이템 설계 방식
      • 각 아이템 사이의 유사도를 사용
        • 컨텐츠 기반 필터링, 협조필터링 방식으로 구현 가능 
        • 일반적으로 협조필터링 방식이 내용기반필터링 방법에 비해 카테고리나 키워드로는 표현할 수 없는 아이템의 분위기나 콘섭트를 유사도에 반영하는 경우가 많다.
        • 아이템 유사도 판단할 때도 관점이 여러가지
          • 비슷한 아이템일 가능성이 높을 때
          • 함께 구입될 만한 아이템일 가능성이 높을 때
          ex. 프린터 구입을 검토할 때에는 성능이나 가격이 유사한 프린터를 추천받고 싶어함.
          ex. 프른터를 구입한 후에는 카트리지와 같은 소모품이 제시의 추천을 더 선호함.
          ➡️이처럼 경우에 따라 해당 아이템과 관련해 표시해야할 아이템 종류가 다르므로 이를 고려해 연관 아이템 추천 구조를 설계하는 것이 중요.
        • 해리포터문제(Harry Porter Problem)가 있다.
          • 특정 시기에 많은 사람이 해리 포터 서적을 다른 아이템과 함께 구입함에 따라, 모든 아이템의 추천 아이템으로 항상 해리포터가 추천되었다
            ➡️이럴 땐, 인기 아이템의 영향을 제거해야하는 경우도 있다.
  • (3) 개인화 추천
    • 사용자의 프로필이나 행동 이력을 기반으로 각 사용자에게 맞춰 추천
    • 사용 데이터
      • 콘텐츠 데이터를 기반으로 추천
        • 나이, 거주지 등의 프로필 정보 기반으로 아이템 그룹을 설계
        • ex ) 구인 추천의 경우, 사용자가 살고 있는 위치에서 가까운 구인 정보를 필터링해 추천
      • 인터렉션 데이터를 기반으로 추천
        • 사용자의 행동 이력을 기반으로 추천 ex. 열람 이력 (➡️최근 본 상품)
        • 열람 이력을 그대로 표시하는 추천은 구현 비용이 적음 but 구현 비용은 낮지만 효과가 높다.
        • 그리고 전자상거래 사이트와 같이 아이템을 열람한 뒤 어느 정도 시간이 지난 후에 구입하는 서비스에서도 리마인터 기능으로 효과적 (➡️ 반복구매상품 추천)
        • 열람이력과 연관 아이템을 추천하는 구조를 조합해서 사용하기도 함 (➡️최근 본 상품의 연관 상품)
        • 연관 아이템 추천 구조를 하나만 가지고 있어도 되므로 운용하기 쉽고 간단하게 개인화가 가능하다.➡️ VT 모델 응용으로 쉽게 개인화 추천 가능
        → 일반적으로 인터렉션을 활용한 개인화 추천 시스템은 사용자의 흥미나 기호를 실시간으로 반영하기 때문에 클릭이나 구입 예측 성능이 높다. → 5장에서 추가 설명
      • 두 방법을 모두 같이 사용하는 방법

1.3.3 출력(추천 결과 제시)


  • 비지니스에서 제시 방법은 매우 중요하며 좋은 추천 아이템을 설계해도 제시 방법이 나쁘면 사용자의 행동을 이끌어 낼 수가 없음 → 어떻게 제시할까!? → 3장에서 자세히

1.4 검색 시스템과 추천 시스템


  • 검색 시스템과 추천 시스템의 차이를 아는 것이 중요함.

1.4.1 검색 시스템


  • 검색 시스템
    • 초기 : 완전히 일치하는 키워드를 포함한 문자를 찾았다.
    • 중기 : 유사어를 포함하는 것도 검색 대상이 되었다.
    • 현재 ~ : 키워드에서 사용자 의도를 파악해, 검색결과를 연관순으로 정렬.
      • 과거 알고리즘 : 페이지 랭크 (Page Rank)
        • 문장의 단어 정보뿐만 아니라 웹 사이트의 페이지 사이에 존재하는 링크 정보를 사용해, 링크가 더 많이 모인 웹 사이트일수록 중요도가 높다고 판단하는 알고리즘

1.4.2 검색 시스템과 추천 시스템 비교


  • 검색과 추천 : “많은 아이템에서 가치 있는 아이템을 선택” 하는 것이지만 이 둘을 다른 목적으로 사용하면, “Pull 타입”인지 “Push 타입인지”로 설명되기도 한다.
    • 검색 시스템 vs 추천 시스템

      케이스 검색시스템  추천시스템  
      사용자가 미리 마음에 드는 아이템을 파악하고 있는가 파악하고 있는 경우가 많음 파악하고 있지 않은 경우가 많음  
      키워드(쿼리)입력 입력 있음 입력 없음  
      연관 아이템 추천 방법 입력된 검색 키워드로 사용자 의도 추측 사용자의 프로필이나 과거 행동으로 추측  
      사용자의 자세 능동적 수동적  
      개인화 개인화하지 않은 경우가 많지만 최근에는 개인화 서비스가 증가하고 있음 개인화하는 경우가 많음  
    • 검색 = Pull타입
      • 사용자가 원하는 것을 미리 파악하고 있으며, 쿼리를 입력해 능동적으로 알고자 하는 정보나 상품을 많은 후보 가운데 끌어냅니다. (Pull 타입)
      • 검색에서는 쿼리의 의도를 읽어, 연관도가 높은 아이템을 표시하는 것이 중요.
    • 추천 = Push 타입
      • 사용자가 원하는 것을 미리 명확하게 파악하고 있지 않더라도, 사용자가 좋아하는 상품을 시스템에 제시.(Push 타입)
    • 검색과 추천 사용 비중은 서비스에 따라 다름
      • 넷플릭스는 추천 시스템을 경유한 시청이 80%
      • 아마존에서는 추천 시스템을 경유한 매출이 35%
      • 최근에는 검색 결과를 개인화하는 서비스나 연구가 늘고 있다. → 같은 키워드로 검색해도 사용자에 따라 결과가 달라짐 → 이는 사용자의 프로필 정보나 과거 행동 이력으로 검색 결과를 개인화하기 때문.
      • 추천 시스템은 사용자의 과거 행동 이력에서 기호를 추출하는 기술을 발전시켜왔다 → 그 기술을 활용해 검색 키워드만으로 알 수 없는 사용자의 의도를 한층 더 정확하게 추측하려는 연구가 증가
        ➡️검색 시스템 관련 일을 하는 분들도 추천 시스템의 구조를 이해해두면 검색 시스템을 개선하는데 도움이 될 것이다.