6. Algoritmos de recomendación híbrida
6.4 Recomendación de imágenes basada en contenido
Diseño modular
El objetivo del sistema es generar recomendaciones de imágenes de manera personalizada para cada usuario, teniendo en cuenta sus gustos estéticos y sus preferencias por unas determinadas características formales. Las recomendaciones generadas por el sistema están condicionadas, por un lado, a la inferencia de estos gustos por parte del sistema y, por otro, al ajuste de una serie de parámetros de entrada que tienen un valor por defecto pero que el usuario puede modificar para tener el mayor
150
cluster de vecinos para cada usuario, se procede a calcular la predicción del ítem deseado para el usuario en cuestión.
De las opciones estudiadas en el estado del arte, se decide la alternativa de los sumatorios de las desviaciones de la media, según (46), para lo que es necesario conocer, para cada uno de los usuarios vecinos de los que exista rating para el ítem en cuestión, ese propio valor de rating y el grado de similitud con el usuario
Es importante tener en cuenta que esta d almacenar los valores de rating medio de cada usuario.
El proceso completo de predicción del rating del ítem B para el usuario A, se muestra en siguiendo el ejemplo planteado en la Fig. 43.
. Ejemplo de predicción del rating del ítem B para el usuario A
Recomendación de imágenes basada en contenido
El objetivo del sistema es generar recomendaciones de imágenes de manera personalizada para cada usuario, teniendo en cuenta sus gustos estéticos y sus preferencias por unas determinadas características formales. Las recomendaciones a están condicionadas, por un lado, a la inferencia de estos gustos por parte del sistema y, por otro, al ajuste de una serie de parámetros de entrada que tienen un valor por defecto pero que el usuario puede modificar para tener el mayor de vecinos para cada usuario, se procede a calcular la
De las opciones estudiadas en el estado del arte, se decide la alternativa de los ), para lo que es necesario conocer, para cada uno de los usuarios vecinos de los que exista rating para el ítem en cuestión, ese propio valor de rating y el grado de similitud con el usuario Es importante tener en cuenta que esta decisión implica
(112) o A, se muestra en
Recomendación de imágenes basada en contenido
El objetivo del sistema es generar recomendaciones de imágenes de manera personalizada para cada usuario, teniendo en cuenta sus gustos estéticos y sus preferencias por unas determinadas características formales. Las recomendaciones a están condicionadas, por un lado, a la inferencia de estos gustos por parte del sistema y, por otro, al ajuste de una serie de parámetros de entrada que tienen un valor por defecto pero que el usuario puede modificar para tener el mayor
control posible sobre los algoritmos de recomendación ya definidos en el capítulo de objetivos
El sistema consta de dos bases de datos y de dos procesos independientes. La primera base de datos, “Anotación de imágenes”, almacena las ca
han extraído previamente
recomendación. La segunda base de datos, “Usuarios”, guarda información de los usuarios, relativa tanto a las imágenes que le
como a los gustos estéticos personales que han sido previamente inferidos por el sistema. Los dos procesos involucrados en el funcionamiento del sistema, y que interaccionan con estas bases de datos, son los siguientes:
1. Proceso de clasificación
usuarios del sistema. En el momento en que una imagen se añade al corpus general del sistema, este proceso emplea las herramientas y algoritmos de “Clasificación perceptiva”
extraer de las imágenes las correspondientes características y almacenarlas en la base de datos “Anotación de imágenes”.
2. Proceso de recomendación
cuando el usuario solicita una
recomendaciones personalizadas. Los módulos involucrados en este proceso son los de “Filtrado basado en contenido”, “Filtrado Colaborativo” e “Hibridación”.
El sistema opera directamente con las dos bases de dato transparente para el usuario, y solo requiere de éste
opcional de los parámetros de entrada del recomendador. Estos parámetros tienen unos valores por defecto que se corresponden con el comportamiento
pero pueden ser modificados por él en cualquier momento. En el siguiente apartado se detallan tanto los parámetros de ajuste que pueden ser modificados por el usuario, y que por lo tanto conforman la entrada del sistema, como la salida
recomendador.
Fig. 45. Esquema de bloques del sistema de recomendación de imágenes
151
obre los algoritmos de recomendación, según los criterios de usabilidad ya definidos en el capítulo de objetivos.
El sistema consta de dos bases de datos y de dos procesos independientes. La primera base de datos, “Anotación de imágenes”, almacena las características generales que se de las imágenes y que se utilizarán en el proceso de recomendación. La segunda base de datos, “Usuarios”, guarda información de los usuarios, relativa tanto a las imágenes que les gustan y disgustan (ratings explícitos) como a los gustos estéticos personales que han sido previamente inferidos por el sistema. Los dos procesos involucrados en el funcionamiento del sistema, y que interaccionan con estas bases de datos, son los siguientes:
sificación. Se trata de un proceso offline, independiente de los
usuarios del sistema. En el momento en que una imagen se añade al corpus general del sistema, este proceso emplea las herramientas y algoritmos de “Clasificación perceptiva”, ya definidos en el capítulo 5 de la tesis, extraer de las imágenes las correspondientes características y almacenarlas en la base de datos “Anotación de imágenes”.
Proceso de recomendación. Se trata de un proceso online
cuando el usuario solicita una recomendación, y genera una lista final de recomendaciones personalizadas. Los módulos involucrados en este proceso son los de “Filtrado basado en contenido”, “Filtrado Colaborativo” e
El sistema opera directamente con las dos bases de datos implicadas de manera el usuario, y solo requiere de éste una identificación y un ajuste opcional de los parámetros de entrada del recomendador. Estos parámetros tienen unos valores por defecto que se corresponden con el comportamiento habitual
pero pueden ser modificados por él en cualquier momento. En el siguiente apartado se detallan tanto los parámetros de ajuste que pueden ser modificados por el usuario, y que por lo tanto conforman la entrada del sistema, como la salida generada por el
. Esquema de bloques del sistema de recomendación de imágenes
, según los criterios de usabilidad
El sistema consta de dos bases de datos y de dos procesos independientes. La primera racterísticas generales que se que se utilizarán en el proceso de recomendación. La segunda base de datos, “Usuarios”, guarda información de los ratings explícitos), como a los gustos estéticos personales que han sido previamente inferidos por el sistema. Los dos procesos involucrados en el funcionamiento del sistema, y que
, independiente de los usuarios del sistema. En el momento en que una imagen se añade al corpus general del sistema, este proceso emplea las herramientas y algoritmos de el capítulo 5 de la tesis, para extraer de las imágenes las correspondientes características y almacenarlas online, que se ejecuta recomendación, y genera una lista final de recomendaciones personalizadas. Los módulos involucrados en este proceso son los de “Filtrado basado en contenido”, “Filtrado Colaborativo” e
s implicadas de manera una identificación y un ajuste opcional de los parámetros de entrada del recomendador. Estos parámetros tienen unos abitual del usuario, pero pueden ser modificados por él en cualquier momento. En el siguiente apartado se detallan tanto los parámetros de ajuste que pueden ser modificados por el usuario, y que generada por el
152
Descripción de entradas y salidas
A continuación se detallan las entradas del sistema, que coinciden con los parámetros de ajuste que el usuario puede modificar cada vez que solicita una recomendación. Se omite, de esta forma, tanto las entradas de las bases de datos, que son transparentes para el usuario, como la propia identificación del usuario.
Entradas:
• Número de imágenes. Aplica a la etapa final de hibridación. Especifica el
número de imágenes que el usuario quiere que el sistema le recomiende. • Peso de las técnicas de filtrado. Aplica a la etapa final de hibridación.
Determina la proporción de influencia que tienen, en la generación de las recomendaciones finales, los dos algoritmos principales del filtrado: el colaborativo y el basado en contenido.
• Umbral de imágenes. Aplica al filtrado basado en contenido. Este parámetro
es relativo a la exigencia visual de cada usuario; es decir, determina cuál es el umbral para que una imagen guste o deje de gustar al usuario.
• Umbral de atributo. Aplica al filtrado basado en contenido. Tiene el
propósito de fijar el umbral de impacto de los distintos atributos (características de las imágenes) en el usuario; es decir, determina cuándo un atributo está influyendo en el gusto de ese usuario, ya sea para bien o para mal.
• Coeficiente m. Aplica al filtrado basado en contenido. Este coeficiente se
introduce en la etapa final del filtrado basado en contenido, aplicándose a las métricas que generan los valores finales de distancia dentro de los espacios vectoriales definidos. De él depende que las recomendaciones finales sean más o menos homogéneas, por lo que su valor debe ir ligado al gusto general del usuario, pero también puede variar según su situación personal, por lo que no debe de tener un valor fijo.
• Parámetro de suavizado S. Aplica al filtrado basado en contenido. También
depende del usuario, ya que especifica si tienen más influencia en él las características positivas (que le gustan) o las negativas (que no le gustan) de una imagen, además de cuantificar esta diferencia.
Al quedar fuera del campo de investigación que se pretende abarcar, no se han incluido parámetros de ajuste relativos al filtrado colaborativo, aunque queda abierto como posible línea de futuro con el fin de trabajar en las distintas posibilidades de hibridación. En cuanto a las salidas, el sistema genera una lista de recomendaciones finales, como consecuencia última de la hibridación de los distintos métodos implementados. Cada uno de los elementos de esta lista presenta cuatro atributos que sirven para indicar ciertas características de utilidad para el usuario. Como ya se ha indicado, numerosos estudios han revelado la importancia de parámetros de este tipo en los sistemas de recomendación [144][145].
Salidas:
• Identificador. Identifica unívocamente el recurso recomendado, con el fin de
153
• Utilidad. Indica la predicción del sistema acerca de cuánto va a gustar el
recurso al usuario. Procede directamente de conjugar los resultados finales de distancia de las dos técnicas empleadas. En el sistema se ha implementado en una escala porcentual, entre 0 y 100.
• Confianza. Muestra cómo de fiable es la recomendación, su grado de
certidumbre, ya que esta dependerá de varios factores, como el número de usuarios del sistema, los datos existentes del usuario, la uniformidad de sus gustos, etc.
• Explicación. De acuerdo con la predicción de utilidad que se ha realizado, el
sistema genera un razonamiento acerca de por qué se recomienda una determinada imagen. El sistema diferencia la utilidad de la predicción procedente de cada una de las dos técnicas y, según este valor, genera explicaciones independientes pero complementarias. Por ejemplo, en el caso de un filtrado colaborativo, una posible explicación sería que se recomienda una imagen debido a que es una de las imágenes preferidas de un tanto por ciento determinado de usuarios afines (aquellos que tienen gustos similares al que pide la recomendación); en el módulo basado en contenido, una posible explicación sería que ciertas características formales de la imagen pueden originar una determinada afinidad con ese recurso. Este parámetro resulta muy valorado en los sistema de recomendación actuales, y es capaz de justificar la validez de los algoritmos [145][146].
Como ya se ha comentado, la principal novedad del sistema radica en los algoritmos de recomendación basada en contenido, por lo que los próximos apartados se centran en explicar el proceso de recomendación de imágenes.
Proceso de recomendación. Introducción
El proceso de recomendación diseñado consta de dos algoritmos principales, que se ejecutan en momentos diferentes dentro del ciclo de vida que mantiene el usuario con respecto al recomendador. El algoritmo principal es el “Algoritmo de recomendación basado en perfil”, que se ejecuta cuando existe información del usuario suficiente como para poder inferir y calibrar sus gustos estéticos y la influencia en sus preferencias de las distintas características formales de las imágenes. Sin embargo, cuando esta información no es suficiente, tiene lugar un problema de cold start (relacionado con el número de ítems, ya que el relacionado con el número de usuarios, propio del filtrado colaborativo, ya se solventa con el algoritmo de recomendación basado en contenido). Para evitar este problema se ha definido el “Algoritmo de inicialización basado en contenido”.
A continuación se desgrana el “Algoritmo de recomendación basado en perfil“ en dos apartados, uno de ellos referido a la generación de subespacios personalizados y al proceso de clustering, y otro que aborda las métricas definidas para el cálculo de las distancias y el proceso de decisión final. Por último, se explicará brevemente el “Algoritmo de inicialización basado en contenido”.
Para el desarrollo del algoritmo de recomendación se han tenido en cuenta dos métodos clásicos de tratamiento de información, de cuyo estudio se ha partido para desarrollar un nuevo proceso adaptado a las necesidades del sistema. Estos dos métodos clásicos son
el Análisis de Componentes Principales (PCA)
(MDS) [148], que no se explican ya que se consideran bien conocidos
Proceso de recomendación
La Fig. 46 muestra el proceso completo del “Algoritmo de recomendación basado en perfil”, que está formado por dos ramas principales: la primera de ellas sirve para inferir qué atributos hacen que una imagen resulte
rama inferior tiene en cuenta los atributos que hacen que una imagen no sea del gusto del usuario. El objetivo de cada una de las ramas es crear sendos subespacios vectoriales personalizados, el espacio afín y el espacio antiafín
representación de las imágenes en sendos sistemas de coordenadas adaptados a los gustos del usuario, sobre los que poder proyectar todas las imágenes que, previamente, tenían una representación vectorial común para todos los
personalizados permiten la aplicación de métricas y distancias que tienen en cuenta qué características (o combinación lineal de las mismas) influyen realmente en los gustos del usuario, así como la cuantificación de la magnitud e
A continuación, se explica el proceso para la primera de las dos ramas, ya que el funcionamiento de la otra resulta análogo y es el módulo de decisión final el que combina los resultados a los que se ha llegado por ambos c
Fig.
1. Selección de imágenes afines Como dato de entrada del sistema valoraciones explícitas de un usuario
de imágenes. Por lo tanto, el primer filtrado necesario establecerá cuáles de esas imágenes son las preferidas del usuario. Teniendo en cuenta que se establece como parámetro de entrada del sistema un umbr
procesado aquellas N· thiu
usuario. Por lo tanto, la matriz de salida A tendrá unas dimensiones de N·
154
tes Principales (PCA) [147] y el Escalado Multidimensional , que no se explican ya que se consideran bien conocidos.
Proceso de recomendación: subespacios personalizados y clustering
muestra el proceso completo del “Algoritmo de recomendación basado en perfil”, que está formado por dos ramas principales: la primera de ellas sirve para inferir os hacen que una imagen resulte atractiva para el usuario, mientras que la rama inferior tiene en cuenta los atributos que hacen que una imagen no sea del gusto del usuario. El objetivo de cada una de las ramas es crear sendos subespacios vectoriales personalizados, el espacio afín y el espacio antiafín. Estos subespacios permiten la representación de las imágenes en sendos sistemas de coordenadas adaptados a los gustos del usuario, sobre los que poder proyectar todas las imágenes que, previamente, tenían una representación vectorial común para todos los usuarios. Estos espacios personalizados permiten la aplicación de métricas y distancias que tienen en cuenta qué características (o combinación lineal de las mismas) influyen realmente en los gustos del usuario, así como la cuantificación de la magnitud en que se produce esa influencia. A continuación, se explica el proceso para la primera de las dos ramas, ya que el funcionamiento de la otra resulta análogo y es el módulo de decisión final el que combina los resultados a los que se ha llegado por ambos caminos.
Fig. 46. Algoritmo de recomendación basado en perfil
Selección de imágenes afines
Como dato de entrada del sistema se parte del conocimiento de una serie de valoraciones explícitas de un usuario (o medidas de interés inferido) sobre un conjunto de imágenes. Por lo tanto, el primer filtrado necesario establecerá cuáles de esas imágenes son las preferidas del usuario. Teniendo en cuenta que se establece como parámetro de entrada del sistema un umbral thiu, el sistema considerará para su imágenes que tienen una valoración más alta por parte del la matriz de salida A tendrá unas dimensiones de N·
scalado Multidimensional
muestra el proceso completo del “Algoritmo de recomendación basado en perfil”, que está formado por dos ramas principales: la primera de ellas sirve para inferir l usuario, mientras que la rama inferior tiene en cuenta los atributos que hacen que una imagen no sea del gusto del usuario. El objetivo de cada una de las ramas es crear sendos subespacios vectoriales . Estos subespacios permiten la representación de las imágenes en sendos sistemas de coordenadas adaptados a los gustos del usuario, sobre los que poder proyectar todas las imágenes que, previamente, usuarios. Estos espacios personalizados permiten la aplicación de métricas y distancias que tienen en cuenta qué características (o combinación lineal de las mismas) influyen realmente en los gustos n que se produce esa influencia. A continuación, se explica el proceso para la primera de las dos ramas, ya que el funcionamiento de la otra resulta análogo y es el módulo de decisión final el que
del conocimiento de una serie de sobre un conjunto de imágenes. Por lo tanto, el primer filtrado necesario establecerá cuáles de esas imágenes son las preferidas del usuario. Teniendo en cuenta que se establece como , el sistema considerará para su imágenes que tienen una valoración más alta por parte del la matriz de salida A tendrá unas dimensiones de N· thiux16, que
155
corresponde al número de imágenes afines (filas) por el número de descriptores generales con el que se caracterizan las imágenes en un primer momento.
La discriminación entre imágenes que gustan e imágenes que no gustan a partir de medidas cuantitativas de preferencia de los usuarios es sólo una de las opciones para manejar estas preferencias. En el recomendador de vídeos se presenta otra alternativa, en la que se ponderan las medidas cuantitativas de preferencia sin necesidad de