Using Bayesian Networks To Infer Product Rankings From User Needs - - PowerPoint PPT Presentation

using bayesian networks to infer product rankings from
SMART_READER_LITE
LIVE PREVIEW

Using Bayesian Networks To Infer Product Rankings From User Needs - - PowerPoint PPT Presentation

Using Bayesian Networks To Infer Product Rankings From User Needs UMAP 2010 Workshop on Intelligent Techniques for Web Personalisation and Recommender Systems Sven Radde and Burkhard Freitag Institute for Information Systems and Software


slide-1
SLIDE 1

Using Bayesian Networks To Infer Product Rankings From User Needs

UMAP 2010 Workshop on Intelligent Techniques for Web Personalisation and Recommender Systems Sven Radde and Burkhard Freitag

Institute for Information Systems and Software Technology University of Passau, Germany

20-Jun-2010

Sven Radde UMAP-ITWP’10 1

slide-2
SLIDE 2

Overview

1

Use Case

2

Domain (Meta-)Modeling

3

Product Ranking

Sven Radde UMAP-ITWP’10 2

slide-3
SLIDE 3

Use Case

Use Case

Conversational recommender system

Closely follow ’natural’ recommendation practices

Mobile communications domain

Industry partner Reference implementation

Recommendations Dialogue management Product presentation / sales process Knowledge maintenance

Sven Radde UMAP-ITWP’10 3

slide-4
SLIDE 4

Use Case

Challenge

Preferences about technical attributes... ...are necessary to produce recommendations ...cannot be elicited from customers

Example

Consider these technical properties: Bluetooth Wi-Fi UMTS (with/without HSDPA?) Which of these are needed for mobile access to e-mail? And what else?

Sven Radde UMAP-ITWP’10 4

slide-5
SLIDE 5

Use Case

Solution

1

Elicit “soft” preferences, i.e. ask questions about customer needs, expectations or desires

2

Infer preferences about technical properties

Domain modelling to capture necessary knowledge

3

Recommend items based on the inferred preferences

technical „soft“

Sven Radde UMAP-ITWP’10 5

slide-6
SLIDE 6

Use Case

Solution

1

Elicit “soft” preferences, i.e. ask questions about customer needs, expectations or desires

2

Infer preferences about technical properties

Domain modelling to capture necessary knowledge

3

Recommend items based on the inferred preferences

technical „soft“

Sven Radde UMAP-ITWP’10 5

slide-7
SLIDE 7

Domain (Meta-)Modeling

Overview

1

Use Case

2

Domain (Meta-)Modeling

3

Product Ranking

Sven Radde UMAP-ITWP’10 6

slide-8
SLIDE 8

Domain (Meta-)Modeling

Modeling Principles

Describe technical properties of the articles in the domain Define customer traits that are relevant for marketing Define causal influences between customer traits and technical properties

MP3 player

Multimedia use Office use

UMTS capability yes no yes no Memory capacity small medium large

Music functions Internet functions

Sven Radde UMAP-ITWP’10 7

slide-9
SLIDE 9

Domain (Meta-)Modeling

Modeling Principles

Describe technical properties of the articles in the domain Define customer traits that are relevant for marketing Define causal influences between customer traits and technical properties

MP3 player

Multimedia use Office use

UMTS capability yes no yes no Memory capacity small medium large

Music functions Internet functions

Sven Radde UMAP-ITWP’10 7

slide-10
SLIDE 10

Domain (Meta-)Modeling

Modeling Principles

Describe technical properties of the articles in the domain Define customer traits that are relevant for marketing Define causal influences between customer traits and technical properties

MP3 player

Multimedia use Office use

UMTS capability yes no yes no Memory capacity small medium large

Music functions Internet functions

Sven Radde UMAP-ITWP’10 7

slide-11
SLIDE 11

Domain (Meta-)Modeling

Bayesian Networks

Directed Acyclical Graph

Nodes: Random variables Edges: Conditional (in)dependencies between variables

Sven Radde UMAP-ITWP’10 8

slide-12
SLIDE 12

Domain (Meta-)Modeling

Bayesian Networks

Directed Acyclical Graph

Nodes: Random variables Edges: Conditional (in)dependencies between variables

Sven Radde UMAP-ITWP’10 8

