Semantic Reasoning: A Path to New Possibilities of Personalization 725 way that our inference mechanism continues traversing successively only the properties that permit to reach new nodes from those that are significant for the user(according to his/her profile). Consequently, our strategy explores solely entities of interest for the user, thus filtering those that probably do not provide knowledge useful for the personalization In our filtering mechanism, the more significant the relationship between a given node and the user's preferences(either positive or negative preferences), the more rele vant this node. In order to measure this relevance value, we have developed a technique hat takes into account diverse ontology-dependent filtering criteria. Some of these cri- teria-described in detail in 5]-are sketched next. 1. Length of the chain of properties that enables to reach the considered node starting from the user's preferences. Specifically, the longer this property sequence+, the lower the relevance index of the node, as its relationship to the user's preferences is less significant due to the presence of many intermediate nodes Example: Let us consider that a user has enjoyed the documentary Learn about ww I shown in Fig. 1. Here, it is possible to find the property sequence Learn about WW l-World War /- Paths of Glory- Stanley Kubrick- Eyes Wide Shut In this case, the relevance index of the program Paths of Glory is greater than the index of Eyes Wide Shut, as the relationship between Paths of Glory and Learn about ww I is more significant than the relationship between this documentary and Eyes Wide Shut. In other words, the relation"movie about the World War r"is more relevant than"movie whose director has directed movies about the world war l 2. Existence of hierarchical relationships between the node and the user's preferences The relevance of a node is increased when it is possible to find a common ancestor between it and the user' preferences in the ontology hierarchies. Example: Let us consider again the user who has liked the war documentary men- tioned in the previous example, whose topic is represented in our ontology by the instance World War 1. In this case, the filtering phase increases the relevance in- dex of other instances that share the common ancestor War Topics with the class instance World War/(e.g. Vietnam War 3. Existence of implicit relationships between the node and the user's preferences de- tected by concepts from graph theory. In graph theory [8], the betweenness among three nodes is high when in the most of paths existing between the first and the second node, the third node is also included. So, from a high value of betweenness it follows that the involved nodes are strongly related. In our approach, these nodes are the user's preferences and the class instance whose relevance is measured. Example: Let us consider a user who has liked the movies Vanilla Sky and Jerr Maguire with Tom Cruise as leading actor. In this case, the relevance index of the nstance Born on the 4th of July gets higher, as this movie is closely related to the user's preferences In fact, as shown in Fig. 1, the node Tom Cruise is included in all the paths established between Born on the 4th of July and the two movies defined in the user's profile The length of a sequence is defined as the number of properties included in it
Semantic Reasoning: A Path to New Possibilities of Personalization 725 way that our inference mechanism continues traversing successively only the properties that permit to reach new nodes from those that are significant for the user (according to his/her profile). Consequently, our strategy explores solely entities of interest for the user, thus filtering those that probably do not provide knowledge useful for the personalization process. In our filtering mechanism, the more significant the relationship between a given node and the user’s preferences (either positive or negative preferences), the more relevant this node. In order to measure this relevance value, we have developed a technique that takes into account diverse ontology-dependent filtering criteria. Some of these criteria –described in detail in [5]– are sketched next. 1. Length of the chain of properties that enables to reach the considered node starting from the user’s preferences. Specifically, the longer this property sequence4, the lower the relevance index of the node, as its relationship to the user’s preferences is less significant due to the presence of many intermediate nodes. Example: Let us consider that a user has enjoyed the documentary Learn about WW I shown in Fig. 1. Here, it is possible to find the property sequence Learn about WW I - World War I - Paths of Glory - Stanley Kubrick - Eyes Wide Shut. In this case, the relevance index of the program Paths of Glory is greater than the index of Eyes Wide Shut, as the relationship between Paths of Glory and Learn about WW I is more significant than the relationship between this documentary and Eyes Wide Shut. In other words, the relation “movie about the World War I” is more relevant than “movie whose director has directed movies about the World War I”. 2. Existence of hierarchical relationships between the node and the user’s preferences. The relevance of a node is increased when it is possible to find a common ancestor between it and the user’ preferences in the ontology hierarchies. Example: Let us consider again the user who has liked the war documentary mentioned in the previous example, whose topic is represented in our ontology by the instance World War I. In this case, the filtering phase increases the relevance index of other instances that share the common ancestor War Topics with the class instance World War I (e.g. Vietnam War). 3. Existence of implicit relationships between the node and the user’s preferences detected by concepts from graph theory. In graph theory [8], the betweenness among three nodes is high when in the most of paths existing between the first and the second node, the third node is also included. So, from a high value of betweenness, it follows that the involved nodes are strongly related. In our approach, these nodes are the user’s preferences and the class instance whose relevance is measured. Example: Let us consider a user who has liked the movies Vanilla Sky and Jerry Maguire with Tom Cruise as leading actor. In this case, the relevance index of the instance Born on the 4th of July gets higher, as this movie is closely related to the user’s preferences. In fact, as shown in Fig. 1, the node Tom Cruise is included in all the paths established between Born on the 4th of July and the two movies defined in the user’s profile. 4 The length of a sequence is defined as the number of properties included in it
726 Y. Blanco-Fernandez et al Once the nodes related to the user's interests(and the properties linking them to each other) have been selected, our strategy infers semantic associations between the instances referred to TV programs. Specifically, we adopt three associations that have been defined by Anyanwu and Sheth in [ 3] P-path association In our approach, two programs are p-pathAssociated when they ire linked by a chain or sequence of properties in the ontology. For instance, in Fig. 1, it is possible to trace a sequence between the documentary Learn about ww I and the movie Paths of glory by means of the World War I instance P-join association. Two programs are p-joinAssociated when their respective at tributes belong to the same class in the domain ontology. For instance, in Fig. 1 there exists a p-join association between the documentary Welcome to Tokyo and the movie Last Samurai, as both programs are bound to different cities in Japan (Tokyo and Kyoto, respectively, which are classified as Japanese cities in Fig. 1) p-cp association. Two programs are p-cpAssociated when they share a common ancestor in the genre hierarchy defined in the ontology. For instance, note that all the movies depicted at the top of Fig. I are p-cpAssociated by the ancestor Non Fiction Contents By means of the filtering and knowledge inference processes, our approach has built a network for the user, whose nodes are the instances of classes selected during the filtering phase, and whose links are both the properties joining these instances in the ontology and the semantic associations inferred from it. The knowledge represented in this network is explored during the second phase of the strategy by exploiting the infer ence capabilities provided by SA techniques, which are one of the most-used processing frameworks for semantic networks 3.2 Recommendation Phase We emphasize the use of SA techniques as a computational mechanism able to: (i)ex plore efficiently the relationships among the nodes interconnected in the user's network (henceforth SA network), and (ii) infer from them knowledge useful for the recommen- dation process by detecting concepts closely related to the user's preferences. Accord ing to the guidelines established in [7], these techniques work as follows The nodes of the network have an implicit relevance, named activation level. Be sides, each link joining two nodes has a weight, in a such way that the stronger the relationship between both nodes, the higher the assigned weight. Initially, a set of nodes are selected and their activation levels are spread until reaching the nodes connected to them by links(named neighbor nodes The activation level of a reached node is computed by considering the levels of its neighbors and the weights assigned to the links that join them to each other. Conse quently, the more relevant the neighbors of a given node (i. e higher their activation levels), and the stronger the relationship between the node and its neighbors (i.e higher the weights of the links between them), the more relevant this node
726 Y. Blanco-Fernández et al. Once the nodes related to the user’s interests (and the properties linking them to each other) have been selected, our strategy infers semantic associations between the instances referred to TV programs. Specifically, we adopt three associations that have been defined by Anyanwu and Sheth in [3]: – ρ-path association. In our approach, two programs are ρ-pathAssociated when they are linked by a chain or sequence of properties in the ontology. For instance, in Fig. 1, it is possible to trace a sequence between the documentary Learn about WW I and the movie Paths of Glory by means of the World War I instance. – ρ-join association. Two programs are ρ-joinAssociated when their respective attributes belong to the same class in the domain ontology. For instance, in Fig. 1 there exists a ρ-join association between the documentary Welcome to Tokyo and the movie Last Samurai, as both programs are bound to different cities in Japan (Tokyo and Kyoto, respectively, which are classified as Japanese cities in Fig. 1). – ρ-cp association. Two programs are ρ-cpAssociated when they share a common ancestor in the genre hierarchy defined in the ontology. For instance, note that all the movies depicted at the top of Fig. 1 are ρ-cpAssociated by the ancestor Non Fiction Contents. By means of the filtering and knowledge inference processes, our approach has built a network for the user, whose nodes are the instances of classes selected during the filtering phase, and whose links are both the properties joining these instances in the ontology and the semantic associations inferred from it. The knowledge represented in this network is explored during the second phase of the strategy by exploiting the inference capabilities provided by SA techniques, which are one of the most-used processing frameworks for semantic networks. 3.2 Recommendation Phase We emphasize the use of SA techniques as a computational mechanism able to: (i) explore efficiently the relationships among the nodes interconnected in the user’s network (henceforth SA network), and (ii) infer from them knowledge useful for the recommendation process by detecting concepts closely related to the user’s preferences. According to the guidelines established in [7], these techniques work as follows: – The nodes of the network have an implicit relevance, named activation level. Besides, each link joining two nodes has a weight, in a such way that the stronger the relationship between both nodes, the higher the assigned weight. Initially, a set of nodes are selected and their activation levels are spread until reaching the nodes connected to them by links (named neighbor nodes). – The activation level of a reached node is computed by considering the levels of its neighbors and the weights assigned to the links that join them to each other. Consequently, the more relevant the neighbors of a given node (i.e. higher their activation levels), and the stronger the relationship between the node and its neighbors (i.e. higher the weights of the links between them), the more relevant this node