brunch

You can make anything
by writing

C.S.Lewis

[서비스기획] 유튜브뮤직에도 CF추천의 한계가 있다?

제가 좋아하는 유튜브 뮤직을 예시로 들어봅니다.

웹/앱 서비스를 이용하다 보면 사용자들은 예상하지 못한 순간, 예상하지 못한 영역에서까지 다양한 콘텐츠를 소비하도록 추천받고 있다. 이러한 '추천'은 편리할 수도 있고, 때로는 부담스럽기도 하다. 


오늘은 가장 널리 이용되고 있는 고전적인 추천의 방식인 "CF(Collaborative Filtering)" 추천이 가지고 있는 한계에 관한 생각을 적어보고자 한다.




CF(Collaborative Filtering) 추천이란?

협업 필터링이라고 불리는 CF추천을 간단하게 설명하면, '나와 비슷한 취향을 가진 사용자'들이 좋아한 콘텐츠는 '나도 좋아할 것'이라고 가정하여 추천하는 방식을 말한다. 예를 들어, A 사용자와 B 사용자가 유사한 사용자라고 판단된다면 A 사용자에게 B 사용자가 소비한 콘텐츠를 추천으로 제공하는 것이다. 


추천 알고리즘에 관한 또 다른 글 읽어보기



피드백 루프(feedback loops)

이러한 추천 모델이 좋은 성능을 내기 위해서는 '학습'할 수 있는 데이터가 필요하다. 그래서 학습데이터의 양을 중요하게 여기기도 하는데, 실질적으로는 데이터의 양보다는 데이터의 퀄리티가 중요하다. '어떤' 데이터를 학습에 활용하느냐에 따라 추천의 결과가 상당히 달라지기 때문이다.


'어떤 데이터로 학습하느냐'에 대해 고려해야 하는 이유 중 하나는 바로 피드백 루프(feedback loops)때문이다. 추천시스템에서의 피드백 루프는 추천의 결과를 기반으로(input데이터로 활용) 추천 모델이 다시 학습하며 계속해서 모델이 개선되도록 만드는 순환을 의미한다. 이러한 피드백 루프는 학습할 수 있는 데이터의 양이 부족할 때도 유의미하게 작동되어야 한다.


그런데 CF추천은 이 순환의 과정에서 사용자로부터 피드백을 학습하면서 데이터에 대한 편향(Bias)이 강화될 수 있다는 한계가 있다. 완전히 통제하여 학습시킬 수 있는 '실험' 데이터가 아닌 사용자에 의해 변화하는 '관찰' 데이터를 통해 학습하기 때문이다. 


이 외에도 한 번도 그 누구의 선택을 받지 못한 데이터의 경우, 사용자가 좋아할 가능성이 있더라도 해당 데이터에 대해 추천을 할 수 없다는 문제도 있다. 신규 사용자 또는 데이터가 없는 사용자(Cold Starter)가 가지는 문제이다. 또한 어떤 취향 클러스터에도 속하지 않는 사용자(Gray Sheep)가 있다면 그 경우에도 CF추천을 제공하기 어렵다는 한계가 있다.



사용자 다수의 취향

피드백 루프가 데이터에 의한 편향이라면 사용자 다수가 가진 취향에 의한 편향도 존재할 수 있다. CF추천은 "사용자 간 유사성"을 기반으로 추천을 제공하기 때문에 "어떤 사용자들이 해당 플랫폼에 모여있는가"가 특정 사용자에게는 추천의 만족도를 좌우할 수 있는 요소가 된다. 


CF추천은 A 사용자가 a, b, c, d라는 콘텐츠를 소비하였고 B 사용자가 a, b, c, f라는 콘텐츠를 소비했다면 a, b, c 콘텐츠를 소비한 사용자 A와 B는 유사한 취향을 가진 사용자로 판단되어 이를 기반으로 A 사용자에게 f 콘텐츠, B 사용자에게 d 콘텐츠를 추천하게 된다. 


결국 콘텐츠 소비의 유사성을 가진 다른 사용자가 소비하는 콘텐츠의 특성이 나에게 추천되는 콘텐츠에 영향을 준다는 것을 의미한다. 이러한 추천의 과정에서 특정한 연령대 또는 특정 취향을 가진 사용자들이 많은 플랫폼이라면 자연스럽게 해당 사용자들의 편향이 담긴 콘텐츠를 추천받을 가능성이 높아질 수 있다.



유튜브뮤직의 사례로 살펴보는 CF추천

