Location based services are having tremendous growth now a days due to smart phones and tablet devices. To improve the performance of the services several data management concepts have been proposed. Here the Location based service providers are used to provide query services to the users on behalf of the data owners. Sometimes the service can be predicted and fetched according to the user expectation. This will be interrupted due to the lack of service ratings by the users. Sometimes it may result in the incorrect or incomplete service suggestions to the users. This may degrade the performance of the location based services. So, identifying the missing values in the rating before producing the query results is essential for LBS
The rapid development of mobile devices gives immense access of internet and many social network services. Day by day the mobile users count increases rapidly. And the statistics says that, the smart phone user’s count in India in the 2017 is 299.24 million . Using the smart phones many services are accessed, particularly the location based services are widely deployed in all types of applications in the mobile device. These applications allow the users to share their opinions, reviews, suggestions and images via several social networks and services. Due to the huge sized and dynamic data, the recommendation and suggestion is become difficult. With the help of geographical information’s and social network data’s the recommendation can be effectively performed to satisfy the users need . The location based services are offering reliable and nearest services to the users, it will be more effective when the service is rated by the users who are
familiar in social networks. When a user searches a feasible restaurant considering the location, the results should have with the nearest geographic locations. The result will be more effective when the geographical location details and social networks joined together. The social relationships and their ratings can be used for service recommendation. In this paper we reviewed some related works, and define the demerits and usage of those techniques. Additionally the common challenges and issues in the location based service recommendation; recommender system and service exploring process are studied.
To support location prediction and services recommendation based on the semantic trajectories of mobile users, this propose a novel location prediction and services recommendation framework, to evaluate the next location of a user’s movement. The framework consists of two major process: (i) offline mining process, and (ii) on-line location prediction and services recommendation process. In the offline mining process, this adopts the notion of stay locations to represent the users’ movement behavior. To extract the semantic feature from individual user’s movement behavior, this mine the semantic trajectory patterns for each individual user. Moreover, this form user clusters based on the notion of semantic trajectory similar to this proposed. Furthermore, this mine the frequent trajectory patterns of users in the same cluster based on their geographic features. Besides, this adopt high service usage time mining algorithm to discover high service usage time services of each location. In the on-line location prediction and services recommendation process, based on these semantic and geographic patterns, this develop a novel location-based service rating prediction and services recommendation technique to predict a mobile user’s next location
2.1 contribution of the proposed system
· This work presents a new location aided service discovery (LASD) for efficiently identify, and recommend services based on the high rating and frequency in large outsourced spatial databases.
· The proposed system designed and developed to mine the relevance between ratings and service geographical location distances.
· It is discovered that users usually give high scores to the services which are very far away from their activity centers. It can assist to the users to get the high rated services and allows them to rate for every service.
· This application mines the relevance between users’ rating differences and user-user geographical distances in the trajectory database.
· It is discovered that users and their geographically far away friends usually give the similar scores to the same item. It can help us to understand users’ rating behaviors for recommendation.
· This integrates three factors: user-item geographical connection, user-user geographical connection, and interpersonal interest similarity, into a DSRP model.
· The proposed model is evaluated by extensive experiments based on dynamic large scale synthetic and real world datasets. Experimental results show significant improvement compared with existing approaches.
2.2 Advantages of the proposed system:
• Reduces the storage overhead in the existing LBS.
• Provides better utilization.
• The proposed system has the ability to perform keyword based nearest neighbor suggested service retrieval.
• Ability to handle huge count of dynamic object mobile dataset for service prediction.
• This reduces the iterations of service prediction.
With this in view, this study aims at presenting a system for location prediction and frequent and high rated services recommendation. This paper also discusses the background geographic mining and updating problems, and presents their solution in the following work.
Efficient and high rated service recommendation system is useful for many LBS applications. Recommendation system presents many challenging research issues. Accurate prediction of user’s next movable location and providing appropriate services helps mobile users. To locate the user trajectory, semantic and geographic mining based on user trajectories is used. It is based on the occurrences of user-user similarity inthe same region identified form the common activities in the user trajectories.
The proposed recommendation system not only predicts user’s next movable location, but also suggests high rated services, related to the stores located where the user might visit. The users must be provided with the recent and valuable suggestions. Therefore the frequent services of the particular location should be identified from the trajectory transactions. It can be done only by using efficient LBS technique over dynamic datasets. At the same time suggesting services based on frequency alone is not enough for the users. Hence it is necessary to suggest users with the high utility services available at the particular store over dynamic datasets.Withthis in view, this paper aims at presenting a system for location prediction and frequent and high utility services recommendation. The paper also discusses the background incremental rule mining, incremental utility mining, semantic mining, geographic mining and updating problems, and presents their solution in the following topics. The architecture of the service rating prediction and Recommendation system is shown in Figure 3.1
Fig 3.1 overall architecture of the proposed system
3.1 Service rating prediction
The proposed system contains two types of process, such as service rating prediction and optimal service recommendation. This section initially describes the process and techniques of service rating prediction with user’s geographical similarities. The personalized location aided service discovery (LASD) contains the following steps. Finding users geographical locations, finding similarities between user ratings for a specific services, the frequency of service in a specific location, these are the important features are used in the service rating prediction. So this process includes the users GPS dataset along with their interest factors. The service rating dataset are trained using the improved auto-parametric latent feature matrices. This will predict rating which are missing and recommend suitable services to the users with the geographical locations. User and service auto-parametric latent feature matrices can be calculated using machine learning methods and ranked according to that for the recommendation.
The fig 3.2 shows the overview of the proposed system, which gets the GPS data and the geo-social factors as input and that will be applied in to the proposed framework, which predicts the ratings and applies into the latent feature matrices. The step by step of the service rating prediction is given below.
Fig 3.2 system overview of the proposed service rating prediction and recommendation using GPS trajectories
Step 1: get the geo-social factors for every service S.
This step collects the dataset from the repository, real and synthetic, which includes the GPS details such as id, speed, time, distance, rating from various factors with latitude and longitude. The example of the geo-social factors are listed in the fig 2.3
Fig 3.3 the geo-social factors
Step 2: Perform latent feature matrices:
The auto-parametric latent feature matrices involved with several steps and parameters such as training speed, no.of. Latent features, threshold, co-efficient, regularization co-efficient etc.
i. Constructing the matrix of user's latent factors by iteratively and appends the rows being constructed to the list of rows matrix factor (MF) for the UserRow.
ii. Declare a list of items MF_UserRow rated by the current user
iii. Add the set of elements equal to 0 to the list of items MF_UserRow.
iv. The number of elements being added is stored in Factors variable.
v. Append the current row MF_UserRow to the matrix of factors MF_User
vi. Constructing the matrix of item's latent factors by iteratively
vii. appending the rows being constructed to the list of rows MF_ItemRow
The overall initialization steps are described above. And the matrix format of the rating sequence is listed below.
Fig 3.4 service rating given by the user for product A
b. learning phase:
i. Initializing the RMSE and RMSE new variables to store
ii. Computing the average rating (AR) for the entire domain of rated items (op= 3.5714285714285716)
iii. Assign the previously obtained value of RMSE to the RMSE variable
iv. Assign the variable RMSE_New equal to 0.
v. Iterate the rating estimation untill the accuracy level reached.
Fig 3.5 learning phased output with the number of iteration and RMSE value.
Here the results at the 2nd Iteration are listed, and the RMSE value is 0.2355016.
c. Rating Prediction:
i. Compute the value of estimated rating using the below formula. Here BS is base line predictors.
Rating = AR + BS_(user-user) +BS_(Service-service) +Getservice(MF_User[User], MF_service[service])
ii. return Rating
Fig 3.6 predicted rating for every item/service by every user.
After calculating the rating, the similarities of interest is calculated. For example, the user 0 and user 4 have used same service, but the ratings for the services are different among users.
The same rating prediction process have applied for dynamic user mobility patterns. In this section, an approach to extract the users’ frequent movement behaviors which includes the semantic behavior information for individual users and the geographic behavior information for clusters of similar users is proposed. This extracts a kind of frequent services from trajectories of individual users and adopts a prefix tree, called spatial service tree (SST), to compactly represent a collection of semantic trajectory patterns. Based on individual semantic information, this section clusters users based on the similar interest. For each group, the sequential movement mining is used to extract cluster geographic information, called stay location patterns. Similarly, this also adopts a prefix tree to compactly represent a collection of stay location patterns. As mentioned earlier, this mining process consists of
(1) Data Pre-processing step,
(2) Movement Mining step, and
3) Geographic Mining step.
The data preprocessing step transforms each user’s GPS trajectories into stay location sequences. The most activities of a mobile user are usually performed at where the user stays. The framework is able to deal with both the GPS trajectories and cell trajectories. For GPS trajectory, the LASD used to discover stay points from users’ GPS trajectories. Then, a distance-based clustering is performed on these stay points to obtain stay locations. The stay time in a service is derived by calculating the difference between the time a user arrives in and leave from the service area. Finally, the stay locations are obtained and each trajectory is transformed into a stay locations sequence.
This LASD is used to extract users trajectory patterns from a user’s stay location sequences and build semantic trajectory pattern based on the discovered patterns. There are two main steps. First, this mine semantic trajectory pattern forms each user’s stay location sequence set. Then, it performs a normal clustering algorithm to group the users. Although semantic mining discovers users’ semantic trajectory patterns, they cannot be used directly for location and service prediction since locations are not deductible from the semantic labels. To overcome this problem, this extracts the geographic information from users’ stay location sequences. While we aim to take into account the common frequent behaviors of mobile users, considering the frequent behavior of all general users, it may cause imbalanced data problem.
Spatial Service Tree (SST):
The Spatial Service Tree saves the location points along with the service details. To speed up service retrieval and recommendation from the spatial query processing this indexes all the objects’ subspace spatial scopes by an SST tree where the subspace spatial scopes are stored in the leaf nodes as data entries. Additionally, to support query retrieval, this follows similar ideas of existing tree to maintain a series of digests for all index nodes in the tree structure.
Fig 3.7 location and service point
In the above fig 3.7, p1,p2 ,p3,p4,p5…p7 are the service points. In the proposed system every service point will be stored with service rating for effective service recommendation. The proposed system stores the above service point in the tree style.
|Location point details||Services (S)||Ratings|
Table 3.1 spatial location points and available services with its ratings
From the above table 2.1, the service ratings are calculated and displayed for every service at every location point. Here the location point is the service station location which contains the latitude and longitude of the point. The above table represents the location point and available services in the location. The LSP provide can able provide appropriate services for the query based on the location point based service list. This helps in two ways. One is the retrieval time has reduced. And the next is missing service ratings is predicted and highest rated services are given to the users.
1. Initial location source with respect point p1, p2..pn
2. For every point in the source P do
3. Initialize service S1…Sn for respective points.
4. Set service rating and rank for every service
5. Get service rating for each service and store into the descending order.
6. Store the service in the top level based on the rating
7. Prune the other items from the SST. And recommend high rated services
The spatial service tree helps to track all the service related to the user query. For fast search LSI index method has been proposed to provide appropriate service, the point selection also helps to inappropriate service selection by LSP.
Index Structure. To expedite query processing, this performs indexes all the objects’ subspace spatial scopes by SST, where the subspace spatial scopes are stored in the leaf nodes as data entries. To support query retrieval this follows hashing methods to maintain a series of digests for all index nodes in the tree structure
3.2 Recommendation system:
Recommendation system for location prediction and suggesting frequent and high rated services can be divided into the following sub tasks.
3.2.1 initial/static phase
The Initial/static Phase of recommender system consists of five important tasks. They are data preprocessing, semantic mining, geographic mining, dynamic service mining and dynamic rated mining. Figure 3.8 shows the process flow of the proposed offline recommender system. Each of these tasks will be described in detail.
Figure 3.8 Initial/static Phase of service recommender system
3.2.2 Data Preprocessing
The data preprocessing step transforms each user’s GPS trajectories into stay location sequences. This argues that most activities of a mobile user are usually performed at where the user stays. The framework is able to deal with both the GPS trajectories and cell trajectories. For GPS trajectory, this follow LASD work to discover stay points from users’ GPS trajectories. Therefore, the clustering is performed on the basis of density based clustering algorithm is performed on these stay points to obtain stay locations. The stay time in a cell is derived by calculating the difference between the time a user arrives in and leave from the cell. At last, the stay locations are obtained and each trajectory is transformed into a stay locations sequence at the time of initial step.
3.2.3 Semantic Mining
Semantic based data mining helps to extract semantic trajectory patterns from a user’s stay location sequences and build semantic trajectory pattern tree based on the discovered patterns. There are two main steps. First, these mine semantic trajectory patterns form each user’s stay location sequence set. Then, this performs a hierarchical clustering method to cluster users, where the user’s similarity is based on user to user-Similarity.
3.2.4 Geographic Mining
Although semantic mining discovers users’ semantic trajectory patterns, they cannot be used directly for location prediction since locations are not deductible from the semantic labels. To overcome this problem, this mine the geographic information from users’ stay location sequences. While this aim to take into account the common frequent behaviors of mobile users, considering the frequent behavior of all general users it may cause imbalanced data problem. Hence, this consider the clusters resulted from the semantic mining to aggregate the stay location sequences of mobile users. This then perform a sequential pattern mining algorithm Prefix-Span on each cluster’s semantic stay location sequences to mine the frequent stay location sequence, called stay location pattern. Similarly, the longer patterns this discover the more subsequences are generated due to the downward closure Property. It leads to loss of efficiency because all the subsequences of a long pattern are to be checked in the next location prediction. Therefore, this also adopts a prefix tree, called stay location pattern tree (SLP-Tree), to compactly represent a collection of stay location patterns. This also performs the STP-Tree Building algorithm, on each stay location pattern set of each cluster to build an SLP-Tree. Similarly, the paths with only one node are not included in the pattern tree.
3.2.5 Dynamic Service mining
For suggesting the promising services, this adopts the efficient dynamic service mining algorithm to find promising services from use geo-social service access database. In the proposed algorithm, each transaction has their unique Transaction identifier (ID).By using the hash function concept, to store IDs in a table structure; it helps to calculate the number of services quickly without the need of re-scanning the dataset. The algorithm works as 2 subsections. In the approach, an original dataset is firstly mined and all promising and unpromising services are found. Secondly, the dynamic dataset is mined and updated to promising and unpromising services. As a result of updating, some unpromising services or new services may be changed into promising services.
3.2.6 Dynamic service Rating Analysis:
For suggesting the high rated services, this adopts the SST tree mining algorithm to find high rated services from transaction database. An SST tree must be built in advance from the initial original database before new transactions come. The database is first scanned to find the services with their ratings larger than minimum rated thresholds, which are called as promising services. Other services are called unpromising. Next, the promising services are sorted in descending order and reorganized transaction rated is evaluated. At last, the reorganized transaction is scanned again to construct the tree according to the sorted order of promising services. The construction process is executed tuple by tuple, from the first transaction to the last one. After all transactions are processed, the final high rated tree for the original database is completely constructed.
When new transactions are added, the proposed dynamic maintenance algorithm will process them to construct the SST-tree. The new transactions are first scanned to find the promising and unpromising services according to the service rating prediction of newly inserted transactions. Then, it partitions services into four parts according to whether they are large or small in the original database and in the new transactions. Each part is then processed in its own way. The Header-Table and the SST tree are correspondingly updated whenever necessary.
In the process for updating the SST tree, service deletion is done before service insertion. When an originally large service becomes small, it is directly removed from the SST tree and its parent and child nodes are then linked together. On the contrary, when an originally small service becomes large, it is added to the end of the Header-Table and then inserted into the leaf nodes of SST tree. It is reasonable to insert the service at the end of the Header-Table because when an originally small service becomes large due to the addition of new transactions; its updated support is usually a little larger than the minimum support. The SST-tree can thus be least updated in this way, and the performance of the proposed dynamic algorithm can be greatly improved. The entire SST-tree can be re-constructed in a batch way when sufficiently large numbers of transactions are inserted. Based on the SST tree, the desired services are gathered.
3.2.7 Dynamic phase
Given a mobile user, the dynamic location prediction and services recommendation process predicts her next stay location based on the stay location pattern tree of her cluster and her own semantic trajectory pattern tree. Given these two example trees, the geographic data (i.e., the stay area designs) of the group which the portable client has a place with and the semantic data (i.e., the semantic direction designs) of the versatile client herself can be used in the area expectation and administrations proposal. Thus, given the trajectory of a user’s recent moves, this computes the best matching scores of candidate paths in these two pattern trees. After location scoring, this can easily predict user’s possible next locations. By the static process, this has discovered the promising and high rated services in user’s possible next locations. Therefore, this can make the recommending list in which the services are ranked according to their rated values and promising services.
18.104.22.168 Online Prediction
In the online prediction process, the current user trajectory i.e. the recent moves of the user is taken as input. From the user trajectory the user stay locations are identified using data preprocessing. Then the matching score of the candidate paths are identified using semantic and geographic score. The geographic score represents the score of geographic behavior of the user, matches with the user stay location pattern cluster in the SLP- Tree (Stay location pattern tree).Later the candidate path is transformed into semantic sequences to calculate the semantic score. The semantic score represents the semantic behavior matching the semantic behavior of the user using the user’s personal semantic trajectory pattern tree. Thus this predict the user next location based on the highest score on candidate path.
22.214.171.124 Services Recommendation
Once the user location prediction is done, the next step is to suggest the user with the promising and high rated services available at that location. By the offline process, this has identified the promising services and high rated services sold by the retailers in user’s possible next location. Thus this makes the recommending list of services according to promising and high rated services. Therefore by overcoming the traditional recommender system, this suggests the user not only with the beneficial services but also users’ possible next location
Experiments and results
The system has used Visual Studio.Net framework. And C#.Net has been used for developing the front end and SQL Server for the back end. The reason for using C#.Net is its flexibility. This can add or remove any features without editing the whole code. This separated the standalone functions like port matching and IP address matching in separate functions which are reused again and again. For the back end this needed a freely distributed and powerful database so SQL Server was a good choice. Whole of the rule list is stored in the database. All fields except the Rule No. are stored as the Strings. They are accessed and parsed according to the use, edited if necessary and stored again in the String form.
The chapter gives the experiments process of the proposed system. The system performs the following process.
The Data Station Broadcast Launch process Used to start the Server. Its enable the Server IP Address and port address to listening the user nodes. It also lists the active nodes currently in the User side. Here the Admin only has the privileges to start the server.
The server can add service details such as name, location and other contact details. Here the user can select point on the location, which is specified with the service data. Creation of spatial datasets with high count and dynamic nature will provide more challenges in the prediction, so the proposed system opts for the dynamic services using this method. The first process contains the dataset collection process.
In this process the Admin going to enter the mobile host details such as Mobile Host Id, Mobile Host Name, Password and Location .It will used to connect the users. In later these details are used to connect the appropriate users.
The mobile host is the end user of spatial string search. The user can register their selves and can login into the system. This process helps to track the user interest and searching history from the server. The host id is a unique id, which has been created using random function. The system will automatically provide an id when registration process in progress.
In this process Admin update the Category, Category name, Address and location. These detail service are fully depends on the users. Through this details other users are going to search the location based queries.
This process rank tuples using an aggregate score function on their attribute values. In this process it defines the high rated location based service preference prediction and selection problem for the dynamic datasets
The sending mobile host spatial process used to send the Location based spatial query to the Server. The Users are the privileged person to send the Query to the server. They get the Response based on the Locations .These details are resided in the spatial database of the server.
Ø If user enters a query first it checks with all databases.
Ø The query available in any of the above databases, the query and count are updated in the corresponding databases.
Ø If user enters the same query, it will be stored in Cache memory.
Ø Similarly, in order to cache and reuse the intermediate results among different queries, this utilizes the materialized views in databases for Results.
In this process the user node search the nearest nodes to get the response if that node contains the particular query it will response to the corresponding user otherwise the query forwarded to the server. Then the server Filter details based on the query and those details are sending to the user.
Fig 4.1 implementation flow diagram
The experiment uses the synthetic data sets for experiments. In particular, this creates synthetic data sets with reference point and service detail with the reference from the literature. The system can have n number of tuples for experiments. The followings are the two types of dataset used in the experiment.
The GPS data for service rating prediction is extracted from the UCI machine repository.
|Data Set Characteristics:||Multivariate||Number of Instances:||163||Area:||Computer|
|Attribute Characteristics:||Real||Number of Attributes:||15||Date Donated||2016-02-29|
|Associated Tasks:||Classification, Regression||Missing Values?||Yes||Number of Web Hits:||47418|
After the synthetic data set is generated, and given the number of m local sites, each tuple from the synthetic uncertain database D is assigned to site Si chosen uniformly. Clearly, all local sites have the same data distribution. In particular, a local site server keeps a random sample set of the underlying data set, and the sample sets are mutually disjoint. In the experiments, every local server possesses an equal number of points, named the local cardinality.
4.3 Implementation steps:
In the experiments chapter, this evaluates the efficiency of the algorithms, in terms of time consumption against dimensionality d, number of sub space creation m, and indexing threshold q under two distributions of objects’ spatial locations. This also evaluates the progressiveness of the methods under different location distributions.
The server can add service details such as name, location and other contact details. For extracting the clicking points from the map, the following technique has been used.
· Click point extraction.:
Fig 4.2 synthetic dataset sample
The mobile host is the end user of the proposed system. The user can register themselves and can login into the system. This process helps to track the user interest and searching history from the server.
This process focuses on range queries and dubs such queries as spatial queries. The proposed method partitions the road network, adaptively searches relevant sub graphs, and prunes candidate points using both the string matching index and the spatial neighbor reference nodes.
Finally, an adapted SST applied, together with the exact edit distances, to verify the final set of candidates. This process rank tuples using an aggregate score function on their attribute values. In this process we will defines the top-k spatial preference query problem and describes the index structures for the datasets
Fig 4.3 Distance measures
4.4 Experiments and analysis
The data preparation task on the GPS dataset is done first and then evaluation methodology is introduced. Finally, this presents the experimental results.
4.4.1 Experimental Setup
The implementation of the proposed framework with two dataset is done. All the parameters can be classified into four categories, i.e., road network building, classical trajectory generation, road trajectory simulation and mobile transaction modeling. The proposed framework can be divided into three phases. The first phase is to build the road network. This utilizes a mesh network to represent the road network. After building the road network, the next task is to generate the classical trajectory. The purpose of this phase is to generate classical trajectories as user specified location trajectories with different types of services. The last phase is to model the mobile transaction.
The Precision, Recall, and F-measure are the main measurements for the experimental evaluation.
They are defined according to the Equations (126.96.36.199)– (188.8.131.52), where p+ and p- indicate the number of correct location prediction and services recommendation and incorrect location prediction and services recommendation, respectively, and |R| indicates the total number of trajectories
Services recommendation model is more effective. This have changes in the minimum rated to render hit rate results, and the horizontal axis for the minimum rated, the vertical axis is the hit rate, to prove that this look at different effective threshold. As shown in the Figure 4.4, the proposed recommender system using proposed system shows better performance than the already existing recommender system LBRP using two phase mining algorithm. This can observe that hit ratio of both are shown in straight line after minimum rated 42. The reason is that the recommender is to recommend high rated services to users. It leads the recommending list would not be changed while minimum rated is set high enough because only the highest rated services is filtered from database. Thus, this can conclude the critical value of minimum support in this dataset is 42.
Figure 4.4 Performance of the proposed system
This section presents a novel method for recommender system for promising and high rated services. The proposed method uses an dynamic service mining for identifying recent promising services and dynamic rated mining for identifying recent high rated services. The algorithms used for dynamic service mining and dynamic rated mining show better performance than existing systems. To handle the location prediction an efficient cluster based methodology is used. The proposed recommendation method is simple yet efficient, and achieves real time performance.
In The proposed model the system studied the problem of service rating prediction based location-based queries in road network datasets using spatial service tree and location aided service discovery method.
This research advances the state-of-the-art in recommendation system for mobile users in a number of ways, such as location prediction and suggesting promising and high rated services. The main objective of this thesis is to design and implement a unified framework. The thesis makes the following contributions:
A new location aided service discovery based on a dynamic service rating prediction algorithm is used to obtain the promising services over a dynamic geographical datasets. In the proposed algorithm only a single scan to the database is needed. Instead of services, the service access id (ID) are stored for discovering promising and unpromising services and relevant ratings are also maintained. This helps to find all relevant services based on the frequencies and reduces prediction time.
The system has introduced a new retrieval method by implementing the work on spatial query retrieval. To enable retrieval for large scale datasets and subspaces along with performance improvement, the system further proposed a service prediction on trajectory movement prediction, in which most of the redundant objects can be easily identified and filtered out from the retrieved results For authenticating location and continuous query verification, the system has proposed a pre-fetching-based solution to avoid frequent query issuances on transmissions, the system also preserves the data freshness in the data retrieval. The proposed scheme also concentrated on the retrieval of dynamic objects. So every object will be authenticated at every service query
Future work includes examining spatial approximate substring queries, designing methods that are more update friendly, and solving the selectivity estimation problem for nearest neighbor queries.
In future, this recommendation system could be extended to recommend user next location based on user preferences like entertainment, shopping, hotels etc., and recommends frequent and high rated services in that location with extra features such as cost and quality.