سال ۲۰۰۱ شرکت اپل با معرفی سرویس آی‌تیونز انقلاب بزرگی در صنعت موسیقی ایجاد کرد و تنها پس از چند سال این صنعت کاملا به سمت دیجیتالی‌شدن کشاند. اما این انقلاب هم تغییر بنیادینی در رفتار کاربر در آهنگ‌ گوش‌کردن ایجاد نکرد. در انتها کاربر برای شنیدن موسیقی باز هم مجبور بود حتما آن‌را به طور کامل خریداری کند. اما با معرفی سرویس‌های استریم موسیقی مانند اسپاتیفای در سال ۲۰۰۸ باعث شد تغییر کاملا قابل توجهی در نحوه‌ی آهنگ‌شنیدن و انتخاب آهنگ در کاربران ایجاد کرد.
پیشنهاد آهنگ در اسپاتیفای

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

۱. مقدمه

با گسترش این سرویس‌ها، حالا مشکل طبقه‌بندی و مدیریت میلیون‌ها آهنگ است. تکنیک‌های به دست‌آوردن اطلاعات از موسیقی (MIR) از مدت‌های توسعه پیدا کردند تا به ما در مواردی مانند تشخیص ژانر آهنگ، خواننده و نوع ساز کمک کنند. با این حال یک پیشنهاددهنده‌ی آهنگ خوب باید بتواند سلیقه‌ی کاربر به طور خودکار تشخیص دهد و به او در پیدا‌کردن و فیلتر آهنگ‌ها کمک کند.
در طول این سال‌ها روش‌های برای پیشنهاد آهنگ توسعه داده شدند که پیشنهاد آهنگ‌را صرفا با استفاده از تاریخچه‌ی امتیازدهی کاربران و پیدا کردن تاریخچه‌ی مشابه در کاربران انجام داده‌اند و موفقیت‌های بسیاری هم کسب کرده‌اند.
اما نکته این‌جاست که موسیقی ذاتا نه تنها انتقال‌دهنده‌ی احساست است بلکه حال و هوا (اصلاحا مود) کاربر را هم منتقل می‌کند‌؛ سلیقه‌ی موسیقی از فردی به فردی دیگر کاملا متفاوت است. از همین‌رو روش‌های گذشته نمی‌تواند تمامی نیازها را برطرف کنند.

۱.۱. اجزای تشکلیل‌دهنده‌ی یک پیشنهاد‌دهنده‌ی آهنگ

عموما یک سیستم پیشنهاد‌ دهنده از ۳ قسمت تشکیل می‌شود. کاربر، آهنگ، مچینگ بین آهنگ و کاربر؛

۱- ساخت مدلی از کاربر:
مدل سازی از کاربر نقش بسیار کلیدی در این نوع سیستم‌ها ایفا می‌کنند. در واقع ما عامل‌هایی که باعث تفاوت می‌شوند را مدل می‌کنیم. به طور مثال منطقه‌ی مختلف جغرافیای می‌تواند سلیقه‌ی موسیقی متفاوتی را در بر داشته باشد. هم‌چنین مواردی مانند سن، جنیست و علایق هم در انتخاب کاربر تاثیر گذارند.
حتی تحقیقات هم نشان داده‌اند که معمولا افراد اجتماعی و برون‌گرا موسیقی‌های پر انرژی‌تر و ریتمیک را بیشتر می‌پسند بنابراین مدل‌سازی از کاربر نقش حیاتی را در سیستم‌ما ایفا می‌کند.

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

سایر اطلاعات مانند تازیخچه‌ی گوش‌دادن و نظرات روی آهنگ‌ها هم شکل‌دهنده‌ی بخش عظیمی مدل کاربر هستند که کاملا باعث می‌شود سلقیه‌ی او را بهتر بشناسیم.

