## 4 The Use of Personalized Ontologies for Re-ranking Search Results
### Approaches Defined to Re-rank the Search Results Based on the Use of Personalized Ontologies
The personal ontology is built by considering the relevant concepts extracted from the preferred Web pages after a Web search. Furthermore, a score is assigned to each concept. Initially all scores are set to \(1\). The consideration of this score plays a key role in the re-ranking process. As a first step, the Web pages are collected for which the user has shown interest. The factors taken into account in order to select the preferred pages from all the ones viewed are: the frequency of the visits to a page, the amount of time spent on the page, and other user actions such as bookmarking a page, etc. After a user's query, the preferred documents are then analyzed, and the more relevant concepts are extracted from them. In particular, each preferred document is represented by a vector \(\bar{d_{i}}\) of its relevant concepts. In this work, the ODP is also used in order to link the concepts extracted from the visited pages in a hierarchical way. Each node in the ontology is a pair \(<C_{j},IS(C_{j})>\), where \(C_{j}\) is the concept in the reference ontology, and \(IS(C_{j})\) is the interest score for that concept. Furthermore, for each concept \(C_{j}\) a vector is defined, which contains all the sub-concepts (direct children nodes) of \(C_{j}\). When the relevant concepts of each document vector \(\bar{d}_{i}\) are located in the reference ontology, their scores are updated according to two algorithms presented in [21, 61, 62]. From the first algorithm the _activation value_ for each concept is calculated in order to define the importance of the concept for the current user's query. The activation value of a concept is defined as: \(activation(C_{j})=sim(\bar{d}_{i},\bar{C}_{j})\cdot IS(C_{j})\), where \(sim(\bar{d}_{i},\bar{C}_{j})\) is the cosine similarity measure calculated for two vectors \(\bar{d}_{i}\) and \(\bar{C}_{j}\), while \(IS(C_{j})\) is the existent interest score for the specific concept stored in the ontology. From the second algorithm the score of the concept \(C_{j}\) is updated as defined in [21, 61, 62]. This process is performed after each user's query, so that when several searches are performed by the user, a sub-structure from the ODP is obtained by considering the relevant concepts. This sub-structure is related to the user's interests, and it is used in order to re-rank the search results returned after the evaluation of a given query. In detail, for each result the relevant concepts are extracted and weighted according to the formula described in [61]. Then the similarity of the document with each concept of the sub-structure is computed to identify the best matching concept. Once the best matching concept, \(C_{j}\), is located, a rank score is assigned to the document by multiplying the \(IS(C_{j})\), the similarity of the document to the query and the similarity of the specific concept to the query. Once all documents have been analyzed, then the search results are re-ranked in decreasing order and presented to the user. Figure 2 shows an example of the updating of scores assigned to the concepts after the application of the algorithm. Let us suppose that a Web result of interest is related to the concepts \(uefa\) and \(england\). The algorithm computes a new higher score for the concepts \(sport,soccer,uefa\) and \(england\), _i.e._, for the concepts where the user has shown interest and for those belonging to the same direct path of the hierarchy; a new lower score is associated to the other sub-concepts, _i.e._, \(players\). As stated before, the minimum weight assigned to each concept is \(1\), so that in this example (after the application of the algorithm) the concepts having a score equal to \(1\) are not reported. Figure 2: Schema of a small part of an ontological user profile where the scores to the concepts are updated after a user’s search (see [21]). In [63] during a search session defined as a sequence of related queries, a user profile is built which refers to the user's interests in the search session.