Sistema de recomendación de contenido de la plataforma On ...

20
0pt 2pt Universidad de los Andes Facultad de Ingeniería Maestría en Inteligencia Analítica para la Toma de Decisiones Bogotá, noviembre de 2020 Sistema de recomendación de contenido de la plataforma On Demand de Directv Luis Jorge García C. . a Autor Gerson Arturo Ramos b Autor Camilo Gómez c Asesor Maestría en Inteligencia Analítica para la Toma de Decisiones, Facultad de Ingeniería, Universidad de los Andes, Bogotá, Colombia Resumen Los sistemas de recomendación han sido protagonistas en las plataformas modernas de consumo de contenido y se han convertido en parte importante de la industria, potenciando el volumen de ventas a partir de recomendaciones personalizadas. La principal prioridad de estos sistemas es la de facilitar la toma de decisiones de los usuarios. Cuando existen muchas opciones de donde elegir, la elección de un contenido o producto es más compleja en comparación con tener pocas opciones. Es clave lograr reducir la cantidad de productos a los que se exponen los clientes, y es aún mas importante saber presentar los productos cercanos a las preferencias de los usuarios, dado que es muy probable que las ventas incrementen. En este documento, se presentará un sistema de recomendación para la plataforma on demand de Directv. A lo largo del documento, se presentarán las distintas etapas de desarrollo del sistema, incluyendo fase de ingesta de datos estructurados de negocio, datos no estructurados tomados de las imágenes representativas de cada contenido, y los textos que conforman la descripción de películas y series, incluyendo cada uno de los datos anteriores en un método de filtros colaborativos implícitos e híbridos, interpretando la mejor opción de cara al negocio, adicional en la última fase, se presenta un planteamiento para la implementación bajo una arquitectura moderna cloud, reduciendo la brecha tecnológica que acortaría el time to market de la solución de analítica avanzada propuesta. Palabras clave : sistema de recomendación, datos estructurados, redes neuronales, extracción de características, procesamiento de lenguaje natural, filtros colaborativos. Abstract Recommendation systems have been protagonists in modern content consumption systems and have become an important part of the industry, boosting sales volume based on personalized recom- mendations. The main priority of these systems is to facilitate decision-making by users. When there are many options to choose from, choosing a content or product is more complex compared to having few options. It is key to reduce the amount of products that customers are exposed to, and it is even more important to know how to present the right products, since it is very likely that sales will increase. In this document, a recommendation system for Directv’s on demand platform will be pre- sented. Throughout the document, the different stages of the system’s development will be presented, including the data ingestion phase, extraction of auxiliary data, analysis and interpretation of the results. Key words : Recommender system, . a Estudiante . E-mail: [email protected] b Estudiante . E-mail: [email protected] c Profesor . E-mail: [email protected] 1

Transcript of Sistema de recomendación de contenido de la plataforma On ...

Page 1: Sistema de recomendación de contenido de la plataforma On ...

0pt 2pt

Universidad de los AndesFacultad de Ingeniería

Maestría en Inteligencia Analítica para la Toma de DecisionesBogotá, noviembre de 2020

Sistema de recomendación de contenido de la plataforma OnDemand de Directv

Luis Jorge García C. .a

AutorGerson Arturo Ramos b

AutorCamilo Gómezc

Asesor

Maestría en Inteligencia Analítica para la Toma de Decisiones, Facultad de Ingeniería, Universidad delos Andes, Bogotá, Colombia

ResumenLos sistemas de recomendación han sido protagonistas en las plataformas modernas de consumo

de contenido y se han convertido en parte importante de la industria, potenciando el volumen deventas a partir de recomendaciones personalizadas. La principal prioridad de estos sistemas es la defacilitar la toma de decisiones de los usuarios. Cuando existen muchas opciones de donde elegir, laelección de un contenido o producto es más compleja en comparación con tener pocas opciones. Esclave lograr reducir la cantidad de productos a los que se exponen los clientes, y es aún mas importantesaber presentar los productos cercanos a las preferencias de los usuarios, dado que es muy probableque las ventas incrementen. En este documento, se presentará un sistema de recomendación parala plataforma on demand de Directv. A lo largo del documento, se presentarán las distintas etapasde desarrollo del sistema, incluyendo fase de ingesta de datos estructurados de negocio, datos noestructurados tomados de las imágenes representativas de cada contenido, y los textos que conformanla descripción de películas y series, incluyendo cada uno de los datos anteriores en un método de filtroscolaborativos implícitos e híbridos, interpretando la mejor opción de cara al negocio, adicional en laúltima fase, se presenta un planteamiento para la implementación bajo una arquitectura modernacloud, reduciendo la brecha tecnológica que acortaría el time to market de la solución de analíticaavanzada propuesta.

Palabras clave: sistema de recomendación, datos estructurados, redes neuronales, extracción decaracterísticas, procesamiento de lenguaje natural, filtros colaborativos.

AbstractRecommendation systems have been protagonists in modern content consumption systems and

have become an important part of the industry, boosting sales volume based on personalized recom-mendations. The main priority of these systems is to facilitate decision-making by users. When thereare many options to choose from, choosing a content or product is more complex compared to havingfew options. It is key to reduce the amount of products that customers are exposed to, and it iseven more important to know how to present the right products, since it is very likely that sales willincrease. In this document, a recommendation system for Directv’s on demand platform will be pre-sented. Throughout the document, the different stages of the system’s development will be presented,including the data ingestion phase, extraction of auxiliary data, analysis and interpretation of theresults.

Key words: Recommender system, .

