Paper review

A RNN-based Multi-Period Recommender System considering Repurchase Behavior (2018)

언킴 2021. 6. 24. 18:44
반응형

오늘 읽은 논문은 A RNN-based Multi - Period Recommender System considering Repurchase Behavior 이다.

기존의 추천시스템의 한계를 확장시킬 수 있는 재구매가 빈번하게 일어나는 경우 구매순서를 고려한 RNN기반 추천시스템을 개발하는 논문이다. 기존의 CF(Collaborative Filtering : 협업필터링)기반 추천시스템보다 정확도 및 다양성 측면에서 추천 품질이 높아질 수 있다는 결과를 실제 데이터를 사용한 실험에서 도출해냈다고 한다.

keywords : 추천시스템, 순환신경망(RNN), 구매 순서, 시계열 데이터 분석

 

추천시스템 : 정보 과부화가 초래된 현 상황에서 정보 과부화를 줄여 선택을 돕기 위한 진화된 방식의 정보 검색

Collaborative Filtering : 구매기록 또는 선호도 점수 등으로 고객의 선호를 예측하고 구매할 상품을 추천하는 기법

 

기존 CF기반 추천시스템은 활용하지 않은 고객의 구매순서를 RNN에서는 학습을 하기 때문이다. 구매순서를 고려해야 하는 이유는 소비자들의 선호는 시간의 흐름에 따라서 바뀌기도 하며, 신선식품과 같은 상품을 기반으로 하는 경우에는 빈번하 반복구매가 일어나기 때문에 재구매 또한 고려해야하기 때문이다. 

 

 

RNN(순환신경망)

RNN은 인공신경망의 한 종류이다.  인공신경망은 입력층, 은닉층, 출력층으로 구성되어 있고, 오차 역전파(backpropagation)를 통해 가중치를 갱신함으로써 학습하며, 각 노드간 가중치와 최종 출력함수를 통한 결괏값을 결정하게 된다. 하지만 이런 방식으로 학습하게 되면 입력 데이터가 독립적으로 학습하면서 시간에 관한 정보를 학습하는데에는 한계가 있다. RNN은 현재 상태의 출력을 다시 입력으로 사용함으로써 이전 상태를 기억하는 구조로 되어 있다. RNN역시 오차역전파를 통하여 가중치를 계산한다.

그러나 RNN은 발생한 에러를 과거 시점까지 전달해야 하기 때문에 BPTT(Back propagation Through Time)알고리즘을 통해 학습된다. RNN의 기본 구조는 긴 시퀀스 데이터를 학습하는 과정에서 장기의존성문제(long term dependency)가 발생하여 학습이 제대로 되지 않는 단점이 있어서 이를 해결하기 위해 LSTM(Long Short-Term Memory) 알고리즘이 도입 되었다. 

3개의 게이트(입력, 망각, 출력)

RNN-기반 추천방법

전체 고객의 집합을 $ U = \left\{u_{1},...,u_{p}\right\} $ 전체 상품 집합을 $ \mathbf{I} = \left\{\imath_{1},...,\imath_{p}\right\} $ 라고 했을 때 $B_{T-k}$ 를 고객들이 특정시점(T) 이전 $l$기간 동안의 거래정보로 이루어진 집합이라고 할 때, 집합 B는 다음과 같다.

 

개별 고객 $u_{p}$의 특정 시점(T)에서의 전체 구매이력은 다음과 같다.

고객 $u_{p}$가 T시점을 포함해 그 이전에 구매한 상품들을 구매 순서에 따라 장바구니 형태로 묶어 나타낸다. 그 정보를 바탕으로 $B_{T+1}^{u_{p}}$를 추천하고자 한다.단일 시점 분석 방법은 T+2 시점 역시 T시점으로 추천 모델 결과를 사용하게 된다. 그러나 이러한 단일 시점에서의 추천 모델은 시간 흐름에 따라 변화하는 고객의 선호를 반영하지 못한다는 단점이 있다. 한편으로 다중 시점 분석 방법은 T+1 시점까지는 단일 시점 분석 방법과 동일 하지만 T+2시점 부터는 T+1의 구매 정보도 활용하기 때문에 고객의 새로운 선호가 추천 모델에 반영될 수 있다.

