Всего несколько лет назад поиск в Интернете был простым. Пользователи вводили несколько слов и листали страницы с результатами.
Сегодня те же пользователи фотографируют интересующий их объект на телефон и перетаскивают снимок в окно поиска или устно задают вопросы интеллектуальному помощнику, вообще не касаясь устройства. На свой вопрос они хотят получить конкретный ответ, а не список страниц с возможными совпадениями.
Эти задачи бросают вызов традиционным поисковым системам, основанным на инвертированном индексировании, которые для выдачи результатов используют сопоставление по ключевым словам.
«Алгоритмы поиска по ключевым словам не справляются с работой, когда люди задают вопрос или делают снимок и спрашивают у поисковика: что это?», — говорит Ранган Маджумдер, программ-менеджер из отдела Microsoft Bing Search and AI, работающего над поисковой системой Bing и искусственным интеллектом.
Конечно, проблема соответствия ожиданиям пользователей не нова: разработчики решают ее с первых дней существования поисковых систем в Интернете. Но сегодня удовлетворять растущие потребности становится проще благодаря достижениям в области искусственного интеллекта (ИИ), в том числе с помощью инновационных разработок исследователей из команды Bing и специалистов из азиатского филиала Microsoft.
«ИИ делает продукты, с которыми мы работаем, более естественными, — говорит Маджумдер. — А раньше людям приходилось думать, как сформулировать запрос, чтобы найти именно то, что нужно».
Microsoft создала один из самых передовых инструментов на основе ИИ, с помощью которого можно лучше удовлетворять растущие потребности людей в поиске, и сделала его доступным для всех в виде проекта с открытым исходным кодом на GitHub. Кроме того, на сайте лаборатории искусственного интеллекта Microsoft AI lab недавно опубликованы примеры использования этого инструмента и видео с пояснениями.
Алгоритм, получивший название Space Partition Tree And Graph (SPTAG), дает возможность использовать преимущества интеллектуальных моделей глубокого обучения, чтобы за считанные миллисекунды выполнять поиск по миллиардам фрагментов информации, называемых векторами. Благодаря ему можно быстрее предоставлять пользователям более релевантные результаты.
Векторный поиск облегчает поиск по смыслу, а не по ключевому слову. Например, если пользователь вводит запрос «Какова высота башни в Париже?», Bing может дать ответ на естественном языке, сообщив, что высота Эйфелевой башни 324 метра, и это будет именно то, что нужно пользователю, хотя слово «Эйфелева» в запросе не встречалось, а слова «какова» нет в результатах поиска.
Microsoft использует векторный поиск в своей собственной поисковой системе Bing. Эта технология помогает Bing лучше понимать смысл миллиардов поисковых запросов и находить наиболее релевантные результаты среди миллиардов веб-страниц.
Использование векторов для более эффективного поиска
Вектор — числовое представление слова, пикселя или другой точки данных — помогает определить, какое значение имеет фрагмент данных. Благодаря достижениям в одной из областей искусственного интеллекта, называемой глубоким обучением, специалисты Microsoft смогли продвинуться в понимании и представлении цели поиска с помощью векторов.
Если перевести фрагменты данных в числовой вид, векторы можно упорядочивать или сопоставлять с близкими, расположенными рядом числами, чтобы находить сходство. Эти близкие результаты отображаются пользователям, улучшая результаты поиска.
Технологию, лежащую в основе векторного поиска Bing, инженеры компании начали разрабатывать после того, как стали замечать необычные закономерности в поисковых запросах пользователей.
«Анализируя журналы, мы обнаружили, что поисковые запросы становятся все длиннее и длиннее», — сказал Маджумдер. Это свидетельствовало о том, что пользователи стали задавать больше вопросов с большим количеством подробностей, потому что поиск по ключевым словам давал плохие результаты, и «пытались вести себя как компьютеры», когда описывали абстрактные вещи. Все это неестественно и неудобно для пользователей.
Чтобы улучшить результаты поиска, по сравнению с традиционным сопоставлением по ключевым словам для Bing, были векторизованы более 150 миллиардов фрагментов данных, проиндексированных поисковой системой. При векторизации учитывались отдельные слова, символы, фрагменты веб-страниц, полные запросы и другие элементы. Когда пользователь что-то ищет, Bing может просканировать индексированные векторы и выдать наилучшее совпадение.
Технология назначения векторов постоянно улучшается посредством глубокого обучения. Чтобы лучше понимать смысл поисковых запросов, используемые модели учитывают такие данные, как клики пользователей по результатам поиска.
По словам специалистов из Microsoft, идея векторизации мультимедиа и поисковых данных не нова, но использовать ее в глобальных масштабах поисковых систем, таких как Bing, стало возможно лишь недавно.
«Bing обрабатывает миллиарды документов каждый день, и наша идея заключается в том, что мы можем представить все записи в виде векторов и выполнять поиск по этому гигантскому индексу из более чем 100 миллиардов векторов, чтобы находить наиболее релевантные результаты за 5 миллисекунд», — говорит Джеффри Чжу (Jeffrey Zhu), менеджер программ из команды Microsoft Bing.
Чтобы объяснить масштабы, Маджумдер предложил такое сравнение: стопка из 150 миллиардов визитных карточек достала бы от Земли до Луны, а поиск Bing с помощью алгоритма SPTAG мог бы мгновенно найти 10 любых карточек в этой стопке.
Поиск по визуальным и звуковым данным
Разработчики Bing говорят, что их проект с открытым исходным кодом найдет применение и в корпоративной, и в потребительской среде. Например, по звуковому фрагменту можно определять язык, на котором говорят пользователи. В сервисах с большим количеством изображений эту технологию можно использовать для определения объекта по фотографии: пользователю достаточно будет сфотографировать цветок, чтобы узнать его название. Если поиск при этом будет медленным или нерелевантным, пользователи очень расстроятся.
«Поиск с задержкой даже в несколько секунд может сделать приложение непригодным для использования», — заметил Маджумдер.
Разработчики надеются, что исследователи и ученые с помощью их алгоритма смогут совершать прорывы в других областях, связанных с поиском.
«Мы только начали исследовать возможности векторного поиска», — добавил Маджумдер.
Ссылки по теме:
- Загрузить: Space Partition Tree And Graph (SPTAG) на GitHub
- Узнать: Vector search на Microsoft’s AI Lab
- Читать: Towards More Intelligent Search: Deep Learning for Query Semantics на Bing Blogs
- Читать: Internet-Scale Deep Learning for Bing Image Search на Bing Blogs