EOI-Master BigData&Bussines Anlytics online Ed.Oct22
Módulo 16. Ejercicio 2 Rafael Vera Marañón
RecomiendaME
Algoritmos de recomendación basados en el contenido (Etiquetas)
dataset:
movies_etiquetado.csv
Desarrollo de función
Esta función devuelve los 6 contenidos similares basados en la etiqueta.A continuación se muestran los fragmentos de código mas relevantes para ejecutar la recomendación. (ver Notebook para mas detalle)Calcular la similitud del coseno entre las películas en la matriz de características utilizando la función cosine_similarity de sklearn.Crear una función que tome como entrada el título de una película y devuelva los 6 títulos de películas más similares basados en la similitud del coseno.
# Calcular similitud coseno entre las etiquetas de las películas
tfidf = TfidfVectorizer()
Función para obtener las películas similares
etiquetasmatrix = tfidf.fittransform(etiquetas['etiquetas'])
similaritymatrix = cosinesimilarity(etiquetas_matrix)def getSimilarSmovies(title):
# Obtener índice de la película
idx = etiquetas.index[etiquetas['imdbTitle'] == title].tolist()[0]
# Obtener similitud coseno entre la película y todas las demás
simScores = list(enumerate(similarityMatrix[idx]))
# Obtener índices de las 6 películas más similares
simScores = simScores[1:7]
# Devolver títulos, géneros y similitudes de las películas más similares
movieIndices = [i[0] for i in simScores]
return [(etiquetas['imdbTitle'].iloc[i], etiquetas['genre'].iloc[i], simScores[j][1]) for j, i in enumerate(movieIndices)]
# Obtener título aleatorio
title = random.choice(etiquetas['imdbTitle'].tolist())
# Obtener títulos, géneros y similitudes de las películas recomendadas
recommendations = getSimilarMovies(title)
Observando las 6 recomendaciones obtenidas, podemos observar en la imagen las películas y sus valores de similitud calculados.Adicionalmente podemos destacar en orden de relevancia los siguientes géneros:
Drama, Romance, Biografía, Horror, Musica, Acción, Crimen y Thriller.
INSIGHTS Adicionales
GRÁFICO DE VENN
El gráfico de Venn muestra la intersección de los conjuntos de etiquetas de las películas en el dataset de las 6 recomendaciones. La sección donde se superponen representa las etiquetas que tienen en común las 6 películas.El dataset de las 6 recomendaciones contiene conjuntos de etiquetas para cada película, y las etiquetas que tienen en común son `'runaway', 'catastrophe', 'unlikely', 'drama', 'movie', 'storytelling', 'feel-good', 'beautiful', 'melancholic', 'acting', 'great', 'interesting', 'friendships', 'a', 'based', 'death', 'original', 'mentor', 'emotional', 'on', '&', 'story', 'ending', 'scenery', 'life', 'destiny', 'friendship', 'book', 'very', 'good', 'touching', 'not', 'funny'
`.
Tags mas relevantes
en Recomendadas
Esta gráfica muestra los tags más relevantes para las películas recomendadas que tienen similitudes con la película "A Terrible Night".A partir de los datos obtenidos, se puede observar que los términos más importantes son:
"runway", "catastrophe", "drama", "storytelling", "acting", "melancholic", "original", "great", "ending", "touching", "friendship", "destiny" y "life".Estos términos sugieren que las películas recomendadas tienen una trama dramática con un enfoque en la narrativa y la actuación, así como un tono melancólico y un enfoque en temas de la vida y la amistad. Además, se destaca la importancia de tener una historia original y un final impactante y conmovedor.
Géneros destacados
en Recomendadas
Según las recomendaciones de películas similares a "A Terrible Night" basadas en su género de comedia, horror y cortometraje, se puede observar que las películas recomendadas abarcan diferentes géneros, como drama, romance, biografía, música, acción, crimen y thriller.Esto sugiere que las películas recomendadas pueden no estar limitadas por géneros específicos y pueden tener elementos que atraigan a una audiencia más amplia.Además, esto puede indicar que los espectadores interesados en "A Terrible Night" pueden tener gustos diversos en cuanto a géneros cinematográficos y pueden estar abiertos a explorar diferentes géneros a través de estas recomendaciones.No obstante, según el gráfico de la derecha, predomina la asignación de géneros tales como Drama y Romance entre las películas recomendadas en base al contenido de "A Terrible Night", lo cual a primera vista, parece no tener mucho sentido, pero arroja información comercial de utilidad.
Top15 Etiquetas
Frecuencia aparición en Recomendadas
La frecuencia de las etiquetas más comunes en el conjunto de datos muestra que los términos "good", "story", "based", "on" y "oscar" son los más utilizados. Esto sugiere que las películas que contienen estos elementos pueden ser más populares o tener más éxito en la industria cinematográfica. También es interesante notar que términos como "book", "true", "ending", "life" y "acting" también son frecuentes, lo que indica que la audiencia puede tener un interés particular en historias basadas en hechos reales, actuaciones de calidad y finales impactantes. Además, términos como "funny", "drama", "beautiful" y "excellent" también son comunes, lo que sugiere que la audiencia puede tener una inclinación hacia películas con elementos emocionales y visuales atractivos.
Análisis de sentimiento
basado en etiquetas de Recomendadas
Se ha utilizado la librería TextBlob para calcular la polaridad de sentimiento del total de etiquetas del detaset.Después de calcular la polaridad de todas las palabras, se promedian las puntuaciones de sentimiento para obtener la puntuación de sentimiento general.El resultado impreso en la pantalla muestra la puntuación de sentimiento general de la lista de todas las etiquetas, siendo cercano a cero lo que indica un sentimiento neutral o ambiguo.En este caso, el resultado obtenido es de 0.053.
Recomendadas 6:
Similitud a Terrible Night(Short|Comedy|Horror)
Título | Género | Similitud | Etiquetas |
---|---|---|---|
Faithless | Drama|Romance | 0.518695 | based on a book based on a true story based on... |
Blue | Biography|Drama | 0.488224 | 18th century 1970s adaptation adapted from:boo... |
Black Roses | Horror|Music | 0.486413 | adaptation adapted from:book based on a book b... |
Story of a Junkie | Drama | 0.481278 | adaptation adapted from:book bad ending based ... |
The Magnificent Ambersons | Drama|Romance | 0.476093 | adaptation adolescence adventure affectionate ... |
Gang Related | Action|Crime|Drama|Romance|Thriller | 0.474175 | adaptation adapted from:book addiction adulter... |
GRÁFICO SIMILITUD RECOMENDADAS 6
Las recomendaciones para la película A Terrible Night
incluyen una amplia gama de géneros, incluyendo drama, romance, biografía, acción, crimen, entre otros. La similitud de estas recomendaciones con la película varía desde 0.47 hasta 0.52, lo que sugiere que todas tienen algunas similitudes en términos de género y otras características. Las etiquetas asociadas con estas recomendaciones indican que muchas de ellas son adaptaciones de libros o basadas en hechos reales. En general, estas recomendaciones podrían proporcionar al espectador una amplia gama de opciones para explorar, aunque es posible que no todas sean igualmente relevantes para alguien que busca específicamente una película de comedia de terror corta.Faithless (0.518695)
Blue (0.488224)
Black Roses (0.486413)
Story of a Junkie (0.481278)
The Magnificent Ambersons (0.476093)
Gang Related (0.474175)