The number of mobile phone users has grown surpassing the PC users due to its mobility and handiness, increasing of its processing power and memory, continuous growth of its applications and operating systems. Calendar is one of the common applications that are made available to these devices. Users are more dependent in using calendar to plan their daily activities. In a long term, the aggregation of these accounts can be the source of information in analyzing an individual's favorites, routines events, social contacts or personal beliefs. We developed a system to deliver the Mobile News Content (MNC) to individuals based on the information extracted from the calendar. The key capability of MNC is the ability to deliver news relevant to the current context of the individual with respect to the event, social and time. We propose an integrated suite that consists of event-capturing engine, news content controller and context calendar to enhance the news delivery capabilities. The event-capturing engine senses the actual activity that takes place and synchronizes with the context calendar automatically. The news content controller manages the delivery of news based on the event being sensed and the planned activity extracted from the context calendar. This paper discusses the components of the suite, system architecture and the system workflow of the suite.
Keywords: Keyword One, Keyword Two, Keyword Three, etc. (minimum 3 keywords)
1. Introduction
Statistics shows that mobile users worldwide have outgrew the PC users. Many factors contribute to the high growth rate such as the lower device cost, mobility/handy and simple applications. In addition to that, the application software and technical features offered in the mobile devices are looming such that users can now depend on these devices as much as they do on the personal computer.
Users have made their lifestyles associated with the mobile device applications. Calendars, Things-to-do, Notes, Reminder, Alarm, Contact List, SMS, Push-to-talk are the common functionalities that users are heavily relied on for managing their day-to-day activities. The content for most of these applications (such as calendars) is furnished by the users manually and consistent effort is needed to ensure the reminder or event in the calendar is valid and updated. Calendar is useful to keep dates and events on personal transactions such as purchasing new refrigerator; making personal appointment (e.g. celebrating a friend's birthday); recording personal achievement (e.g. winning runner-up trophy) and building personal memory (e.g. striking sweepstakes) [4]. Calendar does not only store spectacular events but also routine events.
The aim of the project is to make use of the context of the situation that can be extracted from the individual's calendar in order to be able to send news relevant to the present context of the user. Mobile news is a brief message which is sent in the form of text (e.g. SMS) or voices to the user where the content is analyzed to ensure its relevancies to the present situation of the individual. This poses a great challenge since most mobile news application has a rigid delivery mechanism. For example, many mobile operators send "Welcome Note" and "Calling Package Offers" repetitively to visitors who were just arrived to the airports. The delivery system is unable to recognize and differentiate between new visitors or the homecoming ones. So, the repeating message could be annoying to users who arrive at the airport not at the first time unless there is a reasonable time gap between the two messages. Another example of the weakness of the present delivery system is that, the mobile news may be triggered based on the location of the individual detected through certain access point. That means every individual who is at the same location will receive similar content of the mobile news whenever s/he passes through the same access point. This may not be useful since not all individuals are interested with the same news updates. An intelligent technique to manage news delivery that complies with certain well-defined characteristics is the focus of this project. The characteristics are defined as follows:
i. Personalized: related to the individual's personal preferences and favorites; belief, religion and philosophy; age; gender; races and others.
ii. Timely: the news is delivered at the right time when it is needed.
iii. Content-sensitive: the topics and subjects of the news are sensitive to gender, belief, age, religion or belief.
iv. Relevant: the current situation is related to the substances of the news being delivered in terms of its context and usefulness.
v. Significant: different degree of importance where highly important news can significantly affect an individual's decision and lower importance is plain information that is merely "nice-to-know".
vi. Recent: news that is released in series and is organized in a chronicle order. The most recent stays at the top in the list for release.
In order to comply to the above characteristics, the three suites namely, event-capturing engine, news content controller and context calendar are integrated to work symbiotically as shown in Figure 1.
Event-Capturing Engine
News Content Controller
Context
Calendar
Figure 1 Integrated Suite for the Mobile News
The Event-Capturing Engine (ECE) receives the planned events or activities from the Context Calendar (CC) and crosscheck with the actual event which is captured during the real time. If there are discrepancies, ECE synchronizes the information in the CC by adjusting and correcting according to the actual event that takes place and also filling in the additional parameters being captured into the CC. The ECE also feeds the information related to the environment of the current situation for the News Content Controller (NCC) to be able to apply its publishing policy in delivering the news. The NCC takes the individual's personal information from the calendar in order to apply the appropriate policy.
In the following sections, we describe the scenario of the problem (section 2), the concept of the calendar (section 3), the integrated suites (section 4) and conclusion (section 5).
2. Scenario of the Problem
News can be subscribed through RSS feeds or mobile operators that obtained the content from news agency [1]. The news content is predetermined based on the interest of the subscribers. There are three approaches in choosing the right criteria in delivering personalized news [3]:
Individual Identity (InId) - when user subscribes to the news delivery service, the personal details are captured including his/her preferences and interest to be used in determining the appropriate news [6].
Community Behavior (CoBe) - the requests for the web sites that are made by a community are generalized into several categories where each category is distinguished by the types of the content [5], for example, sports, business news, education and others.
Personal Subscription (PeSu) - an individual subscribes to news syndication such as RSS feeds where the personal interest or preferences of the users are not necessary. The news are delivered based on the fixed subjects or URL.
The Individual Identity contains the initial declaration of the individual's information which may change over time. In order to ensure recency, it requires frequent update and maintenance which can be costly or time-consuming. The Community Behavior is a generalization of mass activities which are captured, analyzed and modeled. The challenge with this approach is to determine at what level of accuracy that the community's general attributes can represent an individual's specific attributes. Since the members of a community changes dynamically, hence, the attributes are prone to change as well. The Personal Subscription is the most common approach but only limited to the syndication of the news being chosen. The news delivered using this approach is recent but may not be relevant at the point of delivery.
We argue that the three approaches that we mentioned above (a - c) are non-compliance to some of the characteristics of the news delivery described previously (Section Introduction) and this is presented in Table 1.
Table 1. Characteristics of the news delivery
Characteristics
Argument
Personalized
CoBe - features are represented as general representation. News delivery requires more precise information of an individual's activity. For example, someone attending an official meeting is a specific activity that cannot be extracted from CoBe.
PeSu - the content from the RSS feeds is designed for public rather than personal use. An individual has to personally select the RSS feeds manually in which otherwise the news will not be delivered.
Timely
It is difficult to deliver the news that suits to an individual's present context in a timely manner without having the real time information to understand the current situation of the individual. The InId, CoBe and PeSu do not contain the real-time information as they are not updated very regular.
Content-
sensitive
PeSu - individual searches manually the syndication of news and the selection is made based on his/her interest on the current content when the selection is made. However, the system is unable to detect the sensitivity of the content since the selection is made based on the subject or URL rather than the content. CoBe - community information is more generalized compared to PeSu in which CoBe will not perform better than the former. InId - acquire an individual's preferences such that the information on the content-sensitivity could be captured. Nevertheless, the information that is updated earlier has to be frequently updated.
Relevant
The relevancy highly dependent on the level of details available about the individual or community's preferences or interest. None of the approaches in InId, CoBe or PeSu has the detail on who, where and what that are useful to determine the relevancy of the news content and the present context.
Significant
Interrelated to more than a single factor (e.g. time, place and relevancy). For example, the alert news of serial murder at a local pub when a visitor is passing nearby the pub is considered as significance. This requires the same parametric input like relevancy on the details of activity which InId, CoBe and PeSu do not have.
Recent
The present approaches regard the recency of the news based on the time of release. However, recency is also based on the individual. News can be recent to some individuals who may just receive it and may not to others who have read it earlier. So, time factor of an individual is important in determining the recency information which is not available from InId, CoBe and PeSu.
3. Calendar
In this project, calendar is proposed to be used as the source to understand the context of an individual [2]. Few samples of a personal calendar is studied (a sample can be visited at http://www.brownbearsw.com/freecal/) where it contains the real values of a calendar and how it is prepared and used. The calendar can be analyzed through empirical study of how it is being used and some generalizations are made to determine the types of information that can be obtained and extracted from calendar, as shown in Table 2Error: Reference source not found.
Table 2. Essential Components of Calendar
Event
No action - an event where no specific action related to the event is needed, for example, preserving happy memories, honor lifetime achievement, highlight hotspots or reminder.
Action - the event where specific action related to the event is taken, for example Mother's birthday. The action types could be "to go" and "to do". The "to go" action is associated to "a place" or to "a social purpose". The "to do" action can be a routine and non-routine.
Social
Informal and social relationship: Friend/Kinship shows frequent meetings or appointments at casual location.
Informal and unfamiliar relationship: Non-personal contact where meetings or appointments are irregular.
Formal and familiar relationship: Regular meetings but no personal connection.
Formal and unfamiliar relationship: Irregular meetings with unknown people
Time
Specified - has interval and starting time
Unspecified - no definite duration and starting time
Deciphering the context of the individual is a challenging task since various factors need to be considered which are not available in the calendar. The notes are manually fed by individuals with variations in formatting, writing and even spelling styles. For example, refer to the Camelia's and Darren's Calendar, (http://www.brownbearsw.com/freecal/CeeandDee?Op=ShowIt&Date=2011-01-01) the text descriptions - "Cee AWS", "Dee A/L", "PROGRESS", are so brief that they do not have sufficient elaborative explanation about the activities or social aspects of a person. Since calendar is commonly for individual use, effort in elaborating is kept to minimum as long the content can be personally understood. Usually, the routine activity where the detail is in someone's memory is written this way. The following section will discuss the integrated suites as an approach to extract the context of the information from the calendar and to deliver the related mobile content.
4. Mobile News Content with Integrated Suites
The integrated suites are made of the Context Calendar, News Content Controller and Event-Capturing Engine (thereafter referred as CC, NCC and ECE, respectively). The MNC (Mobile News Content) is a system that triggers the CC to generate the context of the user for that particular day based on the prescribed activity, so-called Activity-Note. The context should contain necessary information about the user and the situated environment. E.g. User's context: Sandy is rushing to complete her grocery; Situated context: The fish market has a high level of noises. In both contexts, the NCC will pause for the news delivery submission since Sandy is in the context which is not appropriate to receive news. CC needs more context elements that sometimes may not be available from the Activity-Note. A short text such as "grocery" contains least context information that needs to be enriched by ECE. ECE uses ubiquitous computing devices to capture the context information of the Activity-Note. In the following we describe the functionalities for each suite.
4.1. Context Calendar
The essential information to be derived from the Activity-Note is associated with the contextual information needed to deliver the content based on the characteristics defined in Table 2.Error: Reference source not found The following is the list of contextual information to be extracted from the Activity-Note:
Event frequency - high (occur everyday or weekly), medium (once for every month or bimonthly) and low (once for every three or more month)
Idling status - free (permissible state to receive incoming news), engage (person is confined with situation, people or activity)
Motif - subjective (context without specific intention or purpose) and objective (focus-oriented and intentional)
Severity - leisure (loose involvement with surrounding) and serious (tight involvement with highly intense)
Duration - short (stop-over in an event) and long (period that is sufficient for a complete activity).
The contextual information are essential to the delivery mechanism to ensure, for example, variations in content if event frequency is "high", delaying the news dissemination if the idling status is "engage", the motif is "subjective" that allows news content with lower relevancy to be disseminated, news with humorous contents will not be delivered if severity is "serious" and simple news to be sent if event duration is "short".
4.1.1. Building Context in CC
The approach in building the context of the user's activity requires the mixed-initiative between the system and the user. The mixture of the two is needed since the technology for contextual understanding requires the support of huge knowledge based and commonsense knowledge while research building the contextual semantic network is an ongoing process [9]. In addition to this argument, CC contains the context that is peculiar to an individual that may not be commonsense knowledge to a community in general. For example, meeting with Alan who is the bank manager as well as old school boys is a unique relationship of a particular individual and not others. Therefore, the accuracy of information in this particular context can be obtained only from the user. Fig. 2 shows how the system captures the contextual information from the user.
Fig. 2 Defining the Context in the Activity Note
When the user enters "Playing Lawn Bowling with John" for the first time, the system will prompt the user for context defining process. Fig. 2 shows the system asks the user to define whether "Playing Lawn Bowling" is "a person" or, "a place", "an activity" or "an object". Nevertheless, information gathering based on user's input can be a challenge when sufficient cooperation is not given. There are three challenging scenarios that may possibly occur and the system':
Scenario 1:
"User is not willing to cooperate in updating the contextual information"
System action - uses historical data from context database that has similar activity. For the new activity, system will prompt user when the activity is repeated.
Scenario 2:
"User does not complete the full activity information e.g. play badminton" - missing information are the place and the actor
System action - uses historical data and matches with the context aware information feeder. The combination of both sources compliments each other to ensure the missing data is filled.
Scenario 3:
"User does not execute the activity based on the planned activity"
System action - context aware information feeder, interpretation rule, high level sensory abstraction are used as an integrated approach in sensing discrepancies between actual and planned activities.
4.1.2. Context Extraction
The Activity-Note is an abbreviated note of the user that poses two challenges to context extraction. First, the shorthand usage such as "b/day" to describe "birthday" is user-centric. Second, the abbreviated note has to be elaborated with contextual information.
Fig. 3 Context Extraction Process Flow
Word
Slicing
Profile
Matching
Context
Rule-based
system
Personal
Profile
Group
Profile
Global
Profile
Context
Extraction
The words in the Activity-Note are the most representative ones that the user chooses for quick reference. Therefore, the words are all treated with equal importance and they are sliced into parts for profile matching. The profiles contain the activity-context-definition graph for personal, group and global level which are built through feedback from the users and also ECE (explanation in the next section). The personal values are eccentric to the user which may not sharable to others. For example, someone's personal meeting with a special friend is not common or sharable to others. The group values are common to a collection of people within certain location, organization or establishment. For example, ABC Bakery is known for selling pastries to the local community. The global values are universally known concepts for everybody such as "university is a learning institution", "McDonalds is a fast food restaurant" or "post office manages mailing". The rule-based system is a set of rules that interprets the profiles into contextual information. The rule-based are common sense knowledge which is related to the daily activities of the users. Fig. 3 shows an example of the overall context extraction process flow. Fig. 4 shows a specific example of how the context is extracted for "Nate's 9th B-day Party". "Nate" is a specific to an individual and it can be found in the personal database. In this example, Nate's birthday is not the first time in the calendar and therefore there is a rule that describes that "Nate" is a friend. "B-day" is a common knowledge that the context is kept in the Global Profile as well as in Personal Profile. Once the profile matching is done, the context rules are applied in order to generate the context. In the example given, the b-party is defined as highly noisy, high social interaction, lots of activities and many people surrounding the place. The news delivery system will manage the dissemination of the news based on this extractable contextual information.
Nate's 9th
B-day Party
B-day
Party
b-party(private,small) V b-party(public,
large)
Nate
friend(nate)
b-party(nate,public)
event(b-party)→noise(high)
event(b-party)→social_interact(high)
event(b-party)→agenda(many)
event(b-party)→friends(many)
context(engage) →noise(high) ïŒ
social_interact(high) ïŒ agenda(many)
ïŒ friends(many)
Context = Engage
Activity-
Note
Fig. 4 Context Extraction Process (a scenario)
Global Profile
Personal Profile
4.2. Event-Capturing Engine (ECE)
Context Calendar (CC) is highly dependent to the input given by the user and also the existing common sense knowledge in the rule-based system. However, the validity of facts stored in the CC, have to be maintained (task 1) and the facts have to be continuously updated (task 2). The ECE gives a real-time support for these tasks using the ubiquitous computing technology.
4.2.1.Ubiquitous Computing
Many studies in the field of ubiquitous computing have shown that numerous types of data, from temperature to an individual movement, can be captured using different types of sensors. For example, optical sensors can measure light intensity, cameras to detect the presence of a moving object (animated or unanimated), noises through highly sensitive microphone, distance and location through various location identifiers such as Global Positioning System (GPS), cellular network infrastructure (such as GSM), infra-red positioning system or radio frequency. Error: Reference source not found shows the list of events to be captured and processed by ECE.
Table 3. Capturing Ubiquitous Information
Event
Capturing and Processing
Location
Capturing Attributes:
distance between two points
location ID or addresses
location name
Processing: Verify the location of activity as prescribed in the context calendar.
Noise
Capturing Attributes:
intensity - high, low or both
rhythmic - continuous or intermittent
sound type - machinery or living things or mixture
Processing: To detect the noise source and the types.
Period
Capturing Attributes:
date and time
interval - long or short
frequency - high or low
Processing: To understand the habitual and time significance of the activity.
Connection
Capturing Attributes:
person-to-person
person-to-object
one-to-one or one-to-many
continuous or intermittent
Processing: To detect the types of connection such as communicating, non-communicating, tight or loose.
Content
Capturing Attributes:
conversational texts and topics
artifacts subjects or properties
Processing: To understand the content of the activity by analyzing the conversation and artifacts used in the activity.
Figure 5 shows the example of the process in identifying the location name. The low level data capturing is performed at the network sensory level to capture heterogeneous data sets from temperature readings to light intensity. Some of these data are used further to define certain types of surrounding such as football field, cinema, farmer's market or library. Each of the surroundings has distinct values in which the surrounding can be differentiated. For example, light intensity and sound decibel level are the distinct values to determine whether it is a library or cinema surrounding. This is done by applying the surrounding values to the interpretation rule system in the world database. The selection of the place is aided by other interpretation when the two places have similar distinctive values such as "football field" and "golf course" but differentiated by the movement speed of the people. Location can also be detected from the GPS coordinates.
4.2.2.ECE Functionalities
The ubiquitous computing technology has the advantage of capturing the most recent and current activities. This technology is a complementary items to the calendar in which the recentness of the calendar depends on the user's effort in updating it. ECE functions in a real-time (synchronising) and also in a backend processing (planning). In the real-time, ECE receives the information from the CC that requires a synchronisation of the information from the ECE and CC. For example, a synchronisation to the activity and location will be made if the CC triggers that "Sally is going for hair dressing at 13th Cross St" but ECE detects "Sally is having a cup of coffee with friends" in the actual event. The CC will update the calendar based on the recent information from ECE.
Fig. 4 Flow Process of Identifying Location Name
Capture heterogeneous set of data
(e.g. from temperature to crowd density)
Classify the data sets for interpretation purpose
Map the classified data set into the world database
World
Database
Apply the interpretation rules from Activity Knowledge Base
Temp - 35C
Noise - 10dB
Sound - 10Hz
Light intensity - 50K Lux
…
Surrounding data = {temp, noise, sound, light intensity …}
Temp - high and outdoor
Noise - normal and natural
Sound - low and non-machinery
Light intensity - sunlight
If Temp = (high, outdoor) And Noise = (normal and natural) And Sound = (low and non-machinery) and Light_Intensity = (sunlight) Then Place is (Golf Course or Football Field)
Cell_Id indicates St Andrew → Place is Golf Course
Interpret the activity (place, action, actor, object)
ECE
Ubiquitous Computing Sensors
Pre-processing
Module
Real-Time Processing
Backend Processing
Context Calendar
Fig. 5 ECE Functionalities Flow Process
The backend processing provides supporting information to CC during the planning session made by the user. For example, if the Activity-Note stated "Meeting with Frank", during the activity, ECE will capture contextual information (e.g. the length of the meeting, the topic of discussion, the interaction etc) in order to furnish the CC. CC will be enriched with extensional information for future use. Figure 6 describes the flow process of ECE functionalities.
ECE functions in bidirectional modes which are real-time processing and back-end processing. The real-time processing obtains the data that is processed by the pre-processing module. The pre-processing module extracts the contextual information from the ubiquitous sensory network. The contextual information from the ubiquitous sensory network will replace the ones in the CC (Context Calendar) to ensure consistency between what is planned and what takes place. Since, ubiquitous information is real time and more recent, it overwrites the information in the CC.
Fig. 6 Updation of ECE on CC
Fig. 7 Identifying Activity from Construct Library
Aggregate the components of the activity
Search the possible activity descriptive construct in the library
Fill in the components of the activity into the descriptive construct
Generate the activity description
Actor = {John, Kerry, Matt, Ricky}
Action = {Playing Football}
Place = {Middle School field}
Construct1 = {Actor, Actor, Actor, Actor, Action, Place}
Construct2 = {Actor, Actor, Object, Action, Place}
Construct1 = {John, Kerry, Matt, Ricky, Playing Football, Middle School field}
John, Kerry, Matt and Ricky playing football at Middle School field
The ECE also recognizes the ad hoc activity and is capable to update the cell on the CC that was originally emptied as shown in Fig. 7 which is the snapshot of the CC component that was executed on the ECE functionalities. The original CC contains three activities on "playing badminton with Alan in Bukit Jalil Sports" dated on the 1st, 6th and 13th of the month. On the 15th, there is an ad hoc activity which was not recorded in the CC. ECE scans through the previous activities that have similar constructs. In this specific example, the ad hoc activity is one of the routine activities which are easily recognized as the constructs already stored in the CC database as shown in Fig 8. The components of the activity are the Actor, Action, Object and Place. The values of these components are aggregated from context extractor that processes the sensory data from the sensor network. The values of the components may be incomplete due to unavailability of the sensors or unprocessed data. The constructs in the library are scanned to find the nearest matching construct with the aggregated components. The construct that has the highest matching score will be selected and the activity description will be reused to be recorded in the empty cell of the CC.
4.3. News Content Controller (NCC)
The news is the focus content of the system where its subjects have to be delivered in accordance to the characteristics defined at the early part of the paper (personalized, timely, content-sensitive, relevant, significance and recent). Understanding the content of the news is a prerequisite in order to comply with these characteristics. NCC consists of three major components which are the news classifier, news matcher and news manager. The news classifier classifies the news text into different types and consequently determines the characteristics as shown in Table 4.
Table 4 Samples of few news types
Types
Characteristics
Classified -Business/Cars/Property/
Jobs
Urgent - low
Private - false
Public - true
Sensitive - low
Importance - low
Tragedy - local (murder)
Urgent - high
Private - false
Public - true
Sensitive - low
Importance - high
Tragedy - local (racist)
Urgent - high
Private - true
Public - false
Sensitive - high
Importance - high
The news matcher finds the relevant context which is extracted from the ECE and matches against the news types. For example, if the contextual information indicates that "meeting with John" is an informal meeting with a car salesman, then the system will choose the classified on cars as the relevant news. The news manager consists of rules and policies in delivering the news. It decides whether the news delivery will be delayed, sent immediately or terminated based on the characteristics of the news and the context of the user. News can be classified manually or automatically. It is not within the scope of the current project to look into this issue as this can be resolved in many ways. News providers usually have already classified their news manually with some tags attached to it such that the news is easily matched with the keywords from the activity notes. Automatic news classifications have been an ongoing research area with the interest to use machine learning techniques to learn the news pattern based on the words frequency or words structure [10, 11]. The news matching engine was part of another project that had been developed based on ontology [12, 13]. News ontology is a structure representation that describes the relationships between news articles. The relationship is computed based on context-based associated keywords, event detection and named-entity recognition. The associated keywords are the collection of words that have high occurrences and co-occur in at least a given number of articles. They are called context-based associated keywords because the co-occurrences are due to their mutual presence of a certain context. Event detection
3. Conclusion
This paper emphasizes on using the calendar as the effective way of getting the recent activity of the user. In addition, the system is furnished with ubiquitous computing technology for accurate information. The news is controlled to ensure the delivery complies with the characteristics defined in the paper.
Acknowledgments
Put acknowledgments here.