International Conference on Change, Innovation ...

5 downloads 25519 Views 690KB Size Report
Oct 24, 2008 - new technique is tested by an recommender application that is built by C#.NET and ArcMap. Geographic Information System (GIS) for Desktop.
International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

A New Technique for Generating Implicit Feedbacks from Users Movements History Prof. Tawfiq A. Alasadi (PhD.)1, Wadhah R. Baiee2* 1

2

Dean of Information Technology College, Babylon University, Iraq Software Department, College of Information Technology, Babylon University, Iraq; [email protected]

Abstract : Mobile devices are widely used todays with a huge number of applications usage that support users agreements. This paper focuses on users mobility to generate rating matrices that can be used later for position of interest recommendation, users movements are detected from global Positioning System (GPS) tracks recorded by users mobile devices. The proposed technique creates implicit feedbacks from users movements histories with digital map consolidating, instead of depending on social networks databases or user direct explicit feedbacks. Rating matrices represent the users behaviors through the case study timeline. The new technique is tested by an recommender application that is built by C#.NET and ArcMap Geographic Information System (GIS) for Desktop.

Keywords: Implicit Feedback, Rating Matrix, Recommender System , GPS tracks, GIS.

1. Introduction Mobile devices are wide used nowadays, and their popularity spreads precipitately. Communication, applications, functionalities, and challenges of these devices are rising every year. Users deal with mobile devices to facilitate their requirements under any circumstances. Many applications are developed for that reason, and datasets become vast and varied, these data must be organized, analyzed and processed to be meaningful to the user. Traveling is an imortant area of mobile applications, and an inconceivable number of facilities are now obtained to serve the users while they travel. It is important to know the capabilities of this filed and study the behavior of mobile users [1] .GPS Trajectories have presented unique information to understand moving items and places, calling for regular research and improvement of new computing techniques to process, retrieve, and mine trajectory data and discovering its applications [2]. [3] take a new approach for modeling the association among contextual features and user-item ratings. Instead of using the traditional method to data collection, they simulate contextual circumstances to more simply capture data concerning how the context affects user ratings. [4] they model the users’ location and activity histories that are taken as feedback to the system. they mine knowledge, such as the position features and activities – activities relationships from the Web and GIS databases, to collect additional inputs. [5] This research introduces an approach which observes user’s activity and generates a user profile reflecting his information desires based on the interactions of the user with the system, physical location and user movements. The system recognizes the user profile and adjusts consequently both to provide appropriate information. [6] implement a more complete universal location based

393

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

recommendation algorithm that by gathering user's preferences and take into account geography of time and comparison measurements automatically. This paper introduces a new technique for splitting track lines into numerous sections. Each section characterizes a slice of track time line which had been taken by the system from the users along the five years of recording data using their mobile GPS. The proposed method creates an implicit feedback system to facilitate feature extraction from user movement’s histories instead of depending on social networks status. This technique generates rating matrices from user tracks depends on ArcGIS digital map and user’s GPS tracks combination. The rating matrices are spread onto multilevel time periods to be used later as an input to recommender systems The proposed system uses GeoLife Trajectories dataset by [7,8,9], This GPS dataset was composed in (Microsoft Research Asia) by 182 user in a period of over five years (2007 2012). A trajectory of this dataset is denoted by points sequences; each one has the information of (latitude, longitude, and altitude). The system has been built by using C#.NET and ArcMap GIS object oriented programming to generate implicit feedback from GPS tracks.

2. Geographic Information System Geographic Information Systems (GIS)s are known as information system that handles, manages , and examines spatial-data. GISs are used to create information that is important for decision making purposes, traditionally in the natural resource controlling area, but increasingly for health, marketing, and other fields, it is a system of hardware, software and algorithms to manipulate, administrate , analyze , model, and display of georeferenced data to resolve complex problems concerning planning and resources management. In the last years, geographic information systems have developed as an necessary tool for cities and resource management and planning. Their capacity to model, save, retrieve, and map huge areas with extra volumes of spatial-data has led to an unexpected spread of applications, but now, geographic information systems are used for land-use organization, services management, planning of landscape, transport, and infrastructure, analysis of markets, visual effect, facilities organization, tax calculation, and many other applications. GIS functions contain: entrance, displaying, and managing of data, information retrieval and analysis. 2.1. ArcMap and ESRI ArcGIS from Environmental Systems Research Institute (ESRI), Inc. uses a single, scalable architecture. The three versions of ArcGIS (ArcView, ArcEditor, and ArcInfo) share the same applications of ArcCatalog and ArcMap. ArcMap is the application used primarily to examine data, query attributes, conduct spatial analysis, and design maps for output. ArcCatalog is the application used to browse and manage spatial data. The geodatabase data model and ArcObjects provide the foundation for these two desktop applications. A Geodatabase is a generic model of geographic information, consisting of topologically integrated feature classes, roughly similar to the ArcInfo coverage model. The geodatabase data model replaces the georelational data model that has been used for coverages and shapefiles, two older data formats from ESRI, Inc. These two data models differ in how geographic and attribute data are stored. The georelational data model stores geographic and attribute data separately in a split system: geographic data (“geo”) in graphic files and attribute data (“relational”) in a relational database.

