유튜브와 넷플릭스에서 사용하는 추천 엔진 시스템 설계에 관한 간단한 설명

유튜브와 넷플릭스에서 사용하는 추천 엔진 시스템의 설계에 관한 간단한 설명 추천 시스템은 최근 몇 년간 매우 중요해졌습니다. 유튜브, 아마존, 넷플릭스, 훌루, 인스타그램 등 기타 여러 회사에는 사용자에게 다양한 종류의 제안을 제공하는 자체 추천 시스템이 있습니다. 다양한 유형의 알고리즘을 사용하여 애플리케이션에서 사용자가 사용하는 데이터 종류의 패턴을 추적하고 방대한 콘텐츠 스토리지로 각 사용자에게 가장 연관성이 높은 자료를 제안합니다.

유튜브에서 사용할 만한 추천 시스템이 어떻게 설계됐는지 논의해 보겠습니다.

필터링 기술의 유형 추천 시스템은 콘텐츠 필터링 알고리즘을 기반으로 합니다. 콘텐츠를 필터링하는 다양한 기술이 있는데 어떤 경우는 다른 기술보다 쉽습니다. 대부분의 거대 기업이 머신러닝 모델을 사용해 추천 시스템을 구축하지만 보다 쉬운 접근도 가능합니다.

간단한 솔루션 콘텐츠를 추천하는 가장 쉬운 방법은 가장 인기있는 콘텐츠를 필터링하는 것입니다. 예를 들어 가장 많이 본 동영상, 보낸 시간, 좋아요, 공유, 댓글이 달린 동영상으로 식별하고 가장 인기 있는 콘텐츠를 사용자에게 제안합니다. 이 접근 방식의 단점은 추천 동영상이 각 사용자의 기본 설정에 맞춰 사용자 지정이 되지 않고 모든 사용자에게 동일하다는 것입니다.

다른 솔루션에는 사용자가 이미 본 채널의 영상과 동일한 유튜브 채널의 영상을 제안하는 것이 포함됩니다. 넷플릭스의 경우 고객이 최근에 본 영화 같은 장르의 영화를 단순 추천 시스템으로 추천할 수 있습니다.

하지만 유튜브나 넷플릭스와 같은 실제 애플리케이션에서는 이러한 기초적인 솔루션을 사용하지 않습니다. 고객의 선호도를 콘텐츠와 정확하게 일치시키고 개인화된 경험을 생성하기 위해 이러한 어플리케이션은 다음에 설명하는 복잡한 기계학습 모델을 사용합니다.

머신러닝 솔루션의 대부분의 실제 애플리케이션에서 사용되는 머신러닝 솔루션에는 두 가지 기본 유형의 필터링 모델이 포함됩니다.

  1. 콘텐츠 기반 필터링 분류 기반 또는 항목-항목 협업 필터링이라고도 불리는 콘텐츠 기반 필터링은 결정을 내리기 위해 제품 간 상관관계를 설정하는 머신러닝 기술입니다.

영화 데이터베이스를 생각해 보세요. 콘텐츠 기반 필터링은 이러한 영화의 기능 또는 특성을 처리합니다. 알고리즘이 고려하는 속성 중 일부는 다음과 같습니다.

· 영화가 애니메이션인지 아닌지.· 마블 코믹스를 원작으로 한 영화인가?·영화가 스릴러인가 아닌가?·영화의 등급이 15세 이상인가?주연은 누구인가?

추천 시스템에 6개의 영화가 있다고 가정합니다. 아래 표는 애플리케이션에 중요한 다섯 가지 기능이 있는 영화와 일치합니다.

사용자가 2, 3, 5 기능을 포함하는 Movie 2를 봤을 때 콘텐츠 기반 필터링 알고리즘은 Movie 2와 가장 많은 기능을 공유하는 다른 영화를 찾습니다. Movie1과 Movie4에는 하나의 기능이 있습니다. Movie 2, Movie 6에는 Movie 2와 공통되는 기능이 없습니다. Movie 3와 Movie 5는 각각 Movie 2와 2가지 기능을 공유합니다.

Movie 3와 Movie 5는 데이터베이스의 모든 영화 중에서 Movie 2와 가장 많은 기능을 공유하기 때문에 사용자들은 Movie 3와 Movie 5를 추천합니다.

제품의 속성은 제품과 함께 태그로 저장되며 태그는 추천인이 유사한 제품을 함께 그룹화하는 데 사용됩니다. 사용자가 제품에 대해 소비, 좋아요, 댓글, 공유 또는 기타 긍정적인 행동을 하면 공통 속성이 가장 많은 다른 제품이 사용자에게 제안됩니다.

