Ir al contenido principal

Clase 2 - Filtrado basado en contenido

De la clase anterior nos quedamos con dos problemas asociados al filtrado colaborativo basado en usuarios, por un lado qué hacemos cuando los usuarios tienen pocos items consumidos y cuando existen items que nadie a consumido.

El nuevo enfoque que vimos en esta clase, es obtener los patrones de similitud no de los usuarios que consumieron los items sino de los items en si mismos. Esto quiere decir que la asociatividad se hace luego de representar el contenido de los items en un lenguaje de máquina (vectores, matrices, etc).

Gracias a este enfoque se logran recomendaciones más consistentes dado que la similitud se hace en base en las características de los items, sin embargo, al mismo tiempo esto se aleja del comportamiento de consumo real, ya que uno busca la diversidad de contenidos llegado a cierto punto de consumo.

Una de las representaciones típicas para items que contengan documentos es BoW (Bag of Words). Esta representación transforma los documentos en una matriz de palabras por documento estableciéndose la cantidad de veces que aparece cada palabra en cada documento.

Luego para realizar una representación efectiva, es necesario establecer una normalización de la frecuencia regulando e identificando que palabras son más relevantes que no siempre es igual a que este más veces.

Finalmente, luego de la representación es necesario generar el modelo que nos permita mediante alguna función de optimización encontrar los contenidos similares. (Distancia del coseno)

Comentarios

Entradas populares de este blog

Clase 3 - Práctico Solr

Esta clase se basó en un ejercicio práctico donde utilizamos Solr en la máquina virtual de cloudera. Solr es un motor de búsqueda que permite la navegación de contenido de textos indexándolos para que se pueda realizar análisis con mayor facilidad que con lógicas tradicionales. La actividad fue realizada en la máquina virtual de Cloudera, donde se instalaron 3 datasets : Yelp, Twitter y Logs. Cada datasets se componía de la siguientes cantidad de entradas: Logs: 9.410 Twitter: 22.218 Yelp: 1.000 Luego se realizó una exploración que consistió en la descripción de todos los campos presentes en cada datasets. Esto en particular nos mostró que la existe mucha información que no necesariamente es ingresada por el usuario sino que es asociada al contexto de la cada entrada y que permite explorar atributos como el lugar y la hora. Dentro de las actividades se probó la capacidad de búsqueda de la solución utilizando operaciones de agregación como filtros y sobre todo la funcionalid...