This is an open ended question? How would you differentiate the same keywords in different contexts? For example, how can a search engine understand which of them represent the hotel brand name and which of them represent the celebrity, if a user searches for "Hilton"?
Anónimo
It's a document classification problem. The easy to see idea is to use the "bag of words" in the search results and classifying them. Also taking advantage of the link structures is also possible. How pages are linked to together etc. One can partition the subgraph of WebGraph containing the results so that different partitions correspond to different contexts...