4. Typology versus Practice
4.10. Conclusion
Este método denominado “Filtraje Colaborativo” parte del hecho de que un artículo ya ha sido calificado por otros usuarios y que entre los usuarios es posible definir una similitud muy cercana entre las preferencias de ellos, las cuales se conocen en base a las calificaciones que han otorgado a los artículos que han sido de interés para ellos. La tarea en el filtraje colaborativo es predecir la calificación que un usuario particular, denominado usuario activo “a” le daría a un artículo “i” a partir de las calificaciones de los usuarios sobre un conjunto de otros usuarios que han calificado artículos de categorías similares.
El procedimiento para realizar una recomendación a un usuario es la siguiente:
1. Se tiene un conjunto de usuarios y de artículos, desconociendo las características de los artículos y las preferencias de los usuarios. 2. Las calificaciones que los usuarios dan a cada artículo se
almacenan en una base de datos en donde un conjunto de calificaciones o votos vij, correspondiente al voto del usuario “i”
para el artículo “j”. El promedio de las calificaciones emitidas por el usuario “i” se calcula mediante:
3. La función ω(a,i), denominada función de peso, la cual determina la similitud entre vectores mediante el cálculo del ángulo formado por los dos vectores de las caracterizaciones de los usuarios, se calcula con la siguiente fórmula:
4. La calificación estimada que el usuario activo daría al artículo “j” es pa,j, el cual se obtiene mediante la siguiente fórmula:
Donde “n” es el número de usuarios en la base de datos con pesos diferentes de cero, es decir usuarios que han calificado artículos catalogados en las mismas categorías o en categorías relacionadas.
“K” es un factor de normalización tal que el valor absoluto de los pesos suma la unidad.
3.4. Recomendación basada en Método Híbrido
En vista de la discusión que hicimos en la introducción a este capítulo sobre las desventajas tanto del FC como de los métodos basados en clasificación de contenido, propondremos ahora un método combinado, mixto o “híbrido”.Éste método busca combinar las ventajas de los métodos de recomendación basada en la preferencia de los usuarios y el filtraje colaborativo.
El nuevo método híbrido propuesto estima la votación de un usuario para un cierto artículo, en base a la siguiente información:
- Artículo, Información de éste, almacenada en un vector de clasificación del artículo (siguiendo el procedimiento descrito en la primera parte de este capítulo).
- Usuario, información de éste almacenada en un vector de preferencias de los usuarios.
- Calificaciones asignadas a algunos artículos. - Número de usuarios de perfiles similares.
- Número de artículos calificados por los usuarios.
La información de los artículos y los usuarios es utilizada en el método de recomendación basada en la preferencia de los usuarios, mientras que la información de las calificaciones asignadas a los artículos es utilizada en el método de filtraje colaborativo, de lo cual surge la iniciativa de combinar ambos métodos con la finalidad de preservar las ventajas de cada método, de tal manera que se obtengan resultados aproximados cuando:
- El usuario no haya emitido voto alguno (nuevo usuario en el sistema de recomendación).
- Sean pocos usuarios en el sistema
- Las preferencias de los usuarios no sean similares. - El artículo no tenga ninguna calificación.
Tales situaciones se presentan en el inicio del sistema. Además se requiere que el nuevo método cuente con las siguientes características:
- Sea posible hacer recomendaciones al inicio del sistema - El sistema identifique las preferencias reales de los usuarios
- Entre mayor sea el número de artículos calificados por el usuario, mayor sea la confiabilidad de la estimación de su calificación. Tomando los puntos anteriores y las características conocidas de método de recomendación basada en la preferencia de los usuarios y el filtraje colaborativo, tenemos que el método híbrido debe:
- Tomar al 100% los datos del método de recomendación basada en preferencia de los usuarios, al inicio de la operación del sistema.
- Tomar al 100% los datos del filtraje colaborativo, cuando ya se tengan usuarios en el sistema con calificaciones asignadas a ciertos artículos y el artículo que se desea recomendar haya sido calificado por otros usuarios.
- Tomar partes proporcionales de ambos métodos, a medida que se va incrementando el número de artículos en el sistema de recomendación.
- El resultado del método debe ser un valor entre “0” y “5”; rango de valores de las calificaciones que emiten los usuarios.
Los dos métodos se pueden combinar utilizando una función, que siga el comportamiento descrito en los puntos anteriores, además se debe de considerar que el método de filtraje colaborativo no proporciona recomendaciones a un usuario que no ha emitido calificaciones para ningún artículo, es decir no es posible recomendarle un primer artículo dado que se desconoce el tipo de artículos que le interesa.
La combinación de ambos métodos utilizando un producto, o una exponenciación den como resultado una función creciente y nos es posible obtener los puntos descritos anteriormente, sin embargo mediante una combinación lineal, donde ambos métodos deben aportar de manera predominante el valor resultante de estos en algún momento del proceso y deben de tener un comportamiento estable. Sean:
- “a” el usuario al que se le recomendará un artículo. - “i”, artículo que será recomendado al usuario “a”.
- rpu, una variable real con valores entre 0 y 5, que identificará al resultado obtenido del método de recomendación basada en la preferencia de los usuarios, al estimar la calificación que el usuario “a” le daría al artículo “i”.
- cf, una variable real con valores entre 0 y 5, que identificará el resultado obtenido del filtraje colaborativo, al estimar la calificación que el usuario “a” le daría al artículo “i”.
- mx, una variable real con valores entre 0 y 5, que identificará el método mixto o híbrido, al estimar la calificación que el usuario “a” le daría al artículo “i”
Luego entonces, formalizando, el método híbrido se define como: mx = rpu + cf y son coeficientes reales Para cubrir lo que se espera del método, debe de ser una función continua del número de artículos estrictamente decreciente, ya que al inicio del proceso debe de predominar el valor del método de recomendación basada en preferencias y en el transcurso del tiempo debe de ir aportando un valor menor al procedimiento híbrido, su recorrido tomará valores entre 0 y 1, mientras que debe ser una función continua del número de artículos estrictamente creciente, debido a que al inicio el método de filtraje colaborativo no aporta valor al método híbrido, con forme el tiempo transcurre se incrementa su aportación al método híbrido hasta que el método híbrido tome completamente el valor del método de filtraje colaborativo; su recorrido tomará valores entre 0 y 1. Además los resultado de las funciones y deben de sumar la unidad.
Tanto el método de filtraje colaborativo como el método basado en preferencias de usuarios dan una recomendación la cual toma valores entre 0 y 5, si tales cantidades son multiplicadas por un valor entre 0 y 1, el resultado obtenido será un valor entre 0 y 5, en la fórmula del método híbrido se considera que y son valores complementarios, Ya que la suma de y siempre dará como resultado la unidad; con lo que se garantiza que las recomendaciones del método híbrido tomen valores entre 0 y 5. Por lo que:
= {1/nk | n ∈ N} tal que ∈ [0,1]
= {(nk -1)/ nk. | n ∈ Ν } tal que ∈ [0,1]
Donde n es el número de artículos que el usuario ha calificado más uno.
El valor de k es la unidad (1), ya que para k >1 las funciones y crecen o decrecen más rápidamente, lo cual impide que se cumplan con las características del método híbrido.
A manera de ejemplo, tenemos lo siguiente:
n 1 2 3 4 5 6
1 1/2 1/3 1/4 1/5 1/6
Tabla 3.5 Ejemplo de valores de la función
n 1 2 3 4 5 6
0 1/2 2/3 3/4 4/5 5/6
Tabla 3.6 Ejemplo de valores de la función
En el siguiente capítulo se emplea la fórmula obtenida en esta sección para mostrar el comportamiento del método híbrido.