Project Topics

Engineering Projects

User preference Based Mobile search engine

Published on Sep 16, 2019


We propose a personalized mobile search engine, PMSE, that captures the users’ preferences in the form of concepts by mining their click through data. Due to the importance of location information in mobile search, PMSE classifies these concepts into content concepts and location concepts. In addition, users’ locations (positioned by GPS) are used to supplement the location concepts in PMSE. The user preferences are organized in an ontology-based, multi-facet user profile, which are used to adapt a personalized ranking function for rank adaptation of future search results.

To characterize the diversity of the concepts associated with a query and their relevances to the users need, four entropies are introduced to balance the weights between the content and location facets. Based on the clientserver model, we also present a detailed architecture and design for implementation of PMSE. In our design, the client collects and stores locally the click-through data to protect privacy, whereas heavy tasks such as concept extraction, training and re-ranking are performed at the PMSE server. Moreover, we address the privacy issue by restricting the information in the user profile exposed to the PMSE server with two privacy parameters. We prototype PMSE on the Google Android platform. Experimental results show that PMSE significantly improves the precision comparing to the baseline.


A major problem in mobile search is that the interactions between the users and search engines are limited by the small form factors of the mobile devices. As a result, mobile users tend to submit shorter, hence, more ambiguous queries compared to their web search counterparts. In order to return highly relevant results to the users, mobile search engines must be able to profile the users’ interests and personalize the search results according to the users’ profiles.


In this paper, we propose a realistic design for PMSE by adopting the metasearch approach which replies on one of the commercial search engines, such as Google, Yahoo or Bing, to perform an actual search. The client is responsible for receiving the user’s requests, submitting the requests to the PMSE server, displaying the returned results, and collecting his/her clickthroughs in order to derive his/her personal preferences. The PMSE server, on the other hand, is responsible for handling heavy tasks such as forwarding the requests to a commercial search engine, as well as training and reranking of search results before they are returned to the client. The user profiles for specific users are stored on the PMSE clients, thus preserving privacy to the users. PMSE has been prototyped with PMSE clients on the Google Android platform and the PMSE server on a PC server to validate the proposed ideas.


User preference


 Mobile Client

 PMSE Server

 Re-Rank Search Results

 Ontology update and Clickthrough collection


Mobile Client:

In the PMSE’s client-server architecture, PMSE clients are responsible for storing the user clickthroughs and the ontologies derived from the PMSE server. Simple tasks, such as updating clickthroughs and ontologies, creating feature vectors, and displaying re-ranked search results are handled by the PMSE clients with limited computational power. Moreover, in order to minimize the data transmission between client and server, the PMSE client would only need to submit a query together with the feature vectors to the PMSE server, and the server would automatically return a set of re-ranked search results according to the preferences stated in the feature vectors. The data transmission cost is minimized, because only the essential data (i.e., query, feature vectors, ontologies and search results) are transmitted between client and server during the personalization process.

PMSE Server:

Heavy tasks, such as RSVM training and re-ranking of search results, are handled by the PMSE server. PMSE Server’s design addressed the issues: (1) limited computational power on mobile devices, and (2) data transmission minimization. PMSE consists of two major activities: 1) Re-ranking the search results at the PMSE server, and 2) Ontology update and clickthroughs collection at a mobile client.

Re-ranking the search results

When a user submits a query on the PMSE client, the query together with the feature vectors containing the user’s content and location preferences (i.e., filtered ontologies according to the user’s privacy setting) are forwarded to the PMSE server, which in turn obtains the search results from the backend search engine (i.e., Google). The content and location concepts are extracted from the search results and organized into ontologies to capture the relationships between the concepts. The server is used to perform ontology extraction for its speed. The feature vectors from the client are then used in RSVM training to obtain a content weight vector and a location weight vector, representing the user interests based on the user’s content and location preferences for the re-ranking. Again, the training process is performed on the server for its speed. The search results are then reranked according to the weight vectors obtained from the RSVM training. Finally, the re-ranked results and the extracted ontologies for the personalization of future queries are returned to the client

Ontology update and Clickthrough collection:

The ontologies returned from the PMSE server contain the concept space that models the relationships between the concepts extracted from the search results. They are stored in the ontology database on the client 1 . When the user clicks on a search result, the clickthrough data together with the associated content and location concepts are stored in the clickthrough database on the client. The clickthroughs are stored on the PMSE clients, so the PMSE server does not know the exact set of documents that the user has clicked on. This design allows user privacy to be preserved in certain degree. If the user is concerned with his/her own privacy, the privacy level can be set to high so that only limited personal information will be included in the feature vectors and passed along to the PMSE server for the personalization. On the other hand, if a user wants more accurate results according to his/her preferences; the privacy level can be set to low so that the PMSE server can use the full feature vectors to maximize the personalization effect.



CPU type : Intel Pentium 4

Clock speed : 3.0 GHz

Ram size : 512 MB

Hard disk capacity : 40 GB

Monitor type : 15 Inch color monitor

Keyboard type : internet keyboard



Oper at ing Sys tem: Android

Language : ANDROID SDK 2.3

Documentat ion : Ms-Office

Related Projects