Chapter 1

김동하·2023년 7월 13일

rec_sys

목록 보기
1/8

Chatpter 1 추천시스템


추천시스템

  • 추천 시스템은 다양한 서비스에 포함이 되어있다.
  • 유튜브의 '맞춤 동영상', 트위터 '팔로우 추천', 스포티파이 '추천 플레이리스트' 등 추천 시스템은 우리 주변에서 쉽게 볼 수 있다.
  • 막대한 양의 상품이나 동영상 중에서 사용자가 직접 키워드를 입력해 좋아하는 것을 찾도록 하는 것은 어렵다. 하지만 추천시스템 덕분에 사용자는 특별히 키워드를 입력하지 않아도 마음에 드는 아이템을 만나볼 수 있다.
  • 이 책에서는 추천 시스템을 '여러 후보 가운데 가치 있는 것을 선정해서 의사 결정을 지원하는 시스템'이라고 정의하고 설명한다.

  • '여러 후보 가운데 가치 있는 것을 선정한다'

  • 가치를 정의하는 방법에 따라 다양한 추천 알고리즘이 제안된다.

  • 단순하게 열람횟수가 많은 상위 10개의 인기 아이템을 선택하는방법

  • 사용자가 과거에 구입한 것과 유사한 것을 선택하는 방법 등

  • 알고리즘 별로 계산은 빠르지만 예측도가 떨어지거나, 축적된 데이터 양이 충분해야 예측 정확도를 높일 수 있는 등 알고리즘별 장단점이 다양하게 있다. -> 비즈니스 목적에 맞춰 알고리즘을 적절하게 선택해야 함


  • '의사 결정을 지원한다'
  • 사용자가 실제로 열람 또는 구입하도록 제시하는 것이 중요하다는 의미
  • 사용자에게 가치 있는 아이템을 추출했다 하더라도 그 결과가 적절하지 않으면 사용자는 해당 아이템에 반응하지 않을 것
  • 아이템을 어떤 단계로, 어떻게 사용자에게 도달하도록 할지 설계하는 것이 의사 결정 지원에서 중요하다.
  • 웹사이트에서 표시할지, 메일로 보낼지, 스마트폰 알림을 보낼지 등 고려해야 한다.
  • 구입한 시점에 추천을 할지, 살펴보는 중에 추천을 할지또한 중요하다.

추천시스템의 역사

  • 골드버그는 대표적인 추천 알고리즘의 하나인 협조 필터링을 처음으로 조합한 추천 시스템을 제안하였다.
  • 골드버그가 제안한 추천 시스템은 태피스트리라 불렸으며 날로 늘어나는 전자 메일 중에서 유익한 메일을 선택하는 것이였다.
  • 단순한 필터 처리만으로는 유익하너 메일을 찾는 것이 힘들기 때문에 협조 필터링을 사용한 메일 스코어링을 제안하였다.
  • 그 뒤, 아마존 등의 전자상거래가 등장하였고 추천시스템이 활용되었다.

추천시스템의 종류

  • 추천 시스템은 입력(데이터 입력), 프로세스(추천 설계), 출력(추천 결과 제시)의 3요소로 정리할 수 있음
입력(데이터입력)프로세스(추천설계)출력(추천결과제시)
사용자와 아이템의 컨텐츠 정보개요 추천 설계첫 페이지에 표시
사용자와 아이템의 인터랙션 정보연관 아이템 설계상품 구입 후 메일로 전송
개인화 설계우편으로 쿠폰 발송

입력(데이터 입력)

  • 추천 시스템에 사용하는 데이터는 주로 콘텐츠(contents)인터랙션(interaction) 두 종류가 있다.

사용자와 아이템의 콘텐츠 정보

  • 사용자의 콘텐츠 정보는 나이, 성별, 주소 등 프로필 정보이다.
  • 아이템의 콘텐츠 정보는 카테고리, 상품 설명문, 발매일, 가격, 제작자 등이다.
  • 이 정보들은 기본적으로 사용자나 아이템이 추가되었을 때 서로 연결되는 콘텐츠 정보에 해당한다.
  • 콘텐츠 정보를 이용하는 추천을 내용 기반 필터링(content-based filtering)이라 부른다.

