Personaliseren van zoekopdrachten door de analyse van surfgedrag en contextinformatie
Abstract – We designed a program to get better recommendations then those given by most search engines. To do this each user has his own profile in which his search history is stored. By combining this profile and ontology based reasoning, recommendations are generated. Afterwards the recommendations are enriched with context information. The program was tested on a set of data obtained through a questionnaire.
The well known problem with search engines is that they always display a lot of unwanted recommendations. You have to scroll all the way down before you can find what you are searching for. That is because the search engine does not keep track of your search behavior or current context.
Imagine someone who enjoys cooking but does not have a clue what he can make for dinner. He starts up his computer, opens a web browser and searches for “Shrimps” hoping to get some pretty recipes. Instead of these, recommendations about the way the shrimp is built are given. Luckily another application also analyzed his search query and as a result, all the recipes he hoped for are presented. On top of that, a list of restaurants in the neighbourhood is shown just in case he prefers going out for diner instead of making it himself. That application that was running in the background is just what this abstract is all about.
We start off with proposing a search engine built on the knowledge supplied by different ontologies. It makes use of context information to personalize the outcome. We discuss the correctness of the given recommendations in the next section and finally the concluding remarks and future work are presented.
A personalized search engine
Analyze surf behavior
Personalized search systems focus on active context-aware retrieval. This is a technique to infer information based on the accumulated knowledge of the user. In this specific case, that will be an overview of his search history.
Therefore the knowledge domains are represented by ontologies and each user has a profile in which for all items of the knowledge domains a score is stored. That score represents the interests of the user. When a user surfs the Internet, a web crawler will analyze all terms and phrases on the visited web page. Afterwards a new score in accordance with the number of occurrences will be given to each item that also is present in the domains of interests. The new score will be propagated through the ontology network to all subclasses. The score is also subject to score degradation so changing trends in the surf behavior can be picked up more easily.
All collected information will be used to generate personalized recommendations. Each time a search query is launched, the query will be analyzed to extract all the keywords wherefore recommendations can be given.
Afterwards, two list of terms are generated. At first item-based filtering will be used to make a list of terms related to the keywords. Secondly, based on the stored scores, the items the user is most interested in will be selected. By merging this list in a smart way, the most appropriate recommendations are obtained.
Enrich the recommendations
Analyzing the context is a perfect way to personalize an application because context tells a lot about the user himself. Context is a broad concept but in general it covers all information that can be used to characterize a situation, person, object or place. It is important to make a selection of the context that will be useful. In this application context information about the current location of the user is used to enrich the user profile. This makes it possible to adapt the recommendations in a way that only those events in the neighbourhood of the user are shown.
An extension of context analysis is the use of a social network. This network makes it possible to stay in touch with friends and share interesting data. The FOAF-project makes use of XML to deploy an instant network. One file is enough to share information about a person. The file can be extended with specific data such as the search history. Because of that, it will be used in the application to enrich the current profile with recommendations of friends by making use of user-based filtering.
The program can in the first place be used to obtain recommendations about all kinds of events. Besides, it can be extended to other domains of knowledge. Each of these domains needs to be defined in a corresponding ontology and should be linked with the first ontology. To limit the scope, the application makes only use of one supplementary ontology describing dishes and their ingredients.
By combining the different ontologies, the recommendations given can become more precise. When a link exists, the reasoning will be extended to the other ontology as well. This will make it possible to plan a whole night out in just one click.
Correctness of the recommendations
Personalized search engines will only be used when the output is useful or in other words when the user is interested in the recommendations. To test the program we needed real data and held a questionnaire. The respondents indicated how fond they are of certain products, dishes and events.
Only the scores concerning products were injected into the application. Afterwards the output of different search queries was compared with the scores the respondent had given to the recommended dishes and events.
In most cases, we noted that recommended items were also rated high by the respondent. This means that the generated recommendations are well-directed and useful.
Most search engines never give exactly the recommendations you are looking for. You do not want to scroll all the way down before you find what you need. Moreover, the information you get is mostly limited to one domain so the information you receive is very limited.
By giving each user his own profile and store his search behavior this is not longer a problem. It is even possible to enrich this profile by using context information. We have shown that the recommendations given are correct and useful even though we only use two ontologies and a very limited amount of context information.
Personalized applications will become more important due to the use of mobile devices and their extra opportunities. To improve the recommendation engine, it can be extended by using more ontologies and other context information. More efficient score calculations and other types of item-based filtering will amend the reasoning so even more precise recommendations can be given.