유튜브뮤직을 사용하다 보면 사용자가 선택한 특정 곡을 시드(seed)로 하여 재생될 플레이리스트를 생성해 주는 "빠른 선곡"이라는 영역이 있다. 


해당 영역은 사용자가 추천될 후보 곡들 중 하나를 선택할 수 있다는 측면에서 다른 음원 스트리밍 플랫폼에서 제공하는 추천들보다 자율성이 높다고 볼 수 있다. 취향이 특별하게 바뀌지 않더라도 기분이나 장소에 따라 사용자가 듣고 싶은 곡의 무드가 바뀔 있기 때문에 직접 시드를 고를 수 있게 하는 이 영역을 개인적으로 좋아한다.


그러나 아쉬운 부분은 추천되는 플레이리스트를 듣다 보면, 시드 곡이 다르고 추천 후보 곡들이 계속해서 취향 또는 사용자의 콘텐츠 소비 및 활동 데이터에 따라 갱신되고 있음에도 불구하고 반복적으로 노출 및 재생되는 곡들이 발생한다는 것이다.


유튜브뮤직과 같이 큰 플랫폼은 보유하고 있는 곡 수가 많기 때문에 전체 곡들 중에서도 추천의 대상이 되는 추천 풀(Pool)이 적지 않을 것이다. 그러나 CF추천으로 인해 데이터의 학습 및 사용자의 피드백에 의한 '편향'이 반영된 것은 아닐까? 결과적으로 '대부분의 한국 사용자'들이 자주 듣고 있는 곡들, 상대적으로 인기가 높은 소수의 곡들이 추천 풀로 형성되는 느낌이다. (만약 이 이슈가 있다면 나에게만 발생했다면 나의 취향이 상당히 협소한 것일지도 모른다. 하지만 아마도 내게만 발생하는 이슈는 아닐 것이다.)


사실 의도적으로 이렇게 대중에게 인기 있는 곡 위주로 추천 풀을 제한하는 경우도 있다. 그 이유는 대부분의 사용자들이 좋아하는 곡이 특정 사용자도 선호하는 곡일 확률이 상대적으로 높기 때문이다. 하지만 굳이 제한하지 않더라도 강화된 편향과 다수의 사용자가 가진 취향에 의해 소수의 곡들에게만 집중되는 추천이 발생할 수 있다는 것이 CF추천의 한계라고 생각된다.



한계를 보완하는 방법

물론 같은 CF추천이라고 하더라도 기획자의 의도 또는 추천 및 학습 데이터가 가진 특성에 따라 모델이 다르기 때문에 모두 같은 한계를 지니고 있는 것은 아니다. 그래서 추천시스템들은 모델을 달리하여 다양한 방식으로 한계를 보완하고 있다.


한계를 보완하기 위한 방법 중 하나로 CF추천을 CBF(Contents Based Filtering) 추천과 함께 활용하는 경우도 있다. CBF 추천은 콘텐츠 자체가 가진 특성을 분석한 정보(Item Profile)를 추천에 활용하는 것을 말한다. 


CF추천과 CBF추천을 함께 조합하여 활용하는 추천모델을 하이브리드 추천 시스템이라고 부르기도 한다. 예를 들면, 취향이 유사한 사용자의 시퀀스를 학습하여 나온 결과물 중에서도 추천받을 사용자가 지금까지 소비한 콘텐츠의 특성과 비교하여 한 번 더 필터링하는 요소로 활용할 수 있는 것이다.




사실 CF추천과 CBF추천은 추천시스템 내에서 아주 고전적이고 큰 틀에서 활용되는 모델이고 그 안에서 세부적으로 어떤 모델을 활용할 수 있는가에 대해 추천 개발자 분들의 많은 고뇌가 시작될 것이다. 


다양한 플랫폼들 중 많은 사랑을 받고 있는 글로벌 플랫폼인 '유튜브뮤직'에는 또 얼마나 많은 훌륭한 기획자들과 개발자들이 존재하겠는가. 그럼에도 추천되는 콘텐츠들에 대해 사용자들이 느끼는 한계가 있을 수밖에 없다는 것이 어쩌면 내가 오늘 작성하고 싶은 이야기였을지도 모른다.


그래도 추천시스템은 계속해서 발전해가고 있고, 어느 날 깜짝 놀랄 만큼 충격적으로 다양한 풀로 취향을 저격하는 추천모델을 발견하게 되면 열심히 벤치마킹해서 글을 적어보아야겠다.  


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari