1. A method comprising: identifying a first semantic class collection from a collection of web pages; creating a second semantic class collection by removing from the first semantic class collection, one or more items with a semantic class frequency less than a predetermined threshold; applying a topic model to the second semantic class collection for each of a plurality of items in the second semantic class collection to generate a plurality of topics; and generating a final semantic class collection by merging and sorting the plurality of topics to generate a plurality of final semantic classes for use by a search engine in response to a query.