Preference Oriented Mining Techniques for Location based Point Search

With the development of internet and wireless technologies, location based search is among the most discussed topic in current era. To address issues of location based search a lot of research has been done but it mainly focused on the specific aspects of the domain like most of the studies focused, on the search of nearby restaurants, shopping malls, hospitals, stores etc., by utilizing location of users as searching criteria. Problem with these studies is that users might not be satisfied by their results and the sole reason behind this might be the absence of user preferences in the search criteria. There exists some studies which focused user preferences along with user location and query time and proposed some frameworks but they are only limited to stores and their research cannot be scaled to other points like schools, hospitals, doctors , petrol pumps, gas station etc. Moreover there exist scalability issues in their recommended algorithms along with some data credibility issues in their public evaluations strategies. Our proposed research is going to present a novel location based searching technique not only for stores but for any point. The presented solution has overcome issues faced in previous research studies and possesses capability to search for “K” nearest points which are most preferable by user, by utilizing searching time as well as query location. Our research has proposed two feedback learning algorithms and one ranking algorithm. To increase the credibility of public evaluation score, system have utilized Google ranking approach while calculating the score of the point. To make user recommendations nonvolatile along with improving recommendations algorithm efficiency, proposed system have introduced item to item collaborative filtering algorithm. Through experimental evaluations on real dataset of yelp.com presented research have shown significant gain in performance and accuracy.


Location Based Search Problems
As internet chipped into our lives, it enabled users to search for anything of their desire using search engines like Google, Yahoo and Bing etc. Searching anything demands some mechanism, to search nearby locations, by considering user's location.With the development of wireless technologies and the popularity of smart devices, like GPS enabled devices, mobile phones and PDA phones, have increased popularity of location based services.Now a days one of the popular topics of location based services is that a mobile user can search anything using mobile gadgets from anywhere at any time.Currently there are number of searching platforms like POLS [1] which is a complete framework for location based searching, Geolife [2], IPeen [3], MapQuest [4], Google maps [5], PAPAGO [6] and Starbucks [7] having capability of searching nearby locations.Their searching results depend upon user's current query location.With the development of Web2.0 technologies [8], people have made their business information, like business hours, location, availability and products along with their features online.Using point's information like this, more advanced location based searching systems can be developed which can generate more accurate and specific results.
For example, searching for a nearby public transport, restaurant or a friend in that area, searching for a nearby university in a particular city or a shopping store in the adjacent shopping mall, searching for a petrol pump nearby or a hospital with best doctors in that vicinity etc.To understand and elaborate the importance of this topic, a scenario hops in supposing Jonson as a traveler who is visiting a specific city first time in his life and he feels hungry.He wants to find a restaurant nearby which comes into the price range of his preference and desire at that time, but he has no idea what are the multiple choices he got.
To achieve the required task there are lot of ways , like using Google searching system or by using restaurant recommendation websites but there are some problems in these systems.First of all Jonson will have to provide his current location to that search engine but because of the absence of any landmark, it's difficult to identify his current location.Secondly, suppose if recommender system identifies his position and shows nearby restaurants, even then the quality of restaurant may not be guaranteed.There are some websites [3,6] which recommend nearby restaurants by taking public likings into account, so in this mechanism quality of search can be increased.But the problem still persists in this approach which doesn't guarantee that public favor is same as of Jonson's.Therefore, for best quality location based search, user preference is required with his location.
There exists a research work [1] which covers all the discussed issues but that work is specific to stores only, they utilized qualitative based feedback learning and their CF algorithm is not scalable due to user based collaborative filtering techniques.So the main problem, which this research will address is using user's current location and query time develop a system framework, which can accurately rank nearby searched points liked by users.Whenever user queries, system will be able to return more accurate results in a short span of time.
A pile of work exists on this topic and existing systems [9,10,11] which helped establishing capacity to gather preferred points.These traditional recommender systems still encounter many problems like lack of user location.This problem indicates that system can recommend wrong points to the user because it doesn't have user's current location.For example Jonson, who is currently in Sydney, wants to search restaurant nearer to him but system shows him list of restaurants from New York City because it is unable to locate him.Second problem with the traditional recommenders is that while ranking searched points, systems are not taking user temporal information into account; this indicates that recommender may recommend stores or restaurants which are closed while user wants to find some point which is still opened.Third problem signifies lack of user preference information and give an understanding that recommender system cannot calculate user preferences for searched point.For example, user wants to search for a restaurant with economical tariff while the results shown by the systems don't fall in his desired range.
In addition to this, a number of research studies [2,9] have been done for location based search approach and are very successful, but the main problem is that, using user's current location and query time, how to rank nearby point.There are platforms which rank points [5,6] based on distance between user and searched point.Some platforms used public evaluation strategy [3] to rank points but none of them takes user preferences into account.Moreover to increase the accuracy, precision of ranking results two mechanisms are being used which are: relevant feedback [12] and collaborative feedback [10,11] but none of them have applied both mechanisms with user preferences.There is only one work (POLS) [1] which takes user preference learning, relevant feedback and collaborative feedback learning approaches into account simultaneously but it's specific to the stores only.The study utilized only positive preferences and their CF algorithm is not scalable too due to user based collaborative filtering techniques.None of the above frameworks have taken Google ranking approach into account.

Aims and Objectives
Our aim in this research is to develop a system or framework which has capability to use user query time, distance and preferences and can have capability to search for any point which is preferred by user.System must have capability to search for any point and must have capability to utilize most credible public evaluation techniques with enhanced ranking approaches.System must be scalable for multiple users and businesses its collaborative filtering techniques recommendations should be non-volatile and scalable.
To fulfill this aim several objectives have to be achieved.
• Collection of data set of points and users.
• Extraction of public evaluation data of points from recommendation websites.
• Development of searching module using ranking algorithm with embedded Google ranking approach.
• Development of feedback learning algorithm to learn user preferences.
• Development of collaborative filtering algorithms to find out similar users and potential preferences of user.
• Measure the effectiveness of optimal solution.

Research Question
Therefore research question is "How to develop an optimized location based point searching system under distance, time and user preferences constraints and collaborative filtering constraints?".

Distance Constraint
Distance constraint is applied while matching route to find a point that travel shorter distance from a set of available routes.There exists more than one path to travel from a source to destination.User may want to travel on the shorter path towards their destination.

Time Constraint
Time is a very important factor which needs to be defined accurately.Users and businesses should declare their schedules.In most of location based searching applications users define their time in which they can travel how much distance to find a specific point.For example user can have different preferences of distance at different slot of time user may travel 12 kilometers at morning to find a gas station but can only travel 3 kilometers in evening.This limited information is a barrier in finding an optimal solution.A time window needs to be declared.We have utilized time constraint to define preferences.

Preference Constraint
Preference is a very important factor which needs to be utilized accurately.users can have different preferences about points/businesses at different slot of time so based on this criteria our system should be intelligent to filter out those businesses by giving lower ranking score which are not preferred by user.For example user may want big shopping stores in evening and small with lower price in morning.In our system we have utilized this constraint to filter out most preferred businesses.

