[추천 시스템] 협업 필터링이란?

홍종훈·2025년 4월 8일

추천 시스템

목록 보기
7/11
post-thumbnail

이번 글에서는 추천 시스템에서 자주 사용되는 협업 필터링(Collaborative Filtering)에 대해 이야기해보려고 합니다.

넷플릭스에서 영화를 추천받거나 쿠팡에서 쇼핑할 때 "이거 너 좋아할 것 같은데?"라는 느낌으로 제안이 오곤 합니다. 그 배경에는 바로 협업 필터링이라는 기술이 숨어 있습니다. 이 글에서는 협업 필터링이 무엇인지, 어떻게 작동하는지, 그리고 어떤 장단점이 있는지 알아보겠습니다.

1. 협업 필터링의 정의

협업 필터링이라는 이름은 "협업(Collaboration)"과 "필터링(Filtering)"이라는 두 단어에서 왔습니다."협업"은 사용자들이 서로의 정보를 공유하며 협력한다는 뜻이고, "필터링"은 그 정보를 바탕으로 사용자가 좋아할 만한 것을 걸러낸다는 의미입니다.

즉, 협업 필터링은 사용자들의 과거 행동 데이터를 모아서 비슷한 취향을 가진 사람들이 좋아한 것을 추천하는 방식입니다. 예를 들어, 친구가 "나 이 영화 진짜 재밌게 봤는데, 너도 좋아할 거야!"라고 추천해주는 상황을 떠올리면 됩니다. 실제로 협업 필터링은 이런 아이디어를 시스템적으로 구현한 것이기 때문입니다.

쉽게 말해, "너와 나의 취향이 비슷하니까, 네가 좋아한 걸 나도 좋아할 가능성이 높다"는 개념을 기반으로 작동합니다. 영화, 음악, 쇼핑 등 우리가 매일 접하는 추천 시스템의 핵심 기술 중 하나입니다.

2. 협업 필터링의 작동방식

협업 필터링은 크게 사용자 기반 협업 필터링, 아이템 기반 협업 필터링 두 가지 방법으로 나뉩니다. 이 두 방식은 비슷한 점도 있지만, 접근법이 조금 다릅니다.

2-1. 사용자 기반 협업 필터링: "나와 비슷한 사람 찾기"

사용자 기반 협업 필터링은 나와 취향이 비슷한 사람(이웃)을 찾아서, 그들이 좋아한 것을 나에게 추천해 줍니다. 사용자 기반 협업 필터링의 작동 방식은 다음과 같습니다.

  1. 사용자들이 과거에 남긴 데이터를 봅니다(예: 영화 평점).
  2. 나와 비슷한 취향을 가진 사람들을 찾습니다(유사도 계산).
  3. 그 사람들이 좋아한 아이템을 나에게 추천해줍니다.

예시: 내가 영화 '어벤져스'와 '토이 스토리'를 좋아했는데, 나와 비슷한 취향의 친구가 '스파이더맨'을 좋아했다면, 시스템이 나에게 '스파이더맨'을 추천하는 식입니다.

2-2. 아이템 기반 협업 필터링: "내가 좋아한 것과 비슷한 것 찾기"

아이템 기반 협업 필터링은 내가 좋아한 아이템과 비슷한 아이템을 찾아서 추천해주는 방식입니다. 아이템 기반 협업 필터링의 작동 방식은 다음과 같습니다.

  1. 아이템 간의 유사도를 계산합니다(예: 많은 사람들이 동시에 좋아한 아이템).
  2. 내가 좋아한 아이템과 비슷한 아이템을 찾습니다.
  3. 그 아이템을 나에게 추천해줍니다.

예시: 내가 '어벤져스'를 좋아했는데, '어벤져스'와 비슷한 영화(예: '아이언맨')가 있다면, 시스템이 '아이언맨'을 추천해줍니다.

3. 협업 필터링 예시: 영화 추천으로 이해해보기

간단한 예시를 들어보겠습니다. 먼저, 세 명의 사용자가 영화에 1~5점의 평점을 줬다고 해보겠습니다.

사용자 1: 영화 A(5점), 영화 B(4점), 영화 C(3점)
사용자 2: 영화 A(4점), 영화 B(5점), 영화 D(2점)
사용자 3: 영화 C(5점), 영화 D(4점)

3-1. 사용자 기반으로 추천한다면?

사용자 1과 사용자 2는 영화 A와 B에 비슷한 평점을 줬습니다. 그러니까 이 둘은 취향이 비슷하다고 볼 수 있습니다.

이를 통해 알 수 있는 정보는, 사용자 1은 영화 D를 아직 안 봤는데, 사용자 2가 영화 D에 2점을 줬으니, 사용자 1도 영화 D를 별로 안 좋아할 가능성이 높습니다.

반면, 사용자 3은 영화 C와 D를 좋아했으니 사용자 1과는 취향이 다르다고 판단할 수 있습니다.

3-2. 아이템 기반으로 추천한다면?

영화 A와 영화 B는 많은 사람들이 동시에 좋아했습니다(사용자 1, 2 모두 높은 점수). 따라서, 영화 A를 좋아한 사용자 1에게 영화 B를 추천하는 식으로 진행됩니다. 이런 식으로 협업 필터링은 유사성을 기반으로 추천을 만들어줍니다.

4. 협업 필터링의 장점과 단점

4-1. 장점

  1. 개인화된 추천: 내 과거 행동을 바탕으로 나만을 위한 추천을 해줍니다.
  2. 새로운 발견: 내가 몰랐던 영화나 물건을 찾을 수 있게 도와줍니다.
  3. 간단한 데이터로 가능: 영화의 장르나 배우 같은 세부 정보 없이도 평점 데이터만 있으면 추천이 가능합니다.

4-2. 단점

  1. Cold Start 문제: 새로운 사용자나 새로운 영화는 데이터가 없어서 추천하기 어렵습니다. 예를 들어, 내가 처음 가입했거나 새로운 영화가 추가되면 시스템이 당황할 수 있습니다.
  2. 희소성 문제: 모든 사용자가 모든 영화에 평점을 주는 게 아니니까 데이터가 부족할 때가 많습니다.
  3. 계산 비용: 사용자나 영화가 많아질수록 유사도를 계산하는 데 시간이 오래 걸릴 수 있습니다.

5. 결론

협업 필터링은 사용자들의 데이터를 활용해서 개인 맞춤형 추천을 제공하는 기술입니다. 친구가 추천해준 영화를 보는 것처럼, 비슷한 취향을 가진 사람들의 정보를 바탕으로 나에게 딱 맞는 것을 찾아줍니다. 물론 Cold Start나 희소성 같은 한계도 있지만, 이를 보완하는 방법(예: 인기 있는 영화를 기본 추천하기)과 함께 사용하면 더 강력해질 수 있습니다.

profile
Search Engineer

0개의 댓글