slide-13
SLIDE 13

Domain (Meta-)Modeling

Bayesian Networks

Directed Acyclical Graph

Nodes: Random variables Edges: Conditional (in)dependencies between variables

Sven Radde UMAP-ITWP’10 8

slide-14
SLIDE 14

Domain (Meta-)Modeling

Bayesian Networks

Directed Acyclical Graph

Nodes: Random variables Edges: Conditional (in)dependencies between variables

Sven Radde UMAP-ITWP’10 8

slide-15
SLIDE 15

Domain (Meta-)Modeling

Bayesian Networks

Directed Acyclical Graph

Nodes: Random variables Edges: Conditional (in)dependencies between variables

Sven Radde UMAP-ITWP’10 8

slide-16
SLIDE 16

Domain (Meta-)Modeling

Bayesian Networks

Directed Acyclical Graph

Nodes: Random variables Edges: Conditional (in)dependencies between variables

Sven Radde UMAP-ITWP’10 8

slide-17
SLIDE 17

Domain (Meta-)Modeling

Bayesian Networks

Directed Acyclical Graph

Nodes: Random variables Edges: Conditional (in)dependencies between variables

Sven Radde UMAP-ITWP’10 8

slide-18
SLIDE 18

Domain (Meta-)Modeling

Bayesian Inference Engine

MP3 player

Multimedia use Office use

UMTS capability yes no yes no Memory capacity small medium large

Music functions Internet functions

How do we use a Bayes net to capture the causal relationships in our domain?

Sven Radde UMAP-ITWP’10 9

slide-19
SLIDE 19

Domain (Meta-)Modeling

Bayesian Inference Engine

Needs ⇒ random variables with “Likert” scale

Flexible number of states possible Accommodate answer granularity Commonly five states

Sven Radde UMAP-ITWP’10 9

slide-20
SLIDE 20

Domain (Meta-)Modeling

Bayesian Inference Engine

Attribute values ⇒ boolean variables

Model likelihood that a value is useful for the customer Likelihoods of values of the same attribute are independent

Sven Radde UMAP-ITWP’10 9

slide-21
SLIDE 21

Domain (Meta-)Modeling

Bayesian Inference Engine

Influences ⇒ probability tables

Generated in an offline step

Sven Radde UMAP-ITWP’10 9

slide-22
SLIDE 22

Domain (Meta-)Modeling

Bayesian Inference Engine

Insert answers as evidence for the needs Read the posteriori probability distributions from the attribute values

Sven Radde UMAP-ITWP’10 9

slide-23
SLIDE 23

Domain (Meta-)Modeling

Flexibility of the Inference Engine

No fixed ordering of questions Transparent belief revision Recommendations from the start

More evidence/answers ˆ

= less uncertainty

Sven Radde UMAP-ITWP’10 10

slide-24
SLIDE 24

Domain (Meta-)Modeling

Flexibility of the Inference Engine

No fixed ordering of questions Transparent belief revision Recommendations from the start

More evidence/answers ˆ

= less uncertainty

Sven Radde UMAP-ITWP’10 10

slide-25
SLIDE 25

Domain (Meta-)Modeling

Flexibility of the Inference Engine

No fixed ordering of questions Transparent belief revision Recommendations from the start

More evidence/answers ˆ

= less uncertainty

Sven Radde UMAP-ITWP’10 10

slide-26
SLIDE 26

Domain (Meta-)Modeling

Flexibility of the Inference Engine

No fixed ordering of questions Transparent belief revision Recommendations from the start

More evidence/answers ˆ

= less uncertainty

Sven Radde UMAP-ITWP’10 10

slide-27
SLIDE 27

Domain (Meta-)Modeling

Flexibility of the Inference Engine

No fixed ordering of questions Transparent belief revision Recommendations from the start

More evidence/answers ˆ

= less uncertainty

Sven Radde UMAP-ITWP’10 10

slide-28
SLIDE 28

Domain (Meta-)Modeling

Flexibility of the Inference Engine

No fixed ordering of questions Transparent belief revision Recommendations from the start

More evidence/answers ˆ

= less uncertainty

Sven Radde UMAP-ITWP’10 10

slide-29
SLIDE 29

Product Ranking

Overview

1

Use Case

2

Domain (Meta-)Modeling

3

