no image
패스트캠퍼스 환급챌린지 60일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.https://abit.ly/lisbva 공부 시작강의 종료강의장학습 인증샷학습후기뉴스 추천 시스템 설계 요약최근 사용자들은 특정 카테고리에 국한되지 않고 다양한 주제를 넘나들며 뉴스를 소비한다. 따라서 뉴스 추천 시스템은 유연한 사용자 의도 파악, 실시간 반영, 콘텐츠 다양성 유지라는 세 가지 축을 고려해 설계된다.이번 강의에서는 검색 기반 추천, 토픽 모델링을 이용한 개인화, 그리고 Learning to Rank 방식으로 대표되는 랭킹 시스템까지 다양한 접근 방식을 다뤘다. 검색 추천 Product - Retrieval사용자가 뉴스 앱 내 검색창에 키워드를 입력하는 경우, 단순히 키워드 포함 여부만을 기준으로 추천하면 기대에 못 미치는 ..
2025.05.30
no image
패스트캠퍼스 환급챌린지 59일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.https://abit.ly/lisbva 공부 시작강의 종료강의장학습 인증샷학습후기 추천 시스템을 설계할 때 가장 먼저 해야 하는 일은 해당 도메인의 흐름을 파악하는 것이다이번 강의에서는 이커머스 플랫폼 안에서추천이 적용되는 거의 모든 위치에 대해각 Product 단위로 분해하고 구체적인 전략을 다뤘다 검색 추천 Product검색 추천은 사용자가 직접 검색어를 입력한 이후에어떤 콘텐츠를 우선 노출할지를 다루는 구조다가장 먼저 필요한 건 검색어를 이해하는 일이다검색어 임베딩을 통해 단어 간 의미 유사도를 파악하고단순 텍스트 매칭이 아니라 의미 기반 검색을 가능하게 만든다이때 유저의 검색 히스토리를 함께 반영하면개인화된 검색 추천이 가능하다예..
2025.05.30
no image
패스트캠퍼스 환급챌린지 58일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.https://abit.ly/lisbva 공부 시작강의 종료강의장학습 인증샷학습후기 이커머스 추천의 모든 것을 뜯어보다 추천 시스템을 설계할 때 가장 먼저 해야 하는 일은해당 도메인의 흐름을 파악하는 것이다이번 강의에서는 이커머스 플랫폼 안에서추천이 적용되는 거의 모든 위치에 대해각 Product 단위로 분해하고 구체적인 전략을 다뤘다 검색 추천 Product검색 추천은 사용자가 직접 검색어를 입력한 이후에어떤 콘텐츠를 우선 노출할지를 다루는 구조다가장 먼저 필요한 건 검색어를 이해하는 일이다검색어 임베딩을 통해 단어 간 의미 유사도를 파악하고단순 텍스트 매칭이 아니라 의미 기반 검색을 가능하게 만든다이때 유저의 검색 히스토리를 함께 반영..
2025.05.28
no image
패스트캠퍼스 환급챌린지 57일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.https://abit.ly/lisbva 공부 시작강의 종료강의장학습 인증샷학습후기 소셜 미디어에서의 추천은 단지 콘텐츠 추천이 아니다관계 추천 피드 탐색 광고까지 구조는 더 다양해진다소셜 미디어 플랫폼은 사용자와 콘텐츠가 얽힌 거대한 그래프다이 안에서 어떤 콘텐츠를 추천할지 결정하는 것도 중요하지만누구와 연결할지 어떤 광고를 노출할지도 추천 시스템의 몫이다이번 파트에서는 친구 추천 홈피드 추천 광고 추천 세 가지 구조를 중심으로소셜 미디어 추천 시스템의 실제 구현 방식을 살펴봤다 친구 추천소셜 그래프 기반 추천 시스템의 가장 전형적인 구조ch02-03은 친구 추천 시스템을 다룬다친구 추천은 콘텐츠 추천과는 다른 특징을 가진다우선 콘텐츠..
2025.05.27
no image
패스트캠퍼스 환급챌린지 56일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.https://abit.ly/lisbva 공부 시작강의 종료강의장학습 인증샷학습후기 소셜 미디어의 추천 시스템은 어떻게 설계되는가 무엇을 누구에게 어떤 타이밍에 보여줄 것인가 소셜 미디어 서비스에서 추천 시스템은단순히 좋아할 만한 콘텐츠를 보여주는 것을 넘어서사용자의 관심과 행동 흐름을 제어하는 핵심 구조다이번 파트에서는 소셜 미디어에서 추천 시스템을 어떻게 설계하는지를 다룬다콘텐츠 탐색 구조가 복잡하고 반응 속도가 중요한 환경에서어떻게 데이터를 보고 어떻게 시스템을 나눠 설계해야 하는지를 살펴볼 수 있었다추천 시스템의 구조는 하나가 아니다소셜 미디어는 다양한 feed와 다양한 목적을 가진다 ch02-01에서는 소셜 미디어 추천 시스템을 크..
2025.05.26
no image
패스트캠퍼스 환급챌린지 55일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.https://abit.ly/lisbva 공부 시작강의 종료강의장학습 인증샷학습후기 홈화면부터 재생 이후까지의 추천 흐름 추천 시스템은 그 자체로 중요한 기술이기도 하지만실제 서비스에서는 화면이나 맥락마다 다르게 사용된다이번 파트에서는 OTT 서비스 내에서추천 시스템이 어떻게 각 지점에서 구현되는지를홈페이지 추천 다음 동영상 추천 아트워크 추천 세 가지 사례를 통해 살펴본다 홈페이지 추천유저가 처음 진입했을 때 가장 중요한 정렬ch01-05에서는 홈페이지에 콘텐츠를 어떻게 정렬해서 보여줄지를 다룬다여기서 중요한 포인트는 콘텐츠를 추천하는 것뿐 아니라그 순서를 어떻게 배치할 것인가까지 포함된다는 점이다OTT 서비스는 보통 홈화면을 여러 개..
2025.05.25
no image
패스트캠퍼스 환급챌린지 54일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.https://abit.ly/lisbva 공부 시작강의 종료강의장학습 인증샷학습후기 Chapter 01 OTT 추천 시스템 설계 데이터를 어떻게 바라보고 어떻게 가공할 것인가 OTT 플랫폼은 사용자의 취향을 바탕으로수많은 콘텐츠 중에서 몇 개만을 선별해 보여주는 구조다이를 가능하게 하려면사용자와 콘텐츠의 다양한 데이터를 정제하고 구조화하는 작업이 우선이다Chapter 01에서는 추천 시스템의 모델 설계 이전 단계즉 데이터를 어떻게 살펴보고 어떻게 변형해야 하는지를순차적으로 설명하고 있다 OTT 추천 시스템 설계의 전체 흐름 추천 시스템을 설계할 때 단순히 모델만 준비한다고 되는 것이 아니다데이터를 수집하고전처리하고feature를 구성하고학..
2025.05.24
no image
패스트캠퍼스 환급챌린지 53일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.https://abit.ly/lisbva 공부 시작강의 종료강의장학습 인증샷학습후기 추천 시스템을 개발하다 보면모델의 정밀도나 알고리즘보다 더 자주 고민하게 되는 질문이 있다바로 사용자에게 어떤 순서로 콘텐츠를 보여줄 것인가 하는 문제다Pinterest는 이 문제에 대해 retrieval과 ranking을 분리해 접근했다retrieval은 수천만 개의 핀 중 적절한 후보를 빠르게 뽑는 작업이고ranking은 그 후보를 유저에게 보여줄 순서로 정렬해 추천 시스템 성능을 결정짓는 핵심이 된다 추천 시스템의 정렬 기준은 어떻게 만들어지는가 정렬을 위한 기준은 대체로 다음 두 가지 형태로 구성된다하나는 유저의 관심사와 아이템의 특성이 얼마나 잘 ..
2025.05.23


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

