jordi sabater-mir, joan cuadros and pere garcia
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 PresentationTRANSCRIPT
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
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).
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.
Motivation
• Take to the next level the notion of “personalization” in recommendation.
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
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
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
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
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
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…
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…
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
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
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.
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.
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
(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
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
+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).
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.
Thanks for your attention.