aEstudiante . E-mail: [email protected] . E-mail: [email protected] . E-mail: [email protected]

1

Page 2: Sistema de recomendación de contenido de la plataforma On ...

2 García & Ramos

Índice

1. Introducción 3

2. Objetivos 42.1. Objetivo General: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2. Objetivos Específicos: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3. Marco teórico 43.1. VGG16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.2. Indice Tf–idf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.3. Silhouette Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.4. Sistemas de recomendación y Lightfm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.4.1. Métodos de filtrado colaborativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.4.2. Métodos basados en contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.4.3. Métodos híbridos - Lightfm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4. Metodología 84.1. Data Ingest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2. Creación del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5. Desarrollo del modelo 105.1. Cluster de títulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105.2. Sistema de Recomendación por filtros colaborativos . . . . . . . . . . . . . . . . . . . . . . 145.3. Sistema de Recomendación híbrido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.4. Métrica de negocio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

6. Implementación 176.1. Arquitectura propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7. Conclusiones y recomendaciones 19

Trabajo de grado, MIIA (2020)

Page 3: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 3

1. Introducción

DIRECTV es una de las empresas de servicios de difusión directa por satélite más grandes del mundo;provee una experiencia de televisión de primera calidad disponible a través de la adquisición, produccióny distribución de contenido exclusivo y único, el despliegue continuo de las últimas tecnologías para elentretenimiento digital y excelencia en servicio al cliente. Así mismo, DIRECTV es una empresa que estáen constante modernización y se preocupa por estar a la vanguardia de las nuevas tendencias, por lo cualen el año 2019 se hizo oficialmente el lanzamiento de DIRECTV GO, una plataforma de contenido digitalcapaz de hacer frente a la competencia que generan plataformas como Netflix y Amazon Prime Video.

DIRECTV GO es un servicio de streaming OTT (over-the-top) que ofrece una completa oferta deprogramación online incluyendo canales en vivo, contenido On Demand, transmisiones deportivas enexclusiva, paquetes Premium y el mejor entretenimiento de DIRECTV. Hay dos maneras de adquirireste producto, la primera es siendo usuario de televisión de la compañía bien sea en la línea Pospagoo Prepago de la misma. Y en segundo lugar, contratando el servicio de manera independiente donde elcliente realiza el pago por medio de una tarjeta de crédito y tiene libertad de cancelarlo cuando así loconsidere.

Cabe resaltar que DIRECTV ofrece entretenimiento de gran calidad, por ende es una compañía queno teme innovar con nuevas tecnologías, estrategias de atención al cliente o incluso rediseñarse comocompañía para ofrecer un mejor servicio; en consecuencia la inclusión de DIRECTV GO en el portafoliode la compañía representa un proyecto ambicioso con diferentes retos analíticos que deben ser resueltos,igualmente, con metodologías nuevas y que generen mucho valor.

En cuanto a la adquisición del producto, se ha logrado identificar que para los clientes que no tienencontratado el servicio de TV y que potencialmente podrían adquirir DIRECTV GO mediante una tarjetade crédito, en promedio el 25% decide seguir con el producto después del 7 día de prueba; además losclientes que deciden no seguir con el producto se caracterizan por tener bajos consumos en la plataforma(tiempo de reproducción, cantidad de reproducciones, etc.) o seguir eventos deportivos muy específicos(característica de DIRECTV, gran experiencia en deportes y exclusividad de transmisión de muchosotros).

El anterior hecho genera preocupación a las directivas de la compañía ya que la penetración de mercadoque se desearía no se está alcanzando y además el porcentaje de personas que deciden continuar con elproducto tampoco ha alcanzado las expectativas; por lo tanto surgen varias preguntas y se plantean variashipótesis a raíz de esto, entre los cuales se destacan:

• ¿Por qué se generan tan bajos consumos de la plataforma en los primeros siete días de prueba?

• ¿Cómo cambiar la plataforma para mejorar la experiencia de uso?

• ¿Cómo mejorar la fidelidad con la plataforma de los clientes con los que actualmente se cuenta?

En vista de lo anterior, se ha hecho una revisión exhaustiva de la plataforma con el fin de encontraroportunidades de mejora. En el contexto del desarrollo de este producto se ha logrado identificar que estacarece de un sistema de recomendación basado en el contenido y los gustos del usuario que implementemetodologías analíticas. Actualmente el sistema de recomendación se basa en los últimos estrenos, serieso películas de los canales más populares, incluso contenido deportivo variado y totalmente en vivo; peronada que se enfoque en los gustos particulares de cada cliente.

Por tal hecho, el área de Desarrollo de Producto LATAM ha solicitado el apoyo del área de AdvancedAnalytics con el fin de crear un sistema de recomendación en la plataforma que incorpore tanto data

Trabajo de grado, MIIA (2020)

Page 4: Sistema de recomendación de contenido de la plataforma On ...

4 García & Ramos

estructurada como variables socio-demográficas, de consumo, de pago, etc. Así como el uso de data noestructurada como imágenes y texto; que permita recomendar contenido de todo tipo y que sea de agradodel usuario, esto con el fin de mejorar la experiencia en la plataforma e incentivar el consumo de la misma.

2. Objetivos

2.1. Objetivo General:

Construir un sistema de recomendación de contenido basado en gustos del cliente y últimas tendencias;que logre generar mayores consumos de la plataforma.

2.2. Objetivos Específicos:

1. Extraer de manera correcta y eficiente los datos estructurados proveniente de tablas que contie-nen información del usuario y sus reproducciones en la plataforma, y de datos no estructuradosprovenientes de la carátula de las serie y su descripción.

