@Mail.Ru Group Конференция «Форум Технологий» 2013

Доклад

Машинное обучение в ранжировании поиска

Андрей Калинин

Руководитель разработки поисковой системы, Mail.Ru Group

Современная поисковая система: как измерить её качество? Как улучшить ранжирование? Математический аппарат, используемый в Поиске@Mail.ru для автоматизированного построения модели релевантности документов.

Get Adobe Flash player

Вопросы с сайта / с Твиттера / с SMS, заданные во время доклада

Есть ли распознавание и отслеживание Трендов в поисковике?

У нас есть своя внутренняя статистика, в которой мы отсолеживаем изменения в запросах пользователей. Кроме того, мы сейчас работаем над выделением "новостных" запросов, по которым стоит показывать новости, наверное это больше всего похоже на практическое использование алгоритмов выделения трендов.

Есть ли у Вас факторы связанные с синтаксическими связями и отношениями в запросе и документе?

Есть, но самые простые. Полноценный синтаксический анализ слишком медленно работает, чтобы его было бы можно применять в веб-поиске.

Как Вы работаете с пустыми факторными пространствами при построении алгортима ранжирования, в которых нет оценок асессоров.

Мы сейчас решаем это организацонным способом --- если нам не хватает оценок, то мы их получаем, передавая на оценку соответствующие запросы и документы. Собственно, когда я говорил о случайной выборке запросов я сделал (или хотел сделать) оговорку, что она не совсем случайная, а репрезентативная. Вручную мы запросы не выбираем, но вот указывать, какие классы запросов нам интересны, мы можем.

Ну и ещё мы хотим поэкспериментировать над смешиванием асессорских оценок и оценок, полученных из поведения пользователей на поисковой выдаче. Мы пробовали уже обучаться исключительно на "кликовых" статистиках, результат нам не очень понравился, но может быть смешение разных оценок даст лучший результат.

Как учесть при ранжировании документы с динамическим меняющимся интересом пользователя во времени (например новости). иначе как искать наиболее интересные документы в текущий момент времени.

Нужно учитывать в ранжировании, кроме даты, ещё и другие факторы, например, количество перепечаток документа в разных источниках, развитие сюжета, оценивать то, насколько слова запроса "горячие". С какими весами их использовать --- нужно подбирать на конкретном потоке.

А можно подойти к этому вопросу не только с точки зрения ранжирования, но и с точки зрения подачи результатов. Например, показывать не просто отсортированные по какому-то признаку документы, а обьединить их в группы и показывать "лучшие новости за последний час", "за три часа", "за день" -- получится как бы новостная выдача, но в каждой группе сортировка будет выполнена по релевантности.

Как вы оптимизируете вычисления по скорости при имплементации алгоритма машинного обучения во время ранжирования документов по запросу?

Мы вводим дополнительные ограничения на вид и форму дереьвев, которые позволяют их проще хранить и, как следствие, быстрее обрабатывать. Чистые деревья решений, к сожалению, не укладываются в нужное время на ранжировании.