top of page
Foto do escritorFran Mateus

Sistema de recomendação de filmes com NLP

Baseado em similaridade por conteúdo e com mineração de textos

Posteres: divulgação

Objetivo:

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:


Base de dados:


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)

  1. 007 - Operação Skyfall (Skyfall, 2012, direção: Sam Mendes)

  2. 007 - Quantum of Solace (Quantum of Solace, 2008, dir: Marc Foster)

  3. 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)

  1. Beary e os Ursos Caipiras (The Country Bears, 2002, direção: Peter Hastings)

  2. Ted (Ted, 2012, dir: Seth MacFarlane)

  3. 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)

  1. O Julgamento de Paris (Bottle Shock, 2008, direção: Randall Miller)

  2. O Clube da Feliz Idade (Boynton Beach Club, 2005, dir: Susan Seidelman)

  3. 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)

  1. O Clube da Feliz Idade (Boynton Beach Club, 2005, direção: Susan Seidelman)

  2. Ritmo Acelerado (It's All Gone Pete Tong, 2004, dir: Michael Dowse). Personagem britânico

  3. Simplesmente Amor (Love Actually, 2003, dir: Richard Curtis)


Comentários: 

  • Os quatro filmes - selecionado 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)

  1. X-Men 2 (X2, 2003, dir: Bryan Singer)

  2. X-Men - O Filme (X-Men, 2000, dir: Bryan Singer)

  3. 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 Jamsen) 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. 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.

Comments


bottom of page