2. Implementar metodologías deMachine Learning yDeep Learning tanto para la selección de variablesdel modelo como para la estimación del mismo, orientado a cumplir el objetivo principal.

3. Estimar y validar de manera correcta el modelo seleccionado para el objetivo anterior con su res-pectivo paso a producción.

3. Marco teórico

3.1. VGG16

VGG16 es un modelo de red neuronal convolucional con 16 capas propuesto por Simonyan & Zisserman(2014), cuyo entrenamiento se realizó con más de 14 millones de imágenes etiquetadas con 1000 categoríasdiferentes pertenecientes al conjunto de imágenes ImageNet1.

Figura 1: Estructura de VGG162

1Available in http://www.image-net.org/about-overview

Trabajo de grado, MIIA (2020)

Page 5: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 5

La entrada de este modelo es una imagen escalada a un formato de 224x224 píxeles con tres capasRGB que componen los colores de la imagen, esta transformación, ahora matricial, pasa por una seriede filtros con convoluciones relativamente pequeños (3x3); pasando posteriormente por convoluciones de(2x2) y (1x1), obteniendo toda la información de las capas anteriores que vienen de ser activadas porfunciones de rectificación lineal (ReLu).

Esta red pre-entrenada ha sido muy utilizada por sus buenos resultados en grandes conjuntos deimágenes, según (Simonyan & Zisserman 2014), VGG16 supera significativamente a la generación anteriorde modelos en las competencias ILSVRC-2012 e ILSVRC-2013. El resultado de VGG16 también compitepor ser el ganador de la tarea de clasificación (GoogLeNet con un 6,7% de error) y supera sustancialmentea la presentación ganadora del ILSVRC-2013 (ImageNet n.d.) por el grupo Clarifai , que logró un 11,2%con datos de entrenamiento externos y un 11,7% sin él. Con respecto al rendimiento de red única,la arquitectura VGG16 logra el mejor resultado (error de prueba del 7,0%), superando a una únicaGoogLeNet en un 0,9%.

3.2. Indice Tf–idf

El índice TF-IDF mide la relevancia de un término lingüístico (t) por cada apartado de texto que se estéanalizando (d), tomando la frecuencia de cada término en cada resumen tf(t, d) y multiplicándola por lafrecuencia inversa de la ocurrencia del término en la muestra de resúmenes idf(t). De esta manera se extraela importancia/significancia de los términos/palabras como información numérica para la estimación dela similitud entre películas.

Consideremos un conjunto de resúmenes (D). En este conjunto es de esperar que los artículos lingüís-ticos sean muy comunes (en inglés “a”, “the”, etc.), los cuales no ofrecen en verdad información relevanteacerca del contenido de una película. Entonces, si fuéramos a introducir el conteo de las palabras direc-tamente a nuestro cálculo de las similitudes (o a un clasificador), esos términos más frecuentes añadiríanruido sobre otros términos menos frecuentes pero posiblemente más interesantes (en verdad relevantespara entender el contenido de las películas).

De esta manera, la frecuencia de un término t en un resumen d está dada por tf(t, d), y el índicetf − idf(t, d) está dado por

tf − idf(t, d) = tf(t, d)× idf(t)

Dondeidf(t) = log

1 + n

1 + df(t)+ 1

siendo n el número total de resúmenes en D y df(t) es el número de resúmenes en D que contienen eltérmino t.

El resultado de los vectores tf − idf(d), de todos los términos en cada documento, son normalizadospor la norma Euclideana L2, tal que:

tf − idf(t, d)norm =tf − idf(t, d)√

tf − idf(t1, d) + ...+ tf − idf(tT , d)

Dónde T es el número total de términos.

3.3. Silhouette Score

El Score de Silhouette es una métrica altamente conocida en el área de aprendizaje automático,conocida por cuantificar la bondad de ajuste de los clusters en un modelo de aprendizaje no supervisado.Este coeficiente está definido para cada muestra y es combinación de la similaridad de los individuos dentro

Trabajo de grado, MIIA (2020)

Page 6: Sistema de recomendación de contenido de la plataforma On ...

6 García & Ramos

de cada cluster y su disimilaridad a puntos que no están dentro de su cluster. La fórmula matemáticapara un modelo de clusters con n puntos está dada por:

SC =1

n

n∑i=1

SampleSCi

Con SampleSCi es el Score de Silhouette para cada una de las muestras, donde:

SampleSC =b− a

max(b, a)

Dónde,a =distancia promedio entre la muestra a y todos los otros individuos en el mismo clusterb =distancia promedio entre la muestra a y todos los otros individuos en el cluster más cercano

El Score de Silhouette es acotado entre -1 (agrupamiento incorrecto) y 1 (excelente calidad de agrupa-miento). Un valor alto en esta medida, significa que el modelo de clustering está creando agrupamientosheterogéneos entre si, pero muy homogéneos dentro de cada uno. En caso contrario, un valor bajo, indicaque los clusters se sobreponen uno sobre otro.

3.4. Sistemas de recomendación y Lightfm

En las últimas décadas los sistemas de recomendación han jugado un papel fundamental en plataformascomo Youtube, Amazon, Netflix y muchos otras otras plataformas de servicios web similares. Desde elE-commerce, donde se proponen artículos que pueden interesarles a un público general, hasta publicidaden línea, donde se propone al usuario contenidos que sean adecuados y coincidan con sus preferencias; lossistemas de recomendación son inevitables y una gran ayuda para nuestros viajes diarios en la web.

