본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

AI/Data

고객 시선 강탈의 중요 요소 ‘빅데이터 추천 시스템’ ①

2016.12.13

상점에서 물건을 팔 때 가장 중요한 것은 고객의 시선 강탈(eye-catching) 요소입니다. 모든 사업자들은 고객의 시선을 끌기 위해 필사적으로 노력을 합니다. 그리고 어떤 제품을 전면에 걸어야 사용자의 눈을 현혹할 수 있을지를 고민합니다.

사용자의 시선을 뺏는 제품과 실제 매출과 수익을 올리는 제품은 항상 다르기 마련입니다. 사업자는 어떤 제품을 어떻게 보여줌으로써 사용자를 끌어들이고, 실제로 진열장에서는 어떤 경험을 하게 유도를 할 것이며, 그래서 어떤 제품을 구매하도록 할 것인지 전략을 세우고 그를 실행하게 됩니다.

추천 시스템의 개요

아래 그림을 보시면 위에서 설명 드린 전략을 가지고 진열을 한 사례와 아닌 사례를 쉽게 구분할 수 있습니다. 왼쪽 사진은 가지고 있는 제품을 아무런 전략 없이 진열만 한 사례입니다. 하지만, 오른쪽 사진은 가장 화사하고 소비자의 눈길을 끌 수 있는 제품을 조합하여 전면에 내세우고 다른 제품들은 차곡차곡 접어서 실제 진열장에서 경험할 수 있도록 유도합니다. 이처럼 전략을 사용하였을 때와 사용하지 않았을 때 매출이 50% 이상 차이 난다는 보고도 있습니다.

이런 전략은 온라인 쇼핑몰에서도 그대로 적용됩니다. 최근 구매 추세를 보면 많은 부분이 온라인 쇼핑으로 넘어가고 있습니다. 실제 온라인 화면에서는 매장과 달리, 한정된 화면 안에서 제품을 보게 되므로 그만큼 ‘어떻게 제품을 보여줄 것이냐’의 전략이 더욱 중요하다고 할 수 있습니다.

당연히 온라인 쇼핑몰을 운영할 때, 어떤 상품을 어떤 가격으로 팔 것이냐 만큼 중요한 것이 ‘어떤 제품을 어떻게 보여줄 것이냐’ 입니다. 우리가 아무리 좋은 제품을 경쟁력 있는 가격에 판다고 할지라도 고객은 쇼핑몰에서 그 제품을 보지 않을 확률이 훨씬 크기 때문입니다. 이런 의미에서 ‘추천은 빅데이터 활용의 가장 실용적이고 범용적인 예’라고 할 수 입니다.

초창기 추천을 어떻게 효율적으로 진행할 것인가를 가장 많이 고민한 회사가 바로 넷플릭스(Netflix)인데요. 이번 글에서는 LG CNS가 추천 알고리즘을 개발한 다양한 경험을 토대로 ‘쉽고 빠르게’ 추천 시스템을 구축할 수 있는 노하우를 소개하려고 합니다.

상품에 대한 정보가 충실히 갖추어져 있다면

상품에 대한 정보가 충실히 갖추어져 있다면 그것을 이용해 상품 간 유사도를 구하여 추천에 활용할 수 있습니다. 예를 들어, 커피를 구매할 때 그와 가장 유사한 홍차를 추천하는 방식인데요. 두 개 상품의 유사성을 무엇으로 측정할 것이냐에 대한 다양한 척도가 있습니다.

만약, 상품에 대한 정보가 수치로 되어 있다면 Euclidean Distance, Cosine Similarity, Pearson Correlation Coefficient 등을 이용하여 유사도를 구하고, 수치가 아닌 범주로 되어 있다면 Jaccard Similarity, Overlap Coefficient 등을 이용할 수 있습니다.

① Euclidean Distance(유클리드 거리)

유클리드 거리는 두 개의 상품 X, Y에 대한 n 개로 구성된 벡터 간 거리를 구하고, 해석은 상품 간 거리가 가까울수록 유사하다고 판단합니다.

② Cosine Similarity(코사인 유사도)

두 벡터 사이의 거리를 구하는 유클리드 거리와 달리 코사인 유사도는 두 벡터 사이의 각도를 구하여 각도의 크기에 따라 유사도를 판단합니다. 두 벡터가 이루는 각이 0에 가까울수록 상품 X와 Y는 유사하다고 판단할 수 있습니다.

③ Pearson Correlation Coefficient (피어슨 상관계수)

피어슨 상관계수는 X와 Y의 공분산을 표준편차로 나눈 값으로 두 상품 X와 Y에 대한 정보 간 선형 관계를 나타냅니다. 피어슨 상관계수 값이 1과 -1에 가까울 경우 강한 선형 관계가 있다고 해석하고, 0에 가까울수록 선형 관계가 없다고 해석합니다.

④ Jaccard Coefficient(자카드 계수)

자카드 계수는 두 상품에 대한 정보 집합의 교집합의 원소 수를 합집합의 원소 수로 나눠서 구하고, 1에 가까울수록 유사하다고 판단합니다. 즉, 두 상품에 대한 공통적인 정보의 비율이 높다면 유사하다 해석할 수 있습니다.

이외에도 다양한 유사도 계산 기법이 있지만, 여기까지 소개하겠습니다. 어떤 척도로 상품의 유사도를 측정할 것이냐는 정해진 것은 없습니다. 다양한 ‘try and error’를 통한 최적의 방법을 찾고 어떤 경우에는 두 가지 이상의 방법을 조합하여 사용하기도 합니다.

