public float[][] extract(int[] qterms, int[] docids, Feature[] features) throws Exception {
float[][] fvalues = new float[docids.length][features.length];
for(int d = 0; d < docids.length; d++) {
DocumentVector compDoc = documents.get(docids[d]);
int[] doc = compDoc.decompressDocument();
int[] hashedTerms = compDoc.transformTerms(qterms);
computeFeatures(doc, qterms, hashedTerms, features, fvalues[d]);
}
return fvalues;
}