Primer Acercamiento

Motivación

Las películas es un tema de la vida cotidiana, que además ha sido muy explorado por el hecho de que posee muchos datos interesantes. ¡Pero aun así existe mucho más por descubrir! Es así que surge nuestro interés en encontrar patrones o fenómenos no explícitos que se den de manera regular en éste ámbito.

Utilizando la base de datos de la página web IMDb, se realizará una exploración exhaustiva.  Buscando así explorar las distintas relaciones que existen entre director, ranking de cada película, el casting de actores, entre otros.

Obtención de Base de Datos

La base se estructura en diversos archivos en formato “*.list”. Para la construcción del ambiente a trabajar, como se menciona anteriormente, se cuenta con una cantidad de tablas en formato de texto comprimidas en formato “*.gz”. y en su versión comprimida 1.4 Gb.

Hipótesis

La temática que concierne al equipo es cómo varían los éxitos de películas debido a distintos factores, tanto intuitivos, como no. Por lo tanto, las hipótesis que se buscan validar, inicialmente, son las siguientes:

  • Los Remakes son menos exitosos que el título original.
  • La popularidad de las películas hechas por un actor aumenta después de ganar un Oscar.
  • Las películas de acción ganan más que las películas dramáticas.

De forma preliminar, se plantea validar estas hipótesis a partir de distintos test y estadísticas descriptivas de los datos disponibles, pero en búsqueda de elevar la complejidad del desafío siguiente, se opta por el análisis de tags o tópicos del cine llamativos, como feminismo o racismo, como se ve en la próxima entrada.

Anuncios

Segundo Acercamiento

Recapitulando

Hasta este momento los pasos desarrollados han sido, en primer lugar está la elección de un tema específico a tratar, con los objetivos y motivaciones correspondientes. En segundo lugar, la obtención de una base de datos donde trabajar. Además se realizó una limpieza de los datos en donde fueron eliminadas las series, video juegos y material pornográfico.

Para un segundo acercamiento, se prefirió enfocarse en el análisis de la incidencia de eventos históricos en el desarrollo de la industria cinematográfica, tanto a través de la identificación de anomalías en la producción de películas asociadas a ciertos tópicos, como a través de la elección de sucesos en la historia y la posterior exploración y testeo de los datos.

Sobre los datos

Los datos utilizados corresponden a la base de datos de la página web IMDb, la cual, antes de ser parseada, tiene un tamaño total de 1.4 Gb. En forma bruta, la data se compone de diferentes archivos de texto en formato “*.list”, comprimidas en formato “*.gz”. Una vez descargados los archivos pertenecientes a la data, Python los toma  desde el repositorio ftp y extrae la información correspondiente usando un analizador sintáctico (parser). Luego, la información extraída es insertada en una base de datos relacional (Ilustración 1), utilizando un programa llamado “IMDb Py to SQL”.

Dado que la data se estructura, finalmente, como un modelo de entidad-relación, no se debe llevar a cabo un proceso de eliminación de atributos, esto porque a partir de querys en SQL se obtienen las tablas necesarias, con el número de atributos exactos a analizar. En cuanto a la eliminación de datos, se opta por utilizar todas las películas disponibles, eliminando series de televisión (datos incluidos en la base utilizada).

aaa
Ilustración 1: Modelo entidad-relación de la base de datos IMDb

Posterior a ello se han filtrado los datos, de manera que en el dataset resultante sólo permanecen aquellas películas que tienen asociado un rating, presupuesto y ganancia (datos que serán importantes para análisis posteriores). Tras esto, la data resultante consiste de una selección de 8706 películas, distribuidas temporalmente como se muestra en la Ilustración 2. Donde se ve el claro crecimiento de la cantidad de películas producidas a lo largo del tiempo.

 

all
Ilustración 2: Cantidad de películas producidas por año

Experimentos y resultados preeliminares

A continuación se buscará explorar el comportamiento de películas a lo largo del tiempo sobre distintos temas como:

  • Racismo
  • Homosexualidad
  • Sexo
  • Corrupción
  • Terrorismo
  • Cigarette smoking

La hipótesis en que se basa este trabajo, es que cuando un tema hace una aparición plosiva en la sociedad, esto se debiese ver reflejado en la representación de dicho tópico en el cine (por ejemplo, tras el Movimiento por los Derechos Civiles de los afroamericanos en la década de 1960, debiese existir una mayor representación de estos temas). Del mismo modo, un tema que se ha convertido en tabú, o que ha perdido su estatus, debiese aparecer menos en las pantallas (e.g, el consumo de tabaco).