콘텐츠 기반 필터링은 사용자에게 콘텐츠를 추천할 때 다른 사용자의 활동을 고려하지 않습니다.

2) 협업 필터링 협업 필터링 또는 사용자 협업 모델은 사용자가 비슷한 취향을 가진 다른 사용자가 소비하는 제품을 선호한다는 가정에 기반을 두고 있습니다. 콘텐츠에 기능을 할당한 후 콘텐츠 기반 필터링의 경우처럼 기능 선호도에 따라 콘텐츠를 사용자에게 추천하는 대신 이 접근 방식은 서로 다른 사용자의 데이터 간의 패턴을 감지하려고 시도합니다.

협업 필터링은 복잡한 머신러닝 접근방법으로 다양한 형태로 사용이 가능하지만 가장 기본적인 솔루션에 대해 알아보겠습니다.

따라서 영화에 대한 기능 테이블을 저장하는 대신 사용자에 대한 영화 테이블을 저장합니다.

위 표에서는 다섯 명의 사용자가 네 개의 서로 다른 영화를 보았는지에 대한 사용 가능한 데이터를 보여줍니다. 이 데이터를 사용하여 협업 필터링 접근 방식은 사용자 5에게 제안하는 영화를 식별할 수 있습니다.

체크 표시는 사용자가 특정 영화를 봤다는 표시로 간주하고 사용자가 해당 영화를 시청하지 않았음을 표시하는 십자 표시로 간주합니다. 이미 User5가 Movie1을 본 것을 알고 있습니다. 이 알고리즘은 사용자 1과 사용자 3도 Movie 1을 보았지만 사용자 2와 4는 보지 않았기 때문에 유사한 사용자로 간주합니다. User1과 3(유사 사용자)에 대한 데이터를 보면 테이블에서 둘 다 Movie3를 본 반면 User1만 Movie2와 Movie4를 본 것을 알 수 있습니다.

이 알고리즘은 Movie3에 두 개의 투표를 제공하는 반면 Movie2와 Movie4에는 위의 다이어그램에 표시된 대로 각각 단일 투표를 제공합니다. Movie3가 가장 많은 표를 획득했기 때문에 추천 시스템은 User5에게 Movie3를 제안합니다.

콘텐츠 기반 필터링에서 수행하듯이 기능을 기반으로 콘텐츠를 비교하는 대신 협업 필터링은 사용자가 인식하는 방식을 기반으로 콘텐츠를 비교합니다. 대부분의 경우 협업 필터링은 선호도에 대한 보다 현실적인 측정과 결과적으로 더 개인화된 추천 경험을 제공할 수 있습니다.

그럼에도 불구하고 이 모델은 한계가 있습니다. 유튜브와 같은 실제 애플리케이션의 경우 사용자 기반이 어마어마할 수 있습니다. 이 모델은 사용자의 행동과 다양한 사용자의 행동 패턴을 기반으로 사용자 수가 증가함에 따라 성능이 느려질 수 있습니다. 이 문제를 해결하는 한 가지 방법은 유사한 사용자를 함께 그룹화하는 것입니다.

3) 하이브리드 모델의 필요성 협업 필터링은 추천 시스템을 기반으로 하는 보다 안정적인 접근으로 대부분의 시스템 설계자가 선호하지만 사용자 기반이 작을 경우 애플리케이션 시작 시 정확한 추천은 불가능합니다. 이걸 콜드스타트 문제라고 합니다. 애플리케이션이 막 시작된 경우 사용자가 작업할 작업이 없거나 거의 없습니다. 애플리케이션을 사용하는 소수의 사용자가 제공하는 소량의 정보만으로는 사용자에게 신뢰할 수 있는 권장 사항을 제공할 수 없습니다.

이 문제를 해결하는 방법은 콘텐츠 기반 필터링에서 추천 시스템을 시작하는 것입니다. 더 많은 사용자가 있고 해당 작업 및 기본 설정에 대한 정보의 양이 협업 필터링 모델에 제공하기에 충분하다면 이 필터링 액세스 방식으로 전환할 수 있습니다.

이러한 유형의 추천 시스템은 콜드 스타트 문제를 해결하고 사용자에게 신뢰할 수 있는 추천을 제공하기 위해 두 가지(초기 콘텐츠 기반 모델 및 프리 협업 필터링)를 모두 사용하는 하이브리드 모델입니다. 존재하는 대부분의 강력한 추천 시스템은 이 접근 방식을 사용하여 사용자의 경험을 향상시킵니다.

사용자 피드백 출처 추천 시스템은 사용자가 선호하는 것에 대한 피드백이 필요합니다. 추천 시스템은 특정 항목을 사용자에게 추천할지 결정하기 위해 다양한 사용자에 대해 항목을 평가해야 합니다. 항목을 평가하려면 시스템에 피드백이 필요합니다. 이 피드백에는 두 가지 유형의 출처가 있습니다.

