recommender systems on the web: a model-driven approach gonzalo rojas – francisco domínguez –...

51
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

Upload: henry-elliott

Post on 25-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

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.

Similarities between items

• Vector similarity techniques:

Similarity (A,B) =

etc.

Modelling Recommender Systems

Modelling Recommender Systems

UML Class Diagram

UML Communication

Diagrams

OOWS Navigational

Models

Persistence Layer: Class Diagram

Persistence Layer: Class Diagram

customer

Persistence Layer: Class Diagram

product

Persistence Layer: Class Diagram

costumer preference for a product

Persistence Layer: Class Diagram

similarity between two products

Business Logic Layer: Communication Diagrams

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

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

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

Case Study: Adaptive Trip Recommender

Two indexes of top-n recommended products, based on:

Case Study: Adaptive Trip Recommender

Two indexes of top-n recommended products, based on:

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

Case Study 2: Book Recommender

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