Con esto en mente, para cada tema se armó un conjunto de keywords relacionadas, y hemos obtenido una lista de películas que tratan o mencionan dicho tópico.
Luego, para cada uno de estos conjuntos de películas se analiza su distribución temporal, buscando encontrar puntos de inflexión, en donde se produzca un alza o caída abrupta. En base a eso, se procede a analizar si es que ésta inflexión es significativa en términos estadísticos, usando el test t de Student. Para cada uno de los temas, los resultados de los temas más relevantes fueron los presentados a continuación.

Feminismo:

Con respecto al feminismo se ve que hubo un fuerte aumento en 1990 aproximadamente, pero luego de normalizar aquellas películas clasificadas en el género feminista con el total de películas producidas se ve que en realidad la cantidad.

proportcion

Luego realizando el test de proporciones se obtiene que las diferencias no son significativas, por lo que no se puede afirmar que el aumento en la catidad de películas con keywords feminism sea significativo, y que probablemente sólo se debe a que existió un aumento de películas en general.

Racismo:

propo racismo

Al igual que con el feminismo, se ve un claro aumento de películas al pasar el tiempo. Y también ocurre en el caso del racismo que no se puede asegurar que existe una diferencia significativa en el aumento de películas con keywords de racismo.

Test de Bechdel

Recapitulando

Luego del desafío anterior, enfocado al análisis de la incidencia de eventos históricos en el desarrollo de la industria cinematográfica en temas de contingencia, el proyecto continúa en la línea del “feminismo”, orientado a replicar el “test de Bechdel” en forma de un clasificador con el fin de determinar que películas son más o menos machistas que otras.

Con respecto a los datos, en esta oportunidad, se cruzaron los datos señalados con la base de películas de “bechdeltest.com”, donde se señala el puntaje de Bechdel (Bechdel Score) para cada película. Para ello se utiliza un script en Phyton que hacienda llamadas a una API obtuvo la información necesaria. Una vez descargados los datos, se hace join/merge con la base ya manejada en el conocido programa R.

¿Qué es el test de Bechdel?

Es una idea que nace en el comic “The rule”, por Alison Bechdel. Esta surge como una idea para evaluar la brecha de género en las películas a partir de 3 criterios base:

  1. En la película salen al menos dos personajes femeninos.
  2. Dichos personajes se hablan la una a la otra en algún momento.
  3. Dicha conversación tiene que tratar de algo más que no sea un hombre (no limitado a relaciones románticas, por ejemplo dos hermanas hablando de su padre no pasa el test).

Se pretende entonces usar Machine Learning para determinar si la película aprueba el test o no, sin contar con los diálogos de la película.

Exploración de la nueva data

Considerando que se tienen las clasificaciones de Bechdel asociadas a un subconjunto particular de la data manejada, se levanta una tabla para estos casos en particular, identificando los siguientes atributos de interés:

imgpsh_fullsize (2)

Utilizando tablas dinámicas con los resultados obtenidos al aplicar el test de Bechdel se obtuvieron las siguientes conclusiones:

  • Las películas dirigidas por mujeres corresponden a un 10% del total de películas que se testearon con el test de Bechdel.
  • Cuando una mujer dirige, en la gran mayoría de los casos ocurre que la primera mujer que aparece en el cast está más cercana a ser la protagonista.
  • Al dirigir una mujer, el 68,23% de dichos filmes son de la categoría drama y el 5,82% son de terror, mientras que en una película dirigida por un hombre el 50,77% pertenecen al genero de drama y el 11,5% son de terror. Por lo tanto la diferencia entre los porcentajes obtenidos es significativa.

presup.PNG

  • Bajo el test de Bechdel, cuando la película es dirigida por una mujer el promedio de score obtenido es de 2,75 (siendo 3 el máximo). Mientras que en una película dirigida por un hombre el promedio es de 2,05.
    Esto dice que en este caso las películas de hombre se quedan estancadas en el segundo criterio, en otras palabras, las mujeres en sus películas no hablan de algo que no sea hombres.

score.PNG

Además se realizaron pruebas con distintos clasificadores de weka y algunos de los resultados más interesantes se presentan a continuación:

image(1).png

Viendo el gráfico anterior se dice que entre las películas que no pasaron ningún nivel del test, 1,02% fueron dirigidos por una mujer, así se concluye con cada uno de los datos.Una gran conclusión que se destaca es que la tendencia de todas las curvas son positivas, esto quiere decir que a mayor score obtenido mayor participación de mujeres en los filmes.

image(3).png