명시적 피드백 명시적 피드백은 애플리케이션이 단순히 사용자에게 항목을 평가하도록 요청할 때입니다. 예를들면사용자들이유튜브영상에서좋아합니다. 또는 싫습니다를 누르면 이는 추천 시스템에 대한 명시적인 피드백입니다. 애플리케이션은 또한 사용자에게 1부터 5까지의 척도로 콘텐츠를 평가하도록 요청할 수 있습니다. 이 피드백은 필터링 알고리즘에 공급하기 위해 시스템에 의해 기록됩니다.

명시적 피드백은 사용자의 선호도를 정확하게 측정하기 때문에 좋은 정보 소스입니다. 단점으로 명시적 피드백이 확장되지 않습니다. 애플리케이션 사용자가 많다고 해도 그중 소수만이 시간을 쪼개 평점을 남길 수 있습니다. 따라서 명시적 피드백은 우리 추천 시스템에 대한 뛰어난 데이터이지만 추천하는 것만으로는 충분하지 않은 경우가 많습니다. 이것이 추천 시스템에 아래의 추가 정보 소스가 필요한 이유입니다.

암시적 피드백 암시적 피드백은 구매, 검색, 시청시간, 클릭 등을 포함하여 사용자의 다른 작업을 통해 시스템에서 파생된 평점입니다. 예를 들어 사용자가 특정 콘텐츠를 구매할 경우 높은 평점을 의미합니다. 시스템은 유틸리티 매트릭스로 해당 사용자에게 항목에 높은 등급을 부여합니다.

암시적 피드백의 장점은 명시적 피드백보다 확장성이 높다는 것입니다. 사용자가 항상 명시적으로 항목을 평가하지는 않지만 마음에 들면 소비하게 됩니다. 콘텐츠 소비는 구매, 시청, 검색, 클릭 또는 애플리케이션에 적합한 기타 방식일 수 있습니다. 사용자의 이러한 행동은 시스템에 대한 긍정적인 피드백을 얻는 데 도움이 되지만 이 접근법을 통해 부정적인 피드백을 수집할 수 없습니다.

하이브리드 피드백 피드백 두 소스 모두 단점이 있으므로 실제로 대부분의 추천 시스템은 두 가지를 조합하여 콘텐츠를 평가합니다.

유틸리티 매트릭스 상의 협업 필터링 기술에 대한 설명으로 사용자와 영화 간의 관계를 표시하기 위해 테이블을 만들었습니다. 이는 보다 쉬운 솔루션이었지만 실제로는 사용자를 항목에 매핑하기 위해 유틸리티 매트릭스가 생성되었습니다. 추천 시스템에 대한 우리의 공식 모델은 일련의 평가(R)를 생성하기 위해 효용 함수 또는 효용 매트릭스(u)에 대한 입력으로 고객 C셋과 항목 세트(S)를 사용합니다.

효용 기능은 고객과 품목의 각 쌍을 고려하여 클래스에 매핑합니다. 디자인에 따라 R은 1부터 5 또는 1부터 10까지의 클래스 집합이 될 수 있습니다. 낮은 등급은 사용자가 제품을 좋아하지 않는다는 것을 나타내고, 높은 등급은 사용자가 좋아한다는 것을 나타냅니다.

유틸리티 매트릭스를 만드는 예를 보겠습니다.

단순화를 위해서 시스템에 4개의 Movie 세트와 4명의 사용자 세트가 있다고 가정해 보겠습니다. 유틸리티 매트릭스는 각 사용자에 대한 특정 영화에 대한 등급을 제공합니다. 1은 가장 높은 등급이고 0은 가장 낮은 등급입니다. 이미지에서 알 수 있듯이 유틸리티 매트릭스는 실제 애플리케이션의 경우처럼 드물게 채워져 있습니다.

광범위한 영화 데이터베이스에서 각 사용자는 몇 편의 영화만 봤을 겁니다. 추천 시스템의 목적은 사용자가 다른 영화(매트릭스의 빈 공간)를 어떻게 평가할지를 예측한 뒤 사용자가 선호한다고 가정하는 영화를 추천하는 것입니다.

예를 들어 Use1은 Movie1과 Movie3를 평가했지만 Movie2와 Movie4는 평가하지 않았습니다. Use2는 Movie2와 Movie4를 평가했지만 Movie1과 Movie3는 평가하지 않았고 다른 사용자들에게도 마찬가지입니다. 추천 시스템의 목표는 Use1이 Movie2와 Movie4에 어떤 등급을 줄지 예측하고 예측 등급이 높은 영화를 추천하는 것입니다.

