técnicas de recomendación y argumentación
DESCRIPTION
Descripción de las técnicas de recomendación y argumentación utilizadas en los distintos tipos de Sistemas de RecomendaciónTRANSCRIPT
TÉCNICAS DE RECOMENDACIÓN Y ARGUMENTACIÓN
AGENDA
• Técnicas de recomendación • Collaborative Filtering
• Content-based
• Knowledge-based
• Híbridas
• Técnicas de argumentación • Predicciones
• Recomendaciones
COLLABORATIVE FILTERING
• Valoraciones de todos los usuarios como características de los ítems
• Perfil de usuario • En base a las valoraciones del propio usuario
• Recomendaciones o predicciones • Por similaridad/probabilidad entre usuarios
• Por similaridad/probabilidad entre ítems
[Schafer, 2007]
COLLABORATIVE FILTERING
• Universo • Valoraciones de U de los ítems en I
• Entrada • Valoraciones de u de los ítems en I
• Proceso • Identificar usuarios en U similares a u y extrapolar sus valoraciones
de i
[Burke, 2002]
COLLABORATIVE FILTERING
• Predicciones • Valor numérico que representa la opinión anticipada del usuario
para el ítem no valorado. Conocido como Individual Scoring.
• Recomendaciones • Lista de N ítems que se corresponden con las preferencias del
usuario. Conocido como Top-N recommendation o Rank Scoring.
[Vozalis, 2003]
PREDICCIONES
[Zanker, 2010]
PREDICCIONES
[Zanker, 2010]
RECOMENDACIONES
9 Collaborative Filtering Recommender Systems 293
(Table 1). Without loss of generality, a ratings matrix consists of a table where each
row represents a user, each column represents a specific movie, and the number at the
intersection of a row and a column represents the user’s rating value. The absence of a
rating score at this intersection indicates that user has not yet rated the item.
Table 1. A MovieLens ratings matrix. Amy rated the movie Sideways a 5. Matt has not seen
The Matrix
The Matrix
Speed Sideways Brokeback Mountain
Amy 1 2 5
Matt 3 5 4
Paul 5 5 2 1
Cliff 5 5 5 5
The term user refers to any individual who provides ratings to a system. Most often,
we use this term to refer to the people using a system to receive information (e.g.,
recommendations) although it also refers to those who provided the data (ratings)
used in generating this information.
Collaborative filtering systems produce predictions or recommendations for a
given user and one or more items. Items can consist of anything for which a human
can provide a rating, such as art, books, CDs, journal articles, or vacation destinations.
Ratings in a collaborative filtering system can take on a variety of forms.
· Scalar ratings can consist of either numerical ratings, such as the 1-5 stars provided
in MovieLens or ordinal ratings such as strongly agree, agree, neutral, disagree,
strongly disagree.
· Binary ratings model choices between agree/disagree or good/bad.
· Unary ratings can indicate that a user has observed or purchased an item, or other-
wise rated the item positively. The absence of a rating indicates that we have no in-
formation relating the user to the item (perhaps they purchased the item somewhere
else).
Ratings may be gathered through explicit means, implicit means, or both. Explicit ratings are those where a user is asked to provide an opinion on an item. Implicit ratings are those inferred from a user’s actions. For example, a user who visits a
product page perhaps has some interest in that product while a user who subsequently
purchases the product may have a much stronger interest in that product. The issues of
design decisions and tradeoffs regarding collection of different types of ratings are
discussed in section 9.4.
9.1.2 The Beginning of Collaborative Filtering
As a formal area of research, collaborative filtering got its start as a means to handle
the shifting nature of text repositories. As content bases grew from mostly "official"
content, such as libraries and corporate document sets, to "informal" content such as
discussion lists and e-mail archives, the challenge of finding quality items shifted as
RECOMENDACIONES
• kNN
RECOMENDACIONES
• Similaridad
Euclidiana
Minkowski
Mahalanobis
Coseno
RECOMENDACIONES
[Vozalis, 2003]
PROBLEMAS
• Sparsity • Default Voting
• Insertar valoraciones por default
• User Average Scheme
[Vozalis, 2003]
PROBLEMAS
• Sparsity • Singular Value Decomposition (SVD)
[Amatriain, 2011]
COLLABORATIVE FILTERING
• Escenarios para su utilización:
• Ítems que no requieran una exactitud semántica con las preferencias
del usuario
• Ítems con características heterogéneas y múltiples dominios
• Cuando se tengan valoraciones de los ítems
• Cuando no se conozcan las necesidades del usuario pero si sus preferencias
CONTENT-BASED
• Los ítems se definen por sus características • Género, año de publicación, autor, no. de páginas.
• Palabras clave.
• Perfil de (interés de) usuario • Características de los ítems valorados por el usuario.
• Recomendaciones • Comparación del ítem no valorado con el perfil de (interés de)
usuario.
CONTENT-BASED
• Universo • Características de los ítems en I
• Entrada • Características de los ítems en I valorados por u
• Proceso • Generar un clasificador que represente la conducta de valoraciones
de u y usarlo sobre cada i no valorado.
[Burke, 2002]
CONTENT-BASED
• Técnicas 1. Representación de ítems
2. Creación del perfil (de interés) de usuario - Clasificador
3. Similaridad de (1) con (2)
CONTENT-BASED
• Representación de ítems
Content-based recommendation systems analyze item descriptions to identify items
that are of particular interest to the user. Because the details of recommendation
systems differ based on the representation of items, this chapter first discusses
alternative item representations. Next, recommendation algorithms suited for each
representation are discussed. The chapter concludes with a discussion of variants of
the approaches, the strengths and weaknesses of content-based recommendation
systems, and directions for future research and development.
10.1.1 I tem Representation
Items that can be recommended to the user are often stored in a database table. Table
10.1 shows a simple database with records (i.e., “rows”) that describe three
restaurants. The column names (e.g., Cuisine or Service) are properties of restaurants.
These properties are also called “attributes,” “characteristics,” “fields,” or “variables”
in different publications. Each record contains a value for each attribute. A unique
identifier, ID in Table 10.1, allows items with the same name to be distinguished and
serves as a key to retrieve the other attributes of the record.
Table 10.1. A restaurant database
ID Name Cuisine Service Cost
10001 Mike’s Pizza Italian Counter Low
10002 Chris’s Cafe French Table Medium
10003 Jacques Bistro French Table High
The database depicted in Table 10.1 could be used to drive a web site that lists and
recommends restaurants. This is an example of structured data in which there is a
small number of attributes, each item is described by the same set of attributes, and
there is a known set of values that the attributes may have. In this case, many machine
learning algorithms may be used to learn a user profile, or a menu interface can easily
be created to allow a user to create a profile. The next section of this chapter
discusses several approaches to creating a user profile from structured data.
Of course, a web page typically has more information than is shown in Table 10.1,
such as a text description of the restaurant, a restaurant review, or even a menu. These
may easily be stored as additional fields in the database and a web page can be
created with templates to display the text fields (as well as the structured data).
However, free text data creates a number of complications when learning a user
profile. For example, a profile might indicate that there is an 80% probability that a
particular user would like a French restaurant. This might be added to the profile
because a user gave a positive review of four out of five French restaurants.
However, unrestricted text fields are typically unique and there would be no
opportunity to provide feedback on five restaurants described as “A charming café
with attentive staff overlooking the river.”
An extreme example of unstructured data may occur in news articles. Table 10.2
shows an example of a part of a news article. The entire article can be treated as a
large unrestricted text field.
Table 10.2. Part of a newspaper article
Lawmakers Fine-Tuning Energy Plan SACRAMENTO, Calif. -- With California's energy reserves remaining all but
depleted, lawmakers prepared to work through the weekend fine-tuning a plan Gov.
Gray Davis says will put the state in the power business for "a long time to come."
The proposal involves partially taking over California's two largest utilities and
signing long-term contracts of up to 10 years to buy electricity from wholesalers.
Unrestricted texts such as news articles are examples of unstructured data. Unlike
structured data, there are no attribute names with well-defined values. Furthermore,
the full complexity of natural language may be present in the text field including
polysemous words (the same word may have several meanings) and synonyms
(different words may have the same meaning). For example, in the article in Table
10.2, “Gray” is a name rather than a color, and “power” and “electricity” refer to the
same underlying concept.
Many domains are best represented by semi-structured data in which there are
some attributes with a set of restricted values and some free-text fields. A common
approach to dealing with free text fields is to convert the free text to a structured
representation. For example, each word may be viewed as an attribute, with a
Boolean value indicating whether the word is in the article or with an integer value
indicating the number of times the word appears in the article.
Many personalization systems that deal with unrestricted text use a technique to
create a structured representation that originated with text search systems [34]. In this
formalism, rather than using words, the root forms of words are typically created
through a process called stemming [30]. The goal of stemming is to create a term that
reflects the common meaning behind words such as “compute,” “computation,”
“computer” “computes” and “computers.” The value of a variable associated with a
term is a real number that represents the importance or relevance. This value is called
the tf* idf weight (term-frequency times inverse document frequency). The tf* idf
weight, w(t,d), of a term t in a document d is a function of the frequency of t in the
document (tft,d), the number of documents that contain the term (dft) and the number
of documents in the collection (N).1
1 Note that in the description of tf* idf weights, the word “document” is traditionally used since
the original motivation was to retrieve documents. While the chapter will stick with the
original terminology, in a recommendation system, the documents correspond to a text
description of an item to be recommended. Note that the equations here are representative of
the class of formulae called tf* idf. In general, tf* idf systems have weights that increase
monotonically with term frequency and decrease monotonically with document frequency.
[Pazzani, 2007]
CONTENT-BASED
• Representación de ítems • Vector Space Model (VSM)
• Keyword-based VSM
• Synset-based VSM
• Semantic analysis
• Ontologies
• Explicit Semantic Analysis (ESA)
REPRESENTACIÓN DE ÍTEMS
• Vector Space Model • Representación espacial de las características del ítem
• Aplicado a ítems de tipo texto o con características textuales
• NO-ESTRUCTURADO
REPRESENTACIÓN DE ÍTEMS
• Keyword-based VSM • Basado en técnicas de recuperación de información
• TF-IDF (Term Frequency – Inverse Document Frecuency)
REPRESENTACIÓN DE ÍTEMS
• Keyword-based VSM • En base a observaciones empíricas, se observan 3 supuestos:
• IDF assumption: Los términos poco frecuentes no son menos relevantes que los frecuentes.
• TF assumption: Múltiples ocurrencias de un término en un documento no con menos relevantes que las ocurrencias simples.
• Normalization assumption: Los documentos largos no se prefieren sobre los cortos.
[Lops, 2011]
REPRESENTACIÓN DE ÍTEMS
• Keyword-based VSM Table 10.2. Part of a newspaper article
Lawmakers Fine-Tuning Energy Plan SACRAMENTO, Calif. -- With California's energy reserves remaining all but
depleted, lawmakers prepared to work through the weekend fine-tuning a plan Gov.
Gray Davis says will put the state in the power business for "a long time to come."
The proposal involves partially taking over California's two largest utilities and
signing long-term contracts of up to 10 years to buy electricity from wholesalers.
Unrestricted texts such as news articles are examples of unstructured data. Unlike
structured data, there are no attribute names with well-defined values. Furthermore,
the full complexity of natural language may be present in the text field including
polysemous words (the same word may have several meanings) and synonyms
(different words may have the same meaning). For example, in the article in Table
10.2, “Gray” is a name rather than a color, and “power” and “electricity” refer to the
same underlying concept.
Many domains are best represented by semi-structured data in which there are
some attributes with a set of restricted values and some free-text fields. A common
approach to dealing with free text fields is to convert the free text to a structured
representation. For example, each word may be viewed as an attribute, with a
Boolean value indicating whether the word is in the article or with an integer value
indicating the number of times the word appears in the article.
Many personalization systems that deal with unrestricted text use a technique to
create a structured representation that originated with text search systems [34]. In this
formalism, rather than using words, the root forms of words are typically created
through a process called stemming [30]. The goal of stemming is to create a term that
reflects the common meaning behind words such as “compute,” “computation,”
“computer” “computes” and “computers.” The value of a variable associated with a
term is a real number that represents the importance or relevance. This value is called
the tf* idf weight (term-frequency times inverse document frequency). The tf* idf
weight, w(t,d), of a term t in a document d is a function of the frequency of t in the
document (tft,d), the number of documents that contain the term (dft) and the number
of documents in the collection (N).1
1 Note that in the description of tf* idf weights, the word “document” is traditionally used since
the original motivation was to retrieve documents. While the chapter will stick with the
original terminology, in a recommendation system, the documents correspond to a text
description of an item to be recommended. Note that the equations here are representative of
the class of formulae called tf* idf. In general, tf* idf systems have weights that increase
monotonically with term frequency and decrease monotonically with document frequency.
REPRESENTACIÓN DE ÍTEMS
• Keyword-based VSM • Stemming
• Ocurrencia de palabras tomando la raíz del término
• Computación, Computadora, Computólogo, Cómputo
REPRESENTACIÓN DE ÍTEMS
• Synset-based VSM • Utiliza los synsets de WordNet
• Mismos cálculos que Keyword-based VSM
• Los pesos de los términos del mismo synset forman un elemento del vector
• Los 3 supuestos aplican de la misma forma
• Propósito:
• Dar tratamiento a la sinonimia y polisemia
REPRESENTACIÓN DE ÍTEMS
• Semantic Analysis • Adición de información semántica a las representaciones de los
ítems
• Uso de Ontologías
REPRESENTACIÓN DE ÍTEMS
• Explicit Semantic Analysis • Añade información de fuentes de conocimiento externas como
Wikipedia, Open Directory Project (ODP) y Yahoo! Web Directory.
• Cada concepto de la ontología se encuentra ligado a un enlace de la fuente externa
[Gabrilovich, 2011]
CONTENT-BASED
• Creación del perfil (de interés) de usuario • Vector Space Model(VSM)
• Support Vector Machine (SVM)
• Métodos probabilísticos (Naïve Bayes)
• Relevance Feedback (Rochio’s Algorithm)
CREACIÓN DEL PERFIL DE USUARIO
• Vector Space Model • Mismo caso que el VSM para la representación de ítems
• Vector con las características de todos los ítems valorados por el usuario
CREACIÓN DEL PERFIL DE USUARIO
• Support Vector Machine • Encontrar una función (hiperplano lineal, límite de decisión) que
separe los datos con un margen maximizado.
CREACIÓN DEL PERFIL DE USUARIO
• Support Vector Machine
CREACIÓN DEL PERFIL DE USUARIO
• Métodos probabilísticos (Naïve Bayes)
Multinomial Event Model
CREACIÓN DEL PERFIL DE USUARIO
• Relevance Feedback (Rochio’s Algorithm) • Similar al VSM
• Crea un vector prototipo para compararlo con el vector de características del ítem
CONTENT-BASED
• Similaridad
Euclidiana
Minkowski
Mahalanobis
Coseno
CONTENT-BASED
• Escenarios para su utilización:
• Ítems con contenido textual (Objetos de conocimiento)
• Ítems con descripciones textuales
• Ítems que con el mismo conjunto de características y valores discretos para cada rasgo (Sin heterogeneidad de ítems)
• Cuando sea necesario relacionar un ítem con una categoría
KNOWLEDGE-BASED
• Se basa en inferencias sobre las necesidades y preferencias del usuario
• Diferencia • Utiliza conocimiento funcional
• Como un determinado ítem cumple una necesidad específica
• El perfil de usuario debe ser una estructura de conocimiento que soporte la inferencia
[Burke, 2002]
KNOWLEDGE-BASED
• Universo • Características de los ítems en I
• Conocimiento sobre como estos ítems cumplen las necesidades de los usuarios (Reglas de inferencia)
• Entrada • Descripción de los intereses o necesidades de u
• Proceso • Inferir una relación entre i y las necesidades de u
[Burke, 2002]
KNOWLEDGE-BASED
• Association Rule Mining • Identifica colecciones de dos o mas elementos con un número
repetitivo de transacciones que los contienen.
• Itemset = Colecciones (Milk, Beer, Diaper)
• Support count = Ocurrencias/Transacciones
• Frequent itemset = Colecciones con Support count superior o igual al umbral
• Association rule = X -> Y (Milk, Diaper) -> Beer
• Se hacen N combinaciones y se comparan con el umbral mínimo de transacciones.
[Amatriain, 2011]
KNOWLEDGE-BASED
• Rule-based classifier • Se basa en el uso de las reglas de asociación
• If … then …
KNOWLEDGE-BASED
• Rule-based classifier
ExampleExample
Pow ershot XY
Brand Canon
W eight LHS RHS
C1: 25 TRUE Brand = Brand pref.
Know ledge Base: Product catalogue:
Brand Canon
Lower focal length 35
Upper focal length 140
C1: 25 TRUE Brand Brand pref.
C2: 20 Motives = Landscape Low. foc. Length =<28
C3: 15 TRUE Price =< Max cost
Price 420 EUR
Lum ix
C3: 15 TRUE Price =< Max. cost
Current user:
User m odel
( requirem ents)
Motives Landscape
Lum ix
Brand Panasonic
Lower focal length 28Motives Landscape
Brand preference Canon
Max. cost 350 EUR
Upper focal length 112
Price 319 EUR
- 59 -© Dietmar Jannach and Markus Zanker
ExampleExample
Pow ershot XY
Brand Canon
W eight LHS RHS
C1: 25 TRUE Brand = Brand pref.
Know ledge Base: Product catalogue:
Brand Canon
Lower focal length 35
Upper focal length 140
C1: 25 TRUE Brand Brand pref.
C2: 20 Motives = Landscape Low. foc. Length =<28
C3: 15 TRUE Price =< Max cost
Price 420 EUR
Lum ix
C3: 15 TRUE Price =< Max. cost
Current user:
User m odel
( requirem ents)
Motives Landscape
Lum ix
Brand Panasonic
Lower focal length 28Motives Landscape
Brand preference Canon
Max. cost 350 EUR
Upper focal length 112
Price 319 EUR
- 59 -© Dietmar Jannach and Markus Zanker
ExampleExample
Pow ershot XY
Brand Canon
W eight LHS RHS
C1: 25 TRUE Brand = Brand pref.
Know ledge Base: Product catalogue:
Brand Canon
Lower focal length 35
Upper focal length 140
C1: 25 TRUE Brand Brand pref.
C2: 20 Motives = Landscape Low. foc. Length =<28
C3: 15 TRUE Price =< Max cost
Price 420 EUR
Lum ix
C3: 15 TRUE Price =< Max. cost
Current user:
User m odel
( requirem ents)
Motives Landscape
Lum ix
Brand Panasonic
Lower focal length 28Motives Landscape
Brand preference Canon
Max. cost 350 EUR
Upper focal length 112
Price 319 EUR
- 59 -© Dietmar Jannach and Markus Zanker
KNOWLEDGE-BASED
• Rule-based classifier
• Rank 1. Lumix 35/60
• Rank 2. Powershot 25/60
[Zanker, 2010]
KNOWLEDGE-BASED
• Escenarios para su utilización:
• Cuando se han obtenido las reglas asociativas mediante el análisis previo del dominio
• Cuando no se tienen valoraciones de los ítems
• Cuando se cuente con información de las necesidades del usuario y del dominio de los ítems
HÍBRIDAS
• Métodos de hibridación • Weighted
• Switching
• Cascade
• Mixed
• Feature Augmentation
[Burke, 2002]
HÍBRIDAS
• Weighted
[Zanker, 2010]
HÍBRIDAS
• Switching
• Por ejemplo: • Si hay pocas valoraciones
• Usar Knowledge-based
• Si no
• Usar Collaborative Filtering
[Zanker, 2010]
HÍBRIDAS
• Cascade
[Zanker, 2010]
HÍBRIDAS
• Mixed • Las recomendaciones de distintos recomendadores se presentan al
mismo tiempo
• Feature Augmentation • La salida de un recomendador es la entrada del siguiente.
COMBINACIONES
[Burke, 2002]
ARGUMENTACIÓN
• Predicciones • Data-Explorative Model
• El usuario puede observar los datos sobre los cuales se hizo la predicción.
• No se basa en el proceso matemático para la obtención de la predicción.
• Process-Explorative Model
• Se explica el proceso matemático tras la predicción.
• Diagrama de flujos
• Argumentative Model
• Utiliza técnicas de argumentación lógica para soportar la predicción.
ARGUMENTACIÓN
• Recomendaciones • Estilos de recomendación
• Por tipo de elementos (user x feature x item)
• Por visualización
ARGUMENTACIÓN
• Por tipo de elemento
[Papadimitriou, 2011]
ARGUMENTACIÓN
• Por tipo de elemento
[Papadimitriou, 2011]
ARGUMENTACIÓN
• Por tipo de visualización • Keyword Style Explanation
• Neighbor Style Explanation
• Influence Style Explanation
[Bilgic, 2005]
REFERENCIAS
[Burke, 2002] Burke, Robin. «Hybrid Recommender Systems: Survey and Experiments.» User Modeling and User-Adapted Interaction, nº 12 (2002): 331-370.
[Schafer, 1999] Schafer, J. B., J. Konstan, y J. Riedl. «Recommender Systems in E-Commerce.» Proceedings of the First ACM Conference on Electronic Commerce. Denver, Colorado, 1999. 158-166.
[Pasquale, 2011] Lops, Pasquale, Marco de Gemmis, y Giovanni Semeraro. «Content-based Recommender Systems: State of the Art and Trends.» En Recommender Systems Handbook, de Francesco Ricci, Lior Rokach, Bracha Shapira y Paul B. Kantor, 73-105. Springer Science+Bussiness Media, 2011.
[Pazzani, 2007] Pazzani, Michael J., y Daniel Billsus. «Content-based Recommendation Systems.» En Personalization, The Adaptative Web: Methods and Strategies of Web, de Peter Brusilovsky, Alfred Kobsa y Wolfgang Nejdl, 325-341. Springer-Verlag Berlin Heidelberg, 2007.
REFERENCIAS
[Gabrilovich, 2007] Gabrilovich, E., Markovitch, S.: Computing Semantic Relatedness Using Wikipedia-based Explicit Semantic Analysis. In: M.M. Veloso (ed.) Proceedings of the 20th International Joint Conference on Artificial Intelligence, pp. 1606–1611 (2007)
[Schafer, 2007] Schafer, J. B., Frankowski, D., Herlocker, J. y S. Shilad. «Collaborative Filtering Recommender Systems.» En Personalization, The Adaptative Web: Methods and Strategies of Web, de Peter Brusilovsky, Alfred Kobsa y Wolfgang Nejdl, 325-341. Springer-Verlag Berlin Heidelberg, 2007.
[Vozalis, 2003] Vozalis, E., y K. G. Margaritis. «Analysis of Recommender Systems' Algorithms.» 6th Hellenic European Conference on Computer Mathematics & its Applications HERCMA. Atenas, Grecia, 2003.
REFERENCIAS
[Zanker, 2010] Zanker, M., y D. Jannach. «Introduction to Recommender Systems.» Tutorial at ACM Symposium on Applied Computing. Sierre, Suiza, 2010.
[Amatriain, 2011] Amatriain, X., Jaimes, A., Oliver, N. y Pujol, J. M. «Data Mining Methods for Recommender Systems» En Recommender Systems Handbook, de Francesco Ricci, Lior Rokach, Bracha Shapira y Paul B. Kantor, 73-105. Springer Science+Bussiness Media, 2011.
[Papadimitriou, 2011] Papadimitriou, Alexis, Panagiotis Symeonidis, y Yannis Manolopoulos. «A generalized taxonomy of explanations styles for traditional and social recommender systems.» Data Mining and Knowledge Discovery , 2011: 1-29.
REFERENCIAS
[Bilgic, 2005] Bilgic, M., y R. J. Mooney. «Explaining Recommendations: Satisfaction vs. Promotion.» International Conference on Intelligent User Interfaces. San Diego, California, 2005.