배달의민족은 앱에서 어떻게 가게 추천하나

우아한형제들 추천프로덕트팀 이승원 데이터 과학자, 배민 가게 추천·랭킹 기술 설명

인터넷입력 :2024/10/30 23:26    수정: 2024/10/31 11:05

우아한형제들이 배달의민족(배민) 내 가게 추천 및 랭킹을 구성하는 투 타워 모델, 실시간 반응형 추천 등의 기술에 대해 설명했다.

우아한형제들 추천프로덕트팀 이승원 데이터 과학자는 30일 서울 강남구 그랜드 인터컨티넬탈 서울 파르나스에서 열린 '우아한테크콘퍼런스2024'의 '취향 저격 맛집 추천, 더 똑똑하게' 세션에서 배민이 가게 추천에 활용하는 '투 타워' 모델에 대해 소개했다.

투 타워는 추천 모델에서 사용하는 전통적 바이 인코더(Bi-encoder) 구조의 리트리벌 모델이다. 추천에서 바이 인코더는 유저에 대한 인베딩을 만드는 '유저 인코더'와 아이템에 대한 인베딩을 생성하는 '아이템 인코더'로 구성된다. 투 타워는 두 인베딩 간 유사도를 계산해 유사도가 높은 아이템을 유저에게 추천하는 방식으로 작동된다.

우아한형제들 추천프로덕트팀 이승원 데이터 과학자

이 과학자는 투 타워 모델을 택한 이유에 대해 "구조가 간단하고 스코어에 대한 직관적 해석이 가능하다"며 "인코더의 다양한 변형이나 확장이 용이하고 랭커로 사용이 가능하다는 것도 장점"이라고 밝혔다.

배민은 투 타워 모델을 유저 타워와 샵 타워로 구성했다. 유저 타워에는 유저가 처해 있는 상황을 나타내는 컨텍스트 피처(유저 아이디, 위치, 요일 등)가 포함된다. 샵 타워에는 가게 아이디, 가게 카테고리 등 정보가 입력된다.

이 과학자는 "배민은 투 타워 모델을 통해 최초로 개인화 추천을 적용했고 주문전환율이 70% 이상 향상되는 효과를 거뒀다"고 했다.

특히 이 과학자는 시간 피처를 투 타워 모델에 녹여냈다고 강조했다. 이 과학자는 "기존 시스템은 하루에 한번 추천 결과를 생성하고 그날 내내 해당 결과를 제공하는 형태였다"며 "그러나 아침에 브런치를 먹고 싶지만 밤에 치킨을 먹고 싶어지듯, 사용자 취향이 시간대에 따라 변화하는 것을 반영해 유저 타워에 시간 피처를 추가했다"고 밝혔다.

이 과학자는 "24시간을 5개 시간대(02시~07시, 08시~10시, 11시~15시, 16시~19시, 20시~01시)로 분류해 각 시간마다 다른 추천을 제공한 결과, 노출 대비 주문전환율이 약 6.8% 향상됐다"고 밝혔다.

우아한형제들 추천프로덕트팀 이승원 데이터 과학자

이 과학자는 '콘텐트 기반 가게 인코더(content-based encoder)'를 개발해 실시간 반응형 추천을 도입한 점도 강조했다. 전날까지의 사용자 주문 이력만을 참고해 추천 결과를 생성하는 것을 넘어, 실시간으로 변화하는 사용자 관심사를 반영해 추천을 제공하는 기술을 마련했다는 것이다.

콘텐트 기반 가게 인코더의 페어 인코더로는 검색어 인코더가 활용되고 있다. 이 두 가지 인코더를 활용해 가게-가게, 가게-검색어, 검색어-검색어 등 연관도 점수를 구해 실시간 반응형 추천을 적용하는 방식이다.

실시간 반응형 추천의 유저 행동 이력 파악에는 '클릭한 가게', '검색 커리' 두 인코더가 모두 사용된다. 유저의 현재 관심사 파악을 위한 데이터의 최신성을 고려해 1시간 이내에 발생한 유저 행동 이력만 활용한다. 최근 행동 이력은 총 3개 사용된다.

가게 추천에는 투 타워 모델의 추천 결과를 후보 가게로 사용하고 있다. 유저에게 노출되는 가게 최종 랭킹은 weight rrf(정보 추천 시스템에서 리트리벌된 결과의 여러 랭크를 하나로 묶어 순위를 매기는 알고리즘) 각 랭킹에서의 위치에 따라 가중치를 부여해 결합 랭킹을 계산한다.

관련기사

이 과학자는 "실시간 반영 추천 적용 후 배민은 초 단위 취향을 반영할 수 있게 됐다"며 "이를 통해 주문전환율이 33% 향상되는 효과를 얻었다"고 말했다.

마지막으로 이 과학자는 "현재 추천 구좌 다양화와 추천 구좌 최적화에 대한 연구를 진행 중"이라며 "지금까지는 유저의 기존 취향을 파악해서 추천을 제공했다면 앞으로 추천을 통해 유저가 미처 알지 못했던 다른 취향까지 발견할 수 있는 방법에 대해서도 연구하고 있다"고 밝혔다.