[Recommender System]Recommender Systems Intro

BBaeng·2024년 3월 20일
0

Recommendation System

목록 보기
1/4

캡스톤 디자인 수행을 위해 OREILLY의 추천 시스템 입문을 읽으며 해당 내용들을 정리합니다.

Recommendation Systems

추천 시스템은 우리가 다음에 무엇을 하면 좋을지 의사 결정을 지원하는 기술입니다.

우리의 삶에는 다음과 같이 포함되어 있습니다.

  • 아마존의 customers who viewed this item also viewed
  • 유튜브 맞춤 동영상
  • 트위터 팔로우 추천
  • 스포티파이 추천 플레이리스트
  • 넷플릭스 추천 시스템

위의 서비스에서는 처음 회원가입 시에 막대한 양의 데이터 중 특별한 키워드 없이도 마음에 드는 아이템을 마주할 수 있습니다.

해당 책에서의 추천 시스템 정의
여러 후보 가운데 가치 있는 것을 선정해서 의사 결정을 지원하는 시스템

역사

1990년대 인터넷의 발전과 함께 다양한 것이 정보화되면서 가치있는 것을 선정하는 기술이 중요해졌습니다.
그 당시 마우스, 이더넷 등을 발명한 제록스 팔토알토 연구소의 골드버그는 날로 늘어가는 전자 메일 중 단순한 필터 처리만으로 유익한 메일을 찾는 것이 어려웠기에 협조 필터링을 사용한 메일 스코어링을 제안하며 탄생하였습니다.

이후 아마존에서의 추천 시스템, 넷플릭스의 추천 알고리즘 경쟁 대회 등 학계나 업계에서 대규모 데이터에 대한 예측 정확도를 효율적으로 높일 수 있는 연구가 가속되어 현재 저희가 사용하는 서비스에 녹아들어 있습니다.

요소

추천 시스템의 요소에 있어 다음의 세 가지 요소가 존재합니다.

  • 입력
  • 프로세스
  • 출력

입력

입력은 데이터를 들어오는 행위를 의미하는데 추천 시스템에서 사용하는 데이터는 다음 두가지가 존재합니다.

  • 콘텐츠
    • 사용자 : 나이, 성별, 주소 등의 프로필 정보
    • 선호하는 카테고리 혹은 가격대
    • 아이템 : 카테고리, 상품 설명문, 발매일, 가격, 제작자 등
    • 내용 기반 필터링(Content-based filtering)의 데이터 입력으로 사용
  • 인터랙션 : 사용자가 서비스 안에서 행동한 이력 데이터
    • 열람, 구입, 북마크, 평가 등
    • 주로 사용자가 서비스 안에서 행동할수록 축적
    • 협조 필터링(collaborative filtering)의 데이터 입력으로 사용

인터렉션 데이터가 실시간으로 업데이트되기에 collaborative filtering이 사용자의 기호를 더 적극적으로 반영하는 경향이 있습니다. 하지만 행동이력이 없는 경우 콘텐츠 데이터를 사용한 Content-based filtering으로 추천하는 경우가 존재합니다.

위의 처음 단계에서 추천이 어려워지는 것을 콜드 스타트 문제 라고도 부릅니다.

프로세스 (추천 설계)

입력 데이터를 활용해 추천하는 방법

개요 추천

  • 개인화가 없는 상태
  • 아마존 판매 순위와 같이 모든 사용자에게 동일한 내용을 제시합니다.
  • 신규 아이템순, 낮은 가격순, 높은 인기순 등의 개인이 아닌 종합된 데이터를 입력으로 하여 추천합니다.

연관 아이템 추천

  • ex) 이 상품을 확인한 사람은 이런 상품도 확인했습니다.
  • 각 아이템 사이의 유사도를 사용합니다.
  • Content-based filtering : 아이템 설명문, 카테고리 정보 등의 콘텐츠 정보를 기반으로 설계
  • Collaborative filtering : 사용자 행동 이력을 기반으로 유사한 데이터를 제공하도록 설계, 카테고리나 키워드로 표현하기 어려운 분위기나 콘셉트를 유사도에 반영
아이템 유사도 판단 관점

아이템 유사도를 판단하는 관점은 다음 두 관점이 존재합니다.

  1. 비슷한 아이템일 가능성
  2. 함께 구입할만한 가능성

프린터를 구매한다고 하였을 때를 가정해보자
1번 관점에서는 성능이나 가격이 유사한 프린터를 제공받을 수 있다.
2번 관점에서는 프린터를 구매했으니 카트리지 같은 소모품, 컴퓨터 등이 제공될 수 있습니다.

해리 포터 문제

추천의 개념은 인기와도 연관되는데 특정 시기에 많은 사람이 해리포터 서적을 다른 아이템과 구매하면 모든 아이템의 추천 아이템으로 해리 포터가 추천되기도 합니다.

