Generalist-Specialist Score: 리스너의 다양성 이해하기


  • 해당 포스팅은 스포티파이가 사용자의 독특한 음악 소비 성향을 어떻게 파악하고, 이를 음악 추천에 어떻게 반영하는지에 대한 내용을 다룬 글입니다.🎧
  • 그 중 Generalist-Specialist Score (GS-score)라는 지표를 통해, 사용자가 다양한 음악을 소비하는지 혹은 특정 음악에 집중하는지를 정량적으로 분석한 방법을 다루고자 합니다.

음악 스트리밍 서비스를 사용할 때 가장 만족스러운 순간은 언제일까요? 아마도 나의 취향을 제대로 저격한 노래를 추천받았을 때가 아닐까요?🎶
그런 순간이 쌓일수록 우리는 자연스럽게 그 서비스를 신뢰하고, 계속하게 이용하게 됩니다.

스포티파이, 유튜브 뮤직, 멜론, FLO 등 여러 음악 스트리밍 플랫폼이 있지만, 그중에서도 스포티파이는 ‘음악 스트리밍’이라는 새로운 접근 방식을 제시하며 음악 소비의 패러다임을 바꾸었습니다. 소유의 개념에서 벗어나, 언제 어디서나 무제한으로 음악을 즐길 수 있다는 가치를 제공하며, 단순한 음악 서비스 이상의 것을 제공하는 혁신적인 기업으로 자리매김했죠.
특히, 스포티파이는 R&D 연구소에서 수준 높은 연구를 통해 사용자의 취향을 더 잘 이해하고, 이를 추천 시스템에 반영하기 위하여 끊임없이 노력하고 있습니다. 게다가 활발하게 운영되는 스포티파이 테크 블로그에서는 메인 화면 실험이나 음악 재생목록의 알고리즘 같은 다양한 주제를 다루며, 음악과 접목한 기술에 대한 유익한 인사이트를 제공합니다. (빛과 소금 같은 곳이라고 할까요?💡)


음악 추천을 개인화하는 데 있어 중요한 요소 중 하나는 각 사용자의 고유한 음악 소비 성향을 이해하는 것입니다.
사용자들이 남긴 콘텐츠, 선호하는 음악 장르와 아티스트, 그리고 스트리밍 데이터는 알고리즘이 학습하는 데 중요한 역할을 하죠. 이를 통해 스포티파이는 개별 유저의 음악 취향을 더욱 정교하게 파악하고, 그에 맞춘 맞춤형 추천을 제공함으로써 사용자 경험을 한층 더 높여줍니다.

여러분은 익숙한 플레이리스트를 반복해서 듣는 편인가요, 아니면 새로운 음악을 탐험하며 플레이리스트를 자주 업데이트하는 편인가요?

이번 포스팅에서는 이 질문을 통해 사용자 맞춤형 음악 추천의 케이스를 살펴보려고 합니다.
사람마다 음악 소비 패턴은 저마다 다르죠. 어떤 사람은는 새로운 장르와 아티스트를 탐험하는 것을 즐기는 반면, 반대로 익숙한 음악과 아티스트에 더 집중하는 사람들도 있습니다.

스포티파이는 이런 다양한 리스너의 성향을 정량적으로 분석하기 위해, Generalist-Specialist Score (GS-score)를 개발했는데요. 이 지표는 사용자가 얼마나 다양한 음악을 소비하는지, 혹은 특정 음악에 집중하는지를 수치화하여 보여줍니다. 이를 통해 여러분이 이 스펙트럼의 어디쯤에 위치하는지 파악할 수 있습니다.
쉽게 말해, 여러분이 ‘음악 탐험가🔭‘인지, ‘취향 고수🪇‘인지 가늠해보는거죠!


이제 GS-score가 무엇인지, 이 점수가 어떻게 계산되는지, 그리고 스포티파이의 추천 시스템에서 어떤 방식으로 활용될 수 있는지 자세히 살펴보겠습니다.


1. Generalist-Specialist Score(GS-Score)

1.1 GS-Score 정의

Generalist-Specialist Score(GS-Score)는 사용자의 음악 소비 패턴을 분석하여, 폭넓게 다양한 음악을 즐기는 Generalist인지, 특정 아티스트나 장르에 집중하는 Specialist인지를 평가하는 지표입니다.📊