사용자와 아이템의 인터랙션 정보

  • 인터랙션 정보는 사용자가 서비스 안에서 행동한 이력 데이터를 말한다.
  • 열람, 구입, 북마크, 평가 등이 아이템에 대한 인터랙션 데이터이다.
  • 이 데이터는 사용자가 서비스 안에서 행동할수록 축적된다.
  • 인터랙션 정보를 사용하는 추천을 협조 필터링(collaborative filtering)이라 부른다.

  • 콘텐츠 정보보다는 인터랙션 데이터가 실시간으로 업데이트된다. 따라서 후자의 인터랙션 데이터를 사용한 협조 필터링이 사용자의 기호를 더 반영하여 클릭이나 구입을 유도할 수 있는 추천 방법이 되는 경향이 있다.
  • 신규 사용자나 신규 아이템은 행동 이력 데이터가 없으므로 전자의 콘텐츠 정보를 사용한 내용 기반 필터링으로 추천하는 경우가 많다.
  • 신규 사용자나 신규 아이템 데이터가 적어 추천이 어려워지는 것을 콜드 스타트 문제(cold start problem)이라 부르며 실제로 많이 직면한다.

프로세스(추천 설계)

개요 추천(개인화 없음)

  • 개요 추천은 아마존의 판매 순위와 같이 신규 아이템순, 낮은 가격순, 높은 인기순등 모든 사용자에게 동일한 내용을 제시한다.
  • 개인화가 적용된 추천에 비해 기술은 매우 간단하지만 업종에 따라서는 개인화를 적용한 것보다 클릭률이나 구매율이 높은 경우도 있음
  • 뉴스 사이트와 같이 아이템이 빠르게 바뀌는 경우에 효과적인지만 아이템이 바뀌지 않는 경우에는 별로 효과적이지 못함

연관 아이템 추천

  • 아이템 페이지 아래쪽에 표시되는 경우가 많음

  • 이 아이템을 확인한 사람은 이런 아이템도 확인했다, 관련아이템 등

  • 연관 아이템 설계에는 각 아이템 사이의 유사도를 사용, 유사도 설계에는 내용 기반 필터링 방법 과 협조 필터링 방법이 존재

  • 아이템 유사도를 판단할 때도 비슷한 아이템일 가능성이 높을 때 유사도가 높다고 판단하는 관점, 함께 구입될 만한 아이템일 가능성이 높을 때 유사도가 높다고 판단하는 관점 존재

  • 해리포터 문제가 존재, 특정 시기에 많은 사람이 해리 포터 서적을 다른 아이템과 함께 구입함에 따라 모든 아이템의 추천 아이템으로 항상 해리포터가 추천되었다. 인기아이템의 영향을 제거해야 할 경우도 존재


개인화 추천

  • 사용자의 프로필이나 행동 이력을 기반으로 각 사용자에 맞춰 추천하는 것

  • 개인화 추천은 콘텐츠를 기반으로 하는 방법과 인터렉션 데이터를 활용하는 방법이 있다.

  • 콘텐츠를 기반으로 추천할 때는 나이나 거지주 등의 프로필 정보를 기반으로 그에 맞는 아이템 그룹을 설계한다.

  • 사용자와 아이템의 인터랙션 데이터를 기반으로 추천할 때는 협조 필터링 등의 방법을 사용해 사용자의 과거 행동 이력으로부터 추천 아이템을 계산한다.

  • 사용자 행동 이력을 기반으로 추천하는 방법 중에서도 열람 이력을 그대로 표시하는 추천은 구현 비용이적다. (리마인더기능)

  • 열람 이력과 연간 아이템 추천 구조를 조합해서 사용하기도 한다. 쉽고 간단하게 개인화 할 수 있음

출력(추천 결과 제시)

  • 웹사이트에 제시, 메일을 발송, 우편으로 추천 아이템 쿠폰을 보내는 등 다양한 방법 존재

검색 시스템과 추천 시스템


검색 시스템

  • 검색 시스템은 다양한 문장이 디지털화됨에 따라 개발된, 키워드를 입력해서 원하는 문장을 찾아내는 기술

  • 페이지랭크라 불리는 알고리즘이 많이 알려져 있다.

  • 문장의 단어 정보뿐만 아니라 웹사이트의 페이지 사이에 존재하는 링크 정보를 사용해 중요한 링크가 더 많이 모인 웹사이트일수록 중요도가 높다고 판단

검색시스템추천시스템
사용자가 미리 마음에 든느 아이템을 파악하고 있는가파악하고 있는 경우가 많음파악하고 있지 않은 경우가 많음
키워드(쿼리) 입력입력 있음입력 없음
연관 아이템 추천 방법입력된 검색 키워드로 사용자 의도 추측사용자 프로필이나 과거 행동으로 추측
사용자의 자세능동적수동적
개인화개인화하지 않는 경우가 많지만 최근에는 개인화 서비스가 증가하고 있음개인화하는 경우가 많음

0개의 댓글