Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Algoritmo de recomendação baseado na similaridade de conteúdo

Prezado Guilherme.

Existe algum algoritmo que faça recomendação baseado na similaridade de conteúdo de livro?

4 respostas

Oi Gustavo, enquanto Guilherme que é o especialista não responde, eu vou me arriscar aqui.. Eu acho que não tem um específico para esse propósito, em quase todos vc vai precisar preparar o dado para ele ficar no "formato" que o algoritmo de machine learning gosta :).

Bom dia Gustavo,

Os algoritmos que vimos no curso servem para analisar similaridades entre itens categóricos ou números. Então se você resumir um livro nessas colunas poderá compará-los, talvez seja o que quer fazer, como por exemplo detectar que tipo de livro é parecido com outro em vendas.

Agora se o que quer comparar é o texto interno do livro, para saber se o texto é similar, existem algoritmos de NLP (natural language processing) e outros que servem para analisar e comparar textos sim.

Att

Guilherme

Boa noite Guilherme!

Seria a segunda opção, ou seja, comparar o texto interno. Alguma sugestão?

Aproveitando, gostaria de parabenizar pelos excelente cursos de AI. Quando teremos mais cursos de IA!? Uma boa sugestão seria apresentar entre outros assuntos ensinar como resolver essa minha dúvida!

solução

Bom dia Gustavo,

Muito obrigado, que bom que esteja aproveitando, vira e mexe teremos novos cursos por aqui! No fim da página da Alura temos um link para sugestão de cursos, não deixe de usá-la também.

Sobre similaridade, os algoritmos básicos mais famosos são: Latent Semantic Analysis (LSA), Latent Dirichlet Allocation (LDA) e Word2Vec.

No wikipedia tem uma lista infinita de algoritmos: https://en.wikipedia.org/wiki/Semantic_similarity#Natural_language_processing

Um bom caminho seria buscar implementações de um desses 3 na linguagem que deseja usar, e ai executar alguns testes para ver se são adequados para o que deseja. Se for, ai depois pode parar para pensar em otimizações (qual linguagem seria mais rápida etc), mas deixaria a otimização somente para depois.

Att