이는 사용자의 콘텐츠 소비 다양성을 측정하기 위한 지표로, 단순히 많이 들은 곡의 수에 그치지 않고, 들은 곡들 간의 다양성까지 반영해 음악 소비의 폭넓음을 파악하는 데 중점을 둡니다. 이를 통해, 사람마다 다른 음악 취향을 더 세밀하게 이해하고자 하는거죠.

  • Generalist (높은 GS-Score) : 다양한 장르를 청취하는 ‘제너럴리스트’
    • 이들은 다양한 장르와 아티스트를 청취하며, 새로운 음악을 탐험하는 것을 좋아합니다.
    • 특정 장르에 국한되지 않고, 다양한 스타일의 음악을 넘나드는 소비 패턴을 보이죠.
  • Specialist (낮은 GS-Score) : 특정 장르에 주로 집중하는 ‘스페셜리스트’
    • 이들은 한정된 아티스트와 장르에 주로 몰입하며, 자신이 좋아하는 음악을 반복해서 듣는 경향이 있습니다.
    • 새로운 음악을 찾기보다는 자신이 선호하는 음악에 깊이 빠져드는 편이죠.

이러한 정보를 바탕으로 스포티파이는 사용자에게 맞춤형 추천을 제공합니다. Generalist 사용자에게는 다양한 장르의 새로운 음악을, Specialist 사용자에게는 그들이 애정하는 아티스트나 장르에 더 깊이 있는 추천을 제공하는 방식입니다.

결과적으로, 스포티파이의 추천 시스템은 리스너의 음악 소비 성향에 맞춰 개인화된 음악 경험을 제공하며, Generalist에게는 다채로운 추천을, Specialist에게는 취향에 맞는 깊이 있는 추천을 통해 사용자 만족도를 극대화합니다.


1.2 Existing approaches vs. GS-Score

다양성을 측정하기 위해서는 다음과 같은 세 가지 핵심 요소가 필수적입니다.

  1. Breadth(폭넓음)
    • 사용자가 얼마나 다양한 콘텐츠를 소비하는지의 범위를 의미합니다.
      • “다양성”은 소비된 항목들이 서로 얼마나 의미 있게 다른지를 반영해야 하죠.
      • 장르, 아티스트, 스타일 등의 다양한 요소를 얼마나 폭넓게 탐색하는지 살펴봅니다.
  2. Consistency(일관성)
    • 항목 간의 유사성(similarities)과 차이점(differences)이 일관되게 반영되어야 합니다.
      • 다양성 지표는 사용자 간 비교가 가능해야 하며, 누구에게나 적용할 수 있는 공정한 기준을 제시해야 합니다.
      • 이를 통해, 모든 사용자에게 신뢰할 수 있는 평가를 제공합니다.
  3. Scalability(확장성)
    • 수백만 개의 항목과 사용자에 대해 효율적으로 계산할 수 있어야 합니다.
      • 대규모 서비스 환경에서도 실제로 적용 가능한 수준이어야 하죠.
      • 복잡한 계산이더라도 빠르고 정확하게 처리할 수 있어야, 다양성 측정이 실용성을 가질 수 있습니다.

이 세가지 요소는 다양성 측정의 정확성과 실용성을 모두 보장하기 위한 핵심 기준이라 할 수 있습니다.


기존에 다양성 측정 방법과 GS-Score의 차이점을 비교해보면 다음과 같습니다.

  • 기존의 접근법:
    • 많이 사용되던 지표로는 Gini coefficientEntropy 같은 방법이 있습니다.
      • 이들은 주로 사용자가 소비한 항목의 수에만 초점을 맞추기 때문에, 곡들 간의 유사성이나 차이점은 반영하지 못하는 한계가 있습니다.
      • 예를 들어, 사용자가 반복적으로 같은 장르의 곡을 들었는지, 아니면 여러 장르를 섞어 들었는지에 대한 정보는 충분히 담아내지 못하죠.
      • 따라서, 이러한 지표는 곡 간의 차이를 민감하게 포착하지 못하고, 다양한 소비 패턴을 제대로 반영하기 어렵습니다.
        image
  • GS-Score:
    • GS-Score는 기존 방식과 달리, 코사인 유사도를 이용해 곡들 간의 차이를 계산하고, 곡 간의 유사도를 반영하여 다양성을 평가합니다.
      • 단순히 얼마나 많은 곡을 들었는지에 그치지 않고, 곡들 간의 유사성이나 차이점을 모두 고려하죠.
      • 예를 들어, 사용자가 같은 장르 내에서 다양한 곡을 들었는지, 아니면 여러 다른 장르를 넘나들며 곡을 들었는지를 분석할 수 있습니다.

