kiq005 / movie-recommendation

A text analysis based technique for movie recommendation
GNU General Public License v3.0
0 stars 2 forks source link

Obtenção / Construção do Dataset #1

Open kiq005 opened 5 years ago

kiq005 commented 5 years ago

A princípio estamos utilizando os dados do TMDb, com o dataset disponibilizado no Kaggle (https://www.kaggle.com/tmdb/tmdb-movie-metadata#tmdb_5000_movies.csv). O dataset possui 5000 filmes, porém nem todos possuem informação completa, mas podemos utilizar a própria API do TMDb para construir outro dataset ou expandir este.

kiq005 commented 5 years ago

O dataset no link está disponível como .csv, mas como algumas informações estão faltando, temos um problema com a expressão regular para obtenção dos dados e transformação em JSON para uso posterior. A solução é utilizar uma biblioteca própria para tratar .csv, ignorar os itens que não estão com informação completa, ou construir um dataset próprio, utilizando a API do TMDb e armazenando diretamente em um JSON.

kiq005 commented 5 years ago

Outra questão é se 5000 é realmente um bom tamanho para se trabalhar, ou se isto estaria limitando nossa análise. Um ponto para se pensar é: quantos itens semelhantes esperamos encontrar em X filmes, e quantos itens semelhantes são necessários para uma análise significativa?

kiq005 commented 5 years ago

Eu corrigi o método de obtenção dos dados, para isso utilizei a própria biblioteca de tratamento de csv do python, construindo uma lista de objetos 'movie' que contém as seguintes informações:

O tamanho real do conjunto de dados é de 4803, sem ignorar nenhum valor. Porém, quatro filmes não possuem dados de 'overview', e muitos não possuem dados de 'keywords' ou 'genres'.

kiq005 commented 5 years ago

O arquivo csv_to_json.py agora possui duas funções para construir nossa base de dados, get_movie_info_tmdb, que constrói baseado em um .csv do kaggle com os dados do tmdb, e get_movie_info_wiki, que constrói baseado em um .csv do kaggle com os dados de plot de filmes na wikipédia. Apesar deste último dataset ser maior e preferível, devido o conteúdo do plot ser mais rico do que o overview, a dimensão do data set torna o processo de construção da matriz de distância e dos clusters muito demorado. Podemos diminuir o dataset, mas preferimos por utilizar os dados do TMDB.