393

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

The entire system is developed using C#.NET that linked with ArcMap GIS using ESRI Developer KIT, to access the ArcObject programming libraries and produces the application classes .

3. Proposed System Database 3.1. Data Gathering As mentioned above, the data which is used in the proposed system is a package or set of user’s tracks represented by recorded GPS signals each one contains multiple fields like longitude, latitude, azimuth, time, and date. Table 1 shows an example of one record of track’s point which is gathered and used by the system. Tab. 1: GPS point example longitude

latitude

azimuth

time

date

40.008413

116.319962

13

02:10:04

2008-10-24

The dataset consists of 182 user tracks that are gathered through five years from 2007 to 2012, the number of tracks is differ from user to another one according to their movements and/or trips. Users recorded their trips by mobile devises, each track may represents a movement within a day or less than a day. Each one of tracks was saved in plt files, plt files have six header lines which are the track’s main information, they are same in all track files. The rest lines are GPS data for each track, each line of data is looks like Table 1. 3.2. Preparing Data Tracks are read repeatedly by scanning all track files for all users to create a data structure that represents whole users’ histories. We proposed a new data structure using object oriented technique with binary file system to save and retrieve analyzed data repeatedly without need to build a huge database that costs time when reading and writing data.

393

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

Track Collection

Tracks  GPS data

 Combine n tracks for users in one track.

 Movements time and date

 Divide user tracks into proposed periods

