Commercially available smartphones contain an increasing number of communication technologies, such as Wi-Fi, infrared (IR), Bluetooth, radio-frequency identification (RFID) and
global positioning system (GPS), as well as sensor modules, such as an accelerometer, compass,
microphone and camera. At the same time, smartphones are becoming the key users and producers of multimedia contents. In the context of an enormous amount of information, applications and services, it is necessary to recommend only those that are really relevant for the user. To evaluate relevancy, the systems use personalisation and, since recently, context-awareness is gaining in importance as well. By being aware of the user context, the operation of the services and the suggested content can be adopted to the circumstances of the user and his smartphone. The user context can be determined manually, which is not very user-friendly, or automatically with the analysis of various sensor data from smartphones. Besides selection of the relevant sensors and processing of their data, the selection of context model plays a central role in the automatic inference of the user context. The selection of the context model includes defining its aim and a set of inferred values, as well as deciding upon the methods of context inference.
In the dissertation, we envisioned the context model of user activities. These are typically
determined with several context parameters together. Among them, the key parameters are:
location, time, user profile and physical activity, and they were all used in our work. For the
parameter location, we (A) proposed and evaluated a hybrid positioning method and developed a
method that evaluates various positioning methods in the semantic space, i.e. in space with the
semantic locations, such as street addresses and points of interest (POIs). (B) Then, we defined the context values of the context model, i.e. daily user activities, such as home, work, shopping and
running. (C) Finally, in order to automatically determine these values, we upgraded the method for analysis of the user trajectories, determined with the sensors of smartphones, and used various methods for inference of the user context. Ad A: The proposed hybrid positioning method uses the GPS data, the serving mobile cell and its received signal strength, and several details about mobile network, such as the mobile channel frequency, type of the mobile base station and height of the base station tower. With regard to the data source, the method estimates the user position in three ways: (i) it adopts the location of the serving mobile base station, when the smartphone is connected to the indoor base station; (ii) it adopts the GPS position, when it is available; (iii) in all other cases, it calculates the position with the most appropriate radio propagation model. Besides the user position, also accuracy estimation of the positioning is provided. For that, we evaluated several factors that could influence positioning error, such as number of satellites, received signal strength and various data about density of mobile network, and sought for a correlation with the positioning error. Based on the field measurements, obtained on 167 random locations, we optimised the proposed method and evaluated factors that could be used to estimate accuracy of each measurement. With the same field measurements, performance of the optimised proposed method was compared to the existing positioning method, used by the observed mobile operator, and some commercial methods: GPS navigation device, Google and Foursquare. The performance of the method was evaluated two-fold: with average positioning errors and with the new method for evaluation of the positioning methods
in the semantic space. The latter evaluated the correctness of conversion of the user positions into
street address and important categories of POIs. The optimised proposed method had an average error of 85.9 m and 67-th percentile of 86.9 m. The analysis showed that three accuracy values were reasonable: 33, 270 and 377 m. For positions determined with GPS, no correlation factor was found, therefore we used a common value for all such measurements, i.e. 33 m. For positions determined with the serving mobile cells that were not installed indoor, we chose the average distance between the estimated position and the first two neighbouring cells among all evaluated factors. Based on the selected factor, the cell-based measurements were divided into two classes of accuracy, i.e. with the accuracy values of 270 and 377 m. The proposed method performed better than the existing method deployed by the observed operator, but still much worse than the GPS navigation device. The latter had the best overall results in our measurement scenario, followed by the Google positioning service. When our method determined the position with the GPS or the indoor base station, the estimation was accurate, but the accuracy of estimation significantly decreased in all other cases. Differences among observed positioning methods were smaller, when they were evaluated in the semantic space. However, among the observed methods, the proposed method had the best results in estimation of accuracy, because its estimations were correct for most measurements. There are two main advantages of the proposed positioning method: it can be used in practice for all smartphones and it uses two complementary technologies which ensures availability of the positioning service almost everywhere. However, positioning based solely on the servingmobile cell is too inaccurate for automatic inference of the user context. Consequently, it would be possible to infer the user context in two levels: when the positioning is accurate, the detailed user context could be determined; when it is not accurate, only the general user context would be determined. In practice, the general user context would be determined most of the time, therefore we omitted this source of the user location for our further work.
Ad B: Then, we proposed a hierarchical context model that was build based on a survey of
the relevant literature. It consists of static and also dynamic activities that fill every day of a user. The model includes four general user contexts: home, work, free time and transit. Some of them are further divided into sub-contexts and some of sub-contexts were divided even further. The hierarchical structure of the proposed model enables inference of the user context to the desired level or to the level that can be determined with the available sensor data at a given time. At the same time, more domain-specific models can be attached onto such hierarchical structure.
We performed a field trail with ten users over one month. We checked if the proposed model
proved effective in practice, and examined which activities are most frequent, and which occupy
most time in daily schedules of the users. While the cumulative and statistical results indicated
various life styles of the participating users, the model proved to be integral, but not entirely
unambiguous. Ad C: Finally, we developed a simple, non-intrusive and automatic method for
determination of the user context based on the Wi-Fi fingerprints, GPS and accelerometer data.
Firstly, the method finds important user locations, i.e. the stay points and stay regions, and transits among them. To find the Wi-Fi stay points, we implemented the method from , found the optimal set of parameter values for our dataset, and suggested five improvements. Then, we suggested six different schemes for novel aggregation of determined stay points that had the same semantic meaning to a user into meaningful stay regions. Thus, we formed more general locales of the same user context, while maintaining the details about the belonging stay points. For determined stay points, stay regions and transits among them, we inferred static and dynamic user contexts in two levels with logical rules, spatio-temporal clustering, statistical analysis, innovate analysis of the social network data, database of POIs and POI-activity matrix. The first level of the user context included the four general user contexts, such as home, work, free time and transit, and the second level included some, more detailed user contexts, such as visiting, running and at concert. The method for finding stay points and stay regions was optimised and evaluated based on the real life traces collected by six users over eight days. The method for automatic inference of user context was evaluated based on the real life traces collected by ten users over one month. We found a set of parameter values that on our dataset performed better than the originalsettings of the SensLoc method in determination of moving vs. static mode and in determination of stay points. A combination of our four proposed improvements further improved the performance of the original SensLoc method, while it maintained the key information about the user trajectories. The method recognized 636 hours of the stay mode out of the annotated 690 hours, with accuracy, precision and recall of stay mode determination of above 96.5%. For the aggregation of stay points into stay regions, results of the aggregation scheme that was based on the fingerprint similarity of access points and of their service set identifiers (SSIDs), resembled the user annotations the most. For this scheme, the precision and recall of region determination were 77%. Finally, the method accurately inferred the user context 95.3% of the time. The contexts home, work and free time were assigned to stay points with precision and recall higher than 86%. On the other hand, the method precisely determined the contexts visiting, visit of weekend house and field work, while the context
running was inferred with the lowest precision. Moreover, we demonstrated how the more detailed user contexts could be extracted for stay points within stay regions, i.e. both types of locales that were determined in the previous steps of our method. The results indicate that the suggested method is robust and can be used with various users and on various smartphones. Due to its characteristics, the entire method or its modules can potentially be deployed in various fields, such as in adjustment of the multimedia applications and services, in the recommender systems and in the fleet management. According to the needs in the specific field of deployment, the method can be further adjusted and expanded.