Движок разведочного поиска

Задача
В исследованиях новостей и других информационных потоков часто возникает задача проследить развитие какой-то конкретной темы во времени.

Часто для этого считают вхождение каких-то слов или фраз в тексты. Здесь можно заметить, что составить полный перечень возможных фраз которые входят в тему скорее всего довольно сложно. И ещё сложнее, если заранее не ясно, как нужная тема выражается в словах.

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

Задача заключается в том, чтобы создать минимальный движок разведочного поиска.

Для каждого документа нужно получить вектор тем (модель для получения векторов уже есть) и хранить эти вектора где-то. Для запроса пользователя тоже нужно получать вектор тем той же самой моделью. Когда все вектора готовы, нужно просто найти ближайшие вектора документов к вектору запроса и выдать topN таких документов.
Кураторы
Святослав Ковалёв
Самокат, Senior Data Scientist
Что вы узнаете?
Как работает поиск и ранжирование

Как работает тематическое моделирование
Основы Natural Language Processing

Требуемые навыки
Знание Python. Представление о линейной алгебре (расстояния между векторами искать надо, но не вручную, конечно). Git.