Los sistemas de recomendación son, de manera general, un conjunto de algoritmos destinados a sugerirtemas o productos relevantes para los usuarios. Para lograr esta tarea, existen dos categorías principalesde métodos: Métodos de filtrado colaborativo y métodos basados en contenido; y una tercera categoríaque incluye a las dos anteriores llamada método híbrido.

3.4.1. Métodos de filtrado colaborativo

Los filtros colaborativos en los sistemas de recomendación son métodos que se basan únicamente en lasinteracciones pasadas registradas entre los usuarios y los elementos que componen el contenido, con el finde producir nuevas recomendaciones sobre contenido que normalmente estaría bajo cierta oscuridad. Estasinteracciones se almacenan en una matriz denominada "matriz de interacciones usuario-elemento". Losfiltros pueden ser con preferencias explícitas o implícitas, dado que no necesariamente los usuarios tiendena calificar o arrojar una medida de preferencia sobre un contenido que estén consumiendo (Yifan Hu 2008).

La idea principal de este método es que las interacciones pasadas entre usuarios y elementos sonsuficientes para detectar similitudes entre los mismos, para hacer predicciones basadas en dichas proxi-midades.

El método de mínimos cuadrados alternantes(ALS) (Yifan Hu 2008), es una técnica de filtro colabora-tivo que busca descomponer una matriz de preferencia Rm×n, con m usuarios y n ítems, en dos matricesmás pequeñas: la matriz de usuarios con sus vectores de patrones latentes Um×k y la respectiva matrizde ítems Vk×n. Se debe tener en cuenta que la matriz Rm×n tiene muchos datos faltantes (una matrizdispersa), pues muchos usuarios interactúan con unos pocos ítems.

En este método inicialmente se transforma la serie de preferencia en una medida de confianza

Cui = 1 + αrui

Trabajo de grado, MIIA (2020)

Page 7: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 7

Donde Cui representa la confianza del usuario u sobre el ítem i y α representa un factor de incrementolineal con respecto al rating del usuario.

Enfocándonos en el modelo de factores (f) latentes, le asignamos a cada usuario un vector xu ∈ Rf

y a cada ítem un vector yi ∈ Rf , donde la predicción corresponde con el producto interno

p̂ui = xTu yi.

Recordemos que esta predicción es binaria. En este caso vamos a incorporar el parámetro de confianzasobre la minimización de la función objetivo:

mı́nx,y

∑u,i

cui(pui − xTu yi)2 + λ(∑

u

||xu||2 +∑i

||yi||2)

La clave para resolver este problema mediante ALS consiste en que al fijar los factores de usuario olos de ítem, la función de coste se vuelve cuadrática. Al diferenciar (1) podemos minimizar la funciónpara los usuarios:

xu = (Y TCuY + λI)1Y TCup(u)

y de manera similar para los ítems,

yi = (XTCiX + λI)1XTCyp(i)

La ventaja de esta metodología es que no necesitan información sobre usuarios o elementos. Además,cuanto más interactúan los usuarios con los elementos, más precisas son las recomendaciones nuevas. Asímismo, una desventaja es la imposibilidad de hacer una recomendación a los nuevos usuarios o recomendarun elemento nuevo a cualquier usuario; a esto se le llama Cold Start.

3.4.2. Métodos basados en contenido

Este tipo de sistemas de recomendación utilizan información adicional sobre los usuarios o los ítems.La idea de los métodos basados en contenido es intentar construir un modelo, basado en las característicasdisponibles, que expliquen las interacciones observadas entre el usuario y el elemento.

Los métodos basados en contenido sufren menos por el problema de Cold Start ya que los nuevosusuarios o elementos pueden describirse por sus características, y por lo tanto, se pueden hacer sugerenciasrelevantes para estas nuevas entidades.

3.4.3. Métodos híbridos - Lightfm

En muchos casos está disponible información auxiliar que ayuda a caracterizar a los individuos o alos ítems; en tal caso la posibilidad de ajustar un modelo híbrido generará recomendaciones con base alcontenido y a las interacciones. Este enfoque es comparable al enfoque de ensemble en Machine Learning,toma fuerza ya que el poder de múltiples algoritmos de aprendizaje automático se combina para crear unmodelo más robusto.

LightFM es una implementación de Python de varios algoritmos de recomendación populares paratipos de comentarios tanto implícitos como explícitos. Es importante destacar que le permite incorpo-rar tanto los meta-datos del elemento como del usuario en los algoritmos tradicionales de factorizaciónmatricial, lo que hace posible generalizar a nuevos elementos (a través de características de elementos) ynuevos usuarios (a través de características de usuario).

En pocas palabras, LightFM puede utilizar las interacciones normales entre el usuario y el elementopara realizar predicciones para usuarios conocidos . En el caso de los nuevos usuarios, puede hacer pre-dicciones si conoce alguna información adicional sobre estos nuevos usuarios. Esta información adicionalpodría ser características como género, edad, etnia, etc. y debe ser alimentada al algoritmo durante elentrenamiento

Trabajo de grado, MIIA (2020)

Page 8: Sistema de recomendación de contenido de la plataforma On ...

8 García & Ramos

4. Metodología

La metodología desarrollada a lo largo de este proyecto se encuentra dividida en dos fases. En lafase 1, nos encargamos de la generación de datos a partir del contenido de las películas. En la fase 2 seincorporan estas características como un feature dentro del sistema de recomendación, para así lograrrelacionar dentro del sistema de recomendación el contenido mismo de cada película.

4.1. Data Ingest