Collaborative Filtering Constraint
Collaborative filtering is very popular technique to make location based systems intelligent.It's a way to find out relationship between preferences of different users and services.It's very challenging for any system to apply correct collaborative filtering technique based on data model because of different properties in data model every system needs to design and use different technique.
Right collaborative filtering approach leads to right recommendation approach.System performance and scalability directly depends upon usage of right CF approach.This research is focused to find out lacks in existing techniques and utilize right CF algorithm to design optimized system.
Other than above constraints there are lot more constraints which are being faced in this research.So research statement belongs to some of the constraints discussed below: • How we will design our model?What will be the indicators of dependent and independent relationships in our model?
• What type of techniques and tests we are going to use in the modeling of replica design?
• How the model is verified?• How the system might be implemented in a working application?
• How the feedback of the system might be generated?
• How the convenience sampling might be attained to check the users acceptance for the system?
• How we will be handling reliability, testability of the model?
• What statistical scores will be

Introduction
First chapter has described the current location based searching problems.Moreover we will discuss about important concepts of location based search, difference between simple search and preference oriented search, difference between simple search and location based search, feedback learning approaches.Current research work constraints faced while doing this research.At the end we discussed about research question and objectives we achieved in this research.

Literature Review
Chapter two contains review of massive literature on location based searching techniques; ranking algorithms, feedback learning approaches and collaborative feedback learning techniques to identify the deficiencies in the existing ranking and collaborative filtering approaches and algorithms.

Methodology
Chapter three will explain the framework of our research, stages in research methodology, discussed about main terminologies that have used in this research to formulize the research problem, identify main challenges that have been tackled in this research work.

Components of the POLPS System
Chapter four aims to describe the modules of proposed POLPS system.Ranking algorithm utilizing Google ranking approach while calculating score of each point, feedback learning approach for calculating feedback of point given by user, collaborative filtering techniques, user to user collaborative filtering techniques and item to item collaborative filtering techniques.

Dataset
Chapter five aims to briefly specify the creation of realistic POLPS dataset by identifying the need for developing a dataset of Pakistan city Lahore.Furthermore, it will explain the process of extracting GPS location longitude and latitude of each point by reading specific location based attributes from GPS log file.

Implementation of the Prototype System
Chapter six aims to present the implementation of the components of POLPS system in form of prototype website.It demonstrated the requirement specification (i.e.stakeholders, functional and non-functional requirements), detailed architecture along with the modules of the prototype system.

Results and Analysis
Chapter seven will analyze the results of the conducted simulation study.Moreover it will compare proposed prototype system results with existing system to measure the effectiveness of the system.

Conclusion and Future Work
Chapter eight will summarize the conclusion of the whole research and will provide the future directions for research in this domain.
This chapter have discussed about proposed system framework, features of system and constraints that have been faced during research work.In next chapter will go through some of the existing research studies related to this research work, their pros and cons.

Chapter 2: Literature Review
This chapter will discuss some previous studies, which can be categorized into six categories.

Global Positioning System
GPS is a service provided by Google which is used to measure the distance of one point from other point on earth.Using GPS user can create locations on the map and can trace it using GPS services.In early days system was developed for military usages but in 1980 Google launches for civilians also, because of its usages in every device like mobile, PDA etc. GPS has become very popular now days.This is the reason GPS based applications are very common in popular.Google Maps is one of the most popular applications.Google introduce its programming interface first time in 2005, which led towards another application which is MapQuest which is same as Google Maps.MapQuest [15] is free online web service owned by AOL.GPS revolutionized web applications and introduced another technology known as web 2.0 technology.

Web 2.0
Web 2.0 is a modern term which describes the modern usages of World Wide and usage of web designing to increase creativity, enhanced security of information sharing with increased collaboration and improved usage of web.This concept led towards development of modern web based communities and hostage services because it introduced lots of social and networking web sites like Facebook, MySpace, twitter and LinkedIn, sites for video sharing ( YouTube, Daily motion ,YTPak ) and sites for blogs etc.Although we2.0 introduced the world with a new face of World Wide Web but it does not means there are changes in technical aspects of it.Web2.0 is representation of various terms now used to describe a variety of developments on the web and there is much improvement in the way it is being used.Web2.0 can be characterized as the evolution in the usage of web from active participation, creation and sharing.This methodology was being used but a little until Google and Google spinoff Gmail started using it a few years ago.Google maps utilized a key feature of this technology from showing results into the browser to dragging contents into the browser window.Utilizing partial page rendering feature of this technology the map is continuously refreshed with the server, that why it does not need to reload a page to fetch changes from server.Other than Google maps this technology introduced many new applications on the web.Like Flickr [12] was one of the very early adaptors of this technology, it is a web site that allows users to store photos share and use their pictures in an interactive way on the web.In addition to social web like Facebook, MySpace and DIGG web2.0 technology also led to other amazing web applications such as Web Ipeen [14] in Taiwan and Zameen.com in Pakistan.Due to lot of studies on this topic there are a lots of such Web applications on Internet which stores content information of different businesses such as store location, characteristics, business hours, public evaluation score, price level, and user commentary, which can be very useful for searching engine to mine and get optimal search result.

Location based Search
Location based search is a way for information and entertainment which users can access through mobile devices ,by utilizing the mobile network and utilizing the ability to make use of GPS service which detects the geographical position of the mobile device.Users can utilize location based search in a variety of ways like utilizing in the field of health, work, and personal life.Location based search includes methodologies to find out a location for a person, like discovering the nearby doctor or nearby shopping mall.LBS services can be utilized in the field of investigation to track mobile to track parcel and to find out vehicle using vehicle tracking services.LBS can be utilized to find out personalized weather conditions.In recent years, lots of researches have been done in location based services.In [2] author proposed a location based social networking service called GEOLIFE 2.0, which is a social networking service incorporating users, locations and user generated GPS Trajectories.In real world, people try to access sequence of location and generate many trajectories in a form of GPS logs, based on these GPS logs, we can build three graphs: a locationlocation graph, a user-location graph, and a useruser graph.Takeuchi et al. proposed a shop recommendation system based on individual user preferences and need.The system recommends frequently visited shops to users using a custom developed algorithm.For popular location based search services, Google maps provide the search capability for nearby targets.
In [1] proposed Preference oriented data mining techniques for location based store search which takes user preferences into account for searching nearby store search.However, the above studies aren't valid for all types of points like searching nearby hospital based on user preferences and none of them introduce Google ranking algorithm to rank nearby points.

Ranking Algorithm
Ranking of query results is one of the most fundamental problems in information retrieval.In information retrieval ranking function is a system which ranks information according to its relevance in query.Ranking function is mostly used by search engines.The articles, topics or items which are relevant to each other are ranked top of the list.
Normally ranking is done by calculating score of each item by using its attributes values.There are varieties of means to evaluate ranking functions but most popular is ranking top "k" items from some fixed "k" items.Mostly, the computation of ranking functions is understood by following observation about the concept: that only the relative order of the scores matters not their absolute value, the proportion of the top "k" results that are relevant on average over many queries.Many researches introduced different flavors of ranking algorithms in [8] k proposed an approach for web service ranking.In [1] proposed item ranking approach for hotels/stores which ranked stores based of preferences of similar users.One of the most used and popular example of ranking algorithm is page rank.This is an algorithm used by Google search to rank websites in their search engine results.PageRank is a way of measuring the importance of the website pages.Other examples are CRR which was introduced in 2010 which is point wise and pairwise Combined Regression and ranking algorithm.Bayes Rank 2009 which is a list wise method combines Plackett-Luce Model and neural network to reduce the expected Bayes risk, related to NDCG calculations, from the decision-making aspects.
In [1] have presented a ranking function which was utilizing public evaluation, distance and user feedback score to calculate score of certain stores, problem with this approach is that their ranking function is only utilizing public evaluation which decreases the credibility of ranking approach.Public evaluations were collected from restaurant recommendation websites which is not credible way to collect data and use it as public feedback.Google has the power to rank businesses by giving some scores based on popularity of that business over the wide area network.Google is using page rank algorithm to calculate rank of each website/business like Facebook has rank of 9, Google itself has rank of 9 and LinkedIn holds a rank total of 8.That rank shows that how much that business is popular and it gives us an abstract overview of business credibility along with its usage.In our research we are going to improve ranking algorithm by implementing hybrid approach to calculate ranking of points not only stores but approximately all points, by introducing Google ranking approach to calculate score of each point.

