Package edu.illinois.lis.query

Examples of edu.illinois.lis.query.GQuery


    TrecSearchThriftClient client = new TrecSearchThriftClient(params.getParamValue(HOST_OPTION),
        Integer.parseInt(params.getParamValue(PORT_OPTION)), group, token);

    Iterator<GQuery> queryIterator = queries.iterator();
    while(queryIterator.hasNext()) {
      GQuery query = queryIterator.next();
      System.err.println(query.getTitle());
      String queryText = query.getText();
     
      // stupid hack.  need to lowercase the query vector
      FeatureVector temp = new FeatureVector(null);
      Iterator<String> qTerms = query.getFeatureVector().iterator();
      while(qTerms.hasNext()) {
        String term = qTerms.next();
        temp.addTerm(term.toLowerCase(), query.getFeatureVector().getFeaturetWeight(term));
      }
      temp.normalizeToOne();
      query.setFeatureVector(temp);
     
     
      // if we're doing feedback
      if(fbDocs > 0 && fbTerms > 0) {
        List<TResult> results = client.search(queryText, query.getQuerytweettime(), fbDocs);
        FeedbackRelevanceModel fb = new FeedbackRelevanceModel();
        fb.setOriginalQuery(query);
        fb.setRes(results);
        fb.build(stopper);
       
        FeatureVector fbVector = fb.asFeatureVector();
        fbVector.pruneToSize(fbTerms);
        fbVector.normalizeToOne();
        fbVector = FeatureVector.interpolate(query.getFeatureVector(), fbVector, ORIG_QUERY_WEIGHT);
   
        System.err.println(fbVector);
       
        StringBuilder builder = new StringBuilder();
        Iterator<String> terms = fbVector.iterator();
        while(terms.hasNext()) {
          String term = terms.next();
          if(term.length() < 2)
            continue;
          double prob = fbVector.getFeaturetWeight(term);
          builder.append(term + "^" + prob + " ");
        }
        queryText = builder.toString().trim();
       
      }
     
      List<TResult> results = client.search(queryText, query.getQuerytweettime(), numResults);
      String runTag = params.getParamValue(RUNTAG_OPTION);
      if(runTag==null)
        runTag = DEFAULT_RUNTAG;

      int i = 1;
      Iterator<TResult> hitIterator = results.iterator();
      while(hitIterator.hasNext()) {
        TResult hit = hitIterator.next();
        out.println(String.format("%s Q0 %s %d %f %s", query.getTitle(), hit.getId(), i,
            hit.getRsv(), runTag));

        if(i++ >= numResults)
          break;
      }
View Full Code Here


  }
 

 
  public GQuery asGquery() {
    GQuery newQuery = new GQuery();
    newQuery.setTitle(originalQuery.getTitle());
    newQuery.setText(originalQuery.getText());
   
    FeatureVector finalVector = new FeatureVector(stopper);
   
    ScorableComparator comparator = new ScorableComparator(true);
    Collections.sort(features, comparator);
    Iterator<KeyValuePair> it = features.iterator();
   
    int i=0;
    while(it.hasNext() && i++ < fbTermCount) {     
      KeyValuePair tuple = it.next();
      finalVector.addTerm(tuple.getKey(), tuple.getScore());
    }
   
    newQuery.setFeatureVector(finalVector);
   
    return newQuery;
  }
View Full Code Here

TOP

Related Classes of edu.illinois.lis.query.GQuery

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.