뉴스 추천 시스템 설계 요약

최근 사용자들은 특정 카테고리에 국한되지 않고 다양한 주제를 넘나들며 뉴스를 소비한다. 따라서 뉴스 추천 시스템은 유연한 사용자 의도 파악, 실시간 반영, 콘텐츠 다양성 유지라는 세 가지 축을 고려해 설계된다.

이번 강의에서는 검색 기반 추천, 토픽 모델링을 이용한 개인화, 그리고 Learning to Rank 방식으로 대표되는 랭킹 시스템까지 다양한 접근 방식을 다뤘다.

 

검색 추천 Product - Retrieval

사용자가 뉴스 앱 내 검색창에 키워드를 입력하는 경우, 단순히 키워드 포함 여부만을 기준으로 추천하면 기대에 못 미치는 결과를 보여줄 수 있다.

이를 해결하기 위해서 dense retrieval 구조를 사용한다. 뉴스 기사와 검색어를 각각 벡터로 임베딩한 뒤, cosine similarity 기반으로 유사도를 계산하여 관련 뉴스를 노출한다. 이때 dual encoder 구조를 사용하는 것이 일반적이며, 학습 데이터가 충분할 경우 자체 학습된 임베딩이 rule-based 방식보다 훨씬 강력한 성능을 보여준다.

 

개인화 추천 Product - Topic Modeling

뉴스는 시시각각 변하는 이슈가 핵심이므로, 유저가 어떤 주제에 관심 있는지를 실시간에 가깝게 파악해야 한다.

이때 활용되는 것이 topic modeling 기반 접근이다. 사용자가 읽은 기사들의 본문에서 주요 단어 분포를 학습하고, LDA나 neural topic model을 통해 관심 토픽을 추출한다. 이후 새로 들어온 기사와 사용자의 관심 토픽 간의 유사도를 계산하여 추천에 반영하는 방식이다.

단순한 클릭 기반 개인화보다 정교한 분류가 가능하며, cold-start 상황에서도 비교적 유연하게 대응할 수 있다.

 

Learning to Rank - CatBoost 활용

검색, 개인화 등 다양한 후보군을 수집했다면, 이제 그중에서 어떤 순서로 노출할지를 결정해야 한다. 이를 위해 Learning to Rank 모델이 활용된다.

이번 사례에서는 CatBoost 모델을 사용했다. 입력 feature로는 사용자의 과거 클릭 수, 뉴스의 freshness, 카테고리, 위치 기반 등 다양한 정보를 넣을 수 있다. CatBoost는 트리 기반 모델임에도 ranking에 특화된 손실함수를 지원하여 높은 성능을 보여준다.

이 단계에서 중요한 점은 feature 간 상호작용을 잘 설계하고, ground truth로 click-through-rate나 dwell time 등을 잘 정의하는 것이다.


개발자로서 느낀 점

 

이 강의를 들으며 느낀 것은 단순한 추천보다는 문맥을 반영한 추천이 점점 더 중요해진다는 점이었다. 특히 뉴스처럼 짧은 시간 안에 수명이 끝나는 콘텐츠는 전통적인 협업 필터링보다 트렌드를 반영한 모델이 더 적합하다.

내가 운영 중인 서비스에도 사용자의 최근 활동 흐름이나 검색어를 바탕으로 추천 콘텐츠를 노출하고 있는데, 여기에 Topic Modeling이나 CatBoost 기반 랭킹을 접목하면 훨씬 더 개인화된 경험을 제공할 수 있을 것 같다.

다만 뉴스와는 다르게 서비스 이용 주기가 긴 콘텐츠에서는 freshness보다는 context 연속성이 더 중요할 수 있으므로, topic 흐름 자체를 시간 축으로 따라가도록 설계할 필요도 있겠다.

 

결론

뉴스 추천은 단순한 인기 콘텐츠 노출에서 벗어나 검색, 개인화, 학습 기반 랭킹까지 고려해야 한다. 사용자의 맥락을 파악하고, 다양한 모델을 조합하여 최적의 순서를 구성하는 것이 핵심이다. 추천 시스템 설계 시, 각각의 단계가 분리되어 있지만 결국은 하나의 user experience로 이어진다는 관점에서 전체 흐름을 조율해야 한다.

 


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

 

 추천 시스템을 설계할 때 가장 먼저 해야 하는 일은
 

해당 도메인의 흐름을 파악하는 것이다
이번 강의에서는 이커머스 플랫폼 안에서
추천이 적용되는 거의 모든 위치에 대해
각 Product 단위로 분해하고 구체적인 전략을 다뤘다

 

검색 추천 Product

검색 추천은 사용자가 직접 검색어를 입력한 이후에
어떤 콘텐츠를 우선 노출할지를 다루는 구조다

가장 먼저 필요한 건 검색어를 이해하는 일이다
검색어 임베딩을 통해 단어 간 의미 유사도를 파악하고
단순 텍스트 매칭이 아니라 의미 기반 검색을 가능하게 만든다

