Download presentation
Presentation is loading. Please wait.
Published byHenry Elliott Modified over 9 years ago
1
Recommender Systems on the Web: A Model-Driven Approach Gonzalo Rojas – Francisco Domínguez – Stefano Salvatori Department of Computer Science University of Concepcion Chile 10th International Conference on Electronic Commerce and Web Technologies - EC-Web ’09
2
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
3
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
4
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
5
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
6
PRODUCT: m-dimensional vector of ratings given by each of the m customers. Item-to-Item Recommendation Algorithms
7
… 15-4…2 2433…2 4-34…5 The Godfather PRODUCT: m-dimensional vector of ratings given by each of the m customers.
8
Item-to-Item Recommendation Algorithms 5244…5 15-4…2 2433…2 4-34…5 The Godfather PRODUCT: m-dimensional vector of ratings given by each of the m customers.
9
Item-to-Item Recommendation Algorithms 5244…5 15-4…2 2433…2 4-34…5 The Godfather Pretty Woman Pulp Fiction Breakfast at Tiffany’s PRODUCT: m-dimensional vector of ratings given by each of the m customers.
10
Item-to-Item Recommendation Algorithms 5244…5 15-4…2 2433…2 4-34…5 The Godfather Pretty Woman Pulp Fiction Breakfast at Tiffany’s PRODUCT: m-dimensional vector of ratings given by each of the m customers.
11
Item-to-Item Recommendation Algorithms 5244…5 15-4…2 2433…2 4-34…5 The Godfather Pretty Woman Pulp Fiction Breakfast at Tiffany’s PRODUCT: m-dimensional vector of ratings given by each of the m customers.
12
Similarity between products Vectorial representation of products allows applying vector similarity techniques: Similarity (A,B) = Cosine Pearson-r Correlation etc.
13
Similarities between items Vector similarity techniques: Similarity (A,B) = Pearson-r Correlation etc.
14
Similarities between items Vector similarity techniques: Similarity (A,B) = etc.
15
Modelling Recommender Systems Data about catalog items Data of users Ratings Similarity matrix Persistence Layer Methods to capture and update ratings Methods to compute similarity between items Methods to predict rating values Business Logic Layer Dynamic pages Different navigational alternatives to different users Filtering and sorting mechanisms Interface Layer
16
Modelling Recommender Systems Data about catalog items Data of users Ratings Similarity matrix Persistence Layer Methods to capture and update ratings Methods to compute similarity between items Methods to predict rating values Business Logic Layer Dynamic pages Different navigational alternatives to different users Filtering and sorting mechanisms Interface Layer UML Class Diagram UML Communication Diagrams OOWS Navigational Models
17
Persistence Layer: Class Diagram
18
customer
19
Persistence Layer: Class Diagram product
20
Persistence Layer: Class Diagram costumer preference for a product
21
Persistence Layer: Class Diagram similarity between two products
22
Business Logic Layer: Communication Diagrams
23
For each item in product catalog, I 1 For each costumer C who purchased I 1 For each item I 2 purchased by customer C Record that a customer purchased I 1 and I 2 For each item I 2 Compute the similarity between I 1 and I 2
24
Business Logic Layer: Communication Diagrams For each item in product catalog, I 1 For each costumer C who purchased I 1 For each item I 2 purchased by customer C Record that a customer purchased I 1 and I 2 For each item I 2 Compute the similarity between I 1 and I 2 Similarity between jointly preferred products
25
Business Logic Layer: Communication Diagrams
26
Different algorithms of Vector Similarity: Big change at implementation level, minor change at conceptual level
27
Business Logic Layer: Communication Diagrams Preference prediction: how close is a given product to the preferences of the active customer
28
Business Logic Layer: Communication Diagrams Preference prediction: how close is a given product to the preferences of the active customer candidate product
29
Business Logic Layer: Communication Diagrams Preference prediction: how close is a given product to the preferences of the active customer similar products
30
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
31
Business Logic Layer: Communication Diagrams Preference prediction: how close is a given product to the preferences of the active customer
32
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
33
Interface Layer: OOWS Navigational Diagrams
34
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
35
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)
36
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
37
Interface Layer: OOWS Navigational Diagrams Detailed information of a recommended product Explicit mechanism of evaluation (if any)
38
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
39
Scripts and Docs Implementation Architecture Preferenc e Data Similarity Algorithms Prediction Algorithms Similarity Data Web Server DBMS Context Definitions preference (http request) Product Data Customer Data Offline Similarity Engine
40
Scripts and Docs Implementation Architecture Similarity Algorithms Prediction Algorithms Similarity Data Web Server DBMS Offline Similarity Engine Context Definitions Obtain similarities (offline request) Product Data Customer Data Preferenc e Data
41
Scripts and Docs Implementation Architecture Preferenc e Data Similarity Algorithms Prediction Algorithms Web Server DBMS Context Definitions get recommendations (http request) Product Data Customer Data Offline Similarity Engine Similarity Data top-n recommended products
42
Case Study: Adaptive Trip Recommender
43
Two indexes of top-n recommended products, based on:
44
Case Study: Adaptive Trip Recommender Two indexes of top-n recommended products, based on:
45
Case Study: Adaptive Trip Recommender Two indexes of top-n recommended products, based on: selected and sorted by:
46
Case Study: Adaptive Trip Recommender Evaluation mechanisms Detailed information on recommended product
47
Case Study: Adaptive Trip Recommender Evaluation mechanisms List of similar products Detailed information on recommended product
48
Case Study 2: Book Recommender
49
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.
50
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)
51
Recommender Systems on the Web: A Model-Driven Approach Gonzalo Rojas Durán Department of Computer Science University of Concepcion, Chile gonzalorojas@udec.cl http://adweb.inf.udec.cl
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.