1. A method performed by data processing apparatus, the method comprising: receiving a collection of text; identifying a first collection of instance-class pairs for the collection of text, wherein the first collection of instance-class pairs are identified by applying one or more template patterns to a collection of documents; clustering a collection of semantically similar phrases using the collection of text; determining, for each class in the first collection of instance-class pairs: whether a threshold number of instances within a cluster in the semantically similar phrase clusters are labeled by the class, and whether a threshold number of clusters in the semantically similar phrase clusters include at least one instance that is labeled by the class; in response to determining that a threshold number of instances within a cluster are labeled by a class and a threshold number of clusters in the semantically similar phrase clusters include at least one instance that is labeled by the class, selecting each instance in the first collection of instance-class pairs that are labeled by the class to be included in a second collection of instance-class pairs; and storing the second collection of instance-class pairs for use in information retrieval.
1. A method performed by data processing apparatus, the method comprising: receiving a collection of text; identifying a first collection of instance-class pairs for the collection of text, wherein the first collection of instance-class pairs are identified by applying one or more template patterns to a collection of documents; clustering a collection of semantically similar phrases using the collection of text; determining, for each class in the first collection of instance-class pairs: whether a threshold number of instances within a cluster in the semantically similar phrase clusters are labeled by the class, and whether a threshold number of clusters in the semantically similar phrase clusters include at least one instance that is labeled by the class; in response to determining that a threshold number of instances within a cluster are labeled by a class and a threshold number of clusters in the semantically similar phrase clusters include at least one instance that is labeled by the class, selecting each instance in the first collection of instance-class pairs that are labeled by the class to be included in a second collection of instance-class pairs; and storing the second collection of instance-class pairs for use in information retrieval. 5. The method of claim 1 , were clustering a collection of semantically similar phrases comprises: receiving an input vocabulary of phrases; identifying matches for the vocabulary of phrases in a collection of documents; identifying a context associated with each identified match; generating a vector associated with each matching phrase having the corresponding context as an entry in the respective vector; and clustering phrases using the vectors.