반응형

알고리즘이란
과거 인터넷에 넘쳐나는 데이터를 '정보의 바다'라 불렀지만, 현재 우리는 '콘텐츠의 바다'에 살고 있다고 해도 과언이 아닙니다. 과거에는 특정 콘텐츠가 해당 플랫폼에서만 생성되고 제한됐지만, 이제는 라인을 구분하지 않고 여러 플랫폼에서 다양한 콘텐츠가 생산되고 있습니다.
이에 따라 소비자들은 자신이 원하는 콘텐츠를 주어진 시간 내에 신속하게 선택해 소비하고자 하는 욕구가 강합니다. 결과적으로, 많은 회사들이 고객들에게 콘텐츠를 추천하는 서비스를 제공한다. 동영상 플랫폼 유튜브와 넷플릭스는 사용자가 보는 것과 유사한 동영상을, 아마존과 쿠팡 등 온라인 쇼핑몰은 소비자가 구매하거나 문의한 것과 유사한 제품을 추천합니다. 사용자 정보를 기반으로 흥미로운 콘텐츠를 추천하는 것을 추천 시스템이라고 합니다.
이 추천 서비스의 힘은 엄청납니다. 일반적으로 구독자들이 넷플릭스에서 시청하는 콘텐츠의 70~80%는 추천 서비스를 통해 선택되며, 매출의 35%는 쇼핑몰 아마존이 추천합니다. 이런 식으로 추천 제도는 소비자의 선택권을 좁히고 기업에 많은 도움을 준다. 이제 이 추천 시스템이 사용자에게 콘텐츠를 추천하는 방법을 알아보겠습니다.
콘텐츠 기반 필터링 (Content-based Filtering, CBF)
추천 시스템을 운영하는 추천 알고리즘에는 크게 두 가지 유형이 있습니다. 첫째, 콘텐츠 기반 필터링을 학습하기 위해 콘텐츠의 특성을 이용자 선호도와 비교하여 추천하는 방식입니다. 사용자가 특정 항목을 선호하는 경우 해당 항목과 내용이 유사한 것이 좋습니다. 비슷한 콘텐츠를 추천하는 간단한 방법입니다.
이 알고리즘의 특성은 콘텐츠의 특성을 설명하는 메타 정보를 필요로 합니다. 즉, 내용을 설명할 수 있는 자산 정보가 필요합니다. 예를 들어, 영화는 시놉시스와 캐릭터가 필요하고, 제품은 상세한 페이지 설명이 필요하며, 음악은 장르, 가수, 비트와 같은 메타 데이터가 필요합니다.
이렇게 하면 하나의 콘텐츠를 추천할 수 있지만, 사용자는 하나의 콘텐츠가 아닌 다양한 콘텐츠를 소비합니다. 이용자들이 자주 찾는 콘텐츠를 모아 어떤 기능이 있는지 분석하는 이유입니다. 이를 통해 특징이 있는 다른 콘텐츠를 골고루 추천할 수 있습니다.
이 추천 알고리즘의 장점은 다른 사용자의 데이터가 필요하지 않다는 것입니다. 추천 제도는 콘텐츠의 특성을 통해서만 추천되기 때문에 이용자의 특성과 일치하면 신규나 인기가 없는 아이템을 추천할 수 있고, 소비할 수 있는 콘텐츠의 폭도 넓어집니다. 또 추천하는 이유를 설명할 수 있습니다. 콘텐츠의 특성이 담긴 메타 데이터를 비교 분석하기 위해서는 구체적인 기능이 추천 이유였다고 설명할 수 있습니다.
반대로 콘텐츠 기반 필터링의 단점은 적절한 특징을 찾기 어렵다는 것입니다. 즉, 적절한 메타데이터 항목을 설정하기 어렵습니다. 콘텐츠의 특성을 포함한 메타데이터는 해시태그와 같습니다. 이에 따라 콘텐츠에 적합한 해시태그를 설정하면 검색이 쉬워지지만, 해시태그를 잘못 설정하면 콘텐츠의 질과 상관없이 해시태그를 추천합니다. 이 메타데이터는 수동 구성이 필요한 경우가 많기 때문에 인적 오류를 제거할 수 없습니다.
신규 이용자가 추천하기 어려운 점도 특징입니다. 아무리 내용을 잘 분석해도 신규 가입자가 특별한 행동을 보이지 않고 신규 가입자에 대한 정보도 없어 이용자의 성향을 파악하는 것도 불가능합니다. 신규 가입자가 자신의 선호도를 파악하기 위해 최소한의 데이터만 입력해야 하는 이유입니다.
공동 필터링 (Collaborative Filtering, CF)
이제 다른 권장 알고리즘인 공동 필터링을 살펴보겠습니다. 공동 필터링은 사용자 동작에 기반한 권장 방법입니다. 여기서 사용자 행동 스타일은 아이템에 부여된 등급, 아이템의 구매 내역 등을 의미합니다. 현실에서는 인터넷으로 물건을 사거나 영화를 보려고 할 때 물건의 내용을 확인하기도 하지만 다른 사람이 남긴 점수와 평점을 확인한 뒤 구매를 결정합니다.
공동 필터링은 이처럼 다양한 사용자 행동 내에서 특정 집단에서 발생하는 '유사한 행동'을 파악해 유사한 성향을 가진 사람들에게 아이템을 추천하는 방식입니다. 이를 통해 얻은 정보를 바탕으로 성향을 파악하고 성향이 비슷하면 선호도가 비슷하다는 전제하에 추천합니다.
공동 필터링에는 두 가지 방법이 있습니다
첫 번째는 유사한 사용자 그룹을 사용 기록에 따라 분류하고 사용한 항목을 공유하는 방식인 사용자 기반 CF이고, 두 번째는 유사한 항목 그룹을 사용 기록에서 분류하여 사용자와 공유하는 항목 기반 CF입니다. 취향이 비슷한 사람이 구매를 추천하는 방식을 '사용자 기반', 특징이 비슷한 제품을 추천하는 방식을 '아이템 기반'이라고 합니다. 항목의 특성은 실제 항목의 특성에서 추출한 것이 아니라 앞서 언급한 등급, 구매 횟수 등 사용자 행동 양식을 기준으로 평가합니다.
두 번째는 항목 기반 공동 필터링입니다. 이 공동 필터링은 많은 사람들의 선호도 정보를 통해 아이템을 추천해주기 때문에 아이템 자체를 분석해야 하는 번거로움을 없앱니다. 그러나 초기에는 사용자 레코드가 많지 않기 때문에 새로운 아이템이나 사용자가 추가되고 충분한 사용자 레코드가 확보될 때까지 기다려야 하는 콜드 스타트 문제가 있습니다.
지금까지 인기 있는 추천 알고리즘을 알아보았습니다. 이러한 추천 알고리즘은 사용자가 자신의 취향에 맞는 아이템을 추천할 수 있다는 장점이 있습니다. 그러나 알고리즘이 분석하는 항목의 범위를 좁히면 깊이와 다양성이 부족할 수 있습니다. 따라서 추천 시스템을 통해 수동적으로 아이템을 고르는 것에 익숙해진다면 사람들은 정말 필요로 하는 아이템을 좋아하지는 않지만 찾지 못할 것입니다.
추천 알고리즘을 직접 이해하여 직접 선택할 수 있는 능력을 키운다면, 보다 올바른 소비를 할 수 있을 것입니다.
반응형
댓글