Ratings `

 User rating for map places implicit feedback

Map Places

Data periods



Position of Interest



Users features



GIS attributes tables



Singular values



Data from digital maps

 Map places features (POI)

Figure 1: Data structure of proposed system . Tracks are collected as multiple GPS points that is gained from user movements through five years each points represented as illustrated in table 1. Each track represented in a separated class object and all other data had been saved in a data structure that is shown above in figure 3.1, tracks are aggregated in one track in a class called TrackCollection this class defined objects so each one of them represents one aggregated track for one user.

393

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

TrackCollection objects has multiple functions to proceed user tracks , the important function is dividing the aggregated tracks into periods which will be defined later in this paper and how can the proposed system tack advance of this division. Other important data structure is the MapPlaces class; it defines and stores the digital map data with their relevant attributes and properties with extra metadata. The collected data from the map will be combined with tracks data to be used later in the proposed system to exanimate implicit feedback to calculate and retrieve rating matrix for user-places ranking that used as the base data for our system. MapPlaces has multiple functions that paired with geographic information system data and application like ArcMap GIS desktop to retrieve needed data to be processed and combined with our system data and perform proposed method and algorithm to recommend information to the users. Ratings data part contains ratings values that gained and reinforced from position of interests on digital GIS maps and tracks of user movements respectively. Ratings are matrices for user-place rates; they are represented by real numbers for each period of user track segment on the map. Each visit on a place is registered and calculated with other visits to be the rank level for that user on that place. To save all these data structures we used serialized binary files to avoid database engine time consuming. All objects and its relevant data like maps, places, GPS points, tracks, time, ratings, features, place, matrices, and recommendations; they have been saved in their designed structure in one mass of binary data. The system can retrieve any object directly to be processed into memory.

4. System Objectives This paper studies multidisciplinary approaches which are cooperative in one new system for building location based recommendation system depends on pure GIS data and GPS trajectories. So, the objectives can be listed as follows:     

Design and implement an application that recommends desired POIs and routs to the users, according to their preferences. Inducting user preferences from user’s trajectory histories, relevant to location/time association. Show how to build user location based preferences. Create an implicit feedback system to facilitate feature extraction from user movements histories instead of depending on social networks status. This technique creates rating matrices from user tracks. Implement and design cooperative application, it is built upon GIS databases and it can be an Add-On extension to ArcMap GIS software, and the results of recommendation can be shown on desktops and/or mobile devices for each user. The recommendations are displayed on digital maps.

5. Proposed Technique 5.1. Splitting Tracks This method describes the idea of splitting track lines into many segments. Each segment represents a part of track time line which had been taken by the user along the five

393

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

years of recording data using their mobile GPS. Figure 2 illustrates a block diagram of track splitting method. To detect the features of each user we propose a mechanism to spread the feature space on multi time periods. Splitting function determined by taking the whole user’s track points and return a segmented line depending on the time period that fixed previously by the user. The resulted segments are not exactly equaled because the segmentation process depends on time periods not on spatial points locations, all users tracks will be segmented in the same strategy so each one of the users has the same number of new tracks depends on the number of periods that is determined.

Figure 2. Block diagram of splitting tracks.

Figure 3. Algorithm of splitting tracks.

Figure 3 shows the proposed algorithm of track segmentation, the input is points list of the track that will be segmented and the whole time of the case we dealt with. First, the algorithm divide the total time on the desired number of periods to get the time interval of

393

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

each period. Then it scans all points of the track repeatedly to check if the point’s time belongs to the tested period then it will be added to the track segment which is represents that period of time. The process continues unless there is a scanned point belongs to another period then the algorithm creates new track and adds the remained points to it if they match the condition that illustrated above in the algorithm. The resulted track segments may be not have equal number of points or lines, that means the user may move many times in one period and less or more will be included another ones. Figure 4 shows a prototype of how track segmentation algorithm works on a long track .

Figure 4. Sample of track splitting. In the proposed system we used this algorithm to create tracks within a specified periods of time, twelve periods are supposed in this work so each period contains five months of moving for each user activities in his history profile, this period of time is calculated according to equation 1. Time Period = Total Time of Case Study / Number of Periods …… Eq. 1 The resulted tracks will be used later in the system each one alone to induct the rating matrices that used in the proposed system to extract features of users against places or POIs that are access along their moving through all period of time to be the historical features for each user ready to predict the right decision to them by using proposed system. As a note; the proposed system is analyses the data in a main server that is connected directly to the user mobiles. And the mobile application is a client application 5.2. Creating Rating Matrix – Implicit Feedback

399

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

To complete the main job of the proposed system, there should be a rating matrix that is used as an input to the a recommender system. The input for this stage of process the segmented tracks from the previous stage. For each period of time that is detected previously, there are many user tracks which are in the same period of time so the inducting process will be applied on these tracks to produce rating matrix for that period of time. Positions of interest (POI)s are the main categories that the system depends on. The link between tracks and POIs is the moving history of users on that POIs through points of tracks. In the proposed system we propose a mechanism by using the visits recurrence to the digital map area POIs by the user. Implicit feedback is the key behind our job here, the matrix of rating will be the relation between user rates on the places on the map. Rate is a number between two values to represent the likelihood of user with the place on a map, the values often may be between the interval of [1..5] or [1..10], in the proposed system we chose the interval [1..10] to represent likelihood of user-place relation. Figure 5 illustrates the process details of implementing rating matrix from the track history of users and digital map.

Figure 5 . Block diagram for rating matrix implementation.

344

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

Figure 5 . Block diagram for rating matrix implementation. The map is divided into rectangles within rows and columns, 100 rows and 100 columns is proposed here to get 10000 places to be the POIs of the system. The division technique depends on spatial coordinate on map, so each rectangle on the map represents as ( 500 m width * 500 m height ). Each track will be examined against the divided map, then each user when he reaches a new point on the track a new access is recorded for that point on that place on the map, the repetition of the accesses of places are accumulated and recoded to the user-place matrix. User-place matrix will be created and built after scanning all tracks of users for each period alone.

Figure 6. Algorithm of building rating matrices. The resulted matrix should be normalized because the user visits have large number on some significant places and little visits on insignificant ones, so a normalization was applied on the values of the matrix to be converted into rating matrix with specified vales of range [1..10]. Each period of time that the system dealt with will has its special rating matrix. Figure 6 illustrates the algorithm of implicit feedback technique that proposed to create and built rating matrices for each period of time. The system depends on the implicit feedback to produce rating matrix that is collected in other systems by explicit feedback here the key that the proposed system has unique technique that produce and induct ratings from scratch

344

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

without need to user intervention. This idea will increase systems abilities to be more independent from user direct choices and decisions.

6. Results The application paths are displayed on the interface map of the application itself as illustrated in figure 7, and the user be able to manage, move, and detect the preferred place on the map.

Figure 7. User path on map As mentioned earlier the tracks of each user are combined in one track which is represented the history of one user. The proposed system divides the map into 100x100 sub regions to be the POIs of the system which are used as rating matrices places. Zoomed area is illustrated in the same figure for a region into the map to view the positions that user can visit.

344

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

Figure 8. Track scanning and recording user movements. Figure 8 shows one track for one user in one day, this track represents user movements in some regions in Beijing. The system scans this track and records each region of the digital map that is walk through into system database to create rating matrices later certainly after data normalization.

Figure 9. Sample of filling POIs matrix from track scanning

To record user movements, each point in track’s points collection will be counted in a matrix. These matrices are two dimensional matrices, their columns and rows are equal to the map regions which are 100x100 and, by example if the user visits a region number (51,57) the system will raises the count of equivalent POIs matrix index (51,57) and so on. The visiting time is taken into account and more time taken rates will be raised more. Figure 9 shows an example of the system results if the track in figure 8 is entered as an input to the proposed system, the system fills the table and complete rating matrix for that user to the appropriate time period.

343

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

After completing all users track scanning the system will unify the POIs matrices into rating matrix by combining each user POIs matrix to create rating matrix for the needed period. The conversion technique begins by convert POIs matrix from two dimensional matrix to one dimensional matrix for each user. So, the count of raw fields of rating matrix becomes (10000) fields because we have 100x100 fields for POIs matrix. Each raw in the rating matrix is user movements implicit feedback inducted ratings. Figure 10 shows the conversion of POIs matrices into rating matrix’s rows.

Figure 10. Creating rating matrix from POIs matrices for N users.

343

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

Figure 11. Example of rating matrix before normalization. After creating rating matrices from implicit feedback by inducting user histories, rating matrices should be normalized to be within the range of [1..10] . Figures 11 and 12 illustrate an example of the normalization of rating values. Figure 11 shows some of the values of accumulated rating values matrix and figure 12 shows the normalized values of rating matrix. The rating matrix is huge, we cannot print it here on paper because it contains at least, if there are 40 users for example, it contains 400000 entries and this is a large number to be displayed on papers.

Figure 12. Example of rating matrix after normalization.

7. Conclusion The GPS tracks are most important data source to be used in the recommender systems, so the proposed system used user tracks to induct their behaviors through time periods which are about five years. This paper proposes an implicit feedback system to recommend best POIs instead of using or depending on social networks applications like check-in databases or something else, it depends on user movements histories By digitizing tracks on map, the system inducts the behavior of users and creates rating matrices for each period of time according to the system requirements. ArcMap GIS and its relevant data with GPS tracks are the core of developing our proposed system and there are two versions of the system : desktop and mobile application to be used by the users. Recommendations are displayed to the user on the map directly and the POIs are signed directly with shortly directions and roads to visualizing the recommendation lists to the users.

343

International Conference on Change, Innovation, Informatics and Disruptive Technology ICCIIDT’16, London- U.K, October 11,12 2016

8. Future Works This system is still needs more developments according to the ideas and the algorithm that are used to create and develop it. There are many ideas could be applied to enhance and improve the system and or the algorithm used within, like : Using social networks with the proposed system to develop new Geo-Social recommender system, other techniques like RElative MOtion (REMO) algorithm can be adopted to classify and predict the user’s positions according to their movement’s behavior, creating new vector of features from similar features of old users is also one of future works, this is left as a challenge to the researchers, and real time applications can be built in the future and we can use GIS servers to reach online databases to enhance our system.

9. References [1] Ricci F, Rokach L, Shapira B. Introduction to Recommender Systems Handbook. Ricci F, Rokach L, Shapira L, Kantor P (eds). Recommender Systems Handbook. USA: Springer; 2011. [2] Lee W, Krumm J. Trajectory Preprocessing. Zheng Y, Zhou X (eds).Computing with Spatial Trajectories. USA: Springer; 2011. [3] Baltrunas L, Ludwig B, Peer B, Ricci F. Context relevance assessment and exploitation in mobile recommender systems.Personal and Ubiquitous Computing 2012; 16(5): . [4] Zheng V, Zheng Y, Yang Q. Collaborative Location and Activity Recommendations with GPS History Data. 19th international conference on World Wide Web. New York, NY: Association for Computing Machinery, Inc.; 2010. p. 1029-1038. [5] Mac Aoidh E, McArdle G, Petit M, Ray C, Bertolotto M, Claramunt C et al. Personalization in adaptive and interactive GIS. Annals of GIS. 2009;15(1):23-33. [6] Savage N, Baranski M, Chavez N, Höllerer T. I’m feeling LoCo: A Location Based Context Aware Recommendation System. In: Gartner G, Ortag F, ed. by. Advances in Location-Based Services. 1st ed. Vienna: Springer Berlin Heidelberg; 2016. p. 37-54. [7] Zheng Y, Xie X, Ma W. GeoLife: A Collaborative Social Networking Service among User, location and trajectory. IEEE Data(base) Engineering Bulletin. 2010;33(2):32-39. [8] Zheng Y, Zhang L, Xie X, Ma W. Mining interesting locations and travel sequences from GPS trajectories. WWW '09 Proceedings of the 18th international conference on World wide web. New York, NY: ACM; 2009. p. 791-800. [9] Zheng Y, Li Q, Chen Y, Xie X, Ma W. Understanding mobility based on GPS data. UbiComp '08 Proceedings of the 10th international conference on Ubiquitous computing. New York, NY: ACM; 2008. p. 312-321.

343