추천시스템이란?
안녕하세요. Career hacker입니다. 오늘은 추천시스템을 알아보겠습니다. 추천시스템은 리테일과 영상 스트리밍 업체에서 중요하게 사용합니다. 리테일은 아마존, 쿠팡, 알리바바, 영상 스트리밍은 넷플릭스, 유튜브, 왓챠가 대표적입니다.
1. 추천시스템이란 무엇일까?
추천시스템(Recommender System; RecSys)은 상품을 추천합니다. 백화 점원은 고객이 입고 있는 옷, 취향, 용도 등을 물어 상품을 추천합니다. 반면, 추천시스템은 묻지 않습니다. 대신 데이터를 확인합니다. 고객이 사거나 조회했던 상품을 분석합니다. 고객이 좋게 평가한 상품을 보고 취향을 예측합니다. 그래서 추천시스템은 고객과 상품을 알아야 합니다.
추천시스템은 선택을 돕습니다. 너무 많은 정보는 선택을 방해합니다. 추천시스템은 필요한 정보를 추출합니다. 모든 상품을 보여주지 않습니다. 살만한 상품을 보여주기 때문에 검색으로 찾는 수고를 덜어줍니다. 상품이 적다면 추천시스템은 필요 없습니다. 즉, 정보가 적으면 추천시스템은 없어도 됩니다. 하지만 정보는 점점 증가합니다.
IBM 추정에 따르면 하루에 25억 GB 데이터가 새로 만들어집니다. 10년 전엔 일주일이 지나야 25GB가 싸였습니다. 데이터가 만들어지는 속도가 점점 빨라지고 있습니다. 그 결과 물건을 살 때 참고할 정보가 많아졌습니다. 정보 과잉입니다. 정보가 너무 많으면 선택이 어렵습니다.
정보가 많으면 선택이 어렵습니다. 물건을 사는 데 더 오래 걸립니다. 기업한테는 안 좋은 일입니다. 더 짧은 시간에 많은 물건을 팔아야 하는데, 정보가 많으면 시간이 더 걸리기 때문입니다. 그래서 추천시스템을 만들었습니다. 그래서 산업과 학계가 같이 연구합니다. 돈이 되고, 연구 가치도 있기 때문입니다.
2. 추천시스템의 구성
추천 시스템은 고객, 상품, 관계 정보로 구성됩니다. 첫 번째, 고객 정보는 크게 인구통계 정보와 행동 정보가 있습니다. 인구통계 정보는 나이, 성별, 거주지 등을 말합니다. 잘 변하지 않고, 물건을 사지 않아도 알 수 있습니다. 그래서 '가입'만 한 고객도 추천 받을 수 있습니다. 쇼핑몰에서 활동한 고객은 정보를 남깁니다. 예를 들면, 상품 조회 횟수, 방문 건수, 구매 금액 등이 그렇습니다. 이 정보가 행동 정보입니다. 행동 정보는 구매와 직접 관련이 있습니다. 그래서 행동 정보는 구매 의향을 볼 때 중요합니다.
두 번째, 상품 정보는 상품 속성 정보가 있습니다. 상품 속성 정보는 상품이 갖고 있는 특징입니다. 예를 들면, 크기, 색상, 유형, 형태 등이 상품 속성입니다. 때에 따라 구매자 특징을 상품 단위로 요약해 상품 특징으로 활용하기도 합니다. 예를 들면, '아이폰은 인스타그램을 선호하는 20대 여성이 주로 사용한다'와 같이 말입니다. 상품 정보는 변하지 않습니다. 상품이 가진 고유한 특성이기 때문에 상품이 바뀌지 않으면 바뀌지 않습니다. 새로운 상품은 계속 만들어집니다. 같은 갤럭시도 10년 전과 지금은 다릅니다. 고객도 다릅니다. 상품을 잘 묶어야 합니다.
세 번째, 관계 정보는 고객과 상품 간 관계를 나타내는 정보입니다. 예를 들면, C 고객이 I 상품을 구매했다면, 그건 상품과 고객 간 관계 정보입니다. 관계 정보에는 평점, 구매, 조회, 장바구니 등록, 찜하기, 상품 상세 조회 등이 있습니다. 다양합니다.
평점은 고객이 직접 선택합니다. 만족했으면 5점, 아니면 1점을 줍니다. 그래서 명시적인 평점(explicit rating)이라고 합니다. 구매가 선호를 말하지 않습니다. 구매 후에 만족하지 않을 수 있습니다. 조회도 선호를 말하지 않습니다. 실수로 눌렀을 수도 있습니다. 하지만 대부분 원하던 상품을 구매하고 만족합니다. 궁금한 상품을 조회합니다. 구매, 방문, 조회 등은 선호가 아닙니다. 하지만 선호를 예측할 수 있습니다. 대체로 구매한 상품은 선호합니다. 대체로 좋아하는 페이지를 방문합니다. 대체로 관심 있는 상품을 클릭합니다. 그래서 선호, 조회 방문은 묵시적 평점(implicit rating)이라고 합니다.
3. 추천시스템을 만들 때 주의해야 할 세 가지
추천시스템을 만든다면 관측 단위, 상품 성격, 시스템 리소스 등을 고려해야 합니다. 첫 번째, 추천시스템 상황에 따라 대상 단위가 달라집니다. 먼저, 로그인을 하지 않고 방문만 한 경우입니다. 이럴 땐 고객이 우리 플랫폼을 들어와서 나갈 때 까지를 관측 단위로 삼을 수 있습니다. 이 단위를 세션이라고 합니다. 로그인을 하지 않으면 추천이 어렵다고 생각하기 쉽지만 비로그인 고객에게도 그에 맞는 상품 추천 방법이 존재합니다. 예를 들면, 보통 많이 팔리는 인기 top-10 상품을 추천하는 것도 한 방법이 될 수 있습니다. 고객이 로그인을 한 경우, 행동 정보와 인구통계 정보를 활용할 수 있습니다. 그래서 보다 정확한 추천이 가능합니다.
두 번째, 상품 성격에 따라 추천 방법은 매우 달라집니다. 먼저, 금융상품을 예로 들면 금융상품은 고객이 선호한다고 해서 가입할 수 없는 상품입니다. 대출은 고객 신용도나 여력 등을 고려해 대출 심사를 거처 가부를 판단합니다. 만약 대출을 받을 수 없는 고객에게 대출 상품을 추천한다면, 상품 추천 목적에 부합하지 않습니다. 또한 패션의 경우 트렌드를 민감하게 반영하기 때문에 상품이 매년 새롭게 바뀌는 경우가 많습니다. 또한 패션 상품 특성상 동 상품군에 대한 구매 주기가 길다는 특징도 있습니다. 그래서 패션 상품은 어떤 상품이 유사한 상품인지 묶는 작업이 선행되어야 하지만, 그 작업은 패션에 대한 깊은 이해가 필요하기 때문에 쉽게 해결하기 어렵습니다.
세 번째, 상품 추천은 고객 ×상품입니다. 따라서 고객 한 명이 증가하면 평점은 상품 개수만큼 증가합니다. 데이터량이 고객과 상품 증가에 따라 곱으로 증가하는 특성이 있습니다. 따라서 시스템 리소스 관리가 매우 중요합니다. 평점을 구하는 방법에 따라 다소 차이는 있지만, 통상 다른 예측 모형에 비해 리소스가 많이 드는 것은 사실입니다.
오늘은 추천시스템이란 무엇인지와 그 구성 그리고 시스템 구축 시 주의해야 할 사항에 대해 알아보았습니다. 간단히 정리하면, 추천시스템은 고객이 아직 구매하지 않은 새로운 상품을 얼마나 선호할 것인지 예측하는 시스템입니다. 때문에 고객, 상품, 관계 정보 이용합니다. 추천시스템은 관계 정보를 이용하는 특성 때문에 고객 ×상품을 관측 단위로 사용해 시스템 부하가 많이 걸립니다. 또한 고객 로그인 여부에 따라 추천 시스템 대상 단위가 달라지며, 상품 유형에 따라 다양한 특성을 갖습니다.
'일상을 풍요롭게 > IT공부' 카테고리의 다른 글
The Database Environment: Data and Database (0) | 2024.01.11 |
---|---|
What is DBMS? (0) | 2024.01.11 |
Retrospective for Agility (0) | 2024.01.11 |
추천 알고리즘의 종류 (0) | 2021.04.05 |
추천시스템 활용 현황 (0) | 2021.04.04 |
댓글