28. A computer implemented method for generating a Boolean query comprising: a. getting training data, wherein the training data comprises a plurality of training documents and wherein each of the plurality of training documents comprises at least one training token; b. cleaning the training data; c. identifying, by a processor, at least one salient token from the at least one training token in each of the plurality of training documents; d. clustering the plurality of training documents into a plurality of clusters based on the at least one training token in the plurality of training documents or the at least one salient token, wherein each cluster comprises at least one training document; e. generating the Boolean query for a cluster of the plurality of clusters based on an occurrence of at least one salient token in the at least one training document of the plurality of training documents; f. getting production data, wherein the production data comprises a plurality of production documents and wherein each of the plurality of production documents comprises at least one production token; and g. executing, by the processor, the Boolean query on the plurality of production documents in the production data.
28. A computer implemented method for generating a Boolean query comprising: a. getting training data, wherein the training data comprises a plurality of training documents and wherein each of the plurality of training documents comprises at least one training token; b. cleaning the training data; c. identifying, by a processor, at least one salient token from the at least one training token in each of the plurality of training documents; d. clustering the plurality of training documents into a plurality of clusters based on the at least one training token in the plurality of training documents or the at least one salient token, wherein each cluster comprises at least one training document; e. generating the Boolean query for a cluster of the plurality of clusters based on an occurrence of at least one salient token in the at least one training document of the plurality of training documents; f. getting production data, wherein the production data comprises a plurality of production documents and wherein each of the plurality of production documents comprises at least one production token; and g. executing, by the processor, the Boolean query on the plurality of production documents in the production data. 34. The method of claim 28 , wherein clustering the training data is accomplished by an algorithm selected from the group comprising: a k-means, a bisecting k-means, an agglomerative, and a divisive hierarchical.