이러한 차이 덕분에 GS-Score는 사용자의 음악 소비 패턴을 더 정교하게 분석할 수 있으며, 이를 바탕으로 개인화된 추천 시스템을 더욱 정확하게 구축할 수 있게 됩니다.



2. GS-Score Formula

2.1 GS-Score 산출방식

GS-Score를 산출하는 과정은 다음 단계로 이루어집니다.

  1. 곡 임베딩(Embedding)
    • 모든 곡을 고차원 벡터 공간에 매핑하여, 유사한 곡들이 서로 가까이 위치하도록 합니다.
      • 이 과정에서는 곡을 word2vec 방식으로 임베딩하며, 사용자의 재생 목록을 “문서(documents)”로, 노래를 “단어(words)”로 취급합니다.
    • 동일한 플레이리스트에 자주 포함되는 곡들은 유사한 벡터 공간에 위치하게 됩니다.
    • 곡 임베딩 특징
      • 40차원 벡터로 표현
      • 8억 5천만 개의 플레이리스트를 기반으로 학습
      • 수백만 곡을 포함
  2. 사용자의 중심 벡터 계산
    • 각 사용자는 자신이 들은 곡들의 평균 벡터를 계산하며, 이를 사용자의 중심 벡터라고 부릅니다.
    • 이 계산 과정에서 사용자가 특정 곡을 얼마나 반복해서 들었는지 반영하기 위해, 곡의 재생 횟수에 가중치를 부여합니다.
      • 이를 통해 사용자의 음악 소비 패턴을 보다 정확하게 나타내는 중심 벡터를 산출할 수 있습니다.

이와 같은 과정으로, 곡들 간의 유사성 및 사용자의 음악 소비 성향이 반영된 벡터를 생성하고, 이를 바탕으로 GS-Score를 측정하게 됩니다.


2.2 수식적 표현

위 내용을 쉽게 설명하자면, GS-Score는 사용자가 소비한 항목(곡)과 사용자의 중심 벡터(center of mass) 사이의 평균 코사인 유사도입니다.

수석적으로 표현하면 다음과 같습니다:

  1. 사용자 중심 벡터 계산
    • 각 사용자는 자신이 들은 곡들의 평균 벡터를 계산하며, 각 곡을 들은 횟수에 가중치를 두게 됩니다.
    • user i, song j → c_j는 곡 j의 임베딩 벡터 & w_j는 사용자가 곡 j를 들은 횟수 image
  2. GS-score 계산
    • 사용자가 들은 곡과 중심 벡터 간의 평균 코사인 유사도를 구하여 사용자의 GS-Score를 계산합니다. image

      코사인 유사도(cosine similarity):
      두 벡터 간의 유사도를 측정하는 방법으로, 값의 범위는 -1에서 1까지입니다. 1에 가까울수록 두 벡터가 유사하다는 것을 나타냅니다.

    • 코사인 유사도는 1에 가까울수록 유사한 곡을 많이 들었음을 의미하며, 이 경우 다양성은 낮게 나타납니다.
    • 즉, 임베딩 공간에 사용자의 노래가 더 많이 “퍼짐”될수록 사용자의 소비는 더 다양하다고 볼 수 있습니다.

2.3 해석

위 수식을 통해 산출된 GS-Score는 다음과 같이 해석할 수 있습니다.

  • GS-Score가 높을수록:
    • 사용자는 특정한 곡들에 집중하는 전문가(Specialist) 성향을 나타냅니다.
    • 이러한 사용자는 주로 자신이 선호하는 아티스트나 장르에 몰입하며, 익숙한 음악을 반복해서 듣는 경향이 있습니다.
    • 즉, 음악 취향이 특정 범위로 좁혀져 있고, 새로운 음악을 탐색하기보다는 잘 아는 음악에 더 깊이 빠져드는 스타일입니다.
  • GS-Score가 낮을수록:
    • 사용자는 매우 다양한 곡을 청취하는 제너럴리스트(Generalist) 성향을 보입니다.
    • 이러한 사용자는 여러 장르와 아티스트를 넘나들며 음악을 탐색하고, 새로운 곡을 발견하는 데 흥미를 느낍니다.
    • 음악 청취 패턴이 넓은 스펙트럼을 포괄하며, 다양한 스타일의 음악을 즐기는 경향이 강합니다. image