Feedback Learning System
Feedback learning system and collaborative filtering are techniques which normally are used to increase the precision of ranking results; now a day both techniques have been utilized in searching systems.Related to relevance feedback there exists lots of studies in [3,8] Rui Proposed an approach which is an interactive approach utilized for the retrieval in the content based image retrieval.User can rate any point which has been show in ranking item list.Now a days Relevance feedback based approach is being used to improve the quality of the new query.In [12] proposed a feedback trust model for using feedback effects.There are many feedback based models to increase the accuracy of the algorithm.In [14] authors suggested a new framework using collaborative filtering techniques.Collaborative filtering is used to find out similarity between two users based on their rating results.Those users whose preferences are same are considered as similar users and their preferences are used to rank list of items for the other user.In [1] author has utilized feedback learning algorithms which are learning feedback based on predefined learning mechanism.Problem with existing algorithms is that they are only utilizing quantitative feedback learning approach which is not a credible approach to analyze user feedback while users qualitative feedback can also be considered to analyze either user feedback is positive or negative.More over similar user finding algorithms are only finding similarity based on positive feedback.Negative feedback also can help to find out the deficiencies in search points.

Recommendation System
Recommender systems [3] normally termed as recommendation engines which works using a specific technique of information filtering system and helps to present things like images, videos, places, books to user which are new and have not rated them before.How recommender systems works they normally compares the items based on specific characteristics and try to predict a rating for an item that most probably user will give to that item .Now based on this information we can say that main purpose of recommender system is to give suggestion of new things or seek out the usages of some item for specific user by showing that item in recommendation list of that user.
Lots of recommendation systems are working and utilizing collaborative filtering approach.In [10] Horozov et al worked on location based point of interest systems and investigated some issues in these systems.This research has proposed an enhanced CFbased collaborative filtering techniques and following it proposed a restaurant recommender system.In [15] proposed new methodology for online learning of social computing based interest sharing.This research proposed a model for users using internet that allow them to discover their common points of interest like sets of URL frequently searched .In [17] proposed a methodology to find out Service Similarity for Privacy by using location based search queries.Proposed research was a user centric and location based architecture that was capable enough to customize query results so that it can include neighbor points of interest.In [18] X. Zhang and H. Bae presented a survey on location positioning and privacy preservation methods in locationbased service.This survey was based on existing methods which were dealing with localization techniques for both outdoor as well as indoor and techniques of location privacy protection.In this paper, author proposed a taxonomy which was to help researchers to quickly understand existing work, challenges and possible improvements.
In [19] proposed a technique which was a personalized manufacturing service recommendation system using semantics-based collaborative filtering.This was a novel collaborative filtering method for automating the semantics of manufacturing services.In [20,21] proposed a time-aware recommender system utilizing the dependency network of items.In [22] proposed a recommender method in collaborative tagging system by utilizing time sensitive topic recommendation.In [23] proposed a hybrid recommender system which was based on userrecommender interaction.In [32] proposed web services recommendations system using collaborative filtering techniques and in [33,34,35] proposed recommendations system ranking.In [36,37,38] proposed recommendation systems for analysis of symbolic data.In [39,40] proposed recommender systems using IOT from trust aware systems.
In [1] have proposed a recommender system by utilizing user to user collaborative filtering algorithm which calculates similarity of users and recommend stores to the user but due to lots of comparisons between users and volatile calculations it's not considered as scalable algorithm.Keeping in mind existing lacks in previous studies our research presented a novel approach which consists of a hybrid ranking algorithm by utilizing Google ranking approach and utilizing item to item based collaborative filtering techniques to recommend point of interest.
This chapter described the literature review of research work find out different domains of location based search, discussed about algorithms utilized to solve different problems of this domain.In next chapter will discuss about architecture of the system framework with complete life cycle of each request and will formulize research problem.

Chapter 3: Methodology
This chapter will briefly discuss about the methodology that is used to develop proposed framework.Here will show and discuss about architecture of POLPS framework with detailed description of each component with life cycle of system and define some terminologies which will be used during this research work after that will specify main research problem.Provided user's current location and searching time purpose of this research is to develop a system framework that provide nearby points ranking list which are liked by the user..1 shows the proposed POLPS system framework.This research work will extend POLS [1] framework and introduce POLPS that will be a novel data mining approach to efficiently search nearby points which are most preferred by user based on user's current location and query time.POLPS will extend POLS to five points (restaurants, shopping malls, petrol pumps, public transportation and doctors) due to different features and diversified nature of businesses POLS approach was unable scale for multiple businesses.POLPS system will consist of two parts client software, server software.Using client software user will send requests to POLPS server software with embedded location data.Server software will further consists of two layers POLPS middleware and POLPS data storage layer.Middleware will intercept initial requests and filter out points based on user preferences and query time after that middleware will run ranking process to fetch related points, calculate their score and sort points according to score.Point with highest score will be top of the list ranking results will be sent back to the user.POLPS will merge Google ranking approach with existing ranking strategy to calculate user's most preferred points because Google ranking results are most credible.In POLPS research work aims to propose personal preference database to store positive and negative preferences of every user.Using this database, system will apply ranking algorithms to rank nearby points using user's current location and searching time and personal preferences.User will give feedback and personal preference database will be updated using feedback learning algorithm.Every user feedback will be stored in a global preference database where system will apply collaborative filtering algorithm [13, 14] to calculate similar users based on positive feedback.CF results will update personal preferences of user by recommending points which most probably user find informative.Feedback learning algorithms will learn preferences right after receiving user feedback but collaborative feedback learning will be done periodically in intervals.As per our research knowledge this research will be first work of its kind that will integrate location based search, Google ranking approach, feedback learning strategy and user preferences learning.After that experiments will be carried out to calculate POLPS ranking accuracy and performance improvements.
Definition 3 (Similar users) CF = {u1, u2, u3….u|CF|} define list of all users who are similar to other users due to similarity of preferences.Definition 4 (Location) L=(x, y) define coordinates of location L x will denote latitude and y will denote longitude.
Definition 5 (Distances) Dist = {dist1, dist2….dist|Dist|}will define distance between searching user and searched point in kilometers ranking system will use Dist to rank points.
User's searched query will always lie under certain time slot.Every time slot in a day will be unique because user preferences will be different in different time slot.Research work will filter user preferences according to time slot.Definition 8 (Ratings) RV={1,2,3,4,5 } will define list of rating values which user will use to rate points, rating values from 1 to 5 shows the preference level will be from not preferred to preferred.Rating values 1 and 2 will show that point is preferred by user.Rating value 3 will show that user neither liked the point and nor disliked and rating value 4 and 5 will show that point is most valuable and preferred by the user.

