jordi sabater-mir, joan cuadros and pere garcia

21
Towards a framework that allows using a cognitive architecture to personalize recommendations in e-commerce Jordi Sabater-Mir, Joan Cuadros and Pere Garcia IIIA – Artificial Intelligence Research Institute CSIC – Spanish National Research Council

Upload: yestin

Post on 10-Jan-2016

75 views

Category:

Documents


0 download

DESCRIPTION

Towards a framework that allows using a cognitive architecture to personalize recommendations in e- commerce. Jordi Sabater-Mir, Joan Cuadros and Pere Garcia. IIIA – Artificial Intelligence Research Institute CSIC – Spanish National Research Council. Motivation. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Towards a framework that allows using acognitive architecture to personalize

recommendations in e-commerce

Jordi Sabater-Mir, Joan Cuadros and Pere Garcia

IIIA – Artificial Intelligence Research InstituteCSIC – Spanish National Research Council

Page 2: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Motivation

• A single recommender technique cannot be enough to cover all the real necessities of the dierent users that are looking for a recommendation.

• The solution to this problem: let's take a full “palette” of recommender techniques and, like a painter, use at run time the right “color” for each situation (properly fine tuned to recapture the nuances of the context).

Page 3: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Motivation

• What are we looking for is an automated decision maker that can decide: – which is the best recommendation technique (or

techniques) to use, how to combine them,– how to adapt the results to the specic needs of a

given user and – how to properly show the results to that user.

• Our proposal is to use a cognitive architecture as such a decision maker.

Page 4: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Motivation

• Take to the next level the notion of “personalization” in recommendation.

Page 5: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Beliefs

Desires

User profile

Use

r Cog

nitiv

e Pr

ofile

Planslibrary

Intentions

Data analysisPr

e-po

cess

ing

Text files

UI

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Cognitive architecture

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

User Interface

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

BDI-Engine

Interpreter

The framework

Page 6: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Use

r Cog

nitiv

e Pr

ofile

Data analysisPr

e-po

cess

ing

Text files

UI

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

User Interface

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

Beliefs

Desires

User profile

Planslibrary

Intentions

Cognitive architecture

BDI-Engine

Interpreter

• Knows about the user needs and his/her desires, goals, restrictions, beliefs, etc.

• Knows about the recommenders that are available, their strengths and weaknesses.

• Tries to stisfy the user needs.

• Advanced capabilities: justification and argumentation

• For certain tasks it is crucial that the behavior of the machine be similar to that of a human.

• Trust has to be build on top of the mutual understanding.

• To achieve this we think the most natural way is to use cognitive architectures.

The framework

Page 7: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Beliefs

Desires

User profile

Use

r Cog

nitiv

e Pr

ofile

Planslibrary

Intentions

Data analysisPr

e-po

cess

ing

Text files

UI

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Cognitive architecture

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

User Interface

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

BDI-Engine

Interpreter

Cleaning, parsing, normalizing… raw data.Statistical measures to advanced data mining algorithms.

• Represent the information in terms of the cognitive architecture.

• Qualitative high level concepts -> “This user is a very good client”

The framework

Page 8: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Beliefs

Desires

User profile

Use

r Cog

nitiv

e Pr

ofile

Planslibrary

Intentions

Data analysisPr

e-po

cess

ing

Text files

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Cognitive architecture

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

BDI-Engine

Interpreter

UI

User Interface

The framework

Page 9: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Use

r Cog

nitiv

e Pr

ofile

Data analysisPr

e-po

cess

ing

Text files

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

UI

User Interface

Beliefs

Desires

User profile

Planslibrary

Intentions

Cognitive architecture

BDI-Engine

Interpreter

The framework

Page 10: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Cognitive architecture

• Receive a notication from the user expressing the willingness to obtain a recommendation of a certain kind.

• Analyze if that request is coherent with what it knows about the user and decide what is the best action to perform.

• Query one or several recommenders that, given the knowledge the cognitive architecture has about them, can provide an answer that will satisfy the user's request.

• Adapt, combine, modify the recommendations received from the recommenders to personalize the nal answer to the user.

• Show the processed answer to the user in a personalized way.

Basic functionality: It has to be able to…

Page 11: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Cognitive architecture

• Establish a dialog with the user. For example, if the request from the user is not coherent with what the cognitive architecture knows about him/her, establish a dialog with the user to express the problem and be able to adapt the internal knowledge based on what the user explicitly states during that dialog.

• Justify the recommendations. The justification has to be adapted to each kind of user. Some users prefer simple and short justications while others want all the details.

• Participate in an argumentation process with the user where both, the user and the cognitive architecture can express arguments and counterarguments to achieve a consensus about a recommendation.

