Uploaded image for project: 'Terrier Core'
  1. Terrier Core
  2. TR-19

Support Relevance Feedback in addition to Pseudo-Relevance Feedback

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Currently, query expansion only supports pseudo-relevance feedback. It would be good to have support for relevance feedback also.

        Attachments

          Activity

          Hide
          craigm Craig Macdonald added a comment -

          Currently, QueryExpansion.java is responsible for the full QE process - selecting documents, accessing direct file, adding terms to ExpansionTerms, and re-running the query.

          I propose that we have an interface which selects the feedback documents for a given query, thus allowing Psuedo-Relevance Feedback and normal Relevance Feedback (as well as mixes - only using some of the documents in the feedback).

          interface FeedbackSelector
          {
           public FeedbackDocument[] getFeedbackDocuments(Request r);
          }
          
          class FeedbackDocument
          {
           int docid;
           int rank;
           double score;
           public int getDocid() {return docid;}
           public int getRank() {return rank;}
           public double getScore() {return score;}
          }
          
          Show
          craigm Craig Macdonald added a comment - Currently, QueryExpansion.java is responsible for the full QE process - selecting documents, accessing direct file, adding terms to ExpansionTerms, and re-running the query. I propose that we have an interface which selects the feedback documents for a given query, thus allowing Psuedo-Relevance Feedback and normal Relevance Feedback (as well as mixes - only using some of the documents in the feedback). interface FeedbackSelector { public FeedbackDocument[] getFeedbackDocuments(Request r); } class FeedbackDocument { int docid; int rank; double score; public int getDocid() { return docid;} public int getRank() { return rank;} public double getScore() { return score;} }
          Hide
          craigm Craig Macdonald added a comment -

          First patch for this issue. Works and is ready for review.

          Show
          craigm Craig Macdonald added a comment - First patch for this issue. Works and is ready for review.
          Hide
          ounis Iadh Ounis added a comment -

          Many thanks Craig. Good stuff.

          I also asked Ben to test.

          Show
          ounis Iadh Ounis added a comment - Many thanks Craig. Good stuff. I also asked Ben to test.
          Hide
          ben Ben He added a comment -

          patch tested ok on WT10G

          Show
          ben Ben He added a comment - patch tested ok on WT10G
          Hide
          craigm Craig Macdonald added a comment -

          Thanks for testing Ben. I have committed to trunk.

          Show
          craigm Craig Macdonald added a comment - Thanks for testing Ben. I have committed to trunk.

            People

            • Assignee:
              craigm Craig Macdonald
              Reporter:
              craigm Craig Macdonald
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: