Необходимо доработать существующий "недокод". Суть заключается в том, чтобы осуществить поиск книги при помощи нейросети, используя на входе краткое описание от лица человека.
Первоначально привожу пример для общего понимания:
- ввод пользователя: "Глухонемой старик спасает щенка а тот лает".
- далее нейросеть по свободному вводу пользователя должна найти и вывести наиболее подходящие по описанию книги (до 10 книг), в данном случае среди результатов обязательно должна быть книга Ивана Тургенева "Муму" (текстовый запрос примера подходит для сохраненной в БД аннотации).
Изначально задача должна была быть решена на базе TfidfVectorizer и k-Means, но качество результата, к сожалению, было печальным. В последствии прояснилось, что задачу можно решить применяя русскоязычную модель SBERT, но на пути встал барьер в виде ограничения в 512 токенов (слов), в то время как аннотации в БД могут достигать 3000+ слов.
Также попрошу обосновать выбранное решение с Вашей профессиональной точки зрения.