Respecto al gráfico anterior, agrupando las siguientes curvas se tiene que rating y tamaño de elenco se presentan en cantidad, mientras que el presupuesto se ve en el eje de millones.

Por lo tanto, se ve que mientras menos score obtienen los filmes, mayor es el presupuesto del cual dispone. Además llama la atención en términos de presupuesto y tamaño de elenco la curva esta más inclinada a aquellas que están catalogadas con un menor score en el test de Bechdel.

Considerando estas observaciones se puede concluir que el hecho de que las mujeres (tanto directora como escritora) estén involucradas en la producción de la película favorece la participación de más mujeres dentro del filme.

Experimento

Probando con 27 clasificadores distintos (usando Weka) y viendo sus métricas correspondientes, se logró llegar a uno que lograra clasificar de mejor forma a los datos. A continuación se describen las métricas obtenidas con los mejores 3 clasificadores obtenidos. Dichos clasificadores corresponden a:

  • LogitBoost: logit por clases
  • DTNB: Mezcla entre tabla de decisiones y Naive Bayes
  • J48Consolidated: J48 (árbol de decisión) con distinción de clases

Como se puede mostrar en la figura a continuación el clasificador que mejor clasifica (valga la redundancia) corresponde al LogitBoost, dado que lidera en la mayoría de las métricas de ajuste. Cabe destacar que esto podría cambiar si se quisiera aplicar otro tipo de criterio.

caca.PNG

Tal como se comenta en el párrafo anterior el mejor clasificador, a nuestro criterio,  es el LogitBoost, dado que posee el menor error cuadrático medio y la mayor cantidad de instancias correctamente clasificadas, a diferencia de los demás. De todas formas la magnitud de los errores sigue siendo muy grande, no obstante dentro de lo empírico no es tan dañino.

Luego viendo el  Detailed Accuracy By Class del clasificador de LogitBoost se puede ver que la clase 3 provoca un aumento en las esperanzas obtenidas (ver la siguiente tabla). Esto tiene sentido ya que este corresponde a un criterio que considera los volúmenes de las clases, y dado que estas fueron calificadas por usuarios de manera manual, existe una sobrepoblación de estas observaciones en la muestra.

detail logit

imgpsh_fullsize (1)

A modo de evaluar los distintos tipos de modelos, destacan 4 grupos: “Bayes“, “Meta“, “Rules” (reglas) y “Tree” (árboles de decisión). Se puede identificar entonces que, en promedio, los modelos de árboles de decisión lideran en las métricas de FP, Precisión y F-Measure, mientras que los asociados a “rules” presentan una mayor tasa de observaciones bien clasificadas y mejores tasas de TP. Por otro lado, los métodos bayesianos lideran en error cuadrático medio y ROC, y finalmente, los modelos “meta” (grupo que posee al modelo con mejores métricas de ajuste) lideran solamente en recall.

Conclusiones

De manera inicial, es importante señalar que los resultados obtenidos estan sujetos a discusión, dada las proporciones de la data para cada Bechdel Score (9,3%, 23,1%, 10,8% y 56,8%, respectivamente). Esto implica que se entrenan los clasificadores con una sobrepoblación de datos que en universo “cinematográfico” no son tan frecuentes.

No es sorprendente que el modelo de mejor ajuste sea un logit con clases, dado que el análisis exploratorio señaló comportamientos particulares para cada grupo de películas determinado por el Bechdel Score (y, por otro lado, hablamos de variables nominales, por lo que se requiere un modelo clasificador de variable categórica).

No se puede afirmar a ciencia cierta si el clasificador es realmente bueno, dado que no contamos con proporciones reales (del universo) asociadas al Bechdel Score, sino que solo con las proporciones muestrales. No obstante, muestra métricas de ajuste que, dentro del mundo empírico, son optimistas, dada la alta dificultad asociada a la construcción de un clasificador.

Si bien la familia de modelos bayesianos lidera en métricas de ajuste, los modelos “meta”  (familia de modelos a la que pertenece LogitBoost) también muestran buenos indicadores, quedando en segundo lugar en muchas de las categorías observadas. También esta es una de las conclusiones a discutir, dado que no se consideran todos los modelos existentes, siendo estas métricas muy sensibles a valores bajos de los modelos escogidos.

Cabe recordar que uno de los objetivos planteados para este trabajo fue encontrar patrones o fenómenos no explícitos que se den de manera regular en éste ámbito, lo cual se llevó a cabo con el test de Bechdel, por lo que se puede afirmar que se cumplen los objetivos planteados al inicio del semestre.