실제로 상품에 대한 기본 정보나 메타가 충실하다면, 로직상으로는 전혀 어렵지 않게 구현할 수 있습니다. 하지만, 수많은 상품을 다루면서 상품 정보에 대한 입력이 누락되거나 오류가 일어나는 경우에 알고리즘 자체적으로 필터링하는 기능을 넣기 쉽지 않기 때문에, 휴먼 에러에 매우 취약하다는 단점이 있습니다.

상품 조회•구매에 대한 이력을 수집하고 있다면

상품에 대한 조회 이력이나 구매 이력을 웹 서버에 수집하고 있다면, 강력한 추천 기법인 협업 필터링을 활용하는 것이 좋습니다. 협업 필터링은 크게 사용자 기반의 협업 필터링과 아이템 기반의 협업 필터링이 있습니다.

아래 그림은 사용자 기반의 협업 필터링을 그림으로 표현한 것입니다. A 고객은 컴퓨터와 USB를 구매하였고, B 고객은 컴퓨터만 구매하였다고 하면, A 고객과 B 고객은 동일한 컴퓨터를 구매했기 때문에 유사한 사용자로 묶일 수 있습니다.

따라서 B고객에게 B고객과 유사한 A고객이 구매하고, B는 아직 구매하지 않은 USB를 추천할 수 있습니다. 반면 B고객은 C고객이나 D고객과 구매 제품에 겹치는 것이 없으므로, 유사한 사용자가 아니라고 판단할 수 있습니다. 이것이 협업 필터링의 기본 개념입니다.

실제 알고리즘을 구현하게 되면, 한 사용자와 유사한 사용자가 수십 명 ~ 수백 명이 식별됩니다. 이 유사한 사용자가 협업하여 추천 아이템을 필터링 해준다고 하여 협업 필터링이라고 합니다. 유사한 사용자가 간단한 알고리즘으로 자동으로 묶이기 때문에 사용자 기반의 협업 필터링은 마이크로 세그멘테이션 기법으로 활용할 수도 있습니다.

아이템 기반의 협업 필터링은 사용자 기반의 협업 필터링보다 훨씬 간단한 구조를 가지고 있습니다. 아래 그림은 아이템 기반의 협업 필터링을 시각적으로 나타낸 그림입니다. 컴퓨터와 USB를 공통적으로 구매한 고객이 있으므로, 컴퓨터와 USB는 유사한 아이템으로 평가할 수 있습니다.

배구공과 축구공도 공통적으로 구매한 고객이 있으므로 유사한 아이템으로 평가할 수 있습니다. 반면, USB는 배구공이나 축구공과 유사하지 않습니다. 누구든 축구공을 구매하면, 이와 유사한 야구공을 추천해 줄 수 있습니다.

만약 이력 데이터가 어느 정도 신뢰성 있게 기록되고 있다고 판단되는 경우 일반적으로 사용자 기반의 협업 필터링의 추천 성능이 아이템 기반의 협업 필터링에 비해 조금 더 우수합니다. 그러나 이력 데이터가 편중되거나, 충분히 쌓여 있지 않는 경우 사용자 기반의 협업 필터링 시 유사 사용자 도출이 잘 되지 않기 때문에 상대적으로 아이템 기반의 협업 필터링이 더 나은 선택이라고 생각됩니다.

실제 아이템 기반의 협업 필터링은 계산의 간편성 대비 놀라운 추천 성능을 보여줍니다. 유튜브의 추천 시스템은 기본적으로 아이템 기반의 협업 필터링을 기반으로 하고 있습니다. 유튜브에 영상을 올리는 것은 누구나 할 수 있기 때문에, 영상의 분류나 키워드를 정확히 입력하지 않는 경우가 많습니다.

따라서 메타 기반의 추천보다는 이력 기반의 추천이 훨씬 강력할 수밖에 없으며, 수억 건의 방대한 영상을 분류하고 추천 리스트를 생성하기에는 아이템 기반의 협업 필터링이 가장 좋은 선택으로 판단한 것 같습니다.

같은 축구공을 선택하더라도 누가 어떤 축구공을 선택하느냐에 따라 다른 추천 결과가 나옵니다. 아래 예시에서 어린이용 축구공을 선택한 고객에게는 생활용품이나 어린이 용품을 추천해주고, 전문가용 축구공을 선택한 고객에게는 다른 공이나 어른용 게임기 족구 네트 등을 추천해주게 됩니다. (I 쇼핑몰 사례)

지금까지 크게 두 가지 추천 방식을 알아봤습니다. 이어서 다음 시간에는 2000년대 초반부터 사용되던 전통적인 추천 방식을 넘어선 다양한 방법과 효율적인 구현 방법 등을 살펴보겠습니다.

[혁신의 시작, 빅데이터 활용 연재 현황]

  • [1편] SRA와 함께라면 당신도 데이터 분석 전문가!
  • [2편] 빅데이터로 실시간 장애감지 및 분석까지!
  • [3편] 금융 정보계에 HIA 도입의 필요성
  • [4-1편] 빅데이터를 친구로 만드는 첫 걸음, 바라보는 관점 바꾸기 ①
  • [4-2편] 빅데이터를 친구로 만드는 첫 걸음, 바라보는 관점 바꾸기 ②
  • [5편] 빅데이터 시대, 자연어 기반의 빠른 검색이 온다
  • [6편] 하둡 기반 데이터 웨어하우스 모델링
  • [7-1편] 빅데이터 시각화 분석 ①
  • [7-2편] 빅데이터 시각화 분석 ②
  • [8편] 소셜 빅데이터 분석을 통해 신(新)소비 트렌드를 읽다
  • [9-1편] 고객 시선 강탈의 중요 요소 ‘빅데이터 추천 시스템’ ①
  • [9-2편] 고객 시선 강탈의 중요 요소 ‘빅데이터 추천 시스템’ ②

챗봇과 대화를 할 수 있어요