1. A computer implemented method for providing relevant advertising, the method comprising: receiving a query from a user; determining a context of the query using a representation of a structured web community stored in a database, the structured web community comprising a plurality of contexts, each context comprising a set of content, the set of content in each context determined using a community finding method based on structural closeness and semantic closeness of the content, each context including an array of predefined concepts generated based on terms extracted from the set content in the context and statistical frequency of occurrence of terms within the set of content in the context, each predefined concept characterized by a pattern of terms derived from the set of content in the context, wherein a plurality of the plurality of contexts are associated together to form a hierarchy of overlapping contexts; identifying at least one predefined concept associated with the determined context; mapping advertising content to the at least one context of the plurality of contexts based on the at least one predefined concept; and providing the advertising content to the user in response to the query; wherein determining the set of content in each context using a community finding method based on structural closeness and semantic closeness of the content comprises: selecting a node in a network as a source node; computing a set of local communities for the source node; identifying a set of nodes in the set of local communities having a weight greater than a threshold; generating a strong local community for the source node including only the set of nodes that have a weight greater than the threshold; storing the strong local community as one of a plurality of communities of the network; removing the set of nodes in the strong local community and edges connected to the set of nodes from the network to generate a reduced network; selecting a node in the reduced network as a second source node; generating a second strong local community for the second source node, the second strong local community comprising a second set of nodes; storing the second strong local community as one of the plurality of communities of the network; removing the second set of nodes in the second strong local community from the network to generate a second reduced network; repeating the selecting, generating, storing and removing until a reduced network is generated that comprises only nodes with a degree less than a threshold value; and labeling the set of stored strong local communities as one of a disjoint community structure of the network or an overlapping community structure of the network.