۲- ساخت مدلی از آهنگ:
دومین بخش از سیستم‌های پیشنهاد‌ دهنده‌ی آهنگ، خود آهنگ است. سه نوع اطلاعات را می‌توان از موسیقی دریافت کرد.

  • اطلاعات مربوط به خواننده، جانر، زمان تولید و ...

  • اطلاعات دریافتی از متن آن

  • اطلاعات آکوستیک: اطلاعات قابل دریافت با استفاده از پردازش سیگنال آهنگ

در بین سیستم‌های پیشنهاد دهنده یکی از سخت‌ترین قسمت‌های توسعه‌ی آن دریافت اطلاعات از سیگنال آهنگ است. چرا که تشخیص و پردازش آن برای کامپیوتر بسیار مشکل است. به طور مثال اینکه مود این آهنگ چگونه است تقریبا از سخت‌ترین اطلاعاتی است که می‌شود به دست آورد.

۳- پیشنهاد بر اساس مدل‌های ساخته شده:

شامل الگوریتم‌هایی می‌شود که می‌تواند بر اساس اطلاعات به دست آمده آهنگ را پیشنهاد دهد.

۲. کارهای مرتبط

تا امروز چندین روش الگوریتم و روند برای این سیستم‌ها پیاده سازی و استفاده شده‌اند که اگر بخواهیم از آن دسته‌بندی کلی ارائه دهیم به موارد زیر می‌رسیم:

۲.۱. روش فیلتر مشارکتی (Collaborative Filtering):

این متد یکی از موفق‌ترین روش‌ها است که تا کنون مورد استفاده قرار گرفته است. در این روش ما فرض می‌کنیم اگر دو کاربر الف و ب به تعدادی آیتم امتیاز مشابه دهند یا رفتار شبیه به همی داشته باشند، به آیتم‌های دیگر هم امتیاز مشابهی خواهند داد. این روش سه زیرمجموعه دارد:

  1. بر اساس حافظه: برای پیش‌بینی امتیاز آیتم جدید هر دفعه از تمامی تاریخچه کاربر و کاربران مشابهش استفاده می‌شود.

  2. بر اساس مدل به دست‌آمده: در این روش با استفاده از امتیازات کاربران و افراد مشابه و همچنین استفاده از یادگیری ماشینی، مدلی به دست می‌آید که سلیقه‌ی کاربر را توصیف می‌کند.

  3. ترکیبی: از هر دو مدل بالا استفاده می‌کند. تجربه نشان داده‌است که این روش از هر دو روش دیگر بهتر نتیجه می‌گیرد.

محدودیت‌ها:

  • سو گیری به سمت موارد محبوب(Popularity bias): معمولا آهنگ‌های محبوب بیشتر ریت دریافت می‌کنند که این باعث می‌شود سیستم‌ ما بیشتر موارد محبود را پیشنهاد دهد که در نهایت با اینکه موفقیت آمیز ولی کاربر را شگفت‌زده نمی‌کند.

  • شروع‌ کند(Cold start): همیشه در مراحل اولیه تعداد امتیاز هایی که داده می‌شود بسیار کم است و همین باعث می‌شود پیشنهاددهی عملکرد بدی پیدا کند. حتی در مورد آهنگ‌هایی که معروف نیستند و یا مستقل‌اند احتمال اینکه پیشنهادداده شوند بسیار کم است زیرا هیچ امتیازی از آن‌ها به دست نیامده است.

۲.۲. روش محتوایی( Content/Audio/Signal-based model):

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

محدودیت‌ها:

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

۲.۳. روش بر اساس کانتکست(Context-based model):

در این روش بر خلاف دو روش قبلی به جای اتکا به محتوا و امتیازدهی کاربران، سعی می‌شود از نظرات عمومی منتشر شده (به طور مثال در شبکه‌های اجتماعی) استفاده شود تا آهنگ مورد نظر کاربر را پیشنهاد دهد.
این الگوریتم با استفاده از کاوش متنی محتوای مورد نظر مانند تشابه خواننده‌ها، ژانر، احساس و مود آهنگ، محیط معنایی آهنگ و ... را پیدا می‌کند و بر اساس آن مدل مورد نظر خود را می‌سازد. بعضی از تحقیقات نشان می‌دهد این روش می‌تواند ۲ روش قبلی را شکست دهد.

