چگونه Spotify از عظیم داده­‌ها برای بهبود تجربه کاربران استفاده می­‌کند؟

Spotify یک پلتفرم پخش موسیقی است که روزانه توسط میلیون­‌ها کاربر مورد استفاده قرار می­‌گیرد. این برنامه که در سال 2008 در سوئد بنیان گذاشته شد، بیش از 30 میلیون آهنگ و بیش از 2 میلیارد لیست پخش آنلاین موسیقی را در اختیار کاربران خود قرار می‌­دهد. Spotify ماموریت اصلی خود را اینگونه اعلام کرده که قصد دارد به افراد اجازه دهد تا به تمام موزیک­‌های مورد علاقه خود در هر زمان و بصورت کاملا قانونی دسترسی داشته باشند. Spotify  درحال حاضر دارایی بیش از 25 میلیون دلار را برای خود رقم زده و یکی از موفق‌­ترین پلتفرم­‌های پخش موسیقی محسوب می­‌شود. در ادامه این مطلب با هم خواهیم دید این موفقیت شگرف چگونه با کمک عظیم داده­‌ها کسب شده و اساسا" این پلتفرم از چه طریق تجربه کاربران خود را بهبود می‌بخشد.

اجازه دهید با یک مثال این بحث را آغاز کنیم. فرض کنید شما در حال گوش دادن به یکی از آهنگ­‌های جاز مورد علاقه خود هستید و پس از اتمام آن، آهنگ بعدی هم از همین سبک برایتان اجرا می‌­شود. شما خیلی پیش از این آهنگ­‌های مورد علاقه خود را دانلود کرده‌­اید اما Spotify با بهره­‌گیری از عظیم داده‌­ها سعی دارد تا یک تجربه ناب و شخصی­‌سازی شده برای شما ایجاد کند. حال ببینیم این امر چگونه رخ می‌دهد.

Spotify بدلیل ارائه لیست پخش­‌های بی­شمار و پیشنهادات هفتگی آن، بسیار مورد توجه علاقه‌­مندان به گوش دادن موسیقی قرار گرفته بصورتیکه روزانه بیش از 600 گیگابایت داده تولید می­‌کند و از الگوریتم‌­های خود برای بدست آوردن بینش‌­های مبتنی بر داده و ارتقاء تجربیات مشتریان استفاده می­‌کند.

اما داستان جمع‌­آوری داده‌­ها توسط Spotify به اینجا ختم نمی‌­شود. این پلتفرم بطور مداوم وبلاگ­‌ها و قطعات متن و موسیقی را نیز مورد پیمایش قرار می‌­دهد تا بتواند داده‌­های مناسبی را کشف نماید که در ادامه به نحوه استفاده از این داده‌­ها خواهیم پرداخت.

یکی از مزیت­‌های رقابتی اصلی Spotify، موتور پیشنهادی قدرتمند آن است. این پلتفرم با استفاده از الگوریتم­‌های یادگیری ماشین (ML)، پردازش زبان طبیعی (NLP) و شبکه­‌های عصبی کانولوشنال (CNN)، می‌­تواند داده­‌های موسیقیایی تاریخی را به لیست پخش شخصی و توصیه­‌های موسیقی تبدیل کند.

در واقع Spotify از ML برای تحلیل رفتار کاربران و گروه‌بندی افراد بر اساس ترجیحات موسیقی آنها استفاده می­‌کند. با استفاده از این اطلاعات می­‌تواند آهنگ­‌هایی را بر اساس آنچه کاربران "مشابه" نیز به آن گوش می‌­دهند، به شنوندگان توصیه کند. یکی از تکنیک‌­های استفاده شده در این بخش Collaborative filtering است که توسط سیستم­‌ها برای ایجاد پیش‌­بینی در مورد ترجیحات کاربر بر اساس ترجیحات سایر کابران بکار می­‌رود.

همانطور که گفته شد Spotify از NLP درجهت مرور متادیتاهای ایجاد شده برای آهنگ­‌ها، پست­های وبلاگ‌­ها، مقالات، آخرین اخبار هنرمندان و آهنگ­‌های موجود در اینترنت و مواردی از این دست برای تحلیل زبان مورد استفاده برای توصیف هنرمندان و آهنگ‌­ها استفاده می­‌کند. با استفاده از این بینش­‌ها، می­‌تواند موسیقی را بر اساس کلمات و عباراتی که برای توصیف آن استفاده می‌­شود (مانند موسیقی جاز، پاپ، راک کلاسیک و ...) گروه‌بندی کند که این امر به Spotify کمک می‌­کند هنرمندان مشابه را راحت­‌تر شناسایی کند و لیست پخش شخصی شده‌­ای را پیرامون آنها بسازد.

