Как Shazam избегает ложных срабатываний?

В двух словах, Shazam записывает отпечаток прослушиваемой песни и отправляет его на свои серверы для сопоставления с базой данных отпечатков пальцев. Затем процесс поиска создает гистограмму смещений для каждой песни в индексе и объявляет песню с большинством совпадений с одним смещением победителем. Подробности об алгоритме можно найти в оригинальной статье здесь.

Согласно этому сообщению в блоге, Shazam разделил свой индекс на уровни, чтобы ускорить процесс поиска. Отпечатки пальцев самых популярных песен хранятся на первом уровне, который запрашивается первым. Если подходящая песня не найдена в первом уровне, поиск переходит ко второму уровню и так далее, и так далее.

Чего я не понимаю, так это как Shazam избегает ложных срабатываний с такой архитектурой? Например, как избежать сопоставления популярного трека с высоким показателем соответствия, если на более низком уровне существует менее популярный трек с более высоким показателем соответствия? Использует ли он функцию оценки и порог? Если да, то как будет выглядеть функция оценки?

0 ответов

Другие вопросы по тегам