
Представьте ситуацию: вам захотелось заказать раков. Что будете делать? Есть несколько вариантов, один из них — поискать подходящее заведение с доставкой в социальных сетях. Там можно найти локальную компанию с хорошими отзывами и приемлемыми ценами. Вы заходите ВКонтакте, открываете поиск по сообществам, вбиваете запрос «заказ раков» и получаете... подборку сообществ по астрологии. Совпадение по тексту есть, паблики популярные, можно сказать, что алгоритмы справились. Вы узнали о влиянии планет на вашу судьбу, но остались без раков.
Казалось бы, запрос звучал очевидно, но для классического текстового поиска это задача со звёздочкой. На помощь приходит семантический поиск — технология, которая обещает понять не только буквы в запросе, но и смыслы, стоящие за ними.
Меня зовут Арсений Расов, я тимлид ML-инженеров в команде поиска AI VK. В этой статье расскажу, как мы с командой внедряли семантический поиск по сообществам ВКонтакте и почему задача, рассчитанная на два месяца, заняла полгода. Рассмотрим современные NLP-технологии в продакшене и поговорим про непредсказуемость проверенных алгоритмов за пределами Jupyter Notebook.