이때 유저의 검색 히스토리를 함께 반영하면
개인화된 검색 추천이 가능하다
예를 들어 같은 키워드라도
스포츠 의류를 많이 본 유저에겐 그에 맞는 결과를 우선 보여줄 수 있다

 

검색 결과에서의 Retrieval

검색 추천은 크게 두 단계로 구성된다
Retrieval 단계에서는 전체 상품 중에서
관련 있는 후보 상품을 수백 개까지 좁히는 작업이 이뤄진다

여기서는 인덱싱 기술이 중요하게 작동한다
벡터 검색 엔진을 통해 효율적으로
상품 임베딩과 검색어 임베딩 간 유사도를 계산하게 된다

이 과정을 통해 의미는 유사하지만
표현이 다른 검색어도 잘 매칭되는 효과를 낼 수 있다

 

비슷한 상품 추천 Product

상품 상세 페이지에서는
현재 보고 있는 상품과 유사한 다른 상품들을 함께 보여주는 것이 중요하다

이때는 유사도 기반 임베딩 추천이 유용하다
상품 간의 시각적 특징이나 태그, 설명 등을 임베딩한 후
벡터 거리 기반으로 유사한 상품을 추출하게 된다

이미지 기반 임베딩을 활용하는 경우
비슷한 색감이나 디자인을 가진 상품을 잘 추천할 수 있어
특히 의류나 액세서리에서 효과가 좋다

 

같이 산 상품 추천 Product

장바구니 분석을 통해 함께 자주 구매된 상품을 파악하면
연관 상품 추천에 활용할 수 있다

이 방식은 Association Rule 기반 필터링 구조로
간단한 통계 기반으로도 추천이 가능하다
장점은 학습 데이터가 적더라도 잘 작동하고
해석이 쉬워서 UI에도 직관적으로 반영할 수 있다는 점이다

 

연관 상품 추천 Product - Ranking

방금 본 상품과 유사하거나 연관 있는 상품을 보여줄 때
단순 나열이 아니라 우선순위를 정하는 것이 중요하다

여기서는 클릭률이나 구매 전환율, 유저 반응 등을 기반으로
랭킹 모델을 학습시켜 활용한다
특히 XGBoost나 LightGBM 같은 트리 기반 모델이 자주 쓰인다

추천된 상품 리스트에서 어느 것을 먼저 보여주느냐에 따라
매출이 달라질 수 있기 때문에
이 영역은 비즈니스 임팩트가 매우 크다

 

배너 추천 Product

배너는 고정된 위치에 노출되는 이미지 또는 영상으로
어떤 배너를 어떤 유저에게 노출할지가 핵심이다

이 경우는 MAB 기반 탐색 전략이 자주 쓰인다
유저의 반응을 실시간으로 수집해가며
성능이 좋은 배너는 더 자주 노출하고
새로운 배너는 탐색 기회를 부여하는 구조다

이 구조는 클릭률을 실시간으로 조정할 수 있다는 장점이 있어
퍼포먼스 마케팅 영역과도 연결된다

 

카테고리 추천 Product

마지막으로는 사용자가 관심 가질 만한
카테고리를 추천하는 구조다
이는 사용자 행동 로그를 전처리하여
자주 보는 카테고리, 최근 본 상품 등의 정보를 요약하고
클러스터링이나 확률 기반 모델로 예측하는 방식이다

전처리의 품질이 매우 중요한 영역이며
Cold Start 유저에 대해서도 fallback 전략이 잘 마련돼야 한다

 

 


이 파트를 들으며 가장 크게 느낀 점은
추천 시스템이 단일 모델로 작동하지 않는다는 것이다
각 영역마다 최적의 방식이 다르고
기술적으로도 다양한 구조가 혼합되어 있어야 한다

또한 추천 시스템은 단순히 정확도만 추구하면 안 되고
어떤 위치에서 어떤 UX로 노출되는지가 함께 고려되어야 한다는 점이
인상 깊었다

내 서비스에 적용한다면

내가 만들고 있는 서비스에서도
카테고리 기반 콘텐츠, 최근 본 상품,
검색어 추천 기능 등이 필요하다

이를 기반으로 한다면
검색 히스토리를 기반으로 하는 추천 임베딩 모델
배너 위치 클릭률에 따라 조정되는 MAB 구조
연관 콘텐츠 추천 시 랭킹 우선순위 조정 등이
실제 운영에서 큰 영향을 줄 수 있을 것 같다

또한 배너 추천의 경우
광고주가 바뀌거나 캠페인 목표가 달라지는 만큼
실시간 클릭률 학습 구조를 반드시 반영할 계획이다

 

 

정리

이커머스는 추천 시스템이 가장 다양하게 활용되는 영역이다
검색, 상세, 연관, 배너, 카테고리 등
거의 모든 화면에서 맞춤형 추천이 사용되며
이 추천은 단순 알고리즘보다도
비즈니스 맥락과 사용자 흐름을 함께 고려해야 한다

각 Product 단위를 하나하나 이해하면서
추천이 실무에서 어떤 식으로 구현되는지를
조금 더 입체적으로 이해할 수 있었다


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

 

이커머스 추천의 모든 것을 뜯어보다

추천 시스템을 설계할 때 가장 먼저 해야 하는 일은
해당 도메인의 흐름을 파악하는 것이다
이번 강의에서는 이커머스 플랫폼 안에서
추천이 적용되는 거의 모든 위치에 대해
각 Product 단위로 분해하고 구체적인 전략을 다뤘다

 

검색 추천 Product

검색 추천은 사용자가 직접 검색어를 입력한 이후에
어떤 콘텐츠를 우선 노출할지를 다루는 구조다

가장 먼저 필요한 건 검색어를 이해하는 일이다
검색어 임베딩을 통해 단어 간 의미 유사도를 파악하고
단순 텍스트 매칭이 아니라 의미 기반 검색을 가능하게 만든다

이때 유저의 검색 히스토리를 함께 반영하면
개인화된 검색 추천이 가능하다
예를 들어 같은 키워드라도
스포츠 의류를 많이 본 유저에겐 그에 맞는 결과를 우선 보여줄 수 있다

 

검색 결과에서의 Retrieval

검색 추천은 크게 두 단계로 구성된다
Retrieval 단계에서는 전체 상품 중에서
관련 있는 후보 상품을 수백 개까지 좁히는 작업이 이뤄진다