Notations
The not preferred level of 1 is higher than 2. The preferred level of 5 is higher than 4.
Definition 9 (Rating dates) RD = {date1, date2….date|Date|}will define list of dates in which user rated the points.Rating dates will may be different from query date because there may be chance that user will rate point days after query.
Using the above definitions, suppose a user u places a query at time t from location L to search nearby points P with available features F. So by using user current location and searching time, current problem is to develop an optimized location based point searching system which by using user current location and searching time will be able to provide list of nearby points that will be liked by current user.Moreover it is expected that after learning in a short span of time system will return more accurate ranking list.Therefore research question is "How to develop an optimized location based point searching system under distance, time and user preferences constraints?".To answer this question and to fulfill aims and objectives mentioned above following challenges need to be tackled.This chapter disused about proposed framework its components and discussed about different definitions which have used to define key actors and features of the system.Challenges which need to be solved for implementation of this research work.Next chapter will discuss about different components which have been used to build a system framework.

Chapter 4: Components of POLPS
This chapter aims to discuss about the different components used to build POLPS framework.It will start from illustration of ranking algorithm, and then will describe feedback learning process after that will discuss about collaborative filtering techniques that have utilized to design a system framework.

Ranking Algorithm
Ranking algorithm purpose will be to provide a precise and accurate list of ranked points.It will prioritize points using public evaluation, user's preferences and current location.In previous research studies [2, 9, 10] researchers only discussed one or two factors to rank points and none of the research study considered user's personal preferences to find out the point which is preferred by user.So whenever user will query before applying the ranking algorithm, system will filter all those points that are closed and will filter by comparing their query time and business hours.System will give score to the remaining points by using scoring function.Higher score will show that points are most preferred and should be shown accordingly.Assuming user u with searched point p scoring function to calculate score of point p will be defined as So Equation 1 will be the sum of three scores which will be public evaluation, the distance score and preference matching score.Here α, β and γ will be weights of all three scores such that sum of all weights will be equal to 1 like α+β+γ=1.
Here public evaluation is a score evaluated from points/businesses recommendation sites like yelp.To increase the credibility of public evaluation POLPS have extended public evaluation score into two sub scores: one calculated from businesses recommendation websites and other calculated by Google search engine.So based on NDCG analysis system has given 60% weight to public evolution and 40% weight to Google search engine score.Assuming user u with searched point p scoring function to calculate public evolution score will be.

SpEval(u,p)=α×SEval(p)+β×SGoogle(p) (2)
Here α value is weight of public evaluation with value 0.6 and β is weight of Google search engine with value 0.4.Whole score is normalized from 0 to 1.To calculate score of distance first we have to understand its concept.Concept of distance is based on user behavior.So system calculates preferred distance using rating historical logs of user, which might be preferred distance from the actual user to point.
Here distAct (u, p) is the actual distance between user u and point p in kilo-meter, and n is the number of ratings which user u have given.Moreover, by imaging the concept that point will be marked as not preferred if there exists some other point closer to user under same category with same features as of user is searching like an oil exchange station having credit card facility so we designed the distance score SDist(u,p).To get a lower distance score for those points that are further we have designed equation 4 if the distance is over the average preference distance in equation shown in equation 3. On the contrary, points which are close enough that their actual distance is nearly equal or within the average preference distance system will give them highest score 1.
where distAct (u, p) is the actual distance, distPref (u,p) is the user preferred distance defined as (3) and R is a distance range with user location which is tolerable distance range, this range is predefined by POLPS framework for each user in kilometer, for example, 2 km.The tolerable range could be changes based on query time with distance keyword, for example, 0.5 and 3 km.
Here notable thing is that user preferred distance can be different in different time slots.For example user can prefer closer and cheap restaurants, doctors, shopping malls in the morning due to shortage of time but may prefer high-class and costly restaurants in the evening although restaurants are far.Here SPref (u, p) is the score calculated by matching preferences of user u and the features of point p. will calculate this score by subtracting negative feedback from positive feedback.For each mobile user, there is personal preference database which contains positive and negative preferences.Each record in positive and negative preference database has a preference point its score from 1 to 5 with strength value ranges from 0 to 1. Preferences database contains mixture of both types for example user U1 personal preference database contains three positive preferences and two negative preferences, a record {cheap, 0.9} in the positive preference means that the user like and prefers cheaper points with great intense.Equation no 5 shows the preference matching score, where Fs shows set of features for point p, PPu and NPu defined as positive and negative preference rated by user u, respectively and strength values of positive and negative preferences are represented by StrPPu and StrNPu , respectively.If there are two points represented by point A and point B and each contain three point features point may be a store then using above equation the preference matching scores for point A and point B can be calculated as 0.8 and -.4 respectively.

Feedback based Algorithm
System will give list of ranked points and user will rate points according to their preferences.To understand the algorithm and to indicate preference level, let's suppose there are five rating values from 1 to 5. Higher value of rating will show that user liked the point more.System will use this algorithm to automatically learn positive and negative preferences and updating the personal preferences of the user.
Using rating values from list {1, 2, 3, 4, 5}, system will learn either user has liked the point or disliked.If rating value is 4 or 5 system will understand that user liked the point, if rating value will be 1or 2 it means point is disliked by the user and rating value 3 means ordinary.Considering feedback of the points, system will use corresponding preference strength values from list {1.0, 0.5,0, 0.5, 1.0}.Feedback value 1 and 2 means feedback is negative and strength will be 1 and 0.5 respectively.Feedback 3 means neutral feedback its strength will be 0. Feedback 4 and 5 means positive feedback strength values will be 0.5 and 1.0 respectively.For the points, system will store point rated by user into positive databases if its preference value will be above 3 and in negative if preference value will be below 3.For example user u rated a shopping mall "A" as 5 on Feb 15.System defined that the corresponding strength value for rating 5 is 1.0.So system will put all features like cheap, parking, credit card allowed, good for children, wheelchair accessible, elevators of that shopping mall into positive preferences of user u with strength value 1.0 and dated Feb 10.Rating of point shows that user "u" liked this shopping mall.There may be chance that user "u" will again go to that shopping mall and again rate it so there should be mechanism to combine both ratting into single rating.This system combine them using rating day.Hence, strength value for rating 4 is 0.5.Days passed 10 and 20 from rating day respectively system found that cheap attribute is found two times in positive preferences database with strength value 1 and 0.5.To combine strength value StrN of attribute cheap system will follow below technique.StrN=(0.5*20 - )/ (20 -1+ 10 -1 ))+(1.0*10-1 /20 -1+ 10 - 1 ))=0.66.
So according to human nature, by passage of time user preferences will be changed and with the passage of time preference level will be decreased by the number of days have passed.If user will prefer more effect of decay will be decreased and preferences will be remain active.In other words, preferences will be set active if user will rate points for longer time.If user will stop rating point, decay weight will be decreased to 0 and that preference will become inactive.System applied decay function and based on the number of days have passed system decrease each active preference strength value.System will start calculation from day first.So actual decay function can be defined as Here StrN is normalized preference strength value of point which is currently active and dN −c2i is control variable, used to control the distance between number of days which have been passed and weight of preference of user it is denoted by parabolic curve and yaxis.Here Dn is number of passed days, system used it to get weight of preference at yaxis, -c2i is factor which is used to optimize the distance between passed number of days and weight of user preference.Moreover c is a gradient coefficient which is predefined with value 4.More the distance smaller will be the value of -c2i.In equation 4 g(i) is denoted by gradient rate.By taking all coefficients of equation 4 into account, system will find out any active preference with negative strength which means that rating is past for a long time.So system will start an updating process and will set to inactive in the user preference database.

