벡터데이터베이스가 추천시스템에 필요한 이유

Posted on September 16, 2023
벡터데이터베이스가 추천시스템에 필요한 이유

모바일, 웹 등 현대 애플리케이션에서 중요한 KPI 중 하나는 사용자들의 체류시간, 즉 리텐션을 늘리는 것입니다. 이러한 리텐션을 늘리기 위해 많은 서비스는 추천시스템을 적용하려 노력합니다. 특히 콘텐츠, 이커머스에서 추천시스템의 질은 매출과 직결되는 요소입니다. 사용자의 행동을 분석하여 관심사를 발견, 사용자가 검색하지 않더라도 관심을 가질만한 아이템들을 지속해서 보여주며 체류시간을 늘리고 구매를 유도 하는 것이죠. 실제로 아마존 매출의 35%, 넷플릭스 영상시청의 70% 이상이 추천으로 발생합니다.

하지만 추천시스템은 검색만큼 구현하기 어려운 기능입니다. 당연히 우수한 개발인력을 확보하고 수많은 솔루션을 쓰는 등 적지 않은 자본이 필요합니다. 그래서 수준 높은 추천시스템은 자본력이 뒷받침되는 기업들의 전유물로 여겨지고 있지요. 검색과 추천은 유사한 대상을 찾아내는 과정이라는 점에서 본질적으로 크게 다르진 않습니다. 검색은 검색어에 가장 부합하는 결과를 찾는 것이고, 추천은 사용자 정보에 기반하여 가장 적합한 결과를 찾아 제공한다는 점에서 두 기능은 서로 유사합니다.

그런데 추천시스템을 구현하기 위해서는 더 많은 정보가 필요합니다. 넷플릭스와 같은 OTT 서비스라면 시청기록, 취향이 유사한 고객이 선호한 콘텐츠, 선호배우, 장르 등의 데이터가 필요하고, 쿠팡과 같은 이커머스라면 상품구매정보, 조회정보, 검색키워드, 고객의 나이 및 성별, 구매주기와 같은 데이터가 필요합니다. 이런 데이터를 종합하여 유사성을 판단한 다음 고객이 관심 가질 만한 아이템을 추천하는 것이죠.

이렇게 수많은 정보를 하나의 차원에서 비교하여 유사성을 판단하기 위해, 다양한 형태의 데이터를 벡터임베딩으로 변환하여 임베딩간의 유사성을 파악하는 방법이 널리 쓰이고 있습니다. 대표적인 예가 AirBnb 입니다. AirBnb는 접속한 유저에게 실시간 맞춤형 숙소를 제공함으로써 예약률를 극대화하고 있는데, 추천을 통한 예약이 전체 예약의 99%를 차지할 정도 입니다. 실시간 개인화를 위한 숙소임베딩 기술을 구축했고, 그 결과 벡터임베딩을 사용한 알고리즘은 클릭률이 21%나 증가했습니다.

자, 그런데 수많은 데이터를 임베딩으로 변환하고 유사성을 비교하고, 무엇보다 체류 고객에게 바로바로 추천을 해야하기 때문에 실시간성이 확보되어야 합니다. 임베딩 변환기술도 필요하지만 벡터임베딩을 저장하고 저장 후 검색, 변경 시 변경하는 과정이 요구됩니다. 일시적인 연구나 리서치라면 벡터임베딩에 대한 엄격한 관리가 크게 필요 없지만, End user를 대상으로한 서비스라면 매 순간 유입되는 새로운 상품과 고객정보를 추적가능한 형태로 관리해야 할 것입니다. 이것이 벡터데이터베이스가 필요한 이유입니다.

Copyright © 2024 Aeca, Inc.

Made with ☕️ and 😽 in San Francisco, CA.