International Journal of Computer Applications (0975 – 8887) Volume 40– No.3, February 2012 47 Design and Implementation of User Context aware Recommendation Engine for Mobile using Bayesian Network, Fuzzy Logic and Rule Base Thyagaraju GS Research Scholar (VTU), Dept Of CSE, SDMCET, Dharwad -580 002, Karnataka, India. Umakant P Kulkarni Professor Dept of CSE, SDMCET, Dharwad -580 002, Karnataka, India. ABSTRACT Context-aware computing refers to a general class of mobile systems that can sense their physical environment, and adapt their behavior accordingly. Such systems are a component of a ubiquitous computing. Context aware computing makes systems aware of situations of interest, enhances services to users, automates systems and reduces obtrusiveness and customizes and personalizes applications. Mobile phones and PDAs are converging into mobile lifestyle devices that offer a wide range of applications to end users. Many of these applications will have the ability to adapt themselves to the user’s situation, commonly referred to as context awareness. Context-aware services have been introduced into mobile devices, such as cellular phones. Context aware service recommendation engine for mobile is designed to automatically adopt its behavior to changing environment. To achieve this, an important issue to be addressed is how to effectively select services for adaptation according to the user’s current context. In this paper, we propose an intelligent service recommendation model. We formulate the service adaptation process by using artificial intelligence techniques like Bayesian Network, fuzzy logic and rule based reasoning .Bayesian Network to classify the incoming call (high priority call, low priority call and unknown calls), fuzzy linguistic variables and membership degrees to define the context situations, the rules for adopting the policies of implementing a service, fitness degree computation and service recommendation. In addition to this we have proposed maximum to minimum priority based context attributes matching algorithm for rule selection based on fitness degree of rules. The context aware mobile is tested for library and class room scenario to exemplify the proposed service recommendation engine and demonstrate its effectiveness General Terms Context Aware Computing, Ubiquitous Computing, Service Recommendation Engine. Keywords Context Aware MOBILE, User Context, Socialization, Personalization, Bayesian, Fuzzy logic, Rule Base. 1. INTRODUCTION The users nowadays are mobile dependent. Services provided by the existing mobiles with minimum functionalities are not up to the mark. Context Aware Mobile is in high demand. Mobiles are one of the most popular consumer products all over the world, and have evolved such that they can now provide personalized and adaptive services to users in many ways. The existing technologies allow users to move around with computing power and network resources at hand (say portable computers and wireless communications). Due to their popularity and easy access and varies functionalities, various technologies have been developed that contribute to making the mobile even more context aware. Mobile internet services enable access to information in a more flexible manner. These changes have increasingly enabled people to access their personal information, corporate data, and public resources ―anytime, anywhere‖. There are already many wireless handheld computers available, running different operating systems such as Palm OS, Microsoft Pocket PC (Windows CE), and Symbian EPOC. Contextual presentation is an emerging technique that has huge commercial possibilities .The theory behind the applications is complex and this makes the implementation non trivial. With the appearance of mobile devices such as cellphones, PDAs or laptops, context-aware applications are becoming prevalent. Context-aware systems provide relevant information, and services based on information to the user, depends on the users’ situation. Mobile computing imposes new challenges in designing computer hardware and software due to user mobility, the diverse types of devices used, resource constraints, and the dynamic nature in execution context. Context-aware mobile computing middleware provides abstraction and support for application programmers to ease the task of developing mobile applications, ensuring acceptable QoS and allowing for adaptation to changes in the operating environment. An important issue to address in designing a context aware middleware is how to effectively recommend services for adaptation according to the user’s current context. However, this issue has not been adequately addressed in existing work which has been focused either on the software realization of services configuration or on a specific scenario or domain [1,2,3]. This paper is concerned with the formulization and development of a service recommendation engine for context-aware mobile computing middleware. We propose the design and implementation of user context aware recommendation for mobile using artificial intelligent tools like Bayesian Network, Fuzzy logic and Rule base. The recommender makes mobile to adapt to dynamically changing personal, social, environmental and physiological states. To list some of the services (but not limited) provided by recommender are as follows: 1. Provide the callers with the ability to communicate the high priority calls irrespective of his situation and location. 2. It goes to silent mode in the class room/meeting room automatically. 3. It goes to the vibrating mode automatically in the Library and also provides services like book search.
17
Embed
Design and Implementation of User Context aware ......System for Low-End Mobile Devices. Here the recommendation is based on the factors like Social affinity computation from call
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
International Journal of Computer Applications (0975 – 8887)
Volume 40– No.3, February 2012
47
Design and Implementation of User Context aware
Recommendation Engine for Mobile using Bayesian
Network, Fuzzy Logic and Rule Base
Thyagaraju GS Research Scholar (VTU),
Dept Of CSE, SDMCET, Dharwad -580 002, Karnataka, India.
Umakant P Kulkarni Professor
Dept of CSE, SDMCET, Dharwad -580 002, Karnataka, India.
ABSTRACT
Context-aware computing refers to a general class of mobile
systems that can sense their physical environment, and adapt
their behavior accordingly. Such systems are a component of
a ubiquitous computing. Context aware computing makes
systems aware of situations of interest, enhances services to
users, automates systems and reduces obtrusiveness and
customizes and personalizes applications. Mobile phones and
PDAs are converging into mobile lifestyle devices that offer a
wide range of applications to end users. Many of these
applications will have the ability to adapt themselves to the
user’s situation, commonly referred to as context awareness.
Context-aware services have been introduced into mobile
devices, such as cellular phones. Context aware service
recommendation engine for mobile is designed to
automatically adopt its behavior to changing environment. To
achieve this, an important issue to be addressed is how to
effectively select services for adaptation according to the
user’s current context. In this paper, we propose an intelligent
service recommendation model. We formulate the service
adaptation process by using artificial intelligence techniques
like Bayesian Network, fuzzy logic and rule based reasoning
.Bayesian Network to classify the incoming call (high priority
call, low priority call and unknown calls), fuzzy linguistic
variables and membership degrees to define the context
situations, the rules for adopting the policies of implementing
a service, fitness degree computation and service
recommendation. In addition to this we have proposed
maximum to minimum priority based context attributes
matching algorithm for rule selection based on fitness degree
of rules. The context aware mobile is tested for library and
class room scenario to exemplify the proposed service
recommendation engine and demonstrate its effectiveness
General Terms
Context Aware Computing, Ubiquitous Computing, Service
Recommendation Engine.
Keywords
Context Aware MOBILE, User Context, Socialization,
Call Settings Answer Answer the Call Answer the Call Call Ringing Answer the Call
Messaging Yes No No Yes Yes
Contacts True True False True True
Log Yes Yes No No Yes
Settings No No No No No
Gallery No No No No No
Media No No No No No
AllHiddenApplications Yes Yes Yes Yes Yes
MyEntertainment Yes No No No No
MyShopping No No No No No
Notifications Yes Yes Yes Yes Yes
Fig 10: Rule Base for context aware mobile
RULE [no] IF THEN
RULE [2] [Fall] : "0" and [Temp] : "Warm" and [Time Type] : "Working Hours" and [Time] : "AM" and [Day] : "Working Day" and [Location]: "CCLib" and [Incoming Call] : “High Priority “
[Profile] = "Silent" and [Volume Settings] = "Silent" and [Call Settings] = "Answer the Call" and [Messaging] = "yes" and [Contacts] = "TRue" and [Log] = "Yes" and [Settings] = "no" and [Gallery] = "no" and [Media] = "no" and [AllHiddenApplications] = "yes" and [MyEntertainment] = "no" and [MyShopping] = "no" and [MyNotifications] = "yes" and [MyCollege] = "yes" and [MyLib] = "yes" and [Organizer] = "yes" and [Web] = "yes"
RULE [3] [Fall] : "0" and [Temp] : "Warm" and [Time Type] : "Working Hours" and [Time] : "AM" and [Day] : "Working Day" and [Location] : "CCCR and [Incoming Call] : “High Priority”
[Profile] = "Silent" and [Volume Settings] = "Silent" and [Call Settings] = "Answer the Call" and [Messaging] = "no" and [Contacts] = "False" and [Log] = "No" and [Settings] = "no" and [Gallery] = "no" and [Media] = "no" and [AllHiddenApplications] = "yes" and [MyEntertainment] = "no" and [MyShopping] = "no" and [MyNotifications] = "yes" and [MyCollege] = "no" and [MyLib] = "yes" and [Organizer] = "yes" and [Web] = "yes"
RULE [5]
[Fall] : "0" and [Temp] : "Norm" and [Time Type] : "Free Hours" and [Time] : "EAM" and [Day] : "Working Day" and [Location] : "House" and [Incoming Call] : “Low Priority”
[Profile] = "General" and [Volume Settings] = "High" and [Call Settings] = "Call Ringing" and [Messaging] = "yes" and [Contacts] = "TRue" and [Log] = "No" and [Settings] = "no" and [Gallery] = "yes" and [Media] = "no" and [AllHiddenApplications] = "yes" and [MyEntertainment] = "yes" and [MyShopping] = "no" and [MyNotifications] = "yes" and [MyCollege] = "yes" and [MyLib] = "no" and [Organizer] = "yes" and [Web] = "yes"
RULE [10]
[Fall] : "1" and [Temp] : "Very Cold" and [Time Type] : "Free Hours" and [Time] : "EAM" and [Day] : "Working Day" and [Location] : "OutDoor" and [Incoming Call] : “Low Priority”
[Profile] = "General" and [Volume Settings] = "High" and [Call Settings] = "Answer the Call" and [Messaging] = "yes" and [Contacts] = "TRue" and [Log] = "No" and [Settings] = "no" and [Gallery] = "no" and [Media] = "no" and [AllHiddenApplications] = "no" and [MyEntertainment] = "no" and [MyShopping] = "no" and [MyNotifications] = "yes" and [MyCollege] = "no" and [MyLib] = "no" and [Organizer] = "no" and [Web] = "no"
RULE [18] If [Fall] : "1" and [Temp] : "Very Hot" and [Time Type] : "Free Hours" and [Time] : "AM" and [Day] : "Working Day" and [Location] : "House" and [Incoming Call] : “Undefined”
Then [Profile] = "General" and [Volume Settings] = "High" and [Call
Settings] = "Answer the Call" and [Messaging] = "yes" and [Contacts]
= "TRue" and [Log] = "Yes" and [Settings] = "no" and [Gallery] = "no"
and [Media] = "no" and [AllHiddenApplications] = "yes" and
[MyEntertainment] = "no" and [MyShopping] = "no" and
[MyNotifications] = "yes" and [MyCollege] = "no" and [MyLib] = "no"
and [Organizer] = "no" and [Web] = "no"
Fig 11: Example knowledge based Rules extracted from the Rule base
International Journal of Computer Applications (0975 – 8887)
Volume 40– No.3, February 2012
57
For selecting the appropriate rule the Maximum to minimum attributes matching algorithm described below (Fig12) is utilized. The
algorithm initially searches for rule where all the condition attributes and context attributes will be same .If not found the algorithm
searches the rule wherein the n-1 attributes(Deleting the least priority attribute).At each time the algorithm searches for best rule by
deleting the least priority attribute and thus maintaining the best fitness degree (>=0.2)
Fig12: Maximum to Minimum attributes matching algorithm (MMAM )
5. EXPERIMENTAL AND RESULT
ANALYSIS The Experiment was conducted under two phases: Phase1:
Using Simulator Phase2: Using Experimental Set with
devices and sensors.
Phase 1: In this phase the proposed system was tested
using simulator developed inJ2ME .Following is one of the
several scenarios tested using simulator.
Scenario (User is in Central Library): In this scenario the
user was allowed to carry her mobile to Library Hall. A soon
as the user enters into the library hall Mobile switches into the
Library Context from the previous context (Fig13.1 and
Algorithm3: Maximum to Minimum attributes matching algorithm (MMAM ) Input : 1) Current Context Attributes
2) Rule Base (R,C,A) 3) The attributes are sorted in descending order of priority Priority(C1)> Priority(C2) Priority(C2) > Priority (C3) ------------------------------- ------------------------------ Priority(Cn-1) > Priority(Cn)
Output : 1) Matched Rule with Condition attributes and Action Attributes.
𝐧 (Rule#Ci==CCj)) Then return { Rule# ; //Rule ID ∀𝐢=𝟏
𝐧−𝟏 Rule#Ci ; // Context Conditions Values
∀𝐣=𝟏𝐩
Rule#A ; // Action Values
FD(Rule#); // Dependency degree/ Fitness Degree } Else If (∃Rule#|∀𝐢=𝟏
𝐧−𝟏(Rule#Ci==CCj)) Then return { Rule# ; ∀𝐢=𝟏
𝐧−𝟏 Rule#Ci ;
∀𝐣=𝟏𝐩
Rule#A ;
FD(Rule#); } ---------------------------------------- ----------------------------------------- Else If (∃Rule#|∀𝐢=𝟏
𝐧−𝟏(Rule#Ci==CCj)) Then return { Rule# ; ∀𝐢=𝟏
𝐧−𝟏 Rule#Ci ;
∀𝐣=𝟏𝐩
Rule#A ;
FD(Rule#); } }
Algorithm Complexity Best Case Complexity: O(1) Worst Case Complexity: O(m(n!))
International Journal of Computer Applications (0975 – 8887)
Volume 40– No.3, February 2012
58
Fig13.2). The Mobile adapts the settings and services as per
the requirement of the situation (Fig13.3). The user was
allowed to use the library service (say book search) which is
illustrated in the figures (Fig13.4 to Fig13.9).
Fig 13: Different states of Context aware Mobile in Library.
Fig13.1 Fig13.2 Fig13.3 Fig13.4 Fig13.5
Fig13.6 Fig13.7 Fig13.8 Fig13.9
Fig13.1: Acquiring the current context, Fig13.2: Display of current context Info, Fig13.3: Details of settings and services for the current context Fig13.4: Library Services Provided by the device Fig13.5: Search Options Fig13.6, Fig13.7: Book Search Fig13.8: Details about the title entered Fig13.9: Details about the book selected
International Journal of Computer Applications (0975 – 8887)
Volume 40– No.3, February 2012
59
Phase 2: The experimental set up for the realization of the
concept is as shown in the figure14. The system consists of 5
major components which are described in the following
sections.
Fig14 : Experimental set up of context aware mobile
1. Context aware Mobile (CAM ): is enabled with
Bluetooth, GPRS and supporting Symbian Operating System ,
which supports J2ME. On the mobile side, the application was
developed and implemented using Java 2 micro edition
(J2ME) .The J2ME application runs on any Symbian OS
based phone. Note that the application can only operate on a
Bluetooth enabled mobile phone
2. Sensor Board: The sensor board was designed specifically
for the concept demonstration .Sensors like temperature
sensor and accelerometer was embedded in the sensor
(however the latest mobile will have inbuilt temperature and
accelerometer) .Bluetooth transceiver was used to establish
the communication between sensor board and Mobile. Also
some of the sensors like Humidity and Noise sensor was not
used because of their role in college campus in not
considerable.
3. Database: The server uses a MySQL database. MySQL is
an open source relational database management system which
uses Structured Query Language (SQL). MySQL was chosen
because of its reliability, speed and flexibility. The server
receives requests from the application program. The request
can be either to register a new user, update user information,
or locate an existing user. The server tokenizes the user
requests, and issues the appropriate SQL statement to perform
the required action.
4. Server : The Netbeans IDE6.9.1 was used to develop
server . In addition Wamp server was installed in a system so
that database can be accessible for the Server.
5. Client :The client application was developed in J2ME and
installed in Bluetooth Enabled Cell.
Experiment 1: This experiment was conducted to determine
the Bayesian Priority assignment accuracy (BPAA) of
proposed algorithm in classifying the Incoming call as High
priority call, Low Priority Call and Unknown Call. Three
different user’s one month mobile usage history database with
sample size of 1000, 500 and 100 respectively was used as a
training database for the algorithm. As illustrated in the figure
15 below the performance was better for database with more
number of samples per month.
Fig15 : Priority Assignment Accuracy of Bayesian Network
Experiment 2: This experiment was conducted to determine
the amount of time required to recognize the different location
with respect to Bluetooth access point signal strength. For
each location three different trials were made with different
signal strength .As it is illustrated in the Fig the response time
was less (50-100 milli seconds) for excellent signal strength
as compared to low signal strength (1000-1500milliseconds).
International Journal of Computer Applications (0975 – 8887)
Volume 40– No.3, February 2012
60
Fig16:Time to recognize the different location based Bluetooth Signal strength
Experiment 3: This experiment was conducted to determine
the average service popup time with respect to different
location .The system took more time when user moved to
outdoor as compared to that when the user is in class room.
This is due to the fact that the number of services to be
invoked in outdoor situation is more as compared with the
class room situation.
Fig17: Service popup time
Experiment 4: In this experiment, we aimed to evaluate the
Precision of recommending the appropriate services and
settings based on the current context of the user. About 20
users (students and faculty) were allowed to use the mobile in
college campus in different locations. The result is highly
subjective. Most users agree that the precession rate of 76-82
percent is useful.
Precision = 𝑁𝑢𝑠𝑒𝑓𝑢𝑙
𝑁𝑡𝑜𝑡𝑎𝑙 ----(8)
Where Nuseful = No of services (Expected by the user ⋂ Recommended by the system) Ntotal = No of Services (Recommended by the system ⋃ Expected by the user)
Fig18 : Precision of service recommendation in different context
0
500
1000
1500
Recogniton time in milli
seconds
Signal Strength
trail1
trial2
trial3
0100200300400500600700800900
Service PoPupTime(ms)
Location
Trial1
Trial
Trial3
Trial4
Trail5
0
0.2
0.4
0.6
0.8
1
Precision
User
OutDoor
Class Room
Meeting Room
Library
International Journal of Computer Applications (0975 – 8887)
Volume 40– No.3, February 2012
61
Experiment 5: In this experiment we aimed to evaluate the
overall performance of the recommendation system in terms
of time.
Table6 : Overall Performance of Recommendation
System
Experiment 6: To get the proper assessment of our
application, we used the cognitive walkthrough strategy. We
did a survey on a group of 20 people on the usability and
usefulness of our application in the college campus. First we
showed the prototype application demo. The distribution of
the participants is as follows: 8 undergraduate students, 8 post
graduate students and 4 faculty members. We handed
questions about the application over to each participant and
requested them to answer them on a scale of 1 to 5of
satisfaction level. The questionnaire for the survey is given
below:
Overall, how would you rate the following services provided
by the context aware mobile in terms of satisfaction level? (1
= Below Average, 2= Average 3= Good 4 = Very Good 5 =
Excellent)
1. Location based Services
2. Time based services
3. Incoming Call based Services
4. Fall based services
5. Temperature based services
6. System Performance
Fig19: Time to recognize the different location based Bluetooth Signal strength
From the graph, it is evident that participants were
enthusiastic about the application and its usability.
6. CONCLUSION The paper presents the design and implementation of the
proposed context aware mobile. The service adaptation
process is formulated using artificial intelligence techniques
like fuzzy logic, rule based reasoning and Bayesian networks.
Bayesian Network to classify the incoming call (high priority
call, low priority call and unknown calls), fuzzy linguistic
variables and membership degrees to define the context
situations, the rules for adopting the policies of implementing
a service, fitness degree computation and service
recommendation. The intelligent context aware mobile is
tested for library scenario to exemplify the proposed service
recommendation engine and demonstrate its effectiveness.
Most system users we interviewed agree that service and
settings recommending precession of average 79 percent is
acceptable. In particular, many users feel that system
performance should be improved and more number of
meaningful social services should be replaced in the place of
unnecessary services. Our feature work includes improvement
in the rule matching by applying rough set theory, betterment
of services considering the user’s personal and social
activities in addition to physiological as well as addressing