evolving mashup interfaces using a distributed machine learning and model transformation methodology
TRANSCRIPT
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Transformation
Methodology
Antonio Jesús Fernández-García1, Luis Iribarne1, Antonio Corral1
and James Z. Wang2
1 Applied Computing Group, University of Almería, Spain
2 The Pennsylvania State University, USA
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015)
Rhodes, Greece, 26–30 October 2015
TIN2013-41576-R P10-TIC-6114
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
Index
• Context and Motivation • Methodology Proposal
• Case Study • Conclusions • Future Work
2
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
3
Background & Context Main problem: how to store and analyze the user interaction, which is provided, in many cases, by different kinds of users.
Hot topic on big data & machine learning in which we are involved
Background, Context and Motivation
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
4
Concrete Model 1 Concrete Model 2
Abstract Model 1 Abstract Model 2
Rules
Model Transformation
Background, Context and Motivation
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
• Iribarne et al. and Criado et al. – component-based architectures are able to compose both dynamically
and autonomously
• Adjustments are based on a number of adaptation rules which are defined statically in a rule repository (Design Time)
• Changes in requirements. Changes in context. New users. New components.
• Dynamic adaptive appears to be insufficient
5
Background, Context and Motivation
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
• Dynamic adaptation EVOLVE over time based on – Changes in users and components
– Changes in the information system
– Changes in the context
6
Discovery of behavioural
patterns
Create Prediction
Models
Update Set of Adaptation
Rules
Methodology Proposal
Machine Learning Model Transformation
Cloud Computing Big Data
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
7
Let’s save it: - Operations Performed
- Workspace Situation
- Internal System Information
- Context Information
#1 Distributed Storage of User Behaviour
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
WorkSpace Services Menu
Services Component
Component Menu
Operations
Methodology Proposal
Mashup UI
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
Mashup UI Mashup UI
{Services, Components, Operations} {Services Menu, WorkSpace, Component Menu}
Services = {Service 1, Service 2, …, Service N}
Components = {Component 1, Component 2, …, Component M} Component X = {PosX, PosY, Width, Height}
Operations = {Add, Delete, Move, Resize}
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
10
Information of: - Users Categories - Users Subcategories - Users Sessions - Users Interactions - Time of the Day - How components are used - When components are used - Where components are used - How components are positioned
Context & System Information Methodology Proposal
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
11
#2 Creating Distributed Data Views
• Data views are composed with information spread in the whole infrastructure
• The intented objective is to organise data
• The structure given to data tries to optimize the results of the execution of Machine Learning Experiments
Methodology Proposal
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
12
#3 Application of Machine Learning Algorithms
• Study and Analyze Machine Learning Algorithms and apply them to the “Data Views”.
• Objective: Generates new rules capable of improving the user interface adaptation
• Clustering, Association Learning, Classication, Similarity Matching, Neural Networks, Bayesian Networks,Genetic Algorithms…
Methodology Proposal
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
13
#4 Conversion Rules
HOT = Higher Order Transformation Inferred rules have their own format. Must be transformed to the format suited
in the interface where they will be applied. Model Transformation
Methodology Proposal
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
14
#5 Evaluation of Rules
• Should a new rule added to the repository or not?
• Conflict Manager: Handle potential conflicts
Methodology Proposal
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
15
Methodology Proposal
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
16
ENIA ENvironmental Information Agent
Case Study
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
Components Aggrupation COTSget Component 2: Geo Parks
Component 1: Cuttle Roads
Base Map
Commercial off-the-shell
+ Widgets
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
WorkSpace Services Menu
Services Component
COTSget Menu
COTSget
Operations
Methodology Proposal
COScore Mashup UI
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
COScore Enia Mashup UI
{Services, CotsGET, Components, Operations} {Services Menu, WorkSpace, CotsGET Menu}
Services = {Service 1, Service 2, …, Service N}
CotsGETs= {CotsGET 1, CotsGET 2, …, CotsGET L} Components = {Component 1, Component 2, …, Component M}
CotsGET X = {PosX, PosY, Width, Height}
Operations = {Add, Delete, Move, ResizeBigger, ResizeSmaller} + {Group, Ungroup, AddGroup, UngroupDelete, UngroupGroup} +
{Maximize, Minimize}
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
#1 Distributed Storage of user Behaviour
• Operation carried out on the interface: Add Component, Delete Component, Move Component, Resize Component…
• User Information: Name, Category, Home Region, Personal data…
• Temporal Information: Date, Time, Day, Month, Season…
• Location Information: latitude, longitude, proximity to coast…
• Other Information: Temperature, Humidity, Wind, Precipitation…
• State of the Worspace: Location and size of all components
20
Case Study
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
Acquisition Data Web Service
ENIA Core Web Services with Context Information
Client (ENIA)
2) ENIA Core. Information about Users and Components à http://www.enia.dreamhosters.com/webservices
1) Azure Cloud Web App. Written in PHP à http://getinteraction.azurewebsites.net/service.php
3) Context Information. I.E: Temperature à http://www.webservicex.net/globalweather.asmx?op=GetWeather
4) SQL Azure Database à basedatosinteraccion.database.windows.net
Schema Graphic JSON Schema
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
#2 Creating Distributed DataViews.
22
Case Study Case Study
User Category Time of day Date Localization Tourist 15:00-17:00 Summer Near to Cost
User Category Date Operation Component Farmer From January to March Insert Component Tomate Seeds Providers
Set of structured data so they can serve as entry elements to machine learning algorithms
Insert “Beach Temperatures” Component
Insert “Tomate Seeds Prices” Component
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
idUser userType idSession idInteraction dateTime operationPerformed idComponent
idUser userType isNewUser : boolean season : list operationPerformed (filter = add) idComponent (ObjectiveField)
Before FE After FE
Decission Trees --- Ensemble --- Random Decision Forest
#2 Creating Distributed DataViews (Feature Engineering)
#3 Application of Machine Learning Algorithms.
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
#2 Creating Distributed DataViews (Feature Engineering)
idUser userType idSession idInteraction dateTime operationPerformed idComponent
idUser userType isNewUser : boolean season : list operationPerformed (filter = add) idComponent (ObjectiveField)
Before FE After FE
clusterField Clustering
idUser (let’s keep it)
Clustering --- Decission Trees --- Ensemble --- Random Decision Forest #3 Application of Machine Learning Algorithms.
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
#3 Application of Machine Learning Algorithms.
• We need to identify the time of day when a “tourist” user will need to find out the water temperature of a beach by using the “temperature of beaches" component.
Supervised Regression Algorithms
• Supervised à we already have data of previous tourists who have used the “temperature of beaches" component.
• Regression Algorithm à predict a continuous value output (time of day) depending on a series of attributes (user type, season, location…).
25
Case Study Case Study
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
#3 Application of Machine Learning Algorithms.
• We need to identify when a component, after apply the “ResizeBigger” operation, would be interesting to show it at FullScreen using the “Maximize” operation.
Supervised Classification Algorithms
• Supervised à we already have data of previous tourists who have used the “temperature of beaches" component.
• Classification Algorithm à predict a discrete value output (whether to show the component full screen or not) depending on a series of attributes (component size before resize, component size after resize, …).
26
Case Study Case Study
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
#3 Application of Machine Learning Algorithms.
• Divide users depending the component they manipulates and, based on that segmentation, suggest them services for this new type of user detected.
Unsupervised Clustering Algorithms
• Unsupervised à A priori we have no idea what component are used for the users (or what components they will use in the future).
• Clustering Algorithm à We expect the algorithm to “group” users based on the components they manipulate.
27
Case Study Case Study
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
#4 Conversion Rules • The format of ENIA rules is ATL (a transformation model language
which also provides a number of tools for Model Driven Engineering)
• We create a HOT (Higher Order Transformation) to transform the output of the algorithm to ATL Rules
28
#5 Evaluation of Rules
• In case of contradiction, the new rule is prioritized
• Old rules are not deleted (just ignored). We keep track of the historical set of rules
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
• A methodology is proposed to allow mashup user interfaces in distributed systems to adapt to user requirements at runtime, be intelligent and evolve over time through the use of machine learning and model transformations.
• The methodology consists of 5 steps – Save User Behaviour – Create Data Views – Apply ML Algorithms – Rules Transformation using HOT – Evaluate new generated Rules
29
Conclusions
Conclusions
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
• Define a Data Acquisition Process.
• Creation of automatic learning systems (fed data automatically view Web Services and apply ML algorithms continuously updating the rules repository)
• Statistical learning techniques will be used to classify or group different user intentions for individualized interface treatment.
• Optimization or improvement of algorithms to optimize results.
30
Future Work
Future Work
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
31
Contraportada
Thank you for your attention
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015) Rhodes, Greece, 26–30 October 2015
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Transformation
Methodology
Antonio Jesús Fernández-García1, Luis Iribarne1, Antonio Corral1
and James Z. Wang2
1 Applied Computing Group, University of Almería, Spain
2 The Pennsylvania State University, USA
Sixth International Workshop on Information Systems in Distributed Environment (ISDE’2015)
Rhodes, Greece, 26–30 October 2015
TIN2013-41576-R P10-TIC-6114