La primera fase del proyecto consiste en el levantamiento y limpieza de datos, esto incluye informaciónproporcionada por el negocio e información obtenida en la web de acceso público. Los datos a trabajarcorresponde a 679,000 usuarios en todo Sur América (excluyendo Brasil, Paraguay y Bolivia) y cerca de35,000 títulos como series, película, documentales, eventos deportivos, entre otros.

Figura 2: Fase de generación de clúster de películas

1. Data estructurada: Para los dos tipos de clientes con los que cuenta DIRECTV GO, se tieneinformación del contenido observado, el género, hora del día en que se usa la plataforma, sistemaoperativo donde se está viendo el contenido, tipo de contenido visto y país de origen.

Tabla 1: Ejemplo de data de negocio

2. Data no estructurada: La fuente principal de información con la que se cuenta es la sinopsisdel contenido visto por cliente. Esta sinopsis hace referencia a la descripción que proporciona laprogramadora que emite la serie o evento deportivo y el título del mismo.

Además se tiene en cuenta que al tener contenido audiovisual, cada ítem en la plataforma con-tiene una imagen miniatura la cual a su vez hace de portada del mismo, es importante usar estainformación ya que junto con la sinopsis, la miniatura es la carta de presentación frente al usuario.

Trabajo de grado, MIIA (2020)

Page 9: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 9

Figura 3: Ejemplo de miniatura y descripción de una película

Para el levantamiento de los datos no estructurada se hizo un scrapping de los títulos en la plataforma,tomando como llave de búsqueda el título del contenido; se excluyeron eventos deportivos (encuentrosdeportivos de cualquier disciplina) con lo cual la base que se utiliza en esta fase contiene alrededor de24,000 títulos.

Tabla 2: Ejemplo de resultado del scrapping

En la construcción del scrapping, fue necesario construir una clase para realizar la búsqueda de lostítulos en la página IMDB, dentro del algoritmo implementado, se obtenía información de la película y/oserie y se almacenaba en un bucket s3 de AWS. La búsqueda tiene en cuenta los títulos con nombres enespañol, números, incluso caracteres especiales. Adicional a la fase de búsqueda, se incorporó un métodopara refinar la búsqueda y obtener los títulos con más información. En la Tabla 2 se observa un ejemplodel resultado del scrapping.

Después del scrapping con ayuda de la librería tmdbv3api de Python, se extrae información de 11,000títulos como el año de producción, géneros asociados, descripción del título y la imagen oficial. Poste-riormente se descartaron cerca de 2,000 títulos porque en al menos una de las variables mencionadasanteriormente, no presentaban información, por lo tanto la base finalmente contiene 9,333 títulos.

Trabajo de grado, MIIA (2020)

Page 10: Sistema de recomendación de contenido de la plataforma On ...

10 García & Ramos

4.2. Creación del modelo

Una vez culminada la fase I de levantamiento de información y limpieza de datos, en la Fase II sehará uso del agrupamiento de títulos y de información de consumo de los clientes como feedback implícitopara los títulos que cada uno decide observar.

Figura 4: Fase II: Estimación del sistema de recomendación

5. Desarrollo del modelo

5.1. Cluster de títulos

La motivación para utilizar data no estructurada se basa en el tipo de plataforma que es DirectvGo, una aplicación que presenta contenido audiovisual para todos los gustos. Como sostiene (Rychalskaet al. 2020) las características más importantes en los pósteres de los títulos permiten redescubrir lasherramientas de los creadores de carteles de películas. Los elementos del cartel que comparten en la partesuperior y las películas más influyentes presentan las características visuales que pueden considerarsecomo los que mejor simbolizan la trama. Estos elementos a menudo incluyen la elección del color, elposicionamiento similar y el número de caracteres, y la disposición espacial.

Si bien para este proyecto se utilizó una quinta parte de todos los títulos que contiene la plataforma,la idea de realizar una agrupación de los mismos, permitirá al sistema de recomendación tener un puntode partida y una recomendación disminuyendo el impacto del cold start cuando ingresen nuevos títulos,o bien, usuarios nuevos.

Para este agrupamiento, el primer paso consistió en extraer el top 5 de features más importantes enlos pósteres oficiales de cada título por medio de la red VGG16 como se presenta en la figura 5.

Trabajo de grado, MIIA (2020)

Page 11: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 11

Figura 5: Ejemplo de la salida red VGG16

Posteriormente, se crea una nueva variable que incorpora la salida del paso anterior, junto con eltítulo y la descripción de cada título. El procesamiento de esta información incluye limpieza de caracteresespeciales, transformación de contracciones, cambio a minúsculas, exclusión de stopwords y lematizacióndel texto limpio. Para entender la información disponible se realizó un análisis descriptivo de las palabrascon mayor frecuencia.

En el top 5 de palabras con mayor frecuencia se encuentran las palabras book, jacket y new cuyaparticipación se encuentra alterada por ser una salida frecuente de los features más importantes en lospósteres.

Trabajo de grado, MIIA (2020)

Page 12: Sistema de recomendación de contenido de la plataforma On ...

12 García & Ramos

Figura 6: Distribución de las palabras usadas en NLP

La hipótesis que se maneja en este agrupamiento de títulos consiste en plantear que títulos similarescontienen las mismos características en sus ilustraciones y además su descripción usa palabras que tambiénson similares. Para convertir las palabras en unidades cuantificables, se utilizó la transformación a vectoresnuméricos inversa tf-idf, optimizando los parámetros max_df, min_df y max_features para encontrar elmayor Score de Sillouette.

El Score de Silhouette permite encontrar a través de un Aggolerative Cluster el número óptimo degrupos con el cual se encuentra el mejor trade off entre las distancias dentro de un mismo cluster.

Trabajo de grado, MIIA (2020)

