Разработчиками МФТИ и ВЦ РАН Андреем Кулунчаковым и Вадимом Стрижовым предложен новый метод автоматического построения ранжирующих моделей. Эти модели используются для того, чтобы обработать запрос от пользователя на поиск информации в коллекциях документов или в интернете. Предлагаемый метод значительно повышает скорость построения моделей. Результаты исследования опубликованы в журнале Expert Systems with Applications, который стоит на первой позиции в рейтинге журналов по искусственному интеллекту по версии Google Scholar.
При поиске среди миллионов документов в сети пользователь ожидает в результате получить небольшой полезный список. Документы списка должны быть проранжированы согласно поисковому запросу. Остальные документы для пользователя являются информационным мусором. Цель поисковой системы — найти нужный документ по запросу небольшой длины. Предложенный метод строит ранжирующие модели, позволяющие быстро достигнуть этой цели. Подобные модели являются ядром современных поисковых систем.
Андрей Кулунчаков, соавтор работы, студент кафедры интеллектуальных систем МФТИ, комментирует: «Постановка задачи предполагала использование только коллекций документов и поисковых запросов. Не допускалось использование никакой внешней информации о контексте, в котором выполнялся поиск. Такая задача имеет наиболее общий характер. Ранжирующие модели, предназначенные для быстрого и точного поиска информации, используются во многих областях от спам-фильтров до колл-центров».
Ранжирующая модель строится на основе простейших математических функций. Подобная модель предполагает создание из них сложной функции, которая бы решала поставленную задачу. Работа ученых была направлена на оптимизацию способа построения такой модели. Качество построенной модели смотрели в том числе, с помощью живой экспертной оценки адекватности получаемого списка документов.
Одним из способов построения моделей является генетическое программирование. Название оно получило из-за схожести с механизмом естественного отбора в природе. В ходе решения задачи строится множество промежуточных решений — «поколений» моделей, в большей или меньшей степени похожих на искомую модель высокого качества, максимально соответствующую запросу. Алгоритм отсеивает модели низкого качества путем «естественного отбора» и на основе оставшихся создает более подходящие. Лучшие «особи» имеют большую вероятность быть включенными в следующие поколения. Сменяя множество поколений, алгоритм приближается к оптимальному решению.
К сожалению, так происходит лишь в теории. На практике число моделей растет чрезвычайно быстро с ростом сложности. Для перебора моделей, состоящих всего лишь из восьми функций, требуется не менее суток вычислений. При этом следует перебрать все варианты, из которых в будущем может эволюционировать наилучшее решение. В предшествующих работах это достигалось медленным и не оптимальным полным перебором.
Андрей Кулунчаков и Вадим Стрижов в рамках своего исследования создали новый подход к порождению ранжирующих моделей для поиска документов в больших коллекциях, не имеющих этих недостатков. Также исследователи решили проблему «стагнации». Когда в сменяющих друг друга «поколениях» модели структурно похожи и их «скрещивание» не дает существенно новых результатов, происходит «стагнация», или «застой». В таком случае вероятность появления качественной модели существенно снижается. Для того, чтобы избежать стагнации, в поколение добавляются новые модели с целью повышения разнообразия.
Чтобы показать, что созданный метод получает модели, превосходящие по качеству современные альтернативы, авторы поставили численный эксперимент. Были использованы базы данных Национального института стандартов и технологий США, предназначенные для анализа и сравнения подобных систем. Они состояли из двух миллионов документов и двухсот тысяч запросов. Эксперимент показал, что полученные модели имеют более высокое качество ранжирования, согласно принятому критерию МАР — Mean Average Precision (популярная мера эффективности поиска информации). Сам же метод позволяет получить модель высокого качества за существенно меньшее время.