여기서는 인덱싱 기술이 중요하게 작동한다
벡터 검색 엔진을 통해 효율적으로
상품 임베딩과 검색어 임베딩 간 유사도를 계산하게 된다

이 과정을 통해 의미는 유사하지만
표현이 다른 검색어도 잘 매칭되는 효과를 낼 수 있다

 

비슷한 상품 추천 Product

상품 상세 페이지에서는
현재 보고 있는 상품과 유사한 다른 상품들을 함께 보여주는 것이 중요하다

이때는 유사도 기반 임베딩 추천이 유용하다
상품 간의 시각적 특징이나 태그, 설명 등을 임베딩한 후
벡터 거리 기반으로 유사한 상품을 추출하게 된다

이미지 기반 임베딩을 활용하는 경우
비슷한 색감이나 디자인을 가진 상품을 잘 추천할 수 있어
특히 의류나 액세서리에서 효과가 좋다

 

같이 산 상품 추천 Product

장바구니 분석을 통해 함께 자주 구매된 상품을 파악하면
연관 상품 추천에 활용할 수 있다

이 방식은 Association Rule 기반 필터링 구조로
간단한 통계 기반으로도 추천이 가능하다
장점은 학습 데이터가 적더라도 잘 작동하고
해석이 쉬워서 UI에도 직관적으로 반영할 수 있다는 점이다

연관 상품 추천 Product - Ranking

방금 본 상품과 유사하거나 연관 있는 상품을 보여줄 때
단순 나열이 아니라 우선순위를 정하는 것이 중요하다

여기서는 클릭률이나 구매 전환율, 유저 반응 등을 기반으로
랭킹 모델을 학습시켜 활용한다
특히 XGBoost나 LightGBM 같은 트리 기반 모델이 자주 쓰인다

추천된 상품 리스트에서 어느 것을 먼저 보여주느냐에 따라
매출이 달라질 수 있기 때문에
이 영역은 비즈니스 임팩트가 매우 크다

 

배너 추천 Product

배너는 고정된 위치에 노출되는 이미지 또는 영상으로
어떤 배너를 어떤 유저에게 노출할지가 핵심이다

이 경우는 MAB 기반 탐색 전략이 자주 쓰인다
유저의 반응을 실시간으로 수집해가며
성능이 좋은 배너는 더 자주 노출하고
새로운 배너는 탐색 기회를 부여하는 구조다

이 구조는 클릭률을 실시간으로 조정할 수 있다는 장점이 있어
퍼포먼스 마케팅 영역과도 연결된다

 

카테고리 추천 Product

마지막으로는 사용자가 관심 가질 만한
카테고리를 추천하는 구조다
이는 사용자 행동 로그를 전처리하여
자주 보는 카테고리, 최근 본 상품 등의 정보를 요약하고
클러스터링이나 확률 기반 모델로 예측하는 방식이다

전처리의 품질이 매우 중요한 영역이며
Cold Start 유저에 대해서도 fallback 전략이 잘 마련돼야 한다


 

 

이 파트를 들으며 가장 크게 느낀 점은
추천 시스템이 단일 모델로 작동하지 않는다는 것이다
각 영역마다 최적의 방식이 다르고
기술적으로도 다양한 구조가 혼합되어 있어야 한다

또한 추천 시스템은 단순히 정확도만 추구하면 안 되고
어떤 위치에서 어떤 UX로 노출되는지가 함께 고려되어야 한다는 점이
인상 깊었다

내 서비스에 적용한다면

내가 만들고 있는 서비스에서도
카테고리 기반 콘텐츠, 최근 본 상품,
검색어 추천 기능 등이 필요하다

이를 기반으로 한다면
검색 히스토리를 기반으로 하는 추천 임베딩 모델
배너 위치 클릭률에 따라 조정되는 MAB 구조
연관 콘텐츠 추천 시 랭킹 우선순위 조정 등이
실제 운영에서 큰 영향을 줄 수 있을 것 같다

또한 배너 추천의 경우
광고주가 바뀌거나 캠페인 목표가 달라지는 만큼

실시간 클릭률 학습 구조를 반드시 반영할 계획이다.


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

 

 

소셜 미디어에서의 추천은 단지 콘텐츠 추천이 아니다
관계 추천 피드 탐색 광고까지 구조는 더 다양해진다

소셜 미디어 플랫폼은 사용자와 콘텐츠가 얽힌 거대한 그래프다
이 안에서 어떤 콘텐츠를 추천할지 결정하는 것도 중요하지만
누구와 연결할지 어떤 광고를 노출할지도 추천 시스템의 몫이다

이번 파트에서는 친구 추천 홈피드 추천 광고 추천 세 가지 구조를 중심으로
소셜 미디어 추천 시스템의 실제 구현 방식을 살펴봤다

 

 

친구 추천


소셜 그래프 기반 추천 시스템의 가장 전형적인 구조

ch02-03은 친구 추천 시스템을 다룬다
친구 추천은 콘텐츠 추천과는 다른 특징을 가진다

우선 콘텐츠는 새로 생성되거나 변경되지만
사람은 존재 자체가 고정된 객체라는 점
그리고 클릭률보다도 연결 확률이 중요하다는 점이다

그래서 친구 추천은 그래프 기반 접근이 많다
대표적인 방식은 다음과 같다

공통 친구 수 기반 추천
내 친구의 친구는 나의 친구일 가능성이 높다
간단하지만 효과적인 방식

그래프 임베딩 기반 유사도
노드 간의 구조적 유사성을 학습한 임베딩을 이용해
나와 비슷한 위치에 있는 유저를 추천

최근에는 GraphSAGE 같은 GNN 계열 구조도 사용된다
이 구조에서는 주변 노드 정보를 집계한 후
노드 자체의 표현을 업데이트하는 방식으로
연결 가능성이 높은 후보를 뽑아낸다

중요한 점은 친구 추천이 단지 모델링 문제가 아니라
서비스 운영 전략과도 연결된다는 것이다

 

 

신규 유저의 연결 수 증가


친구 수가 적은 유저의 retention 향상
활성 유저 간 네트워크 밀도 증가

이처럼 추천 그 자체가 목적이 아니라
관계망 구조 최적화라는 넓은 목적을 가진다

홈피드 추천
그래프 기반 retrieval의 가장 직접적인 활용

ch02-04는 홈피드 추천 시스템을 다룬다
사용자가 앱을 켰을 때 처음으로 접하는 피드에는
무엇이 들어가야 할까