Page 13: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 13

Figura 7: Silhouette Score para el Cluster de títulos

El número óptimo de clusters se encuentra en 4,600. Cabe resaltar que en promedio se esperarían3 títulos por cluster, sin embargo, 2,985 clusters (65%) se consideran lo suficientemente disímiles comopara ocupar un cluster con solamente un título como se evidencia en la Figura 8. El restante 35% de losgrupos encontrados agrupan 7,098 títulos por la similitud en sus características.

Figura 8: Distribución de cantidad de títulos por Cluster, donde en el eje x se encuentran intervalos de los títulosagrupados

La ventaja que presenta esta agrupación en el desarrollo del sistema de recomendación radica en quela integración de nuevos títulos facilitará la recomendación de los mismos aún sin tener información desu consumo en la plataforma. En la Figura 9 se muestra un ejemplo de los títulos que quedaron asociadosen uno de los clusters.

Trabajo de grado, MIIA (2020)

Page 14: Sistema de recomendación de contenido de la plataforma On ...

14 García & Ramos

Figura 9: Títulos en el clúster K1882

5.2. Sistema de Recomendación por filtros colaborativos

En esta sección, se intentó buscar un enfoque para manejar el sistema de recomendación basadoen preferencia implícita, explorando un método llamado mínimos cuadrados alternantes (ALS). Bajo laperspectiva del filtrado colaborativo, se busca caracterizar la relación entre usuarios e ítems sin requeririnformación específica de los usuarios e ítems, sino solamente utilizando un valor de preferencia explícitoo implícito, expresando la interacción entre usuario e ítems. Un rating explícito (Yifan Hu 2008) consisteen un valor numérico, categórico o un like, mientras que un rating implícito consiste en un índice depreferencia, como un click, una vista o una compra. Para el sistema propuesto, no tenemos ningún ratingexplícito, por lo tanto, se utiliza un rating calculado a partir de las interacciones con la plataforma.

Inicialmente, al construir la matriz de interacción dispersa, se evidencia que se presenta un 99.8% dedatos nulos. Dentro del flujo de procesamiento de datos establecido, se contempló eliminar los títulos queno han sido vistos mas de diez veces en toda la base, de igual manera, se eliminaron los clientes que nohan tenido mas de diez interacciones con títulos en toda la base. Con estos ajustes, el porcentaje de nulosse reduce a 99.6%, de esta manera podemos aplicar el método de ALS.

Trabajo de grado, MIIA (2020)

Page 15: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 15

Tabla 3: Procesamiento de datos para calcular un rating de preferencia

5.3. Sistema de Recomendación híbrido

En esta etapa, se ajustó el modelo híbrido que no solo incluye la matriz de interacción, sino tambiénlas características de los elementos y las características del usuario.

Figura 10: Distribución de cantidad de títulos por Cluster

La matriz dispersa de dimensión 679,031 x 9,333 con 5’848,715 de interacciones entre usuarios y títulospresenta un 99.8% de entradas sparse o nulas; por lo que un filtro colaborativo puro no sería la mejoropción. Adicionalmente, se incluyó en el modelo Lightfm como información auxiliar para los usuarios elpaís de origen (’AR’,’CO’,’CL’,’UY’,’PE’,’EC’) y el tipo de usuario en la plataforma (’ott’,’tv-e’), variables

Trabajo de grado, MIIA (2020)

Page 16: Sistema de recomendación de contenido de la plataforma On ...

16 García & Ramos

requeridas por parte del negocio. Además este modelo híbrido también tuvo en cuenta información auxiliarpara los títulos, en ese caso se utilizó una variable llamada CLUSTER_GENERO, esta se calcula por elárea de Data Science de la compañía y permite clasificar en 6 grupos diferentes, el primer género asociadoa un título; así como la información de los 4,600 clusters encontrados gracias a la data no estructuradade cada título.

Figura 11: Ejemplo de la recomendación del sistema híbrido

Siendo el método de filtro colaborativo híbrido el modelo con mejores resultados estadísticos de de-sempeño, se decanta la propuesta en seleccionar este modelo híbrido para la implementación en el negocio.Como se muestra en la figura 11 para un usuario seleccionado al azar que ha visto con anterioridad títulosde dibujos animados, series de ciencia ficción, títulos de géneros como drama, comedia, thriller y crimen,entre otros; el sistema le recomendará títulos que aún no ha visto con contenido similar y con génerosque aún no ha visto, como biografía o ciencia ficción.

Para poder determinar cuál es el modelo que mejor resultado le traería a la compañía, se elige comométrica analítica de desempeño el que mejor AUC promedio por cliente presente, en todos los casosse utilizaron muestras de train/test, donde la primera presentaba 80% de los datos, y se validaba conla segunda que contenía el 20% de datos restantes. Sobre el primer conjunto de datos se .ocultan"laspreferencias asignándole un valor de cero en las interacciones de los usuarios sobre el contenido, para noincluirlos en la fase de entrenamiento. Los valores .ocultos"sobre el conjunto de datos de entrenamiento,existen en el conjunto de datos de validación con sus valores originales.