Collaborative Filtering CF-based Learning
To learn preferences of users globally we have proposed CF based collaborative filtering algorithm.Algorithm is to learn preferences of a user with respect to other similar user.POLPS have capability to recommend businesses by utilizing personal preferences and potential preferences of the user.To implement this algorithm system has stored reviews of users into rating logs this rating is made by all users.By following review log, instead of analyzing preferences between user and other users, this system analyzed similarity of preferences between item and other items.For the items who have high similar preference sets, system transferred those similar items into the recommendation of all those users who have rated current item.
So to analyze the similarity between preference sets rather than matching the users to similar users, system matched similarity between items to item [14].In Item to item collaborative filtering technique this algorithm matched each of the user's rated items to similar items, and then combines those similar items into recommendation list.
Item to item collaborative techniques are beneficial if in terms of both performance and accuracy.Users to user collaborative techniques are beneficial when data sets contain more points than users.In case of POLPS dataset contains 366 thousand users and 61thousand points.So User to user CF Techniques will be costly and less scalable due to N*N comparisons between users and their recommendations will be non-static.That's why we have used Item to Item collaborative techniques to find out similarity between users.
How system implemented this algorithm by finding similar matches for a given item so to find out the most similar match, the algorithm first created a table of similar items just by finding those items which have been rated by both users.So system build a point to point matrix by iterating over all item pairs and computed a similarity matric for every pair.But there are many point pairs with no common users.System has followed following algorithm to implement item to item collaborative filtering technique.

Figure 4-1 Item to Item Collaborative Filtering Algorithm
It's possible to compute the similarity between two points system have followed cosine similarity [25].Point having highest similarity will be considered as most similar point and system will add that point into the preferences of all those users who rated current point.
This chapter have discussed about different components of proposed framework now next chapter will discuss about the datasets used to evaluate system framework.Data set collection techniques with data model building techniques.

Chapter 5: Dataset
This chapter will briefly discuss the creation of realistic POLPS Dataset.Start from illustration of the need of creating a dataset for different points.Afterwards will describe the process of developing a dataset i.e. calculation of GPS location for each point, required equipment and software's, preprocessing of the collected dataset, features and attributes of the dataset etc.

Need of developing POLPS Dataset
To practically evaluate the proposed preference oriented location based search system, realistic POLPS dataset was collected of different cities of world including Pakistan specially Lahore.Real data from Pakistan was collected to make system analysis more credible.And to run proposed system in location environment it mandatory to include data from that environment.Why selected dataset from Lahore region is very special question which may come from reviewers.Now are going to justify this question in three points First its urban area and majority of the people in Pakistan are migrating from rural areas to cities because of exponential growth in population and continuously decreasing land occupancy.According to the UN estimates fifty percent of Pakistan population has become urbanized.Urban development and planning are a magnanimous challenge for the government of Pakistan.Urban cities development plays an important role in development of country.Cities describe the economic structure, nature of society and culture of the country.According to the author [26] city determines the country place in the global system.
Second because of terrorist activities in Pakistan special in Karachi lots of business men moved their businesses from their cities to Lahore.Due to handsome development within city from last 5 to 6 years Lahore has become an eye caching place for people of Pakistan.Ratio of restaurants, schools, universities, parks, hospitals and even business points has been increased in this city.
People from local cities are moving in this city to make their future bright.Lot of business opportunities have been created in this city from last 10 years.So it was very easy for us to collect data of different points.In our research there was a requirement to collect data which our system can utilize to give more feasible results.So Lahore was most suitable location for us to collect data of different points including doctors, hospitals, shopping malls, restaurants, schools, universities, parks, gas stations etc. Third this research is done in an institute which is located in Lahore region our research is applied research so it was easy for us to practically test our results.It was easy to gather test clients to generate requests to our system.

Dataset Creation Process
In this work respondent used following accessories and apps to test POLPS system which are described as follows: Mobile phone having GPS Feature each respondent have a mobile phone having GPS feature.GPS is a space based satellite navigation system that presents location and time related information in all types of weather conditions.Before starting the trip, respondents enable their GPS option which get connected to the satellite in a few minutes and start giving you location information.

GPS Logger Application
To record trajectory i.e. travel attributes latitude, longitude and time between two coordinates , this work uses an Android app "GPS Logger" [27].This app works efficiently without having internet connectivity .Application consumes less battery as compared to other logging apps.This app record the GPS coordinates at fixed time interval specified by respondents.Before starting trip respondent enable the start logging option and after reaching its destination it disable logging option.App records the whole travel route coordinates along with time.The recorded file is stored in the SD card folder.This app runs in the background, after start logging, respondent can use their mobile functions easily.This app stores files in GPX or KML format.This is a very user convenient app by allowing user to email a file, ftp upload and can upload traces on open street map.

POI Conversion Tool
Recorded GPS traces are in different format depending on manufacturer (i.e.mobile phone manufacture), which can't be directly used for further processing (i.e.searching module).Our retrieved GPS log files are in .GPX format, hence, converted it into another file format by using conversion tools.This work selected the CSV format to create our dataset files.Creating a file in CSV has many advantages, it can be read easily by any spreadsheet program, can export to any other application easily

Attributes of POLPS Client Request File
A file consists of set of records, where each record is composed of fields, each containing a particular piece of information [29].In our dataset each file has the following records: Client Id Client id is the name of the client, which is numeric in our dataset.Each trajectory file or each recorded trip has a unique id.Recorded trajectory is saved with the id of client.First column of CSV file is filled up with client id.

GPS Coordinates
Each file has a list of GPS coordinates i.e. latitude and longitude.
Latitude specifies the north south position of a point on the Earth's surface.It's an angle ranging from 0° at Equator to 90° (North or South) at the poles [80], while longitude specifies the east west position of a point on east surface.After a fixed interval the logger logs the coordinates of the location.
Time Each record contains time along with latitude and longitude.A fixed time interval is set by the respondent.In this work, fixed the time interval by 1 minute, i.e. after every 1 minute logger will record the coordinates along with time.Starting time will be received at the start of the trip.
To explain the format of file let's take an example, if a respondent start their trip at 09.00 am, logger will save origin location coordinates along with 09.00 am in the following format.Latitude Longitude Time 31.46805 74.24655 09.00

Table 5-1 Sample File Format
After every one minute logger will save the respective location coordinate along with time.In this way whole trajectory is recorded until respondent end their trip.Final trajectory files contain location coordinates (i.e.longitude and latitude), travel time between two geo coordinates.Final trajectory contains 1000 records of the whole route.5

-2 Sample of Final Client File
At the end of this chapter this work has achieved its fourth objective that was: "Create a dataset for evaluating proposed system in realistic scenario .Lahore GPS ride trajectory dataset is created for evaluating the proposed system in realistic scenario.Dataset is gathered by routine commuters which have a high demand of ridesharing.Dataset is created through an unbiased tool GPS Logger, generated dataset semantic is easily understandable, hence, can be utilized efficiently in future, format of the dataset preserves the syntactical integrity of the elements of the dataset, therefore, it can be analyzed effectively.

Attributes of POLPS Businesses File
Other than client business dataset have collected list of different points under different categories.Like client attributes businesses so called points in this research also have GPS locations attached with their attributes and unlike client businesses have their attributes so called properties and features.Each point has different nature so their attributes are different as compared to points under different categories.This research have utilized real time dataset obtained from yelp.

