Accurate Bundle Matching and Generation via Multitask Learning with Partially Shared Parameters

 본 문서에서는 PLOS ONE 저널에 게재된 "Accurate Bundle Matching and Generation via Multitask Learning with Partially Shared Parameters" 논문을 소개합니다. 논문에 대한 상세한 정보는 다음과 같습니다.

  • Title: Accurate Bundle Matching and Generation via Multitask Learning with Partially Shared Parameters
  • Authors: Hyunsik Jeon, Jun-Gi Jang, Taehun Kim, and U Kang
  • Journal: PLOS ONE (2023)

Bundle Recommendation

추천 시스템(recommender system)은 수많은 아이템 중 각 사용자에게 적합한 일부의 아이템을 선별해주는 것을 목표로 합니다. 그 중에서 번들 추천 시스템(bundle recommender system)은 여러 아이템을 하나의 번들로 묶어서 추천하는 방식으로 사용자가 여러 아이템을 한 번에 제공받을 수 있어서 일반적인 아이템 추천 시스템보다 더욱 편리하고, 덜 알려진 아이템들을 사용자들에게 노출시킬 수 있어서 전자상거래 플랫폼에서 중요한 역할을 합니다. 이처럼 번들 추천 시스템은 사용자가 원하는 상품을 보다 효과적으로 추천할 수 있기 때문에 산업과 학계에서 큰 주목을 받고 있습니다.