Con el proceso de construcción del conjunto de entrenamiento y conjunto de test claro, al calcular elAUC promedio del sistema de recomendación utilizando una recomendación básica basada en popularidad,es decir, recomendando los ítems mas vistos por los usuarios, obtenemos que el AUC promedio es de 0.9.Al implementar un modelo basado únicamente en las interacciones del usuario, tomando como medida deinteracción una relación entre el tiempo absoluto de visualización de un título y la cantidad de play queel usuario realizó sobre el título, se obtiene un AUC promedio de 0.92. Al final, al implementar un modelohíbrido donde se toma de manera explicita información del usuario (país del usuario, tipo de usuariobasado en su consumo en la plataforma) que es obtenida directamente de los datos estructurados delnegocio, junto con información del título, proveniente de la clasificación de cluster obtenida en el título(basado en las características de la imagen del póster y de la descripción de la película) y una clasificaciónde genero obtenida de las reglas de negocio, se obtiene una métrica de AUC promedio de 0.94 sobre elmodelo híbrido.

Trabajo de grado, MIIA (2020)

Page 17: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 17

Tabla 4: Resumen de los resultados de los modelos implementados

5.4. Métrica de negocio

Los sistemas de recomendación a menudo son incorporados al negocio de manera near real time, ycon eso, la validación de las recomendaciones se puede realizar comprobando que el contenido que elcliente está consumiendo, es efectivamente el contenido recomendado. En el sistema propuesto, dado queno se encuentra implementado aún en un ambiente productivo, se propone un indicador para ayudara dimensionar que tan bueno será nuestro sistema recomendando contenido tomando como referencia,el uso que un conjunto de usuarios le han dado a la plataforma; es decir, ejecutando recomendacionessobre datos históricos, y verificar que tan cerca estuvo la recomendación de la propuesta, con el uso realde la plataforma. Para realizar esta aproximación, es necesario acotar el escenario con dos supuestosfuertes (1) la reproducción de un título que ha sido recomendado por el modelo obedece únicamente ala preferencia intrínseca de un usuario y no por factores externos (tendencias, publicidad, otros sistemasde recomendación, etc) y (2) el éxito de la recomendación se calcula sobre la interacción usuario-títuloúnicamente basada en la historia reciente de reproducciones de títulos.

Tci = {t0, t1, ..., tn} , Rci = {t0, t1, ..., tn}

Donde n es el número de títulos recomendados, R representa el conjunto de predicciones realizadas porel modelo para el cliente ci

Rec =

