Patent ID: 8156138

Claim:
A system for providing targeted content comprising: one or more data repositories configured to store information from which targeted content may be selected and to store information including a hierarchically structured contextual relationship graph, wherein the contextual relationship graph defines a plurality of hierarchical relationships between a plurality of nodes within the contextual relationship graph that correspond to the stored information from which the targeted content may be selected, the plurality of nodes each having one or more associated keywords and one or more corresponding pieces of content; an input/output interface that is configured to receive a request for targeted content, wherein said request includes request-associated attributes; and a controller processor that is configured to analyze at least some of the request-associated attributes to identify nodes of the contextual relationship graph that are related to the request-associated attributes, and to provide targeted content from the one or more data repositories that is selected based on at least a number of the identified nodes, wherein identifying of the nodes of the contextual relationship graph that are related to the request-associated attributes includes matching the at least some request-associated attributes with the one or more associated keywords for each of multiple of the plurality of nodes and includes selecting those multiple nodes as the identified nodes, wherein selecting of the targeted content includes: performing a calculation of a score for each of at least some of the identified nodes, the calculated score for each of the at least some identified nodes being based on a function of a quantity of (a) matches of the at least some request-associated attributes with the one or more keywords associated with the identified node being scored and of (b) matches of the at least some request-associated attributes with the one or more keywords associated with other of the identified nodes that are identified as having a subordinate relationship in the contextual relationship graph to the identified node being scored; selecting one or more of the at least some identified nodes whose calculated scores are above the calculated scores of other of the at least some identified nodes that are not selected; and identifying at least one of the one or more corresponding pieces of content for each of the selected one or more identified nodes as the selected targeted content, and wherein the providing of the selected targeted content by the controller processor occurs through the input/output interface.