일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- BANDiT
- 메타버스
- BERT이해
- BERT
- 클라우드자격증
- transformer
- llm
- MSCS
- 미국석사
- aws자격증
- COFIBA
- MLOps
- docker
- 머신러닝
- 자연어처리
- 언어모델
- 클라우드
- MAB
- RecSys
- TFX
- 네트워크
- AWS
- chatGPT
- Collaborative Filtering Bandit
- nlp
- HTTP
- 플랫폼
- 머신러닝 파이프라인
- 중국플랫폼
- 추천시스템
- Today
- Total
Julie의 Tech 블로그
Contextual Bandit - 이커머스몰 최적 추천시스템, CAMARS 본문
Context Adaptation for Smart Recommender Systems
https://www.researchgate.net/publication/284218062_Context_Adaptation_for_Smart_Recommender_Systems
Introduction
이번에 리뷰할 논문은 지금껏 살펴봤던 알고리즘과 유사하게 context를 반영하는 Bandit 알고리즘이다.
본 논문은 추천 시스템에 있어 Context가 매우 중요하다는 논조로 시작된다.
훌륭한 알고리즘만으로 뛰어난 성과(CTR혹은 전환율)를 이끌어내긴 어렵다고 하며, 사용자의 context 요인도 알고리즘에 반영되어야한다고 한다.
주로 이커머스 시장에서의 추천 시스템에 초점을 맞춰두고 있으며, 아래와 같이 두 가지에 있어 추천 시스템의 한계를 이야기한다.
- 동일한 검색 행동을 보이는 유저라도, 각자의 상황에 따라 다른 이유로 검색했을 수 있다.
(ex. 선물을 위해 자전거를 서칭하는 유저 vs 실제 자전거가 좋아서 검색한 유저)
- 유저의 예산도 마찬가지로 쇼핑 시에 굉장히 중요한 고려사항이 된다.
이러한 문제점들을 고려한 추천 시스템 알고리즘을 본 논문에서 소개한다.
Context에 대한 정의는 도메인별로 다를 수 있다. 연구원들마다 Context에 대한 정의를 각기 다르게 했는데,
- 컴퓨팅(비용과 같은), 사용자(사회적 상황), 물리(온도와 같은)
- 데이터 가용성(availbaility), 데이터 고정성(stability)
본 논문에서는 사용자의 쇼핑 행동에 영향을 미칠 수 있는 심리적인 조건(metal condition)이나 물리적인 한계(physical constraint)로 정의한다.
대표적인 두 요인으로 사용자의 실시간 심리상태(real-time state of mind, RSOM)과 예산(budget)을 명명하였다.
본 논문은 프랑스의 이커머스 웹사이트(French e-commerce website, FECW)를 기반으로 하고 있다.
이 웹사이트는 두 알고리즘을 기반으로 추천 시스템(MARS라고 한다)을 운영하는데, 하나는 Delta이고 다른 하나는 Sigma이다.
Delta는 content를 기반으로 하는 알고리즘이라 사용자가 유사한 상품에 대해 유사한 평점을 매길 것이라는 가정을 한다.
따라서 Delta는 현재 사용자가 검색하는 관심사와 직접적으로 연관되며, 검색 결과 기반 추천 시스템으로 볼 수 있다.
Sigma는 협업 필터링 알고리즘이다. 유사한 선호를 지닌 유저들끼리는 평점을 매기는 것도 유사할 것이라 생각한다.
Sigma는 Delta와 다르게 현재 유저의 관심사와는 다소 다를 수 있다. 따라서 유저가 브라우징 범위를 넓히고자 할 때 유의한 도구가 될 수 있다.
요약하면 MARS의 추천시스템 알고리즘은 서로 보완적지만, 유저의 심리상태나 예산에 걸맞게 적용되진 않는다.
따라서 본 논문은 MARS의 추천 시스템에 context를 반영한, CAMARS를 제안한다.
CAMARS는 MARS알고리즘에 두 모듈을 추가하였다 : RSOM detector (RSOMD), 유저의 예산 estimator (UBE)
본격적으로 논문의 알고리즘을 소개하기 전에, CID라는 개념에 대해 짚고 넘어갈 필요가 있다.
일반적으로 이커머스 몰에서는 수많은 아이템이 존재하기 때문에, 아이템별 반응데터를 수집하게 되면 sparsity를 겪기 마련이다.
또한 추천을 하더라도, 유사한 상품과 유사한 페이지 내에서의 상품을 추천하게 된다.
(반응데이터가 노출에 따라 결정되기 때문)
이러한 문제를 해결하기 위해 아이템별 ID를 매기는데,
이 ID에 카테고리의 계층 정보가 반영된다. (대분류 중분류 소분류 정보 반영)
CID도입을 통해 논문은 세 가지 기대효과를 이야기하는데,
1) 첫 번째로는 추천 시스템이 CID를 통해 아이템간의 공통 요소가 무엇인지를 살펴볼 수 있다는 점과, 2) 카테고리의 계층 정보를 바탕으로 사용자가 일반적인 아이템 혹은 구체적인 아이템을 원하는지 알 수 있다는 점과, 3) 마지막으로 ID 체계가 scalability를 지니기 때문에 아이템 종류가 많아지더라도 유연하게 대응이 가능하다는 것이다.
왼쪽 상단 사진을 보면, (a)라는 사람은 탐색하고자하는 아이템에 대한 카테고리가 뚜렷한 반면,
(b)라는 사람은 아이템을 전반적으로 넓게 훑어보고 있음을 확인할 수 있다.
이제 논문에서 도입한 새로운 두 모듈 개념에 대해 짚어보자.
아래는 도식화한 그림인데, UBE와 RSOMD 모듈을 거쳐 기존의 Delta, Sigma 알고리즘에 따라 추천 결과를 뱉는다고 되어있다.
RSOMD
RSOMD 모듈은 앞서 살펴본 CID 개념을 사용한다. 일련의 CID에서 SE(Standard Error)값을 계산하여 사용자의 탐색 행태를 분류한다.
CID는 계층적인 정보를 담고 있기 때문에, SE계산에 따라 사용자가 일반적인(general) 정보를 탐색중인지, 혹은 특수한 정보를 탐색중인지 알 수 있다. 일반적인 정보일 경우 탐색한 아이템/페이지의 CID값의 차이가 크기 때문에 SE가 클 것이고, 특수할 경우 그 값이 낮을 것이다.
논문은 MARS 데이터 (60만 세션, 24만 클릭 데이터) 를 통해 브라우징 패턴을 가를 수 있는 cutoff를 지정하였다.
두 가지 브라우징 패턴(concentrated, wandering)에 따라 Delta와 Sigma 모듈에서 집계하는 클릭 확률 역시 다르다.
탐색 중인 사용자의 경우 여러 종류의 아이템을 탐색하기 때문에, Delta(검색기반 클릭확률)의 값은 낮고, Sigma의 값은 높다.
특정 종류의 상품을 들여다보는 사용자의 경우 Sigma(협업필터링에 따른 클릭확률, 범용적인 추천) 값이 낮고 Delta CTR이 높다.
UBE
사용자의 예산을 추정하기 전에, 중요한 개념이 선행적으로 정의되어야한다 : 유저의 가장 최근 관심사(최근 공통 카테고리(MRCC))이다.
최근 관심사는 검색된 일련의 CID를 통해 추정할 수 있다. 우선 RCC(recent common category)를 파악한 뒤, 그 중에서도 가장 빈번하게 보인 패턴을 MRCC (most recent common category) 로 정의한다.
유저의 예산은 가격에 대한 범주(range)로 정의되는데, 유저의 MRCC에 속한 아이템의 평균 가격과 계수 𝜃로 정의된다.
𝜃는 budget flexibility coefficient라고 부르고, 기존의 클릭 데이터를 기반으로 정하게 된다.
위와 같이 𝜑를 정의해보자. 분모는 사용자가 구매하기 전 탐색한 MRCC 속 아이템의 평균 가격이다.
분자는 추천된 아이템 중 구매로 이어졌던 아이템들의 가격이다.
𝜑와 CTR및 전환율(구매율)을 집계하여 둘 간의 관계를 통해 적절한 𝜑구간을 추정한다.
논문에 따르면 초기 값은 [0.8, 1.2]일 때 60%의 클릭과 70%의 구매가 발생한다고 하였다. 이 구간을 𝜃의 lower, upper bound로 설정한다.
Experiment
본 논문은 타 논문과는 조금 다르게 online 실험을 실시하였다.
실제 웹사이트에 추천 알고리즘을 적용하여 A/B/N테스트를 시행했던 것이다.
사용자를 몇 가지 그룹으로 나누어, 기존 알고리즘, 신규 알고리즘, 두 알고리즘 모두 적용한 그룹 등으로 반응을 살펴보았다.
그 결과, 논문은 아래와 같이 몇 가지 쟁점을 도출하였다.
1. 유저의 심리적인 상태와 예산을 추천 시스템에 반영할 경우 사용자의 반응률이 훨씬 개선된다.
2. 유저는 CAMARS알고리즘에 따른 추천 시스템으로 아이템이 노출될 경우 훨씬 활발해진다. (세션수, 페이지뷰 수 등)
3. 월 단위로 CTR을 살펴볼 경우, CAMARS는 지속적으로 개선되지만, MARS는 변동하곤 한다.
Conclusion
본 논문은 기존 알고리즘인 MARS에 Context 요인 두 가지를 추가한 CAMARS 알고리즘을 소개한다.
두 가지 요인은 사용자의 실시간 심리상태와 예산이다.
이 두 가지 요인은 모두 사용자의 최근 검색 이력과 상품의 가격 정보를 필요로 한다.
상품은 모두 각각 카테고리 정보가 반영된 CID로 매핑되어야 본 알고리즘이 유의성을 지니게 된다.
본 알고리즘은 이제껏 살펴본 이커머스 시장에서의 추천 시스템 알고리즘 중에서 가장 현실에 가까운 알고리즘이었던 것 같다.
이커머스 몰에서의 한계성과 필요성을 정확히 짚어주었는데, 바로 유저의 예산 문제와 최근 관심사를 파악한다는 점이다.
이를 추정하기 위해 필요한 데이터인 실시간으로 웹에서의 검색 아이템과, 그 아이템의 카테고리 매핑 정보만 수집될 수 있으면 된다.
MARS를 구성하는 Sigma와 Delta 두 중축에 관한 알고리즘의 설명이 자세히 되어있지 않았으니 좀 더 살펴보고 싶다는 생각이 들었다.
논문의 끝에, 본 알고리즘의 장점에 대해 몇 가지 언급하는데, 이를 정리하면서 본 글을 마무리지으려고 한다.
1) 본 알고리즘은 이커머스 시장에서의 사용자의 다양한 니즈를 충족시켜 아이템을 추천할 수 있다 : 여러 아이템을 탐색하고자 하는 요구와 집중적으로 알아보고자 하는 요구
2) 본 알고리즘을 바탕으로 upselling 추천이 가능하다 : 헤비 유저 중에서도 쇼핑몰에 큰 이익을 가져다줄 수 있는 high-revenue 고객으로의 전이를 위해 upselling 전략이 필요한데, 본 알고리즘은 사용자의 예산에 따른 추천이 가능하기 때문에 응용하여 upselling 추천이 가능하다.
'Tech > RecSys' 카테고리의 다른 글
추천시스템 - (2) One-class Collaborative Filtering (1) | 2021.09.20 |
---|---|
추천시스템 - (1) 개요 (0) | 2021.09.13 |
MAB기반 추천시스템 : Stochastic Bandits, MCRS (0) | 2021.07.09 |
Neural Collaborative Filtering, NCF - 코드리뷰, python3.x 버전 (0) | 2021.07.05 |
MAB기반 추천시스템 : Stochastic Bandits, CFB (0) | 2021.07.04 |