이러한 해석을 통해 GS-Score는 사용자의 음악 소비 패턴을 이해하고, 맞춤형 추천을 제공하는 데 중요한 역할을 합니다.



3. 추천시스템 적용

GS-Score는 스포티파이의 공식 연구에서 구체적으로 활용된 방식이 명시된 바는 없지만, 사용자들의 음악 소비 패턴을 정량적으로 분석하는 유용한 지표로 작용해왔을 것이라 추정됩니다. 이 점수는 사용자가 얼마나 다양한 음악을 소비하는지, 혹은 특정한 음악에 집중하는지를 수치화하여 GeneralistSpecialist 사용자 간의 차이를 파악하는 데 도움을 줍니다.

이를 통해 스포티파이는 사용자 경험을 더욱 개인화하고 추천 시스템의 정교함을 높이는 데 기여했을 것으로 보입니다. 사용자의 음악 취향을 보다 세밀하게 이해하고, 이에 맞춰 맞춤형 추천을 제공함으로써, 각 리스너에게 더 나은 음악 경험을 선사할 수 있는 기반을 마련한 것이죠.

3.1 관련 연구 내용

스포티파이는 사용자들이 얼마나 다양한 음악을 듣고,그 음악들이 서로 얼마나 다른지를 평가하기 위해 여러 연구를 진행해왔습니다.

대표적인 연구 중 하나로, “Algorithmic Effects on the Diversity of Consumption on Spotify”라는 논문이 있습니다. 이 연구는 추천 알고리즘이 사용자들의 음악 소비 패턴과 다양성에 어떤 변화를 가져오는지를 분석했습니다.

연구 결과는 개인화된 추천 알고리즘이 도입된 후, 많은 사용자가 음악 소비의 폭을 넓히게 되었다는 것을 보여줍니다. 쉽게 말해, 스포티파이의 추천 알고리즘은 사용자들이 더 다양한 장르와 새로운 아티스트를 탐험할 수 있도록 도와준다는 것입니다.
➡️ 이러한 방식으로, 사용자의 이전 음악 소비 패턴을 기반으로 사용자 성향에 맞춘 다양한 음악 추천을 제공하여 콘텐츠 다양성을 높이는 데 기여하고 있습니다.


3.2 Discover Weekly의 역할

Discover Weekly: 매주 사용자의 취향에 맞춰 새로운 음악을 추천해주는 스포티파이의 대표적인 개인화 플레이리스트

개인화 알고리즘은 사용자가 새로운 음악을 발견하거나 선호하는 장르를 더 깊이 탐구할 수 있도록 도와줍니다. Discover Weekly와 같은 개인화된 플레이리스트는 이를 위해 설계된 대표적인 기능입니다.
이 알고리즘 기반의 플레이리스트는 사용자가 기존에 들어보지 않은 음악을 제안하며, 사용자가 새로운 음악을 발견하고 그들의 음악 취향을 확장할 기회를 제공합니다. 예를 들어, 주로 팝 음악을 듣던 사용자가 Discover Weekly를 통해 재즈나 일렉트로닉 음악을 접하게 되면서 음악 소비의 폭이 넓어질 수 있습니다.

3.3 개인화된 추천 알고리즘

이 논문에서는 개인화된 추천 알고리즘이 Generalist와 Specialist 두 그룹에 다르게 작용할 수 있음을 강조합니다.

  • Generalist 사용자 : 다양한 장르와 아티스트의 음악을 추천함으로써 새로운 음악 탐험을 유도
    • 폭넓은 음악적 취향을 가진 Generalist들은 Discover Weekly와 같은 추천 플레이리스트를 통해 더 많은 새로운 음악을 탐험하게 되는 경향이 있음
    • 이들에게는 다양한 장르의 음악을 접할 기회가 더 많이 제공되며, 이는 음악 소비의 폭을 넓히는 데 기여함
  • Specialist 사용자 : 선호하는 특정 스타일이나 아티스트와 유사한 음악을 제공하여 깊이 있는 음악 경험을 선사
    • 반대로 특정 장르나 아티스트에 집중하는 Specialist 사용자들에게는, 자신이 선호하는 음악 스타일에 깊이 몰입할 수 있는 기회가 더 많이 제공됨
    • 이러한 사용자는 알고리즘 덕분에 자신이 좋아하는 특정 아티스트의 신곡이나 관련 장르의 음악을 더욱 자주 접하게 됨

