Sistema de Recomendações de filmes
Objetivo do projeto:
Criar um sistema de recomendação baseado em conteúdo, usando frameworks do scikit-learn para cálculos matemáticos e técnicas de Processamento de Linguagem Natural (NLP) para mineração dos textos.
Metodologia aplicada:
As etapas de mineração de dados seguiram o padrão CRISP-DM.
Principais pacotes utilizados:
- Natural Language Toolkit (nltk): para limpeza e processamento (stemmers) dos dados textuais.
- scikit-learn: para criação da matriz de vetores através do Count Vectorizer e para o cálculo das distâncias entre os dados usando a similaridade de cosseno.
Base de dados:
- Banco de dados públicos The Movie DB.
Variáveis selecionadas:
- Identificação: id e título dos filmes.
- Modelagem: gêneros dos filmes, elenco (retirados da coluna cast), direção (retirado da coluna crew), palavras-chave (keywords) e resumo (overview).
Experimentos iniciais:
Foram feitos testes com o código para encontrar o melhor modelo. As variáveis alteradas foram:
- Elenco: experimentos com 3, 5 e 10 nomes de artistas.
- Vetores: usando, respectivamente, 2500, 5000, 6000 e 7500 palavras-chave.
Os melhores resultados foram obtidos usando 10 nomes de artistas e 6000 palavras-chave.
Top 3 recomendações para cinco filmes:
007 Contra Spectre
(Spectre, 2015, direção: Sam Mendes)
- 007 - Operação Skyfall (Skyfall, 2012, direção: Sam Mendes)
- 007 - Quantum of Solace (Quantum of Solace, 2008, dir: Marc Foster)
- 007 - Nunca Mais Outra Vez (Never Say Never Again, 1983, dir: Irvin Kershner)
Comentários:
- Os dois primeiros filmes foram protagonizados pelo 007 de Daniel Craig, a M de Judi Dench e são histórias que antecedem 007 Contra Spectre.
- O terceiro filme foi protagonizado pelo 007 de Sean Connery e menciona a organização criminosa SPECTRE.
As Aventuras de Paddington
(Paddington, 2014, direção: Paul King)
- Beary e os Ursos Caipiras (The Country Bears, 2002, direção: Peter Hastings)
- Ted (Ted, 2012, dir: Seth MacFarlane)
- Dr. Dolittle 2 (Dr. Dolittle 2, 2001, dir: Steve Carr)
Comentários:
- Os 3 filmes recomendados possuem ursos no elenco principal e o gênero 'comédia' em comum.
- No caso do primeiro filme, ele ainda se destaca pelos gêneros 'infantil' e 'familiar'.
Sideways - Entre Umas e Outras
(Sideways, 2004, direção: Alexander Payne)
- O Julgamento de Paris (Bottle Shock, 2008, direção: Randall Miller)
- O Clube da Feliz Idade (Boynton Beach Club, 2005, dir: Susan Seidelman)
- Embriagado de Amor (Punch-Drunk Love, 2002, dir: Paul Thomas Anderson)
Comentários:
- O roteiro (vinhos e viagens) e os gêneros (comédia e drama) de O Julgamento de Paris são os mesmos de Sideways.
- O segundo e terceiro lugares são classificados como comédias românticas.
- O terceiro filme ainda possui drama e os temas 'bebida' e 'insegurança' presentes no roteiro.
Um Lugar Chamado Notting Hill
(Notting Hill, 1999, direção: Roger Michell)
- O Clube da Feliz Idade (Boynton Beach Club, 2005, direção: Susan Seidelman)
- Ritmo Acelerado (It's All Gone Pete Tong, 2004, dir: Michael Dowse).
- Simplesmente Amor (Love Actually, 2003, dir: Richard Curtis)
Comentários:
- Os quatro filmes - selecionados e recomendados - são comédias e possuem romance no roteiro.
- No caso do 1º filme recomendado, ele possui diferenças no elenco, na direção e nas locações (Flórida, nos EUA).
- O 2º filme se destaca por ter um protagonista britânico.
- Dos três, teoricamente, Love Actually seria o mais parecido com Notting Hill: comédia romântica, Londres como locação, Hugh Grant no elenco; diretor e roteirista dos dois filmes trabalharam juntos.
- É possível que as palavras-chave e o overview dos dois primeiros filmes recomendados possuam as similaridades encontradas pelos cálculos do modelo.
Wolverine: Imortal
(The Wolverine, 2013, direção: James Mangold)
- X-Men 2 (X2, 2003, dir: Bryan Singer)
- X-Men - O Filme (X-Men, 2000, dir: Bryan Singer)
- Homem de Ferro 2 (Iron Man 2, 2010, Jon Favreau)
Comentários:
- Os dois primeiros filmes da franquia X-Men protagonizados por Hugh Jackman como Wolverine/Logan e por outros personagens vistos em Wolverine: Imortal, como Jean (Famke Janssen) e, no final, Professor Charles Xavier (Patrick Stewart).
- No caso de Iron Man 2, a similaridade aparente é o fato da história também ser da Marvel.
Conclusão:
De forma geral, as recomendações foram muito boas para os filmes analisados, com uma ou outra exceção aparente, como as feitas para 1º e 2º lugares de Um Lugar Chamado Notting Hill e o 3º lugar de Wolverine - Imortal. Porém, mesmo nessas situações, é possível que as similaridades estejam associadas com o resumo e as palavras-chave dos filmes recomendados.
Código do modelo disponível no GitHub.

.png)
Comentários
Postar um comentário