Attributes of Yelp Dataset
Yelp [30] founded in 2004 is an American multinational corporation headquartered in San Francisco which focus on development of yelp.comsolution utilizing mobile apps, collect reviews about businesses and publish those reviews for analysis.By 2016 yelp has 135 million monthly visitors and about 95 million reviews about local businesses.
Along with yelp data set system also utilized dataset from UCI Machine learning repository of Donald Bren School of Information and Computer Sciences University of California, Irvine, this dataset was obtained from a recommender containing 366715 users , 61184 points of 783 different categories with 889964 attributes on average each point contains 15 attributes and with 1566000 reviews.Initial shape of data was in the form of CSV files to make it useful for computations mapped it from CSV to relational objects shown in figure 5.3 below

Calculation of Google Score
To increase credibility of public evaluation score proposed work have utilized website URL and applied Google ranking algorithm to calculate its popularity on internet our system has added this score with public evaluation score during calculation of ranking of points.To generate data set of users we have taken 20 members of our laboratory to participate in our experiment.Each user has been given predefined latitude and longitude and each have been given a time slot from predefined timeslots.Then have instructed participants to query POLPS system during different timeslots like from 10:00AM to 12:00PM, 12:00PM to 3:00PM, 3:00PM to 7:00PM, 7:00PM to 10:00 PM and 10:00PM to 12:00AM.This chapter has discussed about data collection methodologies with attributes.Next chapter will describe implementation strategy of above POLPS components.There will show about different technologies that have been utilized to implemented different phases of POLPS framework and implementation life cycle with detailed description of each cycle.

Chapter 6: Implementation of the Prototype System
This chapter aims to focus on components of the proposed POLPS system that have been described in chapter four for the development of a prototype system.This will explain the design, working scenario, functional and non-functional requirements of the prototype system.Architecture of the proposed prototype and different modules of the architecture will be discussed in detail.

Prototype
To test the viability of POLPS system and to study the merits of the ranking algorithm, feedback learning algorithm and collaborative filtering techniques, developed a prototype website named POLPS system, which will be easily accessible for both passenger and ride giver through the mobile phones to be connected everywhere.
The reason for developing a website instead of developing a mobile app is that: mobile application is needed to develop for different mobile phone operating systems.Passengers used different mobile phone models having different operating systems.For example Samsung and Qmobile have ANDROID operating system, I phone has IOS operating system, blackberry has blackberry operating system, Nokia has Symbian operating system etc.Therefore developing an app compatible with all these operating systems is a tedious work.Hence we developed a website that can be easily accessible from mobile phones, laptops and desktop computers etc.

Design of the Proposed Prototype
From the found deficiencies through literature review, we are motivated to design a prototype for location based point searching system based on multiple constraints by using open source java, JSF technologies.Our aim is to develop a more convenient, flexible and beneficial dynamic ride sharing system for visitors of Lahore city or any other city.We selected Oracle award winning tool J Developer and ADF for implementation, the rationale behind this tool selection is its features: such as its enhanced UML diagrams designing techniques without writing much code for Use case, class, sequence diagrams, relational database designing techniques, separating business logic from user interface and controller layer and providing multiple views or options to developer for designing and implementation.We have used JSF technology with enhanced ADF Faces API for developing our prototype rational behind choosing JSF instead of other J2EE framework is its very mature framework it contains embedded html5 and AJAX enabled components with touch support functionality.

Working Scenario of Proposed Prototype System
To practically evaluate the system on realistic dataset this research have utilized collected dataset of Lahore city for doctors, schools, hospitals, parks, shopping malls with UCI machine learning dataset and yelp as described in chapter 6.As road network is divided into grid cells.

Requirement Specification of the Prototype
To avoid problems of ambiguities along the development process, defining the requirement in a formal way is necessary.In this section, we describe stakeholders, functional and nonfunctional requirements of the proposed prototype.

Stakeholders
An important aspect of software development is identifying system stakeholders.Our system stakeholders are general users, who want to search for businesses and users of business men who want to expose their businesses to internet and wants that their businesses will become popular based on public and user feedback.Our target group is Lahore city users and businesses.Moreover we have extended our research to any location so any user who wants to search for specific point/ business in the Lahore city or from any location is our target user

Functional Requirements
Specific statements of service that defines how the system should react to particular inputs and how it should behave in particular situations is called functional requirement.Functional requirements of our proposed prototype website are as follows: 1.

Whenever user submits a request, system should quickly provide an optimal list of points.
Motivation After submitting request for a business or point, user want to receive the result immediately without wasting time.Therefore, an efficient searching mechanism is required which matches request with the required business by fulfilling all participant constraints instantly.The proposed prototype will implement the searching mechanism for fast retrieval of points / businesses by accomplishing constraints.System will filter out all those points which are not according to preferences of user.

After providing points matches, system should process the feedback provided by user in terms of the incoming request efficiently.
Motivation after receiving points system will receive feedback from user in terms of score ranges from 1 to 5 for each point.System will process feedback provided by user will identify positive and negative feedback and will store that feedback as positive and negative preferences of user.Here system will use feedback learning approaches.

System should give recommendation to user for points of certain category by learning similarity of users' preferences with respect to other user's preferences.
Motivation Every user wants to that system should recommend some of the points which should be displayed to him no matter he/she has rated them or not.So system should have capability to find out those points which should be shown as recommended points.System will utilize collaborative filtering techniques to first find out most similar users and then recommend points rated by that similar user to target user.Here system will utilize positive preferences of users to calculate recommended points.

Non Functional Requirements
System quality related statements that define the constraints on the services offered by the system are called nonfunctional requirements [81].The statements that will help understanding the pattern of the development process of the proposed prototype is given below:

The preferences oriented location based searching prototype website shall be easy to use and should not require special computer skills.
Motivation Website is used by many people nowadays without any technical skills.The proposed prototype shall be easy to use as it will stand as other web applications.The electronic forms will have labels to guide users on what and where to fill data.Interfaces will also be user friendly.

The preference oriented location based searching prototype website should be portable.
Motivation Website should be easily accessible from many different devices.For example, it should be accessible through desktop computers, mobiles, tablets etc. Website should be compatible with all browsers.

Developing the Prototype
The development process of the proposed prototype is divided into different modules where functionality of each module of the proposed prototype is described below:

Modules of the Prototype
System prototype is divided into client and server modules.The prototype website contains two client modules and for each client module there exist several server modules performing different functionalities.Client side modules will run based on the request of the user.But server side has two types of modules module 1 will activate when user will submit his request on the other hand module 2 will activate when system will receive feedback from user some module 2 will partially run based on user request and partially run on background.

Client Module 1 Request for a top ranked points under specified category
This web page allows users to request for a point by searching using category list of values.System will identify that category with location of user using GPS system techniques.We have developed this page using JSF technology with AJAX enabled components.When user will submit search button system will send that request to server side module 1 for finding top points under that category.This page contains one List of values for choosing a category for searching for example using this list of values user can search nearest and best restaurants or shopping malls.This page also contains a side table to show top searched points with different features like point name, point distance from user, available features etc. after seeing list user will evaluate available list points with respect to its preferences.Evaluations will be done in the forms of feedback score.Main page contains list for feedback score so which user can select one from available scores.Scores range is from 1 to 5.After pressing submit feedback button client module 1 will handover that list to server module 2 for further evaluations.Implementation of client module is done using different layers Address conversion into GPS coordinates: user request for a point by specifying the category of businesses and address to the client module.However, businesses in dataset contain GPS coordinates of the location.Therefore, to calculate the distance between point and user we need to convert the address into location coordinates i.e. latitude and longitude.We implement Google Geocode API (Application programming interface) to convert the address into latitude and longitude.We have implemented this technique using java programming language.Now business tier will give these results to controller tier to filter out top scores according to threshold and show prepare GUI to display.We have implemented this layer using ADF Controller and ADF UI layer components using JSF as UI technology.After finding list of top points searched under some category user will evaluate those points.We have implemented this functionality on the same page which showing ranking results.A list of values has been given adjustment to each point showing number from 1 to 5 which user can choose to give feedback.Feedback as we discussed previously is to learn preferences of user and to evaluate system accuracy.We have implemented this functionality using java, JSF, html and CSS languages.

