추천 시스템
추천 시스템이 AI와 머신러닝을 사용하여 개인 맞춤형 제안을 제공하고, 참여도를 높이며, 온라인 의사 결정을 촉진하는 방법을 알아보세요!
추천 시스템은 특정 항목에 대한 사용자의 선호도를 예측하도록 설계된 정보 필터링 알고리즘입니다.
항목에 대한 사용자의 선호도를 예측하도록 설계된 알고리즘입니다. 이러한 시스템은 최신의
인공 지능(AI)
애플리케이션의 기본 구성 요소로, 사용자가 개인화된 추천을 큐레이션하여 온라인에서 제공되는 압도적인 양의 콘텐츠를 탐색할 수 있도록 도와줍니다.
제안합니다. 다음과 같은 빅 데이터의패턴을 분석하여
구매 내역, 시청 습관, 사용자 평점 등의 빅데이터 패턴을 분석함으로써 추천 엔진은 사용자 참여를 향상하고
의사 결정 프로세스를 간소화합니다. 추천 엔진은 선택의 폭이 너무 넓어 사용자가 일일이 평가할 수 있는
다양한 선택지를 수동으로 평가할 수 없는 환경에서 많이 활용됩니다.
추천의 핵심 메커니즘
추천 엔진은 일반적으로 특정
머신 러닝(ML) 전략을 사용하여
관련 추천을 생성합니다. 세 가지 주요 접근 방식은 다음과 같습니다:
-
공동 필터링:
이 방법은 과거에 동의한 사용자가 향후에도 동의할 것이라는 가정에 의존합니다. 이 방법은 상호작용 데이터를 사용하여
사용자(사용자 기반) 또는 항목(항목 기반) 간의 유사성을 식별합니다. 예를 들어 사용자 A와
사용자 B가 모두 "영화 X"를 좋아했다면, 시스템은 사용자 B가 "영화 Y"를 좋아했다면 사용자 A도 "영화 Y"를 좋아할 수 있다고 가정합니다.
를 좋아한다고 가정합니다.
-
콘텐츠 기반 필터링: 이
접근 방식은 항목 속성을 기반으로 사용자가 이전에 좋아했던 항목과 유사한 항목을 추천합니다. 이를 위해서는 항목 자체의
항목 자체의 특징을 분석해야 하며, 종종
자연어 처리(NLP)
를 사용하거나
컴퓨터 비전(CV)을 사용하여 제품
이미지를 분석합니다.
-
하이브리드 모델: 협업과 콘텐츠 기반 필터링을 결합한 하이브리드 모델,
하이브리드 추천 시스템은 다음을 목표로 합니다.
사용자가 없는 새 항목을 추천할 수 없는 등 개별 방법의 한계를 극복합니다.
새로운 항목을 추천할 수 없는 등의 한계를 극복하기 위한 것입니다.
실제 애플리케이션
추천 시스템의 실질적인 유용성은 다양한 산업에 걸쳐 있으며, 다음과 같은 두 가지를 모두 지원합니다.
고객 경험
비즈니스 수익을 창출합니다.
-
전자상거래 및 소매업: 아마존과 같은 플랫폼은 정교한 알고리즘을 활용하여 쇼핑객들에게
제품을 제안합니다. 이러한 시스템은 다음과 같은 방식으로 소매업에서 AI를 강화합니다.
"이 제품을 구매한 고객이 또한 구매한..." 목록을 동적으로 표시하여 교차 판매 기회를 크게 증가시킵니다.
교차 판매 기회를 크게 늘립니다.
-
미디어 스트리밍: 넷플릭스나 스포티파이 같은 서비스는 개인화에 크게 의존합니다. 넷플릭스의
넷플릭스 추천 연구팀
은 시청 기록을 분석하여 사용자의 홈페이지에 관련 영화와 프로그램을 채우는 알고리즘을 개발합니다.
마찬가지로 Spotify는 음향 패턴과 사용자의 청취 행동을 분석하여 '주간 발견' 재생 목록을 생성합니다.
행동을 분석하여 재생 목록을 생성합니다.
임베딩을 사용한 시각적 추천
최신 추천 시스템의 핵심 기술, 특히 시각적 콘텐츠에 대한 핵심 기술은
임베딩을 사용하는 것입니다. 임베딩은 이미지와 같은 항목을 고차원 공간에서
이미지와 같은 항목을 고차원 공간에 수치로 표현한 것입니다. 시각적으로 유사한 항목은 다음과 같은 임베딩을 갖습니다.
임베딩을 갖게 됩니다.
다음 Python 코드는 사전 학습된 이미지 임베딩을 사용하여 이미지 임베딩을 추출하는 방법을 보여줍니다.
Ultralytics YOLO11 분류 모델을 사용하여 이미지 임베딩을 추출하고
유사성을 계산하는 방법을 보여줍니다.
PyTorch.
import torch.nn.functional as F
from ultralytics import YOLO
# Load a YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Generate embeddings for two images (returns a list of Results objects)
results = model.predict(["bus.jpg", "dog.jpg"], embed=[1000]) # embed argument extracts feature vectors
# Calculate cosine similarity between the two embeddings
# Higher score indicates greater visual similarity
similarity = F.cosine_similarity(results[0].probs.data, results[1].probs.data, dim=0)
print(f"Visual Similarity Score: {similarity.item():.4f}")
추천 시스템과 관련 개념 비교
추천 시스템과 추천 시스템이 자주 사용하는 기반 기술을 구분하는 것이 중요합니다:
-
벡터 검색: 이것은 검색
메서드로, 벡터 데이터베이스에서 수학적으로 가장 가까운
쿼리에 수학적으로 가장 가까운
항목을 찾는 데 사용되는 검색 방법입니다. 추천 시스템은 벡터 검색을 사용하여 유사한 제품을 찾지만 추천
시스템 자체에는 사용자 프로파일링 및 랭킹이라는 보다 광범위한 로직이 포함됩니다. 이에 대한 자세한 내용은
유사성 검색 가이드를 참조하세요.
-
시맨틱 검색: 기본 추천과 달리
추천과 달리, 시맨틱 검색은 쿼리 뒤에 숨은
의미를 이해하는 데 중점을 둡니다. 추천 엔진은 시맨틱 검색을 사용하여 특정 카테고리를 탐색할 때 사용자의 의도를 해석할 수 있습니다.
사용자의 의도를 해석하기 위해 시맨틱 검색을 사용할 수 있습니다.
과제 및 고려 사항
효과적인 추천 시스템을 배포하는 데에는 상당한 장애물이 있습니다:
-
콜드 스타트 문제: 새 사용자 또는 항목에 공동 작업에 필요한 상호 작용 기록이 없는 경우
필터링에 필요한 상호 작용 기록이 부족합니다. 소수의 샷 학습이나
메타데이터 활용과 같은 기술은
콜드 스타트 문제에 대한 해결책입니다.
-
확장성: 시스템은 실시간으로
수백만 건의 상호작용을 실시간으로 처리해야 합니다. 이를 위해서는 효율적인
모델 배포 전략과 최적화된
하드웨어가 필요합니다.
-
윤리적 시사점: 시스템이 알고리즘 편향성을
알고리즘 편향성을 해결해야 할 필요성이 점점 더 커지고 있습니다.
알고리즘 편향성을 해결해야 할 필요성이 커지고 있습니다. AI 윤리를 준수하고
데이터 프라이버시를 보장하는 것은
사용자 신뢰.