Recommender Systems on the Web: A Model-Driven Approach
Gonzalo Rojas – Francisco Domínguez – Stefano SalvatoriDepartment of Computer ScienceUniversity of ConcepcionChile
10th International Conference on Electronic Commerce and Web
Technologies - EC-Web ’09
• E-commerce is a natural field for recommender system
• Recommender Systems on the Web are complex systems
Introduction: The Problem
Adaptive Hypermedia
Improvement of the efficiency and scalability of recommendation techniques and algorithms
Web Engineering
Enhancement of conceptual models of non-adaptive Web Applications to specify adaptive interfaces
• E-commerce is a natural field for recommender system
• Recommender Systems on the Web are complex systems
Introduction: The Problem
Adaptive Hypermedia
Improvement of the efficiency and scalability of recommendation techniques and algorithms
Web Engineering
Enhancement of conceptual models of non-adaptive Web Applications to specify adaptive interfaces
Introduction: The Problem
•There is a lack of methodological proposals that support development of recommender systems on the Web, through the specification at a high abstraction level of:
•the elements on which recommendation algorithms are based;
•the functionality of these algorithms;
•the interface elements that can be adapted according to this functionality
Introduction - The Proposal
•A Model-Driven Development Process that integrates recommendation algorithms into the specification of e-commerce applications.
•Item-to-Item Recommendation Approach
Recommendation of products that are more similar to those preferred by the active costumer
Similarity is calculated from the rating values that costumers give to these products
PRODUCT: m-dimensional vector of ratings given by each of the m customers.
Item-to-Item Recommendation Algorithms
Item-to-Item Recommendation Algorithms
…
1 5 - 4 … 2
2 4 3 3 … 2
4 - 3 4 … 5
The Godfather
PRODUCT: m-dimensional vector of ratings given by each of the m customers.
Item-to-Item Recommendation Algorithms
5 2 4 4 … 5
1 5 - 4 … 2
2 4 3 3 … 2
4 - 3 4 … 5
The Godfather
PRODUCT: m-dimensional vector of ratings given by each of the m customers.
Item-to-Item Recommendation Algorithms
5 2 4 4 … 5
1 5 - 4 … 2
2 4 3 3 … 2
4 - 3 4 … 5
The Godfather
Pretty Woman
Pulp Fiction
Breakfast at Tiffany’s
PRODUCT: m-dimensional vector of ratings given by each of the m customers.
Item-to-Item Recommendation Algorithms
5 2 4 4 … 5
1 5 - 4 … 2
2 4 3 3 … 2
4 - 3 4 … 5
The Godfather
Pretty Woman
Pulp Fiction
Breakfast at Tiffany’s
PRODUCT: m-dimensional vector of ratings given by each of the m customers.
Item-to-Item Recommendation Algorithms
5 2 4 4 … 5
1 5 - 4 … 2
2 4 3 3 … 2
4 - 3 4 … 5
The Godfather
Pretty Woman
Pulp Fiction
Breakfast at Tiffany’s
PRODUCT: m-dimensional vector of ratings given by each of the m customers.
Similarity between products
• Vectorial representation of products allows applying vector similarity techniques:
Similarity (A,B) =
Cosine
Pearson-r Correlation
etc.
Similarities between items
• Vector similarity techniques:
Similarity (A,B) = Pearson-r Correlation
etc.
Business Logic Layer: Communication Diagrams
For each item in product catalog, I1
For each costumer C who purchased I1
For each item I2 purchased by customer C
Record that a customer purchased I1 and I2
For each item I2
Compute the similarity between I1 and I2
Business Logic Layer: Communication Diagrams
For each item in product catalog, I1
For each costumer C who purchased I1
For each item I2 purchased by customer C
Record that a customer purchased I1 and I2
For each item I2
Compute the similarity between I1 and I2
Similarity between jointly preferred products
Business Logic Layer: Communication Diagrams
Different algorithms of Vector Similarity:
Big change at implementation level,
minor change at conceptual level
Business Logic Layer: Communication Diagrams
Preference prediction: how close is a given product to the preferences of the active customer
Business Logic Layer: Communication Diagrams
Preference prediction: how close is a given product to the preferences of the active customer
candidate product
Business Logic Layer: Communication Diagrams
Preference prediction: how close is a given product to the preferences of the active customer
similar products
Business Logic Layer: Communication Diagrams
Preference prediction: how close is a given product to the preferences of the active customer
customer ratings to similar products
Business Logic Layer: Communication Diagrams
Preference prediction: how close is a given product to the preferences of the active customer
Business Logic Layer: Communication Diagrams
Preference prediction: how close is a given product to the preferences of the active customer
Returned value as a parameter of selection and sorting of the candidate products
Interface Layer: OOWS Navigational Diagrams
• Index of recommended products:
- each indexed item shows a subset of attributes and methods
- Link in attribute_1 leads to a page where detailed information of the selected item is provided
Interface Layer: OOWS Navigational Diagrams
• Candidate items are sorted according to their predicted rating for the current user
• OCL Expression
context ITEM::query_order():Real
let currentUser: USER =
system.currentUser() in
self.predictRating(currentUser)
Interface Layer: OOWS Navigational Diagrams
• Once sorted, candidate items are filtered, recommended the predicted n top-rated.
• OCL Expression
context ITEM
let currentUser:USER =
system.currentUser() in
inv:
self.predictRating(currentUser) >= x
Interface Layer: OOWS Navigational Diagrams
• Detailed information of a recommended product
• Explicit mechanism of evaluation (if any)
Interface Layer: OOWS Navigational Diagrams
• Detailed information of a recommended product
• Explicit mechanism of evaluation (if any)
• Recommendation of the products more similar to the currently viewed
Scripts and Docs
Implementation Architecture
Preference
Data
SimilarityAlgorithm
s
PredictionAlgorithm
s
Similarity
Data
Web Server
DBMS
ContextDefinition
s
preference
(http request)
Product Data
Customer
Data
OfflineSimilarity
Engine
Scripts and Docs
Implementation Architecture
SimilarityAlgorithm
s
PredictionAlgorithm
s
Similarity
Data
Web Server
DBMS
OfflineSimilarity
Engine
ContextDefinition
s
Obtain similarities
(offline request)
Product Data
Customer
Data
Preference
Data
Scripts and Docs
Implementation Architecture
Preference
Data
SimilarityAlgorithm
s
PredictionAlgorithm
s
Web Server
DBMS
ContextDefinition
s
get recommendations
(http request)
Product Data
Customer
Data
OfflineSimilarity
Engine
Similarity
Data
top-n recommended
products
Case Study: Adaptive Trip Recommender
Two indexes of top-n recommended products, based on:
selected and sorted by:
Case Study: Adaptive Trip Recommender
Evaluation mechanisms
Detailed information on recommended product
Case Study: Adaptive Trip Recommender
Evaluation mechanisms
List of similar products
Detailed information on recommended product
Conclusions
•This proposal permits to systematize the development of recommender systems on the Web
•Combination of solid knowledge on recommendation technologies with the best practices of software engineering
•Methods of similarity calculation and rating prediction were easily mapped from conceptual schemas to concise pieces of code.
•An engineering approach to develop this kind of systems allows saving time and effort in a scenario where new algorithms are constantly introduced and improved.
Ongoing & Future Work
•Automatic Generation of Code, MDA
•Recommender Algorithms in Pluggable Architecture
•Recommendation based on Mobile Tagging
•Requirements Specifications
•Top-Down (Use Cases, Scenarios, Task Trees)
•Bottom-Up (Mockups)
Recommender Systems on the Web: A Model-Driven Approach
Gonzalo Rojas DuránDepartment of Computer ScienceUniversity of Concepcion, Chile
[email protected]://adweb.inf.udec.cl