Figure 6-7 Snapshot of the Feedback Submission Web Page
On submitting form system pops up many server modules.

Server Module 2
Server module 2 is divided into the following sub modules which are written below: 1) Feedback submission from client module 2.
2) Learning positive and negative feedback.
3) Decay feedback weight after passing time.
4) Finding similarity between preferences using collaborative filtering techniques.

5) Recommendation of businesses to user
based on similarity.

Feedback Submission from Client Module 2:
submitted feedback from user will be received by feedback submission module.UI layer bean will receive feedback in the form of array and that score will be attached to each point.Function called from UI layer will pass that feedback score to business tier for further processing.We have implemented this functionality using java, JSF based components.Figure 6.8 is showing implementation of algorithm.

Figure 6-8 Implementation of Feedback Submission Function
Learning Positive and Negative Feedback: feedback submission module will hand over its feedback array to database procedure which we have written using PLSQL language.The procedure has implemented feedback learning algorithm which will learn positive and negative feedback.To calculate positive and negative feedback we have pre-defined each feedback score whether it is positive or negative.Feedback learning algorithm will learn each feedback by look at the list we pre-defined.We have defined that feedback from 1 to 2 will be learned as negative feedback 3 will be learned as neutral feedback and 4 to 5 will be learned as positive feedback.After learning each point feedback algorithm will store each feedback in positive and negative feedback databases.Figure 6.9 is showing implemented algorithm.Purpose of this function was to recommend those businesses or points to user U1 who have been rated by some other user U2 who is most similar to user U1.Recommendation function has utilized results of CF Item to item and user to user algorithms.We have implemented this functionality using PLSQL language same utilized in CF algorithms.Figure 6.12 shows implementation details of recommendation function.In sum, we conclude that by implementing multiple API's a prototype preference oriented location based point searching system.We have utilized different languages and platforms for implementation of different algorithms.All features and algorithms have been integrated with each other to form a complete lifecycle of proposed framework.In next chapter we will evaluate our proposed system using different evaluation techniques.This chapter have discussed about implementation of each algorithm utilized in POLPS framework.Next chapter will discuss about experimental results and their analysis.

Chapter 7: Results and Analysis
This chapter aims to do complexity analysis of our proposed framework with evaluation of experimental results using different evaluation techniques.

Complexity Analysis
Here will discuss about best, worst and averages analysis of proposed framework.POLPS system complexity depends upon three factors number of users UN using the system, number of points/businesses PN in the system databases and number of similar users CFN this factor is important because CF based Item to Item recommendation algorithm will use similar users to recommend points/businesses.To analyze time complexity of system we will use big o notations and will be analyzed as below.

Best case: O(UN*PN)
System latency is increased with increase in both number of users and number points.More number of users system performed more calculations and overhead of time is increased like more calculations in feedback learning.In the same way system has to perform more comparisons due to increase in number points.
Comparisons are done with properties/attributes of the points and preferences of the user like user has a preference that in evening he prefers to visit malls which have shops selling garments on sale with availability of elevators and parking and mall attributes are cheap cloths ,sales garments, elevators available, parking not available.So system will remove that mall by comparing user preferences with mall attributes.

Worst case: O(UN*PN+CFN)
System latency is increased with increase in UN and PN.More number of users and Points more comparisons system has to perform with additional cost of finding similar users and recommendation of those points to the users which he/she have not rated in past.So main issues that affect time complexity of the system are UN , PN and CFN Average case: O(UN*PN+CFN) Time complexity of POLPS system is same for both average and worst cases because system has to perform additional comparisons to find out similar users.Time complexity of POLPS and POLS is same.

Experimental Evaluation
We have evaluated POLPS system using different measurement.We have used the area under receiver operating characteristic normally called ROC curve or ROC Area and for accuracy measurement of ranking algorithm, for evaluating the effectiveness of POLPS framework we have utilized normalized discounted cumulative gain NDCG.
NDCG have been used to find out the gain.Whenever user sent query to POLPS system, system gave him the list of points sorted by ranking order from top to bottom.User evaluated each point in the ranking list in the form of feedback.We found out gain which is calculated cumulatively from the top of the result list to the bottom of the result list.If point has been given higher rank and user gave it low score then relevance score will be low.NDCG score shows the ranking algorithm accuracy.To find out the accuracy of the system that how system correctly calculated positive points among all positive points, here positive means: points that are fulfilling criteria of user, and how system incorrectly showed points into ranking list which were not fulfilling the criteria of user means: user wanted to find out open shopping malls from 10PM to 12AM but system incorrectly shown those shopping malls which were closed.
We measured this behavior by using ROC curve by drawing graphical plot by the fraction of TPR and the fraction of FPR.ROC is also termed as relative operating characteristic curve because it shows a comparison between two operating characteristics TPR and FPR.

Impact of Different Weights for POLPS
During calculation of final ranking list of points we have assigned different weights to different factors.In POLS research, they have utilized three main factors public evaluation, distance between points and user to user preferences.So they have assigned different weights to each of factors that are weight α, β and γ respectively.Symbol α is assigned to weight of public evaluation β assigned to distance and γ assigned to user preferences respectively.To find out the effect of each weight on the ranking accuracy of the system, we vary the proportions of all weights performed simulation by simulate users rating on top 7 points in each result list and measured result of this experiment by drawing NDCG graph in below figure.

Impact of Different Weights without using Google Ranking Approach
To find out best possible combination of weights of three main ranking issues utilized while calculating the score of points , that is weight of public evaluation denoted by α, weight of point distance denoted by β and weight of user preferences about point denoted by γ weights have been described in equation no 1 of section 4. We have done experiment by taking users feedback on top 7 points collected their feedback and measured using NDCG.By seeing figure 7.1 we noticed that by just considering public evaluation system have shown worst accuracy of ranking lists.If system considered only distance or personal preferences POLPS ranking accuracy was less than 0.76.When considered two ranking issues instead of one system gave better output as compared to previous one.System NDCG comparison has a higher accuracy of 0.91 when considered all three parameters but with double emphasis on personal preferences.So finally we found that system has higher accuracy of 0.97 when considered 1:2:2 as weighted combination of three ranking issues.These results showed that a point which have higher public evaluation does not means that this point will be preferred by user but on opposite of public evaluation point distance and user personal preferences are more important ranking issues.So finally we summarize our weighted combination of 1:2:2 and normalized all weights to 1 by following experiments α is set as 0.2, β is set as 0.4 and γ is set as 0.4 so that α: β: γ=1:2:2 and α+ β+ γ=1

Impact of Different weights using Google Ranking Approach
In POLPS to enhance the credibility of public evaluation we have changed ranking algorithms by adding Google ranking approach.So in this approach we divided public evaluation ranking issue further into two categories Score of Google and score of public evaluations.So we gave two weights to both ranking issues α: β=1 where α =0.6 weight of public evaluations and β=0.4 weight of Google evaluation.Again we simulate our experiment results have been shown in Figure 7.2.We found that system showed improvement in accuracy of ranking results.

