← Back to list

[Bigin] Recommender System

WRITTEN By Sungkyu Kang

Bigin-tech · 2022-08-02 02:06 · 0 claps · 6.1 min read
#recommender-systems #ai #lightgcn #ncf #matrix-factorization
Open on Medium ↗
Wiki topics: AI · AI · General

[Bigin] Recommender System

WRITTEN By Sungkyu Kang

안녕하세요. 빅인사이트 데이터 사이언스팀 강성규입니다.

오늘은 빅인에서 사용하는 추천 시스템에 대해 소개 드리고자 합니다.

빅인이 추천 시스템에 사용하는 방식은 협업 필터링(Collaborative Filtering)입니다.

저희 같은 경우 추천 시스템의 도입이 기존 제품의 출시 이후였고

기존 제품에서 수집되는 데이터에 맞춰 추천 시스템의 종류를 선정해야 했는데, 거기에 딱 맞는 것이 바로 협업 필터링이었습니다.

기존 제품에선 사용자 행동 데이터를 수집하고 있었는데 이러한 형태의 데이터가 협업 필터링에서 사용하기 좋은 데이터이기 때문이죠.

Explicit Feedback과 Implicit Feedback

일반적으로 협업 필터링에 사용되는 데이터는 크게 Explicit Feedback, Implicit Feedback 두 가지로 나눌 수 있습니다.

Explicit Feedback은 평점, 좋아요 등 사용자의 선호를 명확하게 알 수 있는 데이터를

Implicit Feedback은 클릭, 구매 등 사용자의 선호의 구분 없이 행동의 빈도수를 파악할 수 있는 데이터를 말합니다.

사용자 행동 데이터란 사용자가 사이트를 이용하며 어떤 아이템을 클릭했고 장바구니에 담았으며 구매했는지 등의 데이터로 사용자의 선호를 명확하게 파악할 수 없기 때문에 두 가지 중 Implicit Feedback에 해당하는 데이터입니다.

Matrix Factorization

협업 필터링에서 Implicit Feedback 데이터를 사용하는 방식에는 Matrix Factorization(MF)가 있습니다. 이는 사용자와 아이템의 상호작용을 나타내는 희소 행렬 데이터를 분해하여, 사용자와 아이템의 latent factor를 찾아 상호작용이 있는 아이템 데이터를 기반으로 현재 상호작용이 없는 아이템과 어떤 상호작용이 있는지 파악하는 방식입니다.

여기서 희소 행렬이란 대부분의 값이 0으로 채워진 행렬을 말합니다. 보통 이커머스 상에서 유저가 클릭하거나 구매한 아이템보다 아무 상호작용이 없는 아이템이 더 많고, 이러한 부분은 상호작용을 나타내는 행렬 상에선 0으로 표현되기 때문에 사용자와 아이템의 상호작용을 나타내는 행렬은 희소 행렬로 표현됩니다.

NeuMF과 LightGCN

MF 방식의 알고리즘은 여러가지가 있는데요.

그중 저희가 선택한 것은 NeuMF과 LightGCN입니다.

Neural matrix factorization model

Neural matrix factorization model

일반적으로 MF는 내적의 특성상 linear한 방식이기 때문에 user와 item 간의 복잡한 관계를 표현하는 데 한계가 있습니다.

반면 neural architecture의 multi-layer 구조는 non-linear하기 때문에 보다 복잡한 구조의 표현이 가능합니다.

NeuMF는 이점에서 착안하여 user와 item 간의 관계를 표현하는 데에 Deep Nueral Network(DNN)를 사용하여 기존 MF의 한계를 극복하였습니다.

또 implicit feedback 데이터를 사용하며 유저나 아이템에 대한 프로파일링 없이 matrix factorization에 DNN을 도입하여 user-item interaction 부분에 집중하는 특성상, 현재 빅인에서 수집되는 데이터에 약간의 전처리만 거치면 좋은 성능을 내는 모델을 만들 수 있을 거란 판단이 들었기 때문에 NeuMF를 선택하게 되었습니다.