시스템은 동일한 방식으로 다른 빈 공간을 채우기 위해 예측한 후 사용자가 가장 선호한다고 가정하는 영화를 선택합니다.

유틸리티 매트릭스 구축 과제 유틸리티 매트릭스 구축 시 시스템이 극복해야 할 두 가지 주요 과제가 있습니다.

데이터를 수집하고 영화에 ‘알려진’ 등급을 할당해야 합니다. 상기 다이아는 이미 특정 값으로 채워져 있습니다. 하지만 시스템은 어떻게 그 값을 얻었을까요? 이러한 값을 소싱하려면 사용자가 사용한 제품(예: 사용자가 본 영화)에 대한 피드백이 필요합니다. 피드백의 출처는 명시적이거나 암시적이거나 둘의 조합일 수 있습니다.

시스템이 유틸리티를 ‘알려진’ 등급으로 충족하면 여전히 빈 공간이 남아 있습니다. 다음 과제는 시스템이 이미 매트릭스로 채워진 알려진 클래스에서 알려지지 않은 클래스를 외삽하는 것입니다. 알 수 없는 등급 외 삽은 콘텐츠 기반 필터링, 협업 필터링 또는 두 기술의 조합을 사용하는 하이브리드 액세스 방식을 사용하여 수행할 수 있습니다.

추천 시스템 아키텍처의 마지막에 완전한 추천 시스템 아키텍처를 설계하고 작동 방식을 살펴보겠습니다.

사용자는 명시적이고 암시적으로 피드백을 제공합니다. 두 가지 유형의 피드백은 프로파일 작성기가 사용하여 각 사용자에 대해 사용자 정의된 데이터베이스를 생성합니다. 이 데이터베이스는 사용자가 영화에 부여한 명시적 등급 또는 구매 또는 시청을 통해 암시적으로 좋아하는 항목의 형태로 사용자의 개별 이익을 보유합니다. 분산 NoSQL 데이터 저장소를 사용하여 이 데이터를 저장할 수 있습니다. 이 데이터는 사용자 간의 데이터를 보다 쉽게 비교할 수 있도록 평균 중심화(SPSS)와 같은 기술을 사용하여 정규화됩니다.

다음으로 후보 생성 서비스는 개별 관심 데이터베이스와 유사 항목 데이터베이스를 비교하여 사용자가 관심을 가질 수 있는 제품 후보를 선택합니다. 상기 다이어그램의 유사 아이템 데이터베이스는 유사 사용자가 사용한 아이템 데이터베이스(협동 필터링의 경우) 또는 유사한 기능을 갖는 아이템 데이터베이스(콘텐츠 기반 필터링의 경우)일 수 있습니다.

다음 단계는 후보자 생성 서비스에서 선택한 후보자에게 점수를 할당하는 것입니다. 후보자 평가 서비스는 사용자의 관심과 비교 항목 간의 유사도를 바탕으로 각 후보자의 점수를 매깁니다.

다음으로 필터링 서비스는 점수가 낮은 후보자를 필터링합니다. 목록에 남아 있는 높은 점수의 후보자는 정렬되어 사용자에 대한 추천 목록에 표시됩니다.

지금까지 유튜브나 넷플릭스에서 사용하는 것과 유사한 추천 시스템이 실제로 어떻게 작동하는지에 대한 간단한 설명이었습니다.

유튜브 제작자 입장에서 추천 엔진에 대비할 수 있는 것은 텍스트, 음성 그리고 재생목록, 좋아요, 추천 등이 있으며 암시적 피드백은 명시적 피드백에 비해 제작자가 개입할 수 없는 확장성 높은 수집 영역입니다.

이 명시적 피드백과 암시적 피드백에서 콘텐츠 제작자가 지원할 수 있는 SNS 웨일로 연락해 보십시오.분명 당신의 채널이 더 빠르게 성장하는 데 어떤 솔루션보다 더 많은 도움을 받을 수 있을 것입니다.

SNS 웨일 팀은 모든 창작자의 발전을 항상 기원합니다.

아래를 클릭하면 SNS 웨일을 선택할 수 있습니다.http://blog.naver.com/dreamxpeed/222806120461SNS 웨일팀이 잘하는 것 인스타그램 마케팅 유튜브 마케팅 유튜브 라이브 마케팅 페이스북 마케팅 트위터… blog.naver.com

https://blog.naver.com/dreamxpeed/222804305320 인스타그램, 유튜브, 유튜브 라이브 트위터, 페이스북, 틱톡 SNS 마케팅에 최적화된 SNS 웨일의 SMM 패널… blog.naver.com

error: Content is protected !!