즉, 해리 포터 서적 + 아이템 구매 -> 모든 아이템 추천에 해리 포터등장

이러한 현상은 유저들에게 추천하는 방향이 잘못될 수 있기에 인기 아이템 (해리포터)의 영향을 제거하기도 해야합니다.

개인화 추천

  • 유저의 프로필이나 행동 이력을 기반으로 각 유저에게 맞추어 추천하는 것
  • 방법은 다음 두 가지가 존재합니다.
    • 콘텐츠기반으로 하는 방법
    • 인터렉션 데이터를 활용하는 방법
콘텐츠 기반 추천

나이나 거주지 등의 프로필 정보를 기반으로 하여 그에 맞는 아이템 그룹 설계

예를 들어 구인 추천의 경우 유저의 위치 가까운 곳의 구인 정보를 추천합니다.

인터렉션 데이터 기반 추천

유저와 아이템의 인터렉션 데이터를 기반으로 추천하는 것으로 Collaborative filtering 기술 이용하며 유저의 과거 행동 이력을 통해서 추천 아이템 그룹을 설계

  1. 열람 이력 그대로 표시
  • 구현 비용이 낮으며 그에 비해 효과는 높습니다.
  • 유튜브, 멜론, 아마존 등에도 사용되고 있습니다.
  1. 열람 이력과 연관 아이템 추천 구조 조합
  • 유저가 마지막에 열람한 아이템과 비슷한 아이템 그룹을 연관 아이템 추천 구조로 추출합니다.
  • 유저의 흥미나 기호를 실시간으로 반영하기에 클릭 또는 구입 예측 성능이 뛰어납니다.

출력 (추천 결과 제시)

유저에게 추천 아이템을 제시하는 방법입니다.
비즈니스적 관점에서 중요하며 제시 방법이 나쁘면 유저의 행동 자체를 이끌어 낼 수 없습니다.

다음의 방식이 존재합니다.

  • 웹 사이트에서 제시
  • 메일 발송
  • 우편으로 추천 아이템 쿠폰 전달
  • 추천 이유 곁들이기

위 세 개의 틀 속에서 현재 가지고 있는 데이터 파악, 알고리즘을 통한 비즈니스적 영향, 제시 방법을 사용하기 위한 유저의 행동 정리를 통해 새로운 시각을 갖춰나가야 합니다.

검색 시스템과 추천 시스템

추천 시스템과 비슷한 개념으로 이 둘의 역할 차이를 이해하는 것은 중요합니다.

검색 시스템

키워드를 입력해 원하는 문장을 찾아내는 기술

초기에는 키워드와 완전히 일치하는 것을 포함한 문자만 찾아냈지만 후에는 유사어를 포함하고 키워드 속 사용자의 의도를 포함하여 정보를 효율적으로 검색하기는 방향으로 발전하였습니다.

페이지랭크
검색에 사용되는 알고리즘으로 문장의 단어뿐만 아니라 페이지 사이에 존재하는 링크 정보를 사용해 중요한 링크가 더 많이 모인 웹 사이트일 수록 중요도가 높다고 판단하는 알고리즘입니다.

오늘날 구글 검색, 아마존 상품 검색, 트위터 게시물 검색과 같은 시스템에 포함되어 있습니다.

추천 시스템과의 비교

둘 다 수많은 데이터 중 가치 있는 것을 선택하는 것이지만 목적에 따라 다음 두 가지의 타입으로 나뉩니다.

Pull 타입

  • 검색 시스템이 이에 속합니다.
  • 사용자가 미리 마음에 드는 아이템을 파악하고 있는 경우가 많음
  • 키워드(쿼리) 입력 존재
  • 연관 아이템 추천 방법으로 입력된 키워드를 통해 의도를 추측하여 추천
  • 유저입장 능동적 시스템
  • 기존에는 개인화가 없지만 최근 개인화 서비스가 증가

Push 타입

  • 추천 시스템이 이에 속합니다.
  • 사용자가 미리 마음에 드는 아이템이 무엇인지 파악하지 않는 경우가 많음
  • 키워드 입력이 없음
  • 사용자 프로필 혹은 과거 행동이력으로 추측
  • 유저입장 수동적 시스템
  • 개인화하는 경우가 다수 존재

검색과 추천의 경우는 한쪽만 조합해서는 충분하지 않으며 서로 협력해서 만들어야 합니다. 실제로 유튜브, 아마존, 넷플릭스 서비스는 두 시스템을 전부 포함하고 있습니다.
넷플릭스에서는 추천 서비스를 경유한 시청이 80%, 아마존에서는 추천 시스템을 경유한 매출이 35%로 2018년에 나온 이력이 있습니다. 이는 각 시스템의 사용 비중은 서비스에 따라 다름을 의미하며 이를 어떻게 조합할지는 비즈니스 모델, 사용자 경험 설계에 따라 다르기에 이 능력 또한 중요합니다.

0개의 댓글