3.4 알고리즘의 조정 필요성

연구 결과는 개인화 추천 알고리즘이 사용자마다 다르게 조정될 필요가 있음을 시사합니다. 모든 사용자에게 똑같은 방식으로 음악을 추천하는 것이 아니라, 그들의 소비 패턴에 맞춰 다양한 전략을 취해야 한다는 것입니다.

Discover Weekly와 같은 추천 시스템은 사용자가 얼마나 새로운 음악을 탐험하고 싶은지, 혹은 얼마나 특정한 음악 스타일을 유지하고 싶은지를 고려해 다양한 방식으로 조정될 수 있습니다. 이때 GS-score는 알고리즘 조정을 더 세밀하게 할 수 있는 기반이 되고, 조정이 잘 될수록 사용자 만족도를 높이는 데 중요한 역할을 하게 되죠.

이를 통해 스포티파이는 Generalist 사용자에게는 폭넓은 추천을 제공하고, Specialist 사용자에게는 깊이 있는 추천을 제공함으로써 사용자 만족도를 극대화할 수 있습니다. 이런 세밀한 접근 방식이 사용자 경험을 향상시키는 데 중요한 역할을 하며, 스포티파이가 지속적으로 사용자들이 음악을 탐험하고 즐길 수 있도록 돕습니다.
물론 Discover Weekly가 사용자들에게 제공하는 추천이 단순히 기존 취향에 기반한 반복적인 제안이 아니라, 다양한 장르와 아티스트를 아우르는 추천을 제공하기 때문에 가능한 일입니다.


4. 결론

스포티파이는 단순히 음악을 제공하는 플랫폼을 넘어, 사용자의 음악적 경험을 깊이 이해하고 개인화된 추천을 통해 음악 탐험의 동반자가 되는 것을 목표로 하고 있습니다. 이를 위해, 스포티파이는 GS-Score와 같은 지표를 개발하고, Discover Weekly와 같은 추천 플레이리스트를 통해 어떻게 사용자들의 음악 소비를 다양화하고 개인화된 경험을 제공할 수 있는지를 연구해왔습니다. 이러한 노력은 스포티파이가 어떻게 사용자 맞춤형 경험을 달성하려고 하는지 잘 보여줍니다.

이번 포스팅에서 다룬 GS-Score는 스포티파이가 단순히 사용자에게 음악을 추천하는 것을 넘어, 그들의 취향과 음악적 성향을 깊이 이해하고 반영하는 데 중요한 역할을 합니다. 이 점수는 Generalist와 Specialist 간의 차이를 구체적으로 파악해, 폭넓은 음악 탐험을 즐기는 사용자에게는 다양한 장르와 스타일의 음악을 추천하고, 특정 음악 스타일을 선호하는 사용자에게는 더욱 맞춤화된 경험을 제공합니다. 이를 통해 스포티파이는 사용자 개개인에 최적화된 정교하고 만족스러운 청취 경험을 선사할 수 있겠죠.

결국, 다양한 음악 소비 패턴을 반영한 맞춤형 접근은 스포티파이의 음악 경험을 단순한 콘텐츠 소비를 넘어, 사용자와 음악 간의 깊은 연결을 형성하는 여정으로 만들어 줄 것입니다.


Reference


🔜 Think

이번 포스팅에서는 GS-Score와 추천 알고리즘에 대해 다루면서 스포티파이가 어떻게 더 정교한 음악 경험을 제공하려고 하는지 살펴보았습니다.🎧📚
요즘 현재 마주한 이 문제를 어떻게 진단하고, 방향을 어떻게 잡아야 하는가에 대해서 많은 고민을 하고있거든요. 특히 유저의 성향을 어떤 지표로 담으면 좋을지 많이 고민하고 있다보니, 이런 부분이 매우 재미있게 다가왔습니다. 또 어떤 유저들의 음악 소비 패턴이 있을까 궁금해지네요! 여러분은 어떤 음악적 탐험을 하시는지도 궁금합니다!🎶
gs-score를 코드로 어떻게 구현하고, 실제 어떻게 값이 나오는지 확인하고 싶어서 다음 포스팅에서는 실제 구현을 진행해보려고 합니다. 많관부-💫




© 2020.02. by ysjang0926

Powered by theorydb