이 논문에서는 단일 시점 분석 방법과 다중 시점 분석 방법을 비교한다.

LSTM

특정 고객 $u_{p}$의 T시점까지의 구매정보를 바탕으로 그 다음 시점(T+1)에서 구매할 가능성이 높은 아이템을 제시한다. 이 논문에서는 구매정보와 구매순서를 동시에 고려한 추천 모델을 제안했다.(그림 5)

 

LSTM은 이전 정보를 기억하는 메커니즘이 존재하기 때문에 구매순서에 따른 시계열적 변화에 대한 학습이 가능하다. 개별 상품을 one-hot encoding을 더하여 multi-hot encoding으로 변환하였다. 최종 출력값은 softmax를 통과한 값으로 T시점 이전의 구매패턴을 알고 있을 때 T+1시점의 구매패턴이 나타날 확률을 나타낸다. 예측한 출력 값$O_{T+1}$과 실제 목표값 $y_{T+1}$의 차이를 category corss-entropy로 계산하여 그 오차역전파를 통해 가중치를 갱신한다. $O_{T+1}$ 값에서 가장 큰 확률을 갖는 인덱스 를 추출해 Top-N개를 추천한다.

 

성능평가

Kaggle에 2017년 공개된 미국의 신선식품 배송서비스 회사의 쇼핑 데이터셋을 사용하여 성능을 평가하였다. 본 연구에서는 주문순서에 따른 데이터 샘플링을 위해 고객들의 주문정보를 주문순번에 따라 정렬하고, 주문순번에 해당하는 모든 구매정보(상품)를 하나의 장바구니로 구성하였다. 상품 개수에서 너무 자주 출현하거나 너무 적게 출현한 상/ 하위 10%의 상품은 실험에서 제외했다. 선호도를 파악하기 위해 추천 시점(T)을 기준으로 그 이전 시점의 주문정보를 학습용 데이터로 사용하고 그 이후 시점을 실험용 데이터로 사용했다. 

평가 지표로는 F1-Score를 사용 하였고, 추천시스템이 매번 비슷한 아이템을 추천해준다면 전체 소비자의 다양성을 감소시킬 위험이 있으며, 매번 비슷한 아이템을 추천 받을 경우 추천 시스템에 대한 만족도가 떨어질 것으로 예상되기 때문에 일정 수준의 정확도를 유지함과 동시에 다양성을 추구해야 된다. 다음과 같은 다양성 지표를 제시하였다. 

 

실험 결과

이 논문의 LSTM모델은 Keras 기반으로 작성되었다. LSTM 기반의 추천 모델과 CF의 결과를 도출해냈다. 

그래프에서도 보이다시피 LSTM의 모델이 기준 모델(CF)보다 높은 F1-score를 보여준다. 이는 실제로 고객들의 선호 패턴은 시간에 따라 변화한다는 것을 보여준다. 다중 시점 분석 방법에서는 기준 모델의 정확도가 시간이 지남에 따라 낮은 성과를 보이나 제안된 모델의 정확도는 시간에 지남에 따라 큰 변화가 없는 것을 보여준다. 다양성 역시 제안된 모델이 기존 모델보다 더 좋은 값을 보여준다고 다음과 같이 보여줄 수 있다. 

 

 

결론

기존의 상품 추천시스템은 고객이 아직 구매하지 않은 상품만을 추천의 대상으로 보았으나, 재구매행동을 고려한 경우 구매정보와 구매순서를 기반으로 한 더욱 확장된 추천시스템이 필요하다고 판단되어, 고객의 선호를 반영하는 LSTM기반 추천 방법을 제시하였다. 상품에 대한 수요 예측과 재고관리가 중요한 경영 환경에서는 고객들에게 다음에 구매할 상품을 추천해줄 뿐만 아니라 장기적 관점에서 어떠한 상품을 구매할지에 대한 예측도 중요하다. 위 평가지표를 가지고 본 연구에서 제시한 제안 모델(LSTM)이 기준 모델(CF)보다 장기적 관점에서 더 좋은 정확도를 보여줌을 확인할 수 있다. 

'Paper review' 카테고리의 다른 글

On the long-term learning ability of LSTM LMs (ESANN'20)  (0) 2021.06.25