محدودیت‌ها:

  • با این‌حال این روش نیز سو گیری به سمت موارد محبوب و مشهور را نمی‌تواند رفع کند. ضمن اینکه وجود فیدبک برای آینم‌ها در فضای اینترنت الزامی است.

۲.۴. روش بر ترکیبی (Hybrid model):

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

۳. آزمایش‌ها

۴. کارهای آینده

۵. مراجع

[1] Yading Song, Simon Dixon, and Marcus Pearce: A Survey of Music Recommendation Systems and Future
Perspectives, Centre for Digital Music Queen Mary University of London
[2]Dawen Liang, Minshu Zhan, and Daniel P. W. Ellis: CONTENT-AWARE COLLABORATIVE MUSIC RECOMMENDATION USING PRE-TRAINED NEURAL NETWORKS, LabROSA, Dept. of Electrical Engineering Columbia University, New York
[3] Florian Strub Hybrid, Romaric Gaudel, Romaric Gaudel: Recommender System based on Autoencoders
[4] Aa ̈ron van den Oord, Sander Dieleman, Benjamin Schrauwen: Deep content-based music recommendation, Electronics and Information Systems department (ELIS), Ghent University
[5] Katherine Ellis, Emanuele Coviello, Antoni B. Chan, and Gert Lanckriet: A Bag of Systems Representation for Music Auto-Tagging
[6] Armin Namavari, Blake Howell, Gene Lewis: Predicting Similar Songs Using Musical Structure
[7] Yonatan Vaizman, Brian McFee, Member, IEEE, and Gert Lanckriet: Codebook-Based Audio Feature Representation for Music Information Retrieval
[8] Katherine Ellis, Emanuele Coviello, Emanuele Coviello: SEMANTIC ANNOTATION AND RETRIEVAL OF MUSIC USING A BAG OF SYSTEMS REPRESENTATION
[9] Brian McFee, Student Member, IEEE, Luke Barrington, and Gert Lanckriet, Member: Learning Content Similarity for Music Recommendation
Spotify’s Discover Weekly: How machine learning finds your new music
Music Search and Recommendation from Millions of Songs
Building a Music Recommender with Deep Learning

محسن ایمانی

شما در این فاز شرح بسیار خوبی از مسئله داده‌اید و همچنین با دسته‌بندی مناسب، مقایسه محدودیت‌ها و مزایای روش‌ها و همچنین توضیحات ساده و شفاف متنی قابل فهم ارائه نموده‌اید. اما به نظر جا داشت که در هر دسته از روش‌ها کمی بیشتر وارد جزئیات شده و روش‌هایی از هر دسته را با جزئیات بیشتر شرح دهید که این کار را انجام نداده‌اید. حداقل می‌توانستید روش‌های مربوط به یکی از دسته روش‌ها را که در آینده می‌خواهید پیاده‌سازی کنید را با جزئیات بیشتری شرح می‌دادید.
همچنین مدل‌های مبتنی بر احساسات و همچنین مدل‌های مبتنی بر بازیابی اطلاعات را در این دسته‌بندی جا انداخته‌اید.

بهتر است به جای استفاده از معادل‌های انگلیسی در داخل پرانتز آن‌ها را به صورت پاورقی ذکر کنید.

همچنین شما باید از شماره ارجاعات مربوط به مراجع خود را در داخل متن بیاورید. در واقع در حال حاضر مشخص نیست که کدام روش را از کدام مرجع توضیح داده‌اید و خواننده در صورت نیاز به مطالعه بیشتر یک روش نمی‌داند به کدام مقاله رجوع کند.

همچنین قالب ارجاعات مربوط به مقالات شما درست نیست و از قالب استاندارد استفاده نکرده‌اید.

چند مورد غلط املائی که ناشی از اشتباه تایپی می‌باشد در متن شما دیده شد که لطفا با مطالعه دقیق‌تر متن آن‌ها را اصلاح کنید.