협업 필터링 (Collaborative Filtering)

컴퓨터과학·AI
한 줄 정의: 나와 취향이 비슷한 다른 사람들의 선택 기록을 바탕으로, 내가 아직 접해보지 않은 항목을 얼마나 좋아할지 예측하는 추천 방법입니다.

쉽게 풀면

친구에게 "요즘 볼만한 영화 있어?"라고 물어보는 상황을 생각해 봅시다. 나와 영화 취향이 비슷했던 친구가 추천하는 영화는 나도 좋아할 확률이 높습니다. 협업 필터링은 이 원리를 컴퓨터로 구현한 것입니다. 나와 비슷한 평점·구매·시청 기록을 가진 다른 사용자들을 찾아내고, 그 사람들이 좋아했지만 내가 아직 보지 않은 항목을 추천해 줍니다. 영화 자체의 장르나 배우 정보를 몰라도, 오직 "누가 무엇을 좋아했는가"라는 사용자 행동 데이터만으로 추천이 가능하다는 점이 특징입니다.

왜 중요한가

협업 필터링은 추천 시스템 연구에서 가장 오래되고 널리 검증된 접근법 중 하나로, 항목의 내용을 분석하지 않고도 사용자 행동 데이터만으로 개인화를 실현할 수 있다는 점에서 실무 적용성이 매우 높습니다. 전자상거래, 스트리밍, 소셜 미디어 등 대규모 사용자-아이템 상호작용이 발생하는 거의 모든 서비스가 이 아이디어를 기반으로 추천 기능을 구축하기 때문에, 관련 논문에서는 새로운 모델의 성능을 비교할 때 협업 필터링 계열 기법을 기본 비교군(baseline)으로 사용하는 경우가 많습니다. 또한 임베딩 기반 딥러닝 추천 모델, 행렬 분해(matrix factorization) 등 이후 등장한 여러 추천 알고리즘들이 협업 필터링의 아이디어를 확장한 형태이기 때문에, 추천 시스템 분야의 연구 흐름을 이해하는 출발점으로도 자주 다뤄집니다.

논문에서는 이렇게 쓰입니다

"본 연구에서는 사용자-아이템 평점 행렬에 협업 필터링을 적용하여 콜드 스타트 문제 완화 방안을 제안하였다."

이 문장은 "사용자들이 매긴 평점 데이터를 표(행렬) 형태로 정리한 뒤, 협업 필터링 기법으로 아직 평가되지 않은 항목의 선호도를 예측했다"는 뜻입니다. 추천 시스템, 전자상거래, 콘텐츠 플랫폼을 다루는 논문에서 핵심 방법론으로 자주 등장합니다.

"제안 모델은 아이템 기반 협업 필터링과 사용자 기반 협업 필터링의 예측 결과를 결합하여 희소한 평점 데이터 환경에서도 안정적인 추천 성능을 보였다."

추천 시스템 연구에서 협업 필터링은 크게 "나와 비슷한 사용자를 찾는 방식(사용자 기반)"과 "함께 선택되는 항목의 유사도를 찾는 방식(아이템 기반)"으로 나뉩니다. 이 문장은 두 방식을 함께 사용하여, 평점 데이터가 충분하지 않은 상황에서도 예측이 크게 흔들리지 않도록 보완했다는 의미입니다.

"소셜 네트워크 분석 분야에서는 사용자 간 팔로우 관계와 상호작용 패턴에 협업 필터링을 적용하여 잠재적 관심사 기반의 계정 추천 알고리즘을 설계하였다."

협업 필터링은 영화나 상품 추천을 넘어, 소셜 미디어의 팔로우 추천이나 학술 논문의 인용 추천처럼 "사용자와 항목 간 상호작용 기록"이 존재하는 다양한 도메인에 응용됩니다. 이 문장은 그러한 사회연결망 분석 맥락에서 협업 필터링 개념이 어떻게 확장되어 쓰이는지를 보여줍니다.

조금 더 깊게 보면

협업 필터링은 크게 이웃 기반(neighborhood-based) 방법과 모델 기반(model-based) 방법으로 나눌 수 있습니다. 이웃 기반 방법은 사용자 간 또는 항목 간 유사도(대체로 코사인 유사도나 피어슨 상관계수 등이 사용됩니다)를 직접 계산해 가장 가까운 이웃의 선호를 참고하는 방식이고, 모델 기반 방법은 행렬 분해와 같은 기법으로 사용자와 항목을 저차원 잠재 요인(latent factor) 공간에 표현한 뒤 이를 바탕으로 선호도를 예측합니다. 논문을 읽을 때는 저자가 어떤 유사도 척도를 사용했는지, 그리고 예측 성능을 평가하기 위해 RMSE(평균 제곱근 오차)나 정밀도·재현율 같은 지표를 어떻게 활용했는지를 함께 살펴보면 방법론을 더 깊이 이해할 수 있습니다. 최근에는 전통적 협업 필터링을 신경망 구조와 결합한 딥러닝 기반 추천 모델도 활발히 연구되고 있습니다.

주의할 점

협업 필터링은 신규 사용자나 신규 항목처럼 축적된 행동 데이터가 없는 경우("콜드 스타트 문제") 추천 정확도가 크게 떨어집니다. 이런 한계를 보완하기 위해 항목 자체의 속성 정보를 함께 활용하는 콘텐츠 기반 추천이나, 임베딩을 이용한 벡터 유사도 기법과 결합해서 쓰는 경우가 많습니다.

관련 용어