Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
A Study on Behavior Mining and Recommendation of Cloud Services Using Time Weighted Sequence Mining Algorithm (TWSMA
1. A Study on Behavior Mining of Cloud
computing users
Shree Krishna Shrestha
12054071
Graduate School of Engineering
Muroran Institute of Technology, Muroran, Hokkaido, Japan
2014・02.14
3. INTRODUCTION AND PURPOSE
Purpose:
A framework to recommend service
Method to mine services, based on the behavior of service user
Method to Recommend Services based on the result data of mining of
services
Jyaguchi:
A cloud system proposed by Bishnu Prasad Gautam
Based on service on demand and pay per use business model
4. TEST BED CLOUD SYSTEM :JYAGUCHI (OVERVIEW)
Jyaguchi is a SAAS based cloud that provides a platform to develop
application as service with multi-language support.
component
AddService
Component
component
Calculator
Service
Component
JavaScript
component
SubtractService
Component
Ruby
component
MultiplyService
Component
Python
Component
DivideService
Component
Groovy
Ref: As per the Definition of Inventor of Jyaguchi, Asst. Prof. Bishnu Prasad Guatam
Features
Software as
Service(SaaS)
Distributed
Resource
Management
Pay per use
Business Model
Service on
Demand
5. TEST BED CLOUD SYSTEM: JYAGUCHI
Logs the activity of users with in Interface
6. MAJOR ISSUE IN MINING OF SERVICES
What is difference between
mining Item and Service?
Why current Item mining
cannot be used for Service
mining?
Usage Time
Service Mining
Mining for frequent service usage pattern considering not only service usage
frequency but also the service usage time
7. ALGORITHM FOR SERVICE MINING
Propose an algorithm for service mining which consider the
time of service usage.
Time Weight Sequence Mining Algorithm
(TWSMA)
Create Multi-dimensional
Weighted Service
Sequence Database
Mining Multi-dimensional
Sequence
8. CREATION OF SERVICE WEIGHT INPUT
SEQUENCE
Input: Service Usage logs; Unit time u
Output: Multi-dimensional Weighted Service Sequence Database
(MDWSSDB)
1: Calculate service usage time from service usage logs for each service
on each position.
2: Create Multi-dimensional service usage time sequence from service
usage logs
3: Calculate , Service Count, for each service on each position
4: Calculate Absolute Service Weight, for each service on each position
5: Calculate Relative Service Weight for each service on each position
6: Make Weighted Sequence (ws) integrating service id sj with its Related
Service Weight.
7: Create MDWSSDB with integrating ws and associated user id.
9. CALCULATION OF RELATIVE SERVICE WEIGHT
Multi-dimensional service usage time sequence
Seq. id
User_id
Sequence
1
10
(2,6),(123,16),(456,31),(2,33),(456,35)
2
10
(2,21),(2,20),(2,22),(1,22),(2,21)
3
16
(2,1),(123,9),(456,1),(123,1),(456,15
4
15
(456,19),(456,24)(234,24),(456,43
5
15
(234,20),(234,11),(234,30),(456,38)
6
16
(456,19),(123,39),(456,30),(234,30)
Service Weight of service 2
for user 10,
ST2,10 = (6 + 33 + 21 + 20 +
(456, min
22 + 21) min = 12335)
T10 = (6 + 16 + 31
Service
Use time
+33+35+21+20+22+22+ 21)
ID
min = 227 min.
ASW2,10= 123/227 = 0.542
For unit time (ut) 5 min, service usage count for service 2 at position 1 and sequence
1 is (SC2,1,1) = 6/5 = 1.2
RSW2,1,1 = 1.2 * 0.542 = 0.650
10. EXAMPLE OF INPUT SEQUENCE
Jyaguchi log data
Seq. id
User_id
Sequence
1
10
(2,6),(123,16),(456,31),(2,33),(456,35)
2
10
(2,21),(2,20),(2,22),(1,22),(2,21)
3
16
(2,1),(123,9),(456,1),(123,1),(456,15
4
15
(456,19),(456,24)(234,24),(456,43
5
15
(234,20),(234,11),(234,30),(456,38)
6
16
(456,19),(123,39),(456,30),(234,30)
(456, 35)
Service
ID
Use time
Calculation of service weights
Seq. id
User_id
Sequence
1
10
(2,0.650),(123,0.224),(456,1.804),(2,3.577),(456,2.037)
2
10
(2,2.276),(2,2.168),(2,2.385),(1,0.427),(2,2.276)
3
16
(2,0.0014),(123,0.608),(456,0.089),(123,0.068),(456,1.344)
4
15
(456,2.253),(456,2.846)(234,1.954),(456,5.1)
5
15
(234,1.628),(234,0.895),(234,2.442),(456,4.507)
6
16
(456,1.702),(123,2.636),(456,2.688),(234,1.242)
(456, 2.037)
Service
ID
Service
weight
11. MINING MULTIDIMENSIONAL SEQUENCE
Input: Multi-dimensional Weighted Service Sequence
Database: MDWSSDB; Minimum support min support
Output: The complete set of labeled frequent patterns
1: Calculate sequence database weight SDW of MDWSSDB
2: Calculate minimum weight Wm
3: Call ModiedPrexSpan
4: End if no frequent pattern is found or at end of database
5: Form Projected Sequence Database
6: Mine labeled frequent patterns from Projected Sequence
Database
12. MINING SEQUENTIAL PATTERN
Total Database Weight (SDW )= (0.650+0.224+1.804+...+1.242)=49.83
For min_support 5%
min_weight = 49.83*.05
= 2.49
Service id : 123
0.224+0.608+0.068+2.636
Total weight of service id 123 :3.53
User_i
Sequence
d
10
(2,0.650),(123,0.224),(456,1.804),(2,3.577),
(456,2.037)
2
10
(2,2.276),(2,2.168),(2,2.385),(1,0.427),(2,2.
276)
3
16
(2,0.0014),(123,0.608),(456,0.089),(123,0.0
68),(456,1.344)
Prefix
Postfix
4
15
(456,2.253),(456,2.846)(234,1.954),(456,5.
Prefix
Postfix
2
<_123,456,2,456>,<_2,2,1,2>,
1) <2>-projected database
<_123,456,123,456>
123
<_456,2,456>,
5
15
(234,1.628),(234,0.895),(234,2.442),(456,4.
<_456,123,456>, <_456,123,456>, <_456,234> 507)
123
<_456,2,456>, <_456,234>
<123>-projected database
6
16
(456,1.702),(123,2.636),(456,2.688),(234,1.
123,456 <_2,456>, <_123,456>
242)
2,123
Seq.
id
1
<_456,2,456>,<_456,123,456>,<_456>
Frequent Pattern : 123,456
<2,123>-projected database
13. MINING SEQUENTIAL PATTERN
For frequent service sequence<123; 456>
User_i
Sequence
d
10
(2,0.650),(123,0.224),(456,1.804),(2,3.577),
<123,
(456,2.037)
456>
2
10
(2,2.276),(2,2.168),(2,2.385),(1,0.427),(2,2.
276)
User_id 16 and * are found frequent
3
16
(2,0.0014),(123,0.608),(456,0.089),(123,0.0
68),(456,1.344)
from postfix database.
4
15
(456,2.253),(456,2.846)(234,1.954),(456,5.
1)
Prefix
Postfix
15
(234,1.628),(234,0.895),(234,2.442),(456,4.
2
<_123,456,2,456>,<_2,2,1,2>, 5
<2>-projected database
507)
<_123,456,123,456>
6
16
(456,1.702),(123,2.636),(456,2.688),(234,1.
123
<_456,2,456>, <_456,123,456>, <_456,234> 242)
<123>-projected database
Prefix
2,123
Labeled frequent
pattern
<10>;<16 (16; <123; 456>);
(*,<123; 456>)
>; <16>
Postfix
Seq.
id
1
<_456,2,456>,<_456,123,456>,<_456>
<2,123>-projected database
14. RECOMMENDATION OF SERVICES
Based on result labelled Frequent pattern from TWSMA
Categorized for 3 user group
1.
2.
3.
Anonymous Users/First time User Group,
Registered Users group without Previous History of Service
Usage (don’t have current service usage log).,
Registered Users group with Previous History of Service Usage
(have current service usage log).
21. EXPERIMENTS (TWSMA)
Experiment Methodology
Implemented on Jyaguchi system
Used actual log of Jyaguchi Users
Varied minimum support to find variation in No. of
patterns found and processing time.
Comapred No. of patterns found and processing time
with seq-dim algorithm.
22. EXPERIMENT RESULTS (1)
• No. of patterns and Process time with no. of sequences for
varied minimum support
23. EXPERIMENT RESULTS (3)
• No. of patterns and Process time with no. of sequences for
varied minimum support
24. EXPERIMENTS (TWSMA)
Precision and Recall based evaluation
Experiment Methodology
Learning Phase:
Find frequent services from log data of prior to implementing TWSMA algorithm with
various minimum support
did an online survey among Jyaguchi Users about the favorite services.
found common services in between survey data and frequent services for various
minimum support which is used as relevant services.
Evaluation Phase
Users Use Jyaguchi system where services are recommended from 3 algorithms: 1.
TWSMA, 2. SEQ-DIM and 3. Random
Calculate Precision and Recall for each user.
Take average of Precision and Recall for various minimum support.
25. EXPERIMENT RESULTS (3)
Comparision of Precision and recall for Various minimum support for 3 algorithm
Minimum_support:7%
Minimum_support:10%
26. EXPERIMENT RESULTS (4)
Comparision of Precision and recall for Various minimum
support for 3 algorithm
Minimum_support:12%
Minimum_support:15%
27. CONCLUSION AND FUTURE WORKS
Conclusion
• proposed a framework for recommending services utilizing service usage
time as service weight.
• Implemented the algorithm in the Jyaguchi System.
• Evaluated the proposed framework on Jyaguchi System.
Future Tasks
• Implement and evaluate algorithm on other SAAS based Cloud system.
• Add the dimension of user profile for better recommendation
Ladies and gentleman, I am Shree Krishna currently studying on Master degree in Muroran Institute of Technology, Hokkaido, Japan. Today I am going to present on Recommendation of a Cloud Service Item Based on Service Utilization Patterns in Jyaguchi
In this Presentation, I will firstly introduce my research and purpose of my research. Then I will briefly introduce Jyaguchi system which we had used as a testbed for our research. Then I will talk about problem in mining algorithm for mining service and describe our algorithm for service mining. Then I will discuss about the recommendation algorithm used for this research. Then I will explain experiments and results regarding our algorithms. Finally I will conclude our presentation.
In this presentaion we will purpose an algorithm for mining service and recommendation of service based on the behaviour of service user in cloud system. We had defined mining of service as Service mining which is the mining for frequent service usage pattern considering not only service usage frequency but also the service usage time.For this particular purspose we had used a cloud system Jyaguchi which was proposed by Bishnu Prasad Gautam.
Jyaguchi Systemis the system proposed and developed by prof. Bishnu Prasad Gautam during his Master Degree. This has lots of features among which I had listed four here.Another feature of this system is pay per Use Business Model. Unlike the system in which the softwares are installed and used in ersonal machine, all the services are run in the server computer and user pay for the time of that service used which is pay per use business model.Service on Demand is the feature which allows user of Jyaguchi to use the service at their favourable time from system. this sample uses four script languages.JavaScript for addingRuby for substractionPython for MultiplicationGroovy for division
These are the user interfaces of Jyaguchi system. Left one is called as unified user interface which have clouds of services and other information boxes.………With leaving the Jyaguchi now I will talk about why service mining was needed.
These days cloud computing is very hot topic. All big named company are shifting on clouds. Then the clouds which usage pay per use business model how can we recommendation system. Before answering this question, we should answer two question first.What is difference between mining of Item and mining of Service?Why current Item mining cannot be used for Service mining?The main difference is Usage time.The Items once bought are finished. It doesnot matter how long he used that item or when he used that item. So, most of the algorithm of item mining is based on frequency of item. But for services, usage time is very much important. The services are used for certain time and payment will be done for that period. So, service which have long period of use with its frequency of uses should be recommended for user. The solution for mining of services on those cloud systems is given by service mining which is Mining of services utilizing the frequency of uses and service usage time of users.
For the service mining purpose we had purposed a new algorithm called TWSMA. It is not a completely new algorithm but a modification of a existing algorithms. We had modified the multidimensional sequence mining algorithm in a way that it takes count of service usage time also.This algorithm has mainly two partsCreation of service weightMining Multidimensional Sequence
We will calculate the service weight of each service in each sequence. The weight of service in sequence is the time of service used by a user to the total time of that user in the system.Then calculated service weight with service id will make input sequence.
Here is the example of input sequence. The first table has service id and respective usage time separated by commas. After calculating weight of each service in each position, Table2 is service weight input sequence where service_id and service weight are making set.User id is next dimension of this sequence
With the frequent sequence and dimension, projected MD-database will be created.Got 10 and 16 for 2,123,456