번들 추천 문제는 크게 번들 매칭(bundle matching)과 번들 생성(bundle generation)이라는 두 가지 세부 문제로 구분됩니다. 번들 매칭은 이미 존재하는 번들을 각 사용자에게 정확하게 추천하는 문제이고, 번들 생성은 각 사용자에게 적합한 번들을 새롭게 구성하는 문제입니다. 두 세부 문제에 대한 구체적인 문제 정의는 다음과 같고, 그림 1에서 예시화 합니다. 본 논문에서는 번들 매칭과 생성 문제를 동시에 다룹니다.

  • 번들 매칭
    • 주어진 정보: 사용자의 아이템 구매 기록과 번들 구매 기록
    • 목표: 존재하는 번들 중 k개의 번들을 사용자에게 추천
  • 번들 생성
    • 주어진 정보: 사용자의 아이템 구매 기록과 번들 구매 기록, 불완전한 번들
    • 목표: 불완전한 번들을 채울 아이템 k개 예측
    그림 1. 번들 매칭과 번들 생성의 문제 정의.

    번들을 정확히 매칭하고 생성하는 데에는 세 가지 난문(challenge)이 있습니다. 첫번째로, 사용자의 선호를 파악하기 위해서는 아이템 구매 기록과 번들 구매 기록을 동시에 다뤄야 하지만 두 정보는 이질적(heterogeneous)인 패턴을 보입니다. 두 정보의 이질적인 패턴에 대해서는 논문의 그림 4를 참고하기 바랍니다. 두번째로, 번들을 생성하기 위해 아이템을 탐색하는 것은 아이템 수에 대해 지수적(exponential)인 탐색 공간을 다뤄야하는 어려움이 있습니다. 마지막으로, 번들 매칭과 생성 두 문제를 동시에 다루는 것은 비슷하지만 다른 측면이 있어 모델 구조를 세심하게 설계해야 합니다.

    Proposed Method

    본 논문에서는 사용자에게 번들을 정확히 매칭하고 생성하는 모델인 BundleMage (Accurate Bundle Matching and Generation via Multitask Learning with Partially Shared Parameters)를 제안합니다. BundleMage의 핵심 아이디어는 다음과 같이 요약될 수 있습니다.
    • 사용자의 이질적인 구매 기록 데이터로부터 사용자의 선호를 효과적으로 추출하기 위해 두 정보를 동적으로 결합하는 적응형 게이트 선호 혼합(adaptive gated preference mixture) 모듈을 제안합니다.
    • 번들을 생성하기 위해서 불완전한 번들을 채울 적절한 아이템을 탐색하는 것이 아니라, 사용자의 선호 정보를 이용하여 불완전한 번들을 복원(reconstruction)하는 방식을 학습합니다.
    • 번들 매칭과 생성을 동시에 다루기 위해 두 작업에서 활용하는 파라미터를 일부 공유하며 멀티 태스크(multi-task) 방식으로 학습합니다.

    먼저, 번들 매칭 모듈의 전반적인 구조는 그림 2와 같습니다.
    그림 2. 번들 매칭 모듈의 구조.
    번들 매칭 모듈은 각 사용자에 대해 아이템 구매 기록과 번들 구매 기록을 입력 받습니다. 각 기록을 저차원의 벡터로 표현한 뒤, PreMix 모듈을 통해 동적으로 하나의 벡터로 결합합니다. PreMix 모듈은 두 벡터가 주어지면 완전 연결 뉴럴 네트워크(fully-connected neural network)를 통해 각 벡터의 정보를 얼마나 받아들일지를 예측하고, 이를 통해 두 벡터를 동적으로 종합합니다. PreMix에 대한 자세한 정보는 논문을 참고하기 바랍니다.

    번들 생성 모듈의 전반적인 구조는 그림 3과 같습니다.
    그림 3. 번들 생성 모듈의 구조.
    번들 생성 모듈은 불완전한 번들의 구성과 사용자의 선호를 입력 받습니다. 사용자의 선호로는 번들 매칭 모듈에서 추출한 저차원 벡터를 사용합니다. 두 입력 벡터를 선형 변환 및 완전 연결 뉴럴 네트워크(fully-connected neural network)를 통해 새로운 벡터로 변환한 뒤, 불완전한 번들을 채울 아이템들의 확률을 출력합니다. 번들 생성 모듈은 대상 사용자에게 적합한 번들을 생성하기 위해서 학습시 대상 사용자와 해당 사용자가 구매한 번들을 입력하고 복원하도록 학습합니다. 이러한 방식을 통해 추론시에도 주어진 사용자가 좋아할만한 번들을 생성할 수 있게 됩니다.

    번들 매칭 모듈과 번들 생성 모듈은 모두 아이템 임베딩 벡터를 학습 파라미터로 지닙니다. 번들 매칭과 번들 생성은 비슷하지만 다른 작업이기 때문에 두 작업의 공통된 정보를 서로 공유하고 별개 정보를 분리하기 위해 임베딩 벡터의 절반을 공유하고 절반을 따로 학습합니다. 그림 4는 번들 매칭 모듈과 번들 생성 모듈의 아이템 임베딩 벡터가 어떻게 공유되는지 보여줍니다.
    그림 4. 번들 매칭 모듈과 번들 생성 모듈의 파라미터 공유.

    Experiments

    본 논문은 BundleMage의 우수성을 입증하기 위해 번들 매칭과 생성에 대해 기존 기법들과의 비교 실험 결과를 제시합니다. 표 1과 2는 각각 번들 매칭과 생성에 대한 성능 실험 결과입니다. 세가지 데이터에 대해 매칭과 생성 모두 BundleMage가 기존 방법들보다 우수한 결과를 보였습니다. 특히 BundleMage는 가장 우수한 경쟁 상대보다 번들 매칭에서 최대 6.6% 높은 정확도와 번들 생성에서 최대 6.3배 높은 정확도를 보였습니다. 이는 BundleMage가 기존 방법들에 비해 번들 추천 문제가 갖는 챌린지를 더 잘 해결한다는 것을 의미합니다.
    표 1. 번들 매칭 성능 비교 실험 결과.
    표 2. 번들 생성 성능 비교 실험 결과.

    Conclusion

    본 문서에서는 PLOS ONE 저널에 발표된 Accurate Bundle Matching and Generation via Multitask Learning with Partially Shared Parameters 논문을 소개하였습니다. 이 논문은 번들 추천의 대표적인 문제인 번들 매칭과 생성을 동시에 다루기 위해 BundleMage 모델을 제안하였습니다. BundleMage는 실세계 데이터에서 기존 방법들보다 더 정확하게 번들을 매칭하고 생성하였습니다. 본 연구는 실제 산업에서 매우 유용하게 활용될 수 있습니다. 예를 들어 아마존이나 쿠팡과 같은 전자상거래에 적용되어 사용자에게 적절한 상품 묶음을 매칭시켜줄 수 있습니다. 또한 판매자가 매번 번들을 구성하기 어렵기 때문에 사용자에게 적합한 아이템 번들을 자동으로 생성하여 사용자에게 제공할 수 있습니다. 본 연구는 전자상거래 뿐만 아니라 유튜브와 같은 동영상 플랫폼이나 스포티파이와 같은 음악 스트리밍 사이트에서도 영상 및 음악의 번들을 매칭하거나 생성하는데에 유용하게 활용될 수 있습니다. 본 논문에 대한 더 자세한 정보는 다음 링크에서 확인할 수 있습니다(링크).