기본적으로는 내가 팔로우한 사람의 콘텐츠가 포함되지만
지금은 그 이상으로 확장되어 있다
즉 알고리즘 기반 콘텐츠가 섞여 있다

이 구조에서 retrieval은 그래프 기반으로 작동한다
다음과 같은 방식이 사용된다

1차 이웃 콘텐츠
팔로우한 유저가 작성한 콘텐츠

2차 이웃 콘텐츠
팔로우한 유저가 좋아요나 댓글을 단 콘텐츠

그래프 확산 기반 콘텐츠
나와 비슷한 유저들이 반응한 콘텐츠
혹은 그래프에서 거리가 가까운 위치의 콘텐츠

이 구조는 단순히 추천 정확도보다
네트워크 내 신호 흐름을 어떻게 구성할지를 다룬다

 

예를 들어
한 유저가 어떤 콘텐츠를 좋아요 누르면
그 피드는 해당 유저와 연결된 다른 유저 피드로 확산되도록 구성된다

이때 중요한 건 추천되는 콘텐츠의 다양성과 노출 분산이다
그래프 확산만 쓰면 특정 유저 콘텐츠만 과도하게 노출될 수 있기 때문이다

그래서 Pinterest나 Instagram도
그래프 기반 retrieval과 rule 기반 filtering을 함께 사용한다

 

 

광고 추천


정밀한 ranking과 균형 조정이 핵심이다

ch02-05는 광고 추천 구조를 다룬다
광고는 일반 콘텐츠와는 다른 점이 많다
가장 큰 차이는 노출 자체가 수익으로 직결된다는 점이다

그래서 광고 추천은 다음과 같은 특성이 있다

클릭률 예측 모델을 통한 ranking
광고와 유저 간의 반응 가능성을 예측하여 정렬

캘리브레이션
광고 노출 비율이 일정 이상 유지되도록 하는 조정 전략
예를 들어 전체 피드 중 광고 비중이 20퍼센트를 넘지 않게 조정

광고주 제어
광고주가 타겟팅 조건을 지정하면 그 범위 내에서만 노출
예를 들어 특정 연령대 특정 관심사 특정 지역 등

이런 구조는 추천 시스템 자체가
광고 수익과 직결된 운영 조건을 만족시켜야 한다는 것을 의미한다

그래서 광고 추천은 추천 정확도뿐 아니라
노출률 클릭률 전환률 예산 소진 속도 등을 함께 고려해야 한다

 

 


이 파트를 들으며 가장 크게 느낀 건
추천 시스템은 점점 모델이 아니라 구조 전체의 설계 문제라는 점이다

친구 추천은 관계망 설계
홈피드 추천은 확산 흐름 설계
광고 추천은 수익 제약 조건 아래에서의 최적화

같은 추천이라는 단어를 쓰지만
그 목적과 전략은 완전히 다르다

그래서 추천 시스템을 만들 때는
단순히 추천할 콘텐츠를 고르는 것이 아니라
왜 그 추천이 필요한지 어떤 흐름 안에서 움직이는지
목적과 사용 맥락을 먼저 이해해야 한다고 느꼈다

내 서비스에 적용할 수 있는 아이디어

현재 운영 중인 서비스에도
유저 간 관계 연결
홈 피드 구성
광고형 배너 콘텐츠가 존재한다

 

이번 강의를 바탕으로 다음과 같은 적용을 구상 중이다

신규 유저에게 공통 클릭 콘텐츠 기반 친구 추천 제공
클릭 로그 기반 유사 유저 그래프 구성 후 2차 확산 추천 도입
광고형 콘텐츠를 CTR 기반 ranking 구조로 운영하면서
전체 노출 비율을 제한하는 soft calibration 규칙 설정

이러한 구조는 추천 품질 향상은 물론
서비스 구조의 안정성과 유저 경험 향상에도 도움이 될 것이라 기대된다


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

 

소셜 미디어의 추천 시스템은 어떻게 설계되는가

 


무엇을 누구에게 어떤 타이밍에 보여줄 것인가

 

소셜 미디어 서비스에서 추천 시스템은
단순히 좋아할 만한 콘텐츠를 보여주는 것을 넘어서
사용자의 관심과 행동 흐름을 제어하는 핵심 구조다

이번 파트에서는 소셜 미디어에서 추천 시스템을 어떻게 설계하는지를 다룬다
콘텐츠 탐색 구조가 복잡하고 반응 속도가 중요한 환경에서
어떻게 데이터를 보고 어떻게 시스템을 나눠 설계해야 하는지를 살펴볼 수 있었다

추천 시스템의 구조는 하나가 아니다
소셜 미디어는 다양한 feed와 다양한 목적을 가진다

 

ch02-01에서는 소셜 미디어 추천 시스템을 크게 다섯 가지로 나눈다

 

홈 피드
유저가 처음 앱을 열었을 때 보게 되는 기본 콘텐츠 리스트
보통 유저의 친구나 팔로우 대상의 콘텐츠와
알고리즘 기반 콘텐츠가 혼합된다

 

탐색 탭
유저가 직접 검색하거나 새로운 콘텐츠를 찾는 공간
개인화보다 트렌드나 인기 콘텐츠가 중요할 수 있음

 

팔로잉 탭
직접 팔로우한 유저의 콘텐츠만 정렬되어 보이는 탭
추천보다는 순서 조정이 핵심

 

recommended 콘텐츠
사용자가 팔로우하지 않았지만 반응할 가능성이 있는 콘텐츠
이전 행동 로그를 기반으로 추천

 

알림 콘텐츠
누가 좋아요를 눌렀는지 댓글을 달았는지 알려주는 공간이지만
이벤트 콘텐츠나 추천도 함께 포함될 수 있음

 

이처럼 하나의 앱 안에서도 다양한 추천 구조가 존재하며
각 구조마다 목표와 사용되는 알고리즘이 다르다

추천 시스템은 모든 콘텐츠를 다루지 않는다
선택된 콘텐츠에 순서를 매기는 구조다

 

 

소셜 미디어 추천은 두 가지 단계를 가진다


하나는 retrieval이고
다른 하나는 ranking이다

retrieval은 수많은 콘텐츠 중 유저에게 보여줄 만한 후보를 빠르게 뽑는 단계
ranking은 이 후보들을 정렬해서 노출 순서를 정하는 단계

retrieval은 효율과 속도가 중요하고
ranking은 정밀도와 유저 반응 최적화가 중요하다

 