Impact of Various Noise Rating Rates on Ranking Accuracy
To find out the behavior of system on different density of noise this experiment was performed on POLPS simulator .We simulate a noise rating rate for the simulation user to see the noise rating of the POLPS.To measure the accuracy of system we draw two graphs NDCG and ROC area.We varied noise rating from 0.1 to 0.5.We find out that NDCG and ROC area showed a continuous similar behavior on noise.Accuracy of system increases with decrease in noise rating and decreases with increase in noise rating.The lower rating noise rate the higher ranking accuracy shown in figure 7.4, 7.5 and 7.6 respectively.The main research question which were addressed and resolved are: • How we will design our model?What will be the indicators of dependent and independent relationships in our model?
• What type of techniques and tests we are going to use in the modeling of replica design?
• How the model is verified?
• How the system might be implemented in a working application?
• How the feedback of the system might be generated?
• How the convenience sampling might be attained to check the user's acceptance for the system?
• What statistical scores will be allotted to each entity at the end of the system in the form of ranks?
• How we will be handling reliability, testability of the model?
We started by answering every research question which been resolved in our work.While designing the model we focused to the comparison with earlier models.While answering above question our research has proposed a new framework for searching points and named it as "preference oriented Location based point search (POLPS)".System possesses the capability to integrate user location, query time, and user preference.
According to our knowledge, this is a unique work which is simultaneously taking: locationbased searching techniques with ranking techniques, preferences learning techniques and collaborative filtering technique with utilization of item to item collaborative filtering techniques, into account.
To analyze the performance of POLPS, we have done different types of experiments by directly receiving feedback from users; running simulations also compared performance of POLPS with existing POLS system.Through experimental results we have shown that our proposed system outperforms as compared to other existing approaches by testing under different environmental conditions.Under different location and temporal information, system accurately learned preferences of user by utilizing feedback learning algorithms and CFbased preference learning algorithm with enhanced item to item collaborative filtering and recommendation capabilities.At the end, system ranked point list by using proposed hybrid Ranking Algorithm with utilization of Google ranking approach.We have designed system ranking strategy to find out popular and nearby points for user when there is lack of initial data.We have resolved new item problem by using searched point properties as the features.Cold start or lacks of initial data are problems that often occurred in the traditional systems.By doing experiments, we have shown that our proposed system showed best performance and achieved high quality with low computation cost.
In future research we will focus on enhancement of system capability to incorporate negative feedback for recommendation and introduce qualitative feedback learning with quantitative feedback learning because using quantitative feedback to calculate feedback of user is not a very secure way because there may be chance that user unable to give right score to some point.Qualitative feedback helps in different ways one qualitative helps researcher to analyze feedback at an individual level.It can be an added dimension for quantitative answers, second using quantitative feedback with qualitative feedback give u a complete picture of the user feedback.It also helps to reduce inconsistency from feedback.

Figure 1 - 1
Figure 1-1 Multiple ways from Source to Destination

Figure
Figure 3-1 System Architecture

Challenge 1 • 2 ••
Collection of data set of points and users.•Extraction of public evaluation data of points from recommendation websites.ChallengeDevelopment of searching module using ranking algorithm with embedded Google ranking approach.•Development of feedback learning algorithm to learn user preferences.•Development of collaborative filtering algorithms to find out similar users and potential preferences of user.Challenge 3Evaluation of results.oMeasure the effectiveness of optimal solution.
Suppose A and B are two points whose similarity needs to be calculated to add it into the preferences of the user who also rated A. So algorithm used following cosine similarity technique to calculate similarity score of A with B. Similarity(A,B)=cos(A,B)=A.B/||A||*||B|| Here |A| and |B| are magnitudes of positive preferences of both vectors.

Figure 5 - 1
Figure 5-1 Lahore Map [28].For converting GPX file into CSV format this work uses POI convertor.POI convertor is an easy to use tool.No hard and fast rules are required to convert GPX file into CSV file.By uploading a file it's easily converted the file into comma delimited CSV format.

Figure
Figure 6 -1 Architecture of the Prototype Figure 6.2 is showing algorithm we implemented to get coordinated by passing normal address.

Figure 6 - 2 Figure 6 - 3
Figure 6-2 Implementation of GPS Coordinate CalculatorImplementing Ranking algorithm: After finding the coordinates of user we have sent a request to business tire to find out the unique id in the system which will be used to identify each user in the POLPS database and then passed whole request to ranking

Figure 6 - 4
Figure 6-4 Implementation of Distance Calculator Between two Points

Figure 6 - 5
Figure 6-5 Implementation of Google Page Ranking Algorithm

Figure
Figure 6-6 Snapshot of the Output

Figure 6 - 9
Figure 6-9 Feedback Learning AlgorithmCollaborative Feedback Learning: This module will run in background of each module.It will find out the similarity between different users and recommend points to the users which they have not rates but due to similarity between users system find it suitable to be shown to the requester.Here we have implemented two algorithms one recommend based on user similarity and other recommend based on item similarity.Implementation strategy of both algorithms is simple we have written two procedures in database.One will calculate similarity based on user to user comparison other based on items to item comparisons.Figure6.10 shows implementation of user to user and Figure6.11shows implementation of item to item collaborative filtering algorithm.

Figure 6 -
Figure 6-10 Implementation of User to User Collaborative Filtering Algorithm Implementation of item to item collaborative filtering was done by applying algorithm described in figure 4.1 of chapter 4.

Figure 6 -
Figure 6-11 Implementation of Item to Item Collaborative Filtering Algorithm

Figure 7
Figure 7-1 NDCG Score without using Google Ranking

Figure 7 - 2 NDCGFigure 7
Figure 7-2 NDCG Score with Google Ranking7.2.4 Impact of Google Weight and Public Evaluation Weight on Ranking EfficiencyWhile calculating ranking score for each searched point system divided public evaluation into two sub evaluation categories one is same public evaluation and other one is Google based evaluation.Each evaluation technique has been assigned a weight.Final score is calculated by multiplying each evaluation score with respective weight value.What should be the best value of weight for each strategy is decided by continuous feedback effect analysis by using NDCG graphs.

Table 3 -1 Notations Used in POLPS Definition
7 (Points) P={p1,p2….p|P|}define list of points that user wants to search.Every point will contain certain features like geographical location, public evaluation feedback, opening time, closing time etc.

Table 5 -3 Sample Points data model Each
point has its name, country, latitude longitude to recognize its physical location, type of point, public evaluation score and its business website URL.

Table 5 -5 Dataset of Users with GPS Coordinates So
in other words each user queried POLPS system 5 times in a day and continued working for 20 days.For a while we have assumed that each user is under predefined timeslot and location.System applied ranking approach to calculate and given list of top 7 points under searched category.Now participants are requested to give their feedback against each populated point based on their personal preferences under current conditions.

Table 5 -6 Representing Sample Outcome from POLPS FrameworkTable 5 .
6 showing the result of top doctors near to a user, distance is the distance between user u and point p in meters.

Table 5 -7 Ranked List of Top Rated Points by POLPS Framework
On clicking submit button, the request is sent to the server where server side module is divided into different sub modules which are illustrated below: 1.Address conversion into GPS coordinates.2.Filtering points based on searching time 3.Implementing the Ranking algorithm.4.Displaying the ranking result on JSF page.