Pull to refresh

Comments 6

Мне кажется, для рекомендательной системы нужно базу стихов разметить, типа, любовная лирика отдельно, природа отдельно, военная поэзия отдельно. Чем больше классов - тем лучше. А потом найти запрос пользователя в базе, определить в какие классы попадает выбранное им стихотворение, и выдать ему что-то подобное.

А строить вектора, которые ещё и не работают как задумывалось потому что в системе вектор по полному тексту, а пользователь вводит одну две-строчки, ну такое. Я же правильно понял, что в идеале если я введу "я помню чудное мгновенье", оно мне должно найти стихи, в которых есть слова "я", "помню", "чудное" и "мгновенье"?

Причём хочу отметить, что поле ввода предлагает ввести стихотворение, а в поиске потом будет участвовать и фамилия автора. Ввёл "Белая берёза под моим окном", получил стихотворение Андрея Белого.

Да, интересная мысль, сделать разметку по темам) Она есть в исходном датасете, но я её не использую.

Вектора кодируют весь текст в целом, то есть модель строит эмбеддинг, который кодирует в основном семантику, но это всё же не прямой поиск по ключевым словам, более сложная вещь))

тематику можно добавить как дополнение, это классная мысль, спасибо!

Я понимаю, что это не прямой поиск. Переформулирую. Если ввод пользователя до последней запятой совпадает с текстом в базе, то расстояние между векторами будет ноль. И это будет идеальная рекомендация в вашей системе - то стихотворение, которое пользователь и так знает. Правильно?

Вставил в поле ввода Александр Пушкин Я помню чудное мгновенье <полный текст стихотворения>

Получил Доля схожести: 1.0000001192092896

Да, интересное наблюдение. Спасибо! Это наверное питоновский float постарался...

Посмотрел этот датасет:

  • В части стихов в текст вошло название или посвящение - хорошо бы вычистить

  • Тема размещена лишь у малой части стихов - хорошо бы прогнать их через LLM, которая бы разметила по темам, например "война: 0.5, любовь: 0.5 "

Да, отличная идея, спасибо!

Sign up to leave a comment.

Articles