Product Ranking

Sven Radde UMAP-ITWP’10 11

slide-30
SLIDE 30

Product Ranking

Ranking by MAUT

General idea: Construct a multi-attribute utility-function based on the current dialogue state Determine utility value for each possible value of an attribute Determine relative importance/weight of attribute Calculate a product’s overall utility by using a weighted sum

Common in multi-attribute utility theory Implementation in SQL

Sven Radde UMAP-ITWP’10 12

slide-31
SLIDE 31

Product Ranking

SQL Ranking Query

Use a standard “ORDER BY” clause to implement the ordering

Compatible to all SQL databases

Example

SELECT *, ($utilityfunction) as UTILITY FROM Cellphones ORDER BY UTILIY DESC;

The result set may be restricted: By a top-k operator (e.g., return the 10 most highly ranked products) By hard constraints (e.g., exclude certain product properties from the result set)

Sven Radde UMAP-ITWP’10 13

slide-32
SLIDE 32

Product Ranking

Utility Function

Example

$utilityfunction = $utility(att_1)$ * weight(att_1) + ... + $utility(att_n)$ * weight(att_n)

Weighted sum: Sum up each value’s utility, weighted by the attribute’s importance

Sven Radde UMAP-ITWP’10 14

slide-33
SLIDE 33

Product Ranking

Utility Function

Example

$utilityfunction = $utility(att_1)$ * weight(att_1) + ... + $utility(att_n)$ * weight(att_n)

Example

$utility(att_x) = CASE WHEN att_x = val_x1 THEN u(val_x1) ELSE 0.0 END + ... + CASE WHEN att_x = val_xn THEN u(val_xn) ELSE 0.0 END

Realize $utility as a large set of CASE-WHEN statements May be implemented as a stored procedure for increased efficiency Use database-specific optimizations (e.g., ENUM-datatypes)

Sven Radde UMAP-ITWP’10 14

slide-34
SLIDE 34

Product Ranking

Utility of an Attribute Value

Based on posteriori-probability in the Bayes net: uav := p(rav =true | . . .) All utilities are ’independent’

Example

usmall = 0.0 umedium = 0.19 ularge = 0.63

Sven Radde UMAP-ITWP’10 15

slide-35
SLIDE 35

Product Ranking

Distinctiveness of an Attribute

Clearer customer opinion ˆ

= more important for recommendations

Clearer customer opinion ˆ

= more distinctive predictions Example

dMP3 = 1.0 dMemory = 0.247 (normalized to [0..1])

Sven Radde UMAP-ITWP’10 16

slide-36
SLIDE 36

Product Ranking

Distinctiveness of an Attribute

Clearer customer opinion ˆ

= more important for recommendations

Clearer customer opinion ˆ

= more distinctive predictions Example

dMP3 = 1.0 dMemory = 0.747 (normalized to [0..1])

Sven Radde UMAP-ITWP’10 16

slide-37
SLIDE 37

Product Ranking

Further Components of the Weight of an Attribute

Situation factor

Attributes with no connection to already-answered questions are ignored (i.e., are assigned a weight of 0.0) Makes recommendations more intuitive

Static weight

Assigned by domain experts Some attributes are inherently more important than others (e.g., digital camera resolution vs. ability to send EMS)

Sven Radde UMAP-ITWP’10 17

slide-38
SLIDE 38

Conclusion

Evaluation

Expert evaluations

System is in active use with our industry partner ⇒ Validity of the implemented business process Market study to analyze recommendations ⇒ Recommendation quality

Public presentations

University events ⇒ Applicability to different domains Exhibition at Cebit fair 2010

Sven Radde UMAP-ITWP’10 18

slide-39
SLIDE 39

Conclusion

Summary & Outlook

Approach to derive “hard” product rankings from “soft” customer preferences

Utility function for use with MAUT Alternative: Pareto-optimality techniques (not shown today)

In the (near) future:

Extend evaluations Explanations

Recommendations Dialogue behaviour

Sell it ;-)

Sven Radde UMAP-ITWP’10 19

slide-40
SLIDE 40

Conclusion

Thank you!

Your questions and comments are welcome!

Bayes nets modeled with GeNIe (http://dsl.sis.pitt.edu/)

Sven Radde UMAP-ITWP’10 20