23 декабря 2014
Музыкальный поиск в Яндексе – как устроен?
Музыкальный поиск – это ответ поисковиков на текстовые запросы о музыкальных композициях. Для владельцев музыкальных сайтов крайне важно правильно оптимизировать ресурсы так, чтобы пользователи вводя запрос «воскресенье», например, находили рок-группу, а не день недели. На распознавании фраз о музыкальных треках задачи поиска не ограничиваются. Бывает и так, что нужно распознать мелодию, непеваемую пользователем, либо найти что-то общее в прослушанных им композициях и порекомендовать что-то по вкусу. Как получается наладить работу поиска в этом случае и как избежать трудностей? Об этом ниже.
Принцип работы текстового музыкального поиска
Согласно некоторым данным в мире сегодня крутится больше тридцати миллионов треков. Собирается эта информация из разнообразных баз, где хранятся треки. В процессе работы с музыкальным поиском пользователь получает возможность взаимодействовать с альбомами, отдельными композициями и исполнителями.
Для начала несколько слов о том, как поиск отличает музыкальные запросы от всех остальных. Конечно, частично свою роль в этом играют ключевые слова. Метками музыкальности запросов могут быть как слова, указывающие на музыку, такие, как «поет», «песня» или «слушать», так и более отдаленные, но имеющие отношение к композициям «онлайн» или «скачать». При этом проблем с многозадачностью не избежать, если в запросе указана часть названия песни или имени исполнителя.
Поисковые машины не всегда могут правильно растолковать такие запросы пользователей, поэтому происходит оценка вероятности какого-либо его намерения и на страницу выводятся результаты поиска по нескольким направлениям. С другой стороны не стоит забывать о способности пользователей искажать вводимую информацию, в том числе и при указании названии песни или имени исполнителя, из-за чего и происходят многочисленные лингвистические расширения.
Также следует отметить и факт существования исполнителей со схожими именами и даже названиями групп. Так, например, по запросу «Агилера» будут выданы не только сайты о Кристине Агилере, но и ресурсы с информацией о другом исполнителем со схожим именем Paco Aguilera.
Достаточно распространены и дуэты, а также групповые исполнения, к которым причастны сразу несколько исполнителей. Именно поэтому в базе предусмотрена возможность добавления таких групп.
Еще один фактор, влияющий на музыкальный поиск – это региональность. В каждом из регионов могут встречаться одинаковые имена исполнителей. Важно принимать во внимание происхождение запроса, по которому будут выданы результаты поиска исполнителя, и уровень его именно в этом регионе. Одно и то же имя исполнителя может встречаться в разных странах, при этом их аудитории совершенно разные.
Отдельно стоит отметить и ситуацию с названиями треков. Здесь все также очень непросто. Так, например, популярностью пользуются каверы, когда один исполнитель перепевает песню другого. При этом случается так, что популярность кавера выше, чем у оригинала. Похожая ситуация и с ремиксами.
Не менее важно обеспечить пользователям возможность находить нужные треки по цитатам из текстов. Когда посетители не могут вспомнить названия песни и имени исполнителя, при этом может процитировать одну из фраз, поисковик должен выдавать правильные результаты. Здесь правда следует помнить о том, что некоторые фразы в разных треках могут повторяться. Решить эту проблему достаточно просто – нужно просто учесть историю пользователя и проанализировать его музыкальные пристрастия. Кроме того, имеет значение популярность трека и самого исполнителя, число кликов и длительность прослушивания трека.
Нюансы перевода
Достаточно часто в разных странах имена и названия треков пишутся по-своему, это важно учитывать. Так, например, только у Чайковского имеется более 140 вариантов написания имени.
Кстати, композиторы – это еще один важный объект, с которым можно работать в музыкальном поиске. Как правило, он не играет ключевой роли, но когда речь идет о треках, представляющих собой классическую музыку, именно композиторы могут помочь пользователю найти правильный вариант. Также здесь есть свои нюансы в наименованиях и переводах треков и альбомов.
Анализ аудиосигналов
Кроме метатегов в музыкальном поиске можно использовать полученные в результате анализа аудиосигнала данные. Таким образом можно будет найти решения сразу для нескольких задач:
распознование композиции по фрагменту с микрофона;
распознование по мотиву, напеваемому пользователем;
поиск каверов и нечетких дубликатов;
поиск ремиксов;
выделение мелодий из полифонии;
группирование музыки;
поиск похожих треков и исполнителей.
Цифровой сигнал может быть представлен в виде звуковой волны. Если растянуть волну по шкале времени, то на ней можно будет увидеть расставленные точки через одинаковые отрезки времени. Они будут представлять собой моменты во время которых производятся замеры колебаний волны. Чем меньше интервалы, тем выше частота сигнала и шире диапазон частот, который может быть закодирован.
Амплитуда колебания связана с громкостью звука и временем, тогда, как частота колебаний пересекается с высотой звука. Чтобы получить информацию о частоте колебаний достаточно будет применить преобразование Фурье для перевода сигнала из временного в частотный домен. Таким образом можно будет получить периодическую функцию с разложенной суммой гармонических с разными частотами. При этом коэффициенты при слагаемых дадут желаемые частоты. Чтобы получить спектр сигнала без потери временной его составляющей нужно использовать оконное преобразование Фурье – разделить сигнал на отрезки и получить набор спектров для каждого из них.