درنهایت با استفاده از CNN  داده­‌های خام صوتی مانند BPM آهنگ، کلید موسیقی، بلندی صدا و غیره را مورد تحلیل قرار می‌­دهد. با استفاده از این اطلاعات، می‌­تواند آهنگ­‌ها را بر اساس نوع موسیقی آنها طبقه‌­بندی کرده و موتور توصیه‌­گر خود را بهینه‌­تر نماید.

بخش جذاب دیگری از کار تحلیل­‌گری داده‌­ها در Spotify در صفحه اصلی آن نمایش داده می‌­شود که از یک الگوریتم ML بنام BaRT برای ارائه توصیه­‌های موسیقی در لحظه به شنوندگان استفاده می‌­کند. BaRT ،که مخفف  Bayesian Additive Regression Trees  است، ویژگی­‌های منحصر بفردی بشرح زیر دارد:

  • برای استریم­‌های بیش از 30 ثانیه بهینه شده است. به این معنی که هر آهنگی که کاربر زیر 30 ثانیه به آن گوش دهد را نادیده می­‌گیرد.
  • مدل هر روز یکبار بر اساس داده­‌های تعاملی جمع‌­آوری شده، بازآموزی می‌­شود.
  • این سیستم به گونه‌­ای ساخته شده که فارغ از هرگونه سوگیری موقعیتی است یعنی وزن کلیک­‌های پایین صفحه بالاتر از کلیک­‌های بالای صفحه است.

در راستای قابلیت­‌های تحلیل­‌گری عظیم داده‌­ها در Spotify  باید به این مورد اشاره کرد که در ژانویه 2021،  این پلتفرم حق اختراع جدیدی را برای یک اپلیکیشن AI بدست آورد که از داده‌­های صوتی برای تعیین "وضعیت احساسی و عاطفی، جنسیتی، سن یا لهجه" کاربران استفاده می­‌کند و سپس از این بینش­‌ها برای بهبود توصیه­‌های موسیقی به افراد بهره می­‌برد.

علاوه بر ساخت یک موتور قدرتمند توصیه محتوای صوتی، Spotify راه­‌های خلاقانه دیگری را برای کسب درآمد از داده­‌های کاربران و ایجاد تجربیات به یاد ماندنی برای آنها توسعه داده است. به عنوان مثال قابلیت Wrapped در این پلتفرم از تجسم داده­‌ها برای تبدیل داده‌­های خام شنونده به یک داستان شخصی‌­سازی شده استفاده می­‌کند که عادات گوش دادن به موزیک هر کاربر را در سال گذشته بازگو می­‌کند. در واقع یکسری مدال­ یا نشان بر اساس دستاوردهای خاص وی به او اعطا می­‌کند مانند اینکه اگر تعداد لیست­‌های پخش وی، فالورهای جدید قابل توجهی پیدا کند به آنها یک Tastemaker داده می‌­شود یا اگر قبل از دیگران به آهنگ موفقی گوش دهند، نشان پایونیر به آنها اعطا می­‌شود.

در پایان نگاهی خواهیم داشت به برخی تکنولوژی­‌های مورد استفاده جهت تحلیل عظیم داده­‌ها در Spotify. این پلتفرم برای انجام تحلیل­‌های پیچیده خود از یک data lake مبتنی بر Hadoop  استفاده می­‌کند. این data lake جهت آموزش بهتر ماشین­‌ها برای ارائه توصیه­‌های بهینه­‌تر موسیقی به کاربران، نمایش تبلیغات مبتنی بر مشخصات فردی کابران، محاسبه نرخ پاسخ کاربران به کارکردها و ویژگی­‌های جدید و تولید گزارشات کمپین­‌های بازاریابی بکار برده می­‌شود.

همچنین در Spotify از Apache Spark که یک سیستم پردازش توزیع شده است بهره برداری شده و نیز برای ارائه خدمات بصورت real time از Apache Storm استفاده می­‌شود.

در همین راستا یکی از پایپ لاین­‌های داده‌­ای مشهور که در Spotify بکار گرفته شده است، Luigi است. این ابزار ETL که مبتنی بر پایتون بوده، به توسعه دهندگان برای برنامه‌­ریزی، مانیتورینگ و مدیریت امور batch  و دسته‌­ای کمک می­‌کند.