{True,∨ → TciεRci

False

Se asigna un valor positivo para todas las recomendaciones que fueron congruentes con el contenido vistopor el cliente

Ind =

∑clientsi=1 Rec

Interactions

Al final se hace un totalizado, sobre todos los contenidos recomendados, que tuvieron interacción porla base de clientes. Se realizó un cálculo con un día específico, el 2020-10-31, obteniendo un total de436,788 interacciones, con 136,277 clientes únicos. Del total de interacciones, 111,058 pudieron haber sidorecomendadas por el sistema propuesto, dando un indicador de 0.2542. Esto es, sobre las reproduccionesrealizadas en un periodo de tiempo, una de cada cuatro reproducciones se habrían realizado gracias a lainfluencia del sistema de recomendación propuesta.

6. Implementación

Un sistema de recomendación ofrecerá grandes ventajas competitivas, y es necesaria la inclusión delas diferentes unidades de negocio para trabajar en conjunto con la puesta en marcha de este tipo deiniciativas llevadas a cabo por el área de Advanced Analytic.

En esta sección se describe la propuesta de solución a nivel de arquitectura e infraestructura que sedebe llevar a cabo para automatizar y operar el sistema de recomendación.

Trabajo de grado, MIIA (2020)

Page 18: Sistema de recomendación de contenido de la plataforma On ...

18 García & Ramos

Figura 12: Resumen de los resultados de los modelos implementados

La solución propuesta tiene como punto de partida a un proveedor de infraestructura como servicio(IaaS) llamado AWS (Amazon Web Services). Sobre este proveedor, se estarán desplegando los distintoselementos de computo y orquestación de la solución de analítica avanzada. Adicional, los elementos seestarán desplegando con ayuda de un proveedor de infraestructura como código (IaC) llamado Terraform.Con esta herramienta, se puede entregar a la compañía en un archivo plano, toda la infraestructura quese estará creando, al compilar con un usuario de la compañía en su respectiva cuenta de AWS.

6.1. Arquitectura propuesta

Los servicios con los que se desarrolla la propuesta son:

• S3: Simple Storage Service, es el servicio de AWS para el almacenamiento de objetos, la capacidades del orden de los hexabytes, y cuenta con un costo por almacenamiento y por transferencias porfuera de la región en la que se encuentre desplegado.

• SFTP Transfer Family: Servicio de AWS para exponer un bucket s3, a través del protocolo SFTP.Desde el lado del cliente, solo se requiere configurar conexión con llaves ssh.

• Batch: Servicio de ejecución efímera de computo, al configurar un trabajo y una definición decomputo, este servicio tiene la facultad de iniciar una máquina (instancia) de trabajo, lanzar unproceso y luego destruir. Es ideal para cargas fuertes de trabajo, pero de poca duración.

• ECR: Elastic Container Registry, es un servicio que nos permite usar contenedores en la nube, sobreeste servicio podemos almacenar programas y definiciones, para luego ser desplegadas sobre equiposde computo.

• Event Rule: Es un servicio incluido dentro de Cloudwatch, su función principal es la de servir dedisparador, basado en una definición de eventos que se configure.

• Steps Function: Es un orquestador de ejecuciones, sobre él, podemos definir el flujo de nuestroproceso, se pueden incluir condicionales, validaciones y ejecuciones de otros servicios.

• EC2: Elastic Cloud Compute: Es la unidad de procesamiento y computo de AWS.

Trabajo de grado, MIIA (2020)

Page 19: Sistema de recomendación de contenido de la plataforma On ...

Sistema de Recomendación Directv Go 19

El procedimiento planteado inicia con la configuración de un cliente SFTP dentro de la entidad, esteservidor que se configure, estará exponiendo unas rutas de un bucket S3. La unidad de negocio encargadade administrar la parrilla de contenido, deberá cargar una base mínimo con los mismos campos utilizadosa lo largo del sistema desarrollado.

Al ubicar el archivo sobre la ruta acordada, este se transferirá a la nube, y se copiará en el bucket s3,sobre una ruta parametrizada previamente para accionar el Event Rule. Posterior a esto, el Step Functionse lanzará y orquestará el pipeline de ejecución de la predicción.

El entry-point configurado para ejecutar las predicciones, debe estar debidamente configurado sobreel modelo que se cargue en la imagen de Docker del ECR. El Step function, levantará un proceso deBatch, y este a su vez, creará una instancia de EC2, a donde instalará la imagen de Docker, y se iniciarála predicción.

El modelo entrenado, puede estar en una ruta de s3, visible desde la instancia que se levante. Lapredicción, se escribirá directamente sobre la ruta previamente configurada en la entidad como salida.

7. Conclusiones y recomendaciones

Teniendo en cuenta que el problema de negocio presentado era incentivar el consumo de contenido enla plataforma, se presentó una metodología analítica que mediante el uso de machine learning, estima unsistema de recomendación capaz de presentar contenido muy relacionado a los gustos de usuario, o bien,según lo que más popularidad tenga; esto se ve evidencia con la mejora en la métrica de evaluación quepresentó el modelo LigthFM frente a lo que se presentaría solo por popularidad de los títulos.

Si bien el paso a producción del modelo dentro del negocio hace parte de un proyecto en el medianoplazo, este primer acercamiento a un sistema de recomendación tiene argumentos suficientes para empezara trabajar en conjunto con los desarrolladores de la plataforma y cuantificar sobre una muestra piloto laefectividad del mismo.

Como se mencionó anteriormente el rendimiento de LightFM en este caso de negocio supera otrasmetodologías propuestas más sencillas cómo lo son los modelos ALS y por popularidad. Esto demuestraque (1) la información auxiliar incorporada para los usuarios (tipo de usuario y país de origen) y lostítulos (cluster de títulos estimado con información de las miniaturas y la descripción y clúster de génerosque calcula internamente el área de Data Science de la compañía) además de mejorar el arranque en fríopara los clientes nuevos, permite incrementar el performance del modelo , y (2) LightFM puede utilizardicha información con mucha más precisión y crear un modelo más robusto a datos atípicos.

Directv cuenta con información que se calcula de manera mensual como segmentaciones, perfilamien-tos, modelos de decersión de servicio y pago, entre otros. Dicha información se podría incluir en unsistema de recomendación cuya implementación no tenga las debilidades de tener información a corte demes anterior, ya que el éxito de una buena recomendación se basa en hacerla en tiempo real.

Basado en el indicador de reproducciones, el modelo se presentará al área encargada de desarrollo de laplataforma con un potencial en la participación de reproducciones mensuales de hasta 25%; manteniendolos supuestos que conlleva la sustentación de esta cifra.

Trabajo de grado, MIIA (2020)

Page 20: Sistema de recomendación de contenido de la plataforma On ...

20 García & Ramos

Referencias

Cavnar, W. B., Trenkle, J. M. et al. (1994), N-gram-based text categorization, in ‘Proceedings of SDAIR-94, 3rd annual symposium on document analysis and information retrieval’, Vol. 161175, Citeseer.

Chavent, M., Kuentz-Simonet, V., Labenne, A. & Saracco, J. (2014), ‘Multivariate analysis of mixeddata: The r package pcamixdata’, arXiv preprint arXiv:1411.4911 .

ImageNet (n.d.), ‘Large scale visual recognition challenge 2013’.*http://www.image-net.org/challenges/LSVRC/2013/

Kondrak, G. (2005), N-gram similarity and distance, in M. Consens & G. Navarro, eds, ‘String Processingand Information Retrieval’, Springer Berlin Heidelberg, Berlin, Heidelberg, pp. 115–126.

Kula, M. (2015), ‘Metadata embeddings for user and item cold-start recommendations’, arXiv preprintarXiv:1507.08439 .

Mikolov, T., Chen, K., Corrado, G. & Dean, J. (2013), ‘Efficient estimation of word representations invector space’, arXiv preprint arXiv:1301.3781 .

Mudrova, M. & Procházka, A. (2005), Principal component analysis in image processing, in ‘Proceedingsof the MATLAB Technical Computing Conference, Prague’.

Pardo, C. E., Ortíz, J. & Cruz, D. (2012), Análisis de datos textuales con dtmvic, in ‘XXII SimposioInternacional de Estadística’, pp. 1–42.

Retamozo Sánchez, M. Á. (n.d.), ‘Predicción de puntos de vista de imágenes 2d usando deep learning’.

Rychalska, B., Basaj, D., Dąbrowski, J. & Daniluk, M. (2020), ‘I know why you like this movie: Inter-pretable efficient multimodal recommender’, arXiv preprint arXiv:2006.09979 .

Sarkar, D., Bali, R. & Sharma, T. (2018), Practical machine learning with Python, Springer.

Simonyan, K. & Zisserman, A. (2014), ‘Very deep convolutional networks for large-scale image recogni-tion’, arXiv preprint arXiv:1409.1556 .

Yifan Hu, Yehuda Koren, C. V. (2008), ‘Collaborative filtering for implicit feedback datasets’, Proceedings2008 Eighth IEEE International Conference on Data Mining, Washington, USA .

Trabajo de grado, MIIA (2020)