Presentation is loading. Please wait.

Presentation is loading. Please wait.

Recommender Systems on the Web: A Model-Driven Approach Gonzalo Rojas – Francisco Domínguez – Stefano Salvatori Department of Computer Science University.

Similar presentations


Presentation on theme: "Recommender Systems on the Web: A Model-Driven Approach Gonzalo Rojas – Francisco Domínguez – Stefano Salvatori Department of Computer Science University."— Presentation transcript:

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


Download ppt "Recommender Systems on the Web: A Model-Driven Approach Gonzalo Rojas – Francisco Domínguez – Stefano Salvatori Department of Computer Science University."

Similar presentations


Ads by Google