예를 들어
홈 피드의 경우에는 최신성과 연결 강도를 기반으로 한 retrieval이 우선되고
그 뒤에 유사 관심사와 반응 예측 기반의 ranking이 붙는다

탐색 탭에서는 trend 기반 retrieval이 중심이 되고
알림은 이벤트 종류별 중요도에 따라 ranking된다

추천 시스템의 목적은 클릭이 아니다
관심과 체류를 유도하는 흐름 설계다

소셜 미디어는 단기 클릭보다
사용자의 체류 시간과 반복 방문을 더 중요하게 생각한다

따라서 추천 시스템의 목표도 단일 콘텐츠 반응 예측보다는
콘텐츠 흐름 전체를 어떻게 구성할 것인가에 가깝다

예를 들어 유저가 피드에서 1초 만에 스크롤을 넘긴다면
추천이 실패한 것으로 본다

또한 처음 클릭은 했지만
그 뒤에 더 이상 피드를 탐색하지 않는다면
추천 구조를 다시 설계해야 한다는 신호가 된다

이러한 구조에서는
단발성 예측보다 시퀀스 모델이나 상태 기반 전환 모델이 중요해질 수 있다

데이터를 열어보면 보이는 현실적인 구조
소셜 미디어 추천의 단서는 유저 행동 로그에 있다

 

 

ch02-02 소셜 미디어 추천 시스템에서 사용할 수 있는 데이터 구조


기본적으로 다음과 같은 테이블이 존재한다

user table
유저의 id와 나이 성별 기기 지역 등의 메타정보

content table
게시글의 id 작성자 생성시간 태그 이미지 길이 등

interaction log
누가 어떤 콘텐츠를 클릭하고 좋아요를 눌렀고
댓글을 달았고 멈춰서 봤는지 등의 로그

이 외에도 시간대별 활동 분포
기기 종류별 반응률
유저 간 연결 그래프 등도 함께 사용된다

데이터를 열어보면 확인할 수 있는 것은
유저의 관심은 매우 빠르게 변하고
같은 유저라도 다른 상황에서 다른 행동을 한다는 점이다

이런 점 때문에 소셜 미디어 추천 시스템은
정적인 유저 프로필보다 행동 기반 실시간 데이터가 중심이 된다

 

 

 


기존에는 추천 시스템 하나를 만들면
모든 화면에 공통적으로 적용된다고 생각했지만
소셜 미디어에서는 피드 알림 탐색 탭 등
각각의 목적에 따라 다른 설계가 필요하다는 것을 체감했다

또한 소셜 미디어에서는 추천 시스템이 사용자 흐름을 설계하는 구조라는 점에서
추천의 목적 자체를 다르게 접근해야 한다는 점도 인상 깊었다

 

 

현재 운영 중인 서비스에도
탐색 탭과 추천 콘텐츠 리스트가 존재한다

이번 강의를 바탕으로
다음과 같은 구조 개선을 고민 중이다

홈 화면과 탐색 화면의 추천 로직을 분리
각 화면에서의 유저 행동 목표를 다르게 설정

사용자의 스크롤 시간 콘텐츠 머무름 시간 등을 기반으로
실시간 반응 예측 feature 구성

유저 행동 로그를 기반으로
시퀀스 모델이나 세션 기반 추천 모델 실험

추천 시스템을 단일 정렬 모델이 아니라
페이지마다 다른 목적과 흐름을 가진 추천 조합으로 구성

이러한 구조를 만들면
단순 추천 정확도를 넘어서
사용자 체류와 반복 사용을 이끌 수 있는 추천이 가능할 것이다

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

 

 


홈화면부터 재생 이후까지의 추천 흐름

 

추천 시스템은 그 자체로 중요한 기술이기도 하지만
실제 서비스에서는 화면이나 맥락마다 다르게 사용된다

이번 파트에서는 OTT 서비스 내에서
추천 시스템이 어떻게 각 지점에서 구현되는지를
홈페이지 추천 다음 동영상 추천 아트워크 추천 세 가지 사례를 통해 살펴본다

 

 

홈페이지 추천


유저가 처음 진입했을 때 가장 중요한 정렬

ch01-05에서는 홈페이지에 콘텐츠를 어떻게 정렬해서 보여줄지를 다룬다
여기서 중요한 포인트는 콘텐츠를 추천하는 것뿐 아니라
그 순서를 어떻게 배치할 것인가까지 포함된다는 점이다

OTT 서비스는 보통 홈화면을 여러 개의 줄
즉 row로 구성하고 각 row마다 주제를 설정한다

예를 들어
최근 시청 기반, 인기 콘텐츠, 특정 장르, 테마 기반

이런 row들은 각각 다른 기준으로 콘텐츠를 가져오고
그 안에서 콘텐츠 정렬 역시 별도의 ranking 모델이 적용된다

또한 전체 화면 차원에서는 어떤 row를 위에 배치할지도 중요한 문제다
이를 ordering 문제라고 하며
각 row의 반응률 CTR이나 완주율 등을 기준으로 정렬할 수 있다

즉 homepage 추천은 row별 ranking + 전체 ordering이 함께 구성되는 구조다

이는 단일 모델로는 해결하기 어려운 문제이며
다단계 정렬 전략과 유저 반응 기반 실시간 조정이 필요하다

 

 

다음 동영상 추천


재생 이후에 이어지는 콘텐츠 흐름 설계

ch01-06에서는 유저가 콘텐츠를 보고 있는 상황에서
다음 동영상을 추천하는 구조를 다룬다

이 구조는 homepage와 달리
유저가 현재 어떤 콘텐츠를 소비하고 있는지가 명확하기 때문에
이전 시청 콘텐츠를 기반으로 유사하거나 연속성이 있는 콘텐츠를 추천하는 방식이다

이때 사용하는 추천 구조는 retrieval 중심이다
즉 유사한 콘텐츠 후보를 빠르게 가져오고
그 중에서 몇 개를 선택해 다음 콘텐츠로 보여주는 방식이다

이 상황에서는 다음과 같은 feature들이 활용된다

현재 시청 중 콘텐츠의 장르 테마 감독 등 메타정보
유저의 과거 시청 이력
동일 유저 군의 연속 시청 패턴

실시간 추천이기 때문에 ranking보다는
retrieval과 필터링을 빠르게 수행하는 것이 중요하다

