Sistema de recomendação para um aplicativo de livraria

Ei, estou tentando aprender alguns dos algoritmos de recomendação que estão sendo usados em sites como o Amazon.com. Então, eu tenho esse aplicativo simples da loja de livros em java (spring hibernate postgres), no qual Book tem os atributos title, category, tags, author. Por simplicidade, não há conteúdo dentro do livro. Um livro deve ser identificado por seu título, categoria, autor e tags. Para cada usuário que faz login no aplicativo, devo recomendar alguns livros. Cada usuário pode visualizar um livro, adicioná-lo ao carrinho e comprá-lo a qualquer momento. Portanto, no banco de dados, estou armazenando quantas vezes cada usuário visualizou um livro, os livros em seu carrinho e os livros que o usuário comprou. No momento, não há opção de classificação, mas isso também pode ser adicionado.

Então, alguém pode me dizer quais são os algoritmos que eu poderia usar para demonstrar alguma recomendação de livros para cada usuário? Eu quero mantê-lo realmente simples. Não é um projeto para vender, mas apenas para expandir meu conhecimento sobre algoritmos de recomendação. Portanto, suponha que haja apenas cerca de 30 livros no total (5 categorias e 6 livros em cada). Seria realmente útil se alguém também pudesse me dizer quais devem ser os atributos que devo usar para calcular semelhanças entre dois usuários e como fazer isso com os algoritmos recomendados.

Desde já, obrigado. SerotoninChase.

questionAnswers(4)

yourAnswerToTheQuestion