• Incorporate automatically new recommenders to the palette of recommenders and be able to use them without external intervention. This ambitious capa bility requires the description of each recommender in terms of its strengths and weaknesses.

Advanced functionality: …and also…

Page 12: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Beliefs

Desires

User profile

Use

r Cog

nitiv

e Pr

ofile

Planslibrary

Intentions

Data analysisPr

e-po

cess

ing

Text files

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Cognitive architecture

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

Domain Ontology General Knowledge

BDI-Engine

Interpreter

UI

User Interface

Recommenders

Set of Recommenders

Static vs Dynamic

The framework

Page 13: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Beliefs

Desires

User profile

Use

r Cog

nitiv

e Pr

ofile

Planslibrary

Intentions

Data analysis

Pre-

poce

ssin

g

Text files

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Cognitive architecture

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

sUser Interface

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

BDI-Engine

Interpreter

Python JavaBDI-Engine: Jason

HTML 5, CSS3, javascriptPhoneGap

Jquery Mobile

JavaCF: Mahout

Expert system: Drools

Web serviceRESTful

Proof of concept

OWL

Page 14: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Scenario

• Mary always buys the same yogurts. She is a little bit tired of eating the same yogurt one day after another and today she wants to try something new.

• She goes to the supermarket and once in the dairy products aisle, takes the smartphone and scans the barcode of her favorite yogurt.

• She asks to the system for an alternative. • The system processes her request and suggests an

alternative that could satisfy her requirements.

Page 15: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Beliefs

Desires

User profile

Use

r Cog

nitiv

e Pr

ofile

Planslibrary

Intentions

Data analysisPr

e-po

cess

ing

Text files

UI

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Cognitive architecture

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

User Interface

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

BDI-Engine

Interpreter

Proof of concept

Raw data and Pre-processing:

Set of text files coming directly from points of sale terminals (POS) from the Alimerka supermarket chain.

More than 900000 files coming from 176 supermarkets covering a period of 18 months.

The files are grouped by supermarket (one file per supermarket per day) and contain purchases, promotions, coupons, loyalty points, etc.

Actions:Clean dataSelect only relevant fieldsOrganise purchases by client instead of by

supermarket

In our use-case we have restricted to 500 the number of clients and the time period to 12 months.

Data processing:

Prepare the user files for a recommender based on collaborative filtering.

Because Mary is looking for an alternative to a product, in order to prepare the data for the recommender we have to use only those lines that refer to products that are in the same subtree in the ontology that the reference product.

Our recommender will compare Mary with the other 499 users, will establish a similarity among them and will use what the most similar clients have bought that Mary has not as a recommendation.

The process of filtering the client files has to be done at run time.

Page 16: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Beliefs

Desires

User profile

Use

r Cog

nitiv

e Pr

ofile

Planslibrary

Intentions

Data analysisPr

e-po

cess

ing

Text files

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Cognitive architecture

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

BDI-Engine

Interpreter

UI

User Interface

Proof of concept

Technologies:PhonegapJquery mobile

Page 17: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

(a) (b) (c) (d)

a) Mary logs into the systemb) Selects which kind of recommendation wantsc) Scans the reference product bar coded) Receives the recommendation

Page 18: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Use

r Cog

nitiv

e Pr

ofile

Data analysisPr

e-po

cess

ing

Text files

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

Recommenders

Set of Recommenders

Domain Ontology General Knowledge

UI

User Interface

Beliefs

Desires

User profile

Planslibrary

Intentions

Cognitive architecture

BDI-Engine

Interpreter

Proof of concept

Page 19: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

+get_alternative(ID, X) : true <-

ask_collaborative_filtering(ID, X).

get_alternative(id, productSel).

Recommenders

Set of Recommenders

possible_rec(id, list_of_products).

+possible_rec(ID, Y) : get_alternative(ID, X)<- -possible_rec(ID, Y);

+rec(ID, Y).

+rec(ID, [Head|Tail]) <- send_rec(Head).

Page 20: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Beliefs

Desires

User profile

Use

r Cog

nitiv

e Pr

ofile

Planslibrary

Intentions

Data analysisPr

e-po

cess

ing

Text files

Use

r Pro

file

Raw

Dat

a

Stati

stica

l ana

lysi

s

Dat

a M

inin

g

Proc

esse

d D

ata

Cognitive architecture

Textfiles xml

Agent speak

Expe

rts/

Ded

ucer

s

Domain Ontology General Knowledge

BDI-Engine

Interpreter

UI

User Interface

Recommenders

Set of Recommenders

Proof of concept

A tipical collaborative filtering recommender.

Mahout library.

Page 21: Jordi Sabater-Mir, Joan Cuadros and Pere  Garcia

Thanks for your attention.