또한 OTT의 다음 동영상 추천은 자동 재생으로 이어질 수 있으므로
실제 재생 가능성 뿐 아니라
유저의 피로도를 고려한 diversity 전략도 함께 쓰인다

아트워크 추천

 


클릭 유도용 썸네일도 추천 대상이다

 

ch01-07에서는 OTT 플랫폼에서의 아트워크 추천 구조를 다룬다
아트워크는 사용자가 콘텐츠를 클릭하기 전에 보는 썸네일 이미지로
실제로 추천 시스템의 영향력이 강하게 작용하는 영역이다

각 콘텐츠는 여러 개의 썸네일 이미지 후보를 갖고 있고
어떤 이미지를 노출할지가 클릭률에 영향을 준다

Pinterest나 Youtube도 이 구조를 활용하며
대표적으로 MAB 구조가 적용된다

각 썸네일 이미지 후보를 하나의 arm으로 보고
사용자 반응에 따라 선택 확률을 점진적으로 조정하는 구조다

가장 기본적인 방식은 epsilon greedy
즉 현재 가장 성능이 좋은 이미지 썸네일을 주로 보여주되
일정 비율은 새로운 썸네일도 시도해서 exploration을 유지하는 구조다

이 방식은 A B 테스트보다 빠르게 수렴하고
변화하는 유저 반응에 실시간으로 대응할 수 있다는 장점이 있다

 

 


이 파트에서는 추천 시스템이 단순히 콘텐츠를 고르는 게 아니라
서비스 흐름 전체에서 다양한 방식으로 적용된다는 것을 다시 느꼈다

홈화면은 첫 인상
재생 이후는 몰입 유지
썸네일은 클릭 유도

각각의 위치마다 추천이 쓰이는 방식과 중요도가 다르고
그에 따라 모델 설계도 달라져야 한다

또한 추천을 구성하는 방식도 다양해서
각각을 상황에 맞게 적절히 조합해야 한다는 점이 인상 깊었다

 

현재 운영 중인 서비스에서도
홈페이지 탐색 추천
상세 콘텐츠 뷰 이후 추천
이미지 기반 클릭 유도 구조가 모두 존재한다

이번 강의를 기반으로 다음과 같은 개선 아이디어를 생각할 수 있었다

홈화면 콘텐츠 정렬을 row별 랭킹으로 나누고
사용자 선호도에 따라 row 순서를 개인화

재생 이후 추천을 기존 인기 콘텐츠 기반에서
현재 시청 콘텐츠와 유사도 기반 retrieval로 전환

클릭을 유도하는 배너 이미지나 대표 카드에 대해
멀티암드밴딧 구조를 도입해 CTR 기반 실험 자동화

이러한 개선은 사용자 경험 향상은 물론
클릭률과 체류 시간 개선으로도 이어질 수 있다고 본다

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

 

Chapter 01 OTT 추천 시스템 설계

 


데이터를 어떻게 바라보고 어떻게 가공할 것인가

 

OTT 플랫폼은 사용자의 취향을 바탕으로
수많은 콘텐츠 중에서 몇 개만을 선별해 보여주는 구조다

이를 가능하게 하려면
사용자와 콘텐츠의 다양한 데이터를 정제하고 구조화하는 작업이 우선이다

Chapter 01에서는 추천 시스템의 모델 설계 이전 단계
즉 데이터를 어떻게 살펴보고 어떻게 변형해야 하는지를
순차적으로 설명하고 있다

 

 

OTT 추천 시스템 설계의 전체 흐름

 

추천 시스템을 설계할 때 단순히 모델만 준비한다고 되는 것이 아니다
데이터를 수집하고
전처리하고
feature를 구성하고
학습 가능한 형태로 재구성하는 모든 과정이 중요하다

 

 

데이터 수집

사용자 로그와 콘텐츠 메타데이터를 수집하는 단계

 

전처리
누락값 제거 이상값 보정 등 기본적인 정제

 

피처 구성
사용자 정보 콘텐츠 정보 시간 정보 등 다양한 feature 조합

 

모델 설계retrieval과 ranking 모델 구성

이후 실험과 재학습을 반복하는 구조를 통해
성능을 지속적으로 개선하는 방식이다

 

중요한 건 데이터 구조가 제대로 되어 있지 않으면
좋은 모델도 의미 있는 성능을 내지 못한다는 점이다

 

 

ch01-01에서는 실제 사용될 데이터셋을 간단히 분석해본다
보통 OTT 서비스에서는 다음과 같은 정보가 사용된다

user id
content id
timestamp
watch time
clicked 여부
genre director age rating 등 메타정보

강의에서는 user와 content의 연결 정보를
implicit feedback 형식으로 가정하고
클릭 혹은 시청 여부를 중심으로 데이터를 변환한다

데이터를 처음 열어볼 때 확인해야 하는 것은
값의 분포
결측치 존재 여부
유저당 시청 횟수나 콘텐츠별 시청 수 등 통계적 특성이다

이 과정을 통해 데이터가 추천 시스템에 적합한 형태인지
또 어떤 방식으로 정제되어야 하는지를 판단할 수 있다

 

 

데이터 전처리하기

ch01-02에서는 실제 전처리 과정을 수행한다
가장 먼저 진행하는 작업은 결측값 제거와 이상값 필터링이다

예를 들어 watch time이 0이거나 너무 짧은 경우는
실제 시청이 아니거나 의도치 않은 클릭일 수 있으므로 제외한다

또한 유저 로그가 너무 적은 유저나
너무 자주 등장하는 콘텐츠도 필터링할 수 있다

이 단계에서 고려해야 할 점은
전처리를 너무 강하게 하면 데이터가 희소해지고
너무 약하게 하면 모델 학습 시 잡음이 많아진다는 것이다

적절한 기준을 설정해서
훈련 데이터의 품질을 확보하는 것이 핵심이다

또한 로그 데이터를 기반으로
행동 타입별 이진화 클릭 여부 시청 여부 구매 여부 등
다양한 label을 만들 수도 있다

 

 

피처 변형하기

ch01-03에서는 실제 추천 시스템 학습을 위한 feature 설계 작업이 진행된다
추천 시스템은 사용자와 아이템 사이의 상호작용을 예측하는 구조다

따라서 다음과 같은 형태의 피처가 사용된다

user feature
가입일 성별 나이 최근 활동 시간대 등

item feature
장르 감독 상영시간 등 메타정보
이진 인코딩 혹은 임베딩 형태로 변환

context feature
접속 기기 요일 시간대 등 상황 정보

