Я работаю над личным проектом со Spotify, где я нахожу песню, наиболее похожую на введенную. По сути, я создал огромный набор данных треков на Spotify (около 550 000 треков), в комплекте со всеми их метаданными и «особенностями песен».
Набор данных имеет имя дорожки / URI, имя исполнителя / URI, название альбома / URI, год выпуска, а также атрибуты дорожки, рассчитанные Spotify, такие как танцевальность или акустичность, и т. Д. Набор данных хранится как CSV локально, но я могу, конечно, легко конвертировать его в массив данных или массив numpy.
В моей программе очень важно, чтобы год выпуска в моем наборе данных был точным, потому что я обнаружил, что это одна из важных функций в определении сходства песен.
В настоящее время я использую дату выпуска альбома Spotify API для извлечения года выпуска песни. Это сработало очень хорошо, но есть проблема с этим методом: переизданные альбомы / треки.
Для многих старых исполнителей (большая часть моего набора данных) они выпустят песню в (например) 1971 году, а затем эта же песня появится в переизданном альбоме в 2015 году. Хотя эти две песни идентичны, у них разные URI Spotify, разные имена / идентификаторы альбомов, и часто название песни тоже отличается (например, «Stairway To Heaven» и «Stairway To Heaven - 2012 Remaster»), поэтому трудно сказать, что это дубликаты песен, и год переизданной песни в моем наборе данных - 2012, а не 1971, как должно быть.
Обычно, если пользователь вводит песню 2012 года, я хочу найти похожие песни того периода времени, а не 1971 песню, замаскированную под песни 2012 года.
Знаете ли вы, есть ли способ либо:
A) эффективно находить дубликаты дорожек в моем наборе данных (550 000 песен), используя функции, которые я описал во втором абзаце?
или
B) API, который сообщит вам оригинальную дату выпуска песни, а не дату выпуска переиздания?
Спасибо за любую помощь, которую вы можете предложить