Neural Graph Collaborative Filtering model(좌), LightGCN model(우)

Neural Graph Collaborative Filtering model(좌), LightGCN model(우)

LightGCN은 기존의 그래프 기반 추천 시스템에서 self-connection, feature transformation, non-linear activation 등의 불필요한 요소들은 제거하고 neighbor embedding들의 normalized sum만을 수행하여 다음 레이어에 전달하는 방식을 채택하여 경량화되었습니다. 그럼에도 해당 부문의 SOTA를 달성할 정도로 성능 면에서도 발전한 알고리즘이기 때문에 비용적인 측면과 성능적인 측면을 둘 다 만족할 수 있을 것이라는 기대하에 선택하게 되었습니다.

결과

LightGCN과 NeuMF의 개발완료 후 실제 추천 시스템에 도입하기 전, 기존 모델과의 비교 테스트를 수행하였습니다.

테스트는 6월 8일 까지의 고객 행동 데이터로 학습을 수행한 뒤 학습에 포함되지 않은 6월 9일의 고객 행동 데이터로 수행하였습니다.

4개의 고객사에 대한 기존 모델 대비 모델별 hr@10 수치입니다.

기존 모델보다 신규 모델들이 더 높은 성능을 보였고 신규 모델들 사이에서는 고객사의 업종에 따라 성능이 우세한 모델이 다르게 확인되었습니다.

사실 초기 연구 시에는 NeuMF는 baseline으로 개발하여 기준으로 삼고 성능이 더 뛰어날 것이라고 예상되는 LightGCN을 주로 사용할 의도였습니다.

막상 두 모델을 학습시키고 테스트해 보니 고객사의 규모나 성향, 업종에 따라 좋은 성능을 내는 모델이 다르다는 것을 파악할 수 있었고, 차후에는 좀 더 다양한 알고리즘을 도입하여 고객사 별로 최고의 성능을 낼 수 있는 모델을 선택하고 적용할 수 있는 방안으로 도입할 예정입니다.

마치며

추천 시스템은 도대체 왜 사용해야 할까요?

이미 여러 글로벌 기업들은 추천 시스템으로 많은 성과를 내고 있습니다.

대표적인 예로는 아마존과 넷플릭스를 들 수 있는데요.

아마존 상품 구매의 35%는 추천으로 발생하고, 넷플릭스 프로그램 시청의 75% 또한 추천을 통해 이루어질 정도로 좋은 실적을 보여줍니다.

그러나 아직 많은 이커머스 업체들이 추천 시스템을 도입하지 못하고 있습니다. 추천 시스템이 규모가 큰 업체들만 효과를 볼 수 있기 때문일까요?

저는 추천 시스템의 도입에 드는 인력과 비용을 감당하기 어려워서라고 생각합니다.

빅인사이트와 함께라면 더 적은 비용으로 추천 시스템을 도입하실 수 있습니다. 또 현재 개발 진행 중인 추천 팝업 캠페인의 출시 이후에는, 웹사이트의 추가 개발이나 인력 충원 없이 지금보다 쉽고 빠르게 추천 시스템을 도입하실 수 있을 것입니다.

추천 시스템을 도입하는 가장 간단한 방법이 궁금하시다면 아래 메일로 문의를 남겨주세요. 기술적인 질문도 환영합니다.

Bigin DS Team Mail — datascience@bigin.io

Reference

  1. Neural Collaborative Filtering
  2. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation
  3. Neural Graph Collaborative Filtering
  4. How retailers can keep up with consumers
  5. The Science Behind the Netflix Algorithms That Decide What You’ll Watch Next

메타데이터
post_id
1c809c1fcd23
slug
bigin-recommender-system-1c809c1fcd23
url
https://medium.com/@dev-tech/bigin-recommender-system-1c809c1fcd23
canonical_url
https://medium.com/@dev-tech/bigin-recommender-system-1c809c1fcd23
author_url
https://medium.com/@dev-tech
status
ok
fetched_at
2026-07-26 19:44:40