또한 log 데이터를 시퀀스로 구성하거나
카운트 피처나 태그 기반 feature를 추가하는 방식도 사용된다

이 과정에서 중요한 점은
모든 feature는 모델 입력으로 사용될 수 있도록
숫자형 또는 벡터형으로 변환되어야 한다는 것이다

그리고 각 피처 간 범위가 달라 과도한 영향력을 주는 것을 막기 위해
정규화나 scaling 작업도 함께 고려해야 한다

 


이 강의 파트를 들으면서 가장 크게 느낀 점은
추천 시스템은 모델보다 데이터가 더 중요하다는 것이다

예전에는 알고리즘 구조나 모델 성능 개선에만 관심이 많았는데
실제로는 데이터 정제가 되지 않으면
아무리 좋은 모델을 써도 결과가 나오지 않는다

특히 OTT처럼 사용자 행동이 연속적이고
로그 기반 피처가 많은 도메인에서는
데이터 구성 자체가 추천 품질을 좌우한다

또한 feature 설계는 정답이 없기 때문에
도메인 지식과 반복 실험을 통해 최적 구성을 찾아야 한다는 점도 인상 깊었다

 

현재 개발중인 서비스에서
사용자 행동 로그와 콘텐츠 정보를 조합해 추천 시스템을 구성하고 있다

이 강의를 바탕으로 다음과 같은 개선을 생각 중이다

첫째 클릭 로그를 시간 순으로 정렬한 후
최근 클릭 기반 시퀀스 feature 생성

둘째 콘텐츠 메타정보를 기반으로 임베딩 생성
장르 상영시간 테마 등을 정규화하고 조합

셋째 유저당 세션 시간과 시청 패턴을 기반으로
context feature 추가
예를 들어 금요일 밤이나 주말 오전에 소비하는 콘텐츠 패턴을 분리

이러한 전처리와 feature 설계를 정비하면
기존보다 더 정밀한 추천이 가능해질 것으로 기대된다

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작

강의 종료

강의장

학습 인증샷

학습후기

 

추천 시스템을 개발하다 보면
모델의 정밀도나 알고리즘보다 더 자주 고민하게 되는 질문이 있다
바로 사용자에게 어떤 순서로 콘텐츠를 보여줄 것인가 하는 문제다

Pinterest는 이 문제에 대해 retrieval과 ranking을 분리해 접근했다
retrieval은 수천만 개의 핀 중 적절한 후보를 빠르게 뽑는 작업이고
ranking은 그 후보를 유저에게 보여줄 순서로 정렬해 추천 시스템 성능을 결정짓는 핵심이 된다

 

 

추천 시스템의 정렬 기준은 어떻게 만들어지는가

 

정렬을 위한 기준은 대체로 다음 두 가지 형태로 구성된다

하나는 유저의 관심사와 아이템의 특성이 얼마나 잘 맞는지를 계산하는 방식
예를 들어 최근에 클릭한 콘텐츠와 유사한 카테고리거나
자주 보는 시간대에 많이 소비되는 유형의 콘텐츠인 경우 점수를 높게 준다

다른 하나는 유저의 실제 행동을 예측하는 방식
유저가 이 콘텐츠를 클릭하거나 저장하거나 구매할 확률을 모델링해
그 확률값을 정렬 기준으로 삼는다

 

Pinterest의 ranking 구조는 이 두 가지 기준을 섞어 사용한다
rule 기반 판단과 확률 기반 점수를 함께 반영해
실제 반응 가능성이 높은 콘텐츠를 우선 노출한다

정렬 기준은 모델보다 훨씬 현실적이다

많은 개발자들이 추천 시스템을 만들 때
정확한 모델을 만드는 데 집중하곤 한다

하지만 운영 단계에서 가장 중요한 건
모델보다도 그 모델이 어떤 기준으로 콘텐츠를 보여주는지를 제어할 수 있느냐다

 

예를 들어 클릭 확률이 높은 콘텐츠가
모두 동일한 카테고리에 몰려 있다면
유저는 금세 피로감을 느끼고 이탈할 수 있다

Pinterest는 이 문제를 해결하기 위해
diversity aware ranking을 사용한다
추천 리스트에서 일정 비율 이상 동일한 장르나 스타일이 반복되지 않도록
정렬 후 단계에서 필터를 적용한다

정렬은 예측 정확도보다 사용자 경험이다

추천 시스템은 기본적으로 확률 모델이지만
그 결과를 정렬하는 과정은 논리보다 감성에 가깝다

클릭 확률이 가장 높은 콘텐츠를 첫 번째에 보여주는 것이
꼭 사용자 만족을 극대화하는 방식은 아닐 수 있다

 

Pinterest는 사용자의 상황 context를 고려해
같은 점수라도 다른 콘텐츠를 먼저 노출하는 구조를 운영한다

예를 들어 아침에는 집중력 있는 이미지 중심 콘텐츠
밤에는 감정적인 색감과 디자인 중심 콘텐츠를 우선 배치하는 방식이다

이런 구조는 정확도보다는 흐름을 고려한 정렬이라고 볼 수 있다

모든 정렬이 모델 점수로 해결되지 않는다

 

Pinterest의 ranking 사례를 보면
모델 점수가 높은 콘텐츠라도 일부는 하위로 내려가거나 제외된다
그 이유는 비즈니스 조건이나 정책적 고려 때문이다

예를 들어 새로 올라온 콘텐츠를 상위에 배치해야 한다면
신선도 점수를 가중치로 조정해야 하고
광고 콘텐츠가 있다면 사용자 피로도를 고려해 간격을 조절해야 한다

이처럼 ranking은 단순한 점수 정렬이 아니라
비즈니스 조건과 UX 전략이 결합된 종합 조정 구조다

 

 

추천 시스템을 만들면서 느끼는 점

 

추천 시스템을 설계할 때 가장 어려운 부분은
좋은 콘텐츠를 잘 찾는 것이 아니라
그걸 어떤 순서로 얼마나 자연스럽게 보여주느냐다

그 과정에서 고려해야 할 요소는 생각보다 많다

사용자가 최근 어떤 행동을 했는지
어떤 기기로 접속했는지
어떤 콘텐츠를 몇 초 동안 머물렀는지
비슷한 유저들은 무엇을 선호했는지
어제 클릭한 콘텐츠와 오늘의 추천은 어떤 관계가 있는지

이 모든 것들이 ranking을 결정짓는 조건이 된다