Result improvement (relevance feedback)

  • Users have rewritten queries by themselves to improve results
    • Manual modification
    • Browsing (find similar pages, requires clustering)
    • Faceted search (use filters, incremental boolean query)
  • Query refinement approaches
    • Global methods (independent from query/results)
      • Query expansion/reformulation
      • Spelling correction
    • Local methods (depend on query/results)
      • Relevance feedback
      • Pseudo-relevance feedback / blind relevance feedback
      • Indirect relevance feedback
  • Focus: Local methods

Basics

  • Idea
    • Involve user into the IR process
    • Improve result set
  • Procedure
    1. Issue query
    2. System returns initial result set
    3. User marks some documents as relevant/irrelevant
    4. System re-computes result set
    5. System shows the improved result set
  • When is RF useful
    • User has basic knowledge (can pose initial query)
    • Documents should cluster (Rocchio)
  • When isn’t RF useful
    • Misspellings
    • Cross-language IR (german and english documents about the same topic are unlikely close to each other)
    • Synonyms / Searcher-document-vocabulary-mismatch

Vector space relevance feedback (Rocchio’s algorithm)

  • 1971 by Salton (SMART system)
  • Idea: Move query vector into the direction of relevant documents
  • User feedback as classification for relevant/non-relevant
  • Assumption: Cluster hypothesis for documents
  • Advantages
    • Intuitive approach
    • Positive and negative feedback are exploited
    • Can be combined with pseudo-relevance feedback
  • Disadvantages
    • Initial query must have some quality
    • Cluster hypothesis
    • Hard to explain to user

Theory

  • Vector space model
  • Returned documents \( C \)
  • Relevant documents \( C_r \) (rated by user)
  • Non-relevant documents \( C_{nr} \) (rated by user)
  • Note: \( C_r \cup C_{nr} \subset C \)
  • Use normalized vectors (important)
  • Find optimal query that maximizes the similarity to the relevant documents und minimizes the similarity to the non-relevant documents \( q_{opt} = \arg\max_q(sim(q, C_r) - sim(q, C_{nr})) \)
  • Using the cosine similarity: \( q_{opt}=\arg\max_q(\frac{1}{|C_r|}\sum_{d\in C_r} \sum_{i=1}^m q_i d_i - \frac{1}{|C_{nr}|}\sum_{d\in C_{nr}} \sum_{i=1}^m q_i d_i) \)
  • Solve problem using Lagrange multipliers

Calculation of the optimal query

  • Use Lagrange multipliers
  • Function to maximize:
    • \( f(q_{opt,1},...,q_{opt,n}) = \frac{1}{|C_r|}\sum_{d\in C_r} \sum_{i=1}^m q_i d_i - \frac{1}{|C_{nr}|}\sum_{d\in C_{nr}} \sum_{i=1}^m q_i d_i \)
  • Condition \( |q_{opt}|=1 \):
    • \( g(q_{opt,1},...,q_{opt,n})= \sum_{i=1}^m q_i^2 - 1 = 0 \)
  • Lagrangian function
    • \( \mathcal{L}(q_{opt,1},...,q_{opt,n}, \lambda) = f(q_{opt,1},...,q_{opt,n}) - \lambda g(q_{opt,1},...,q_{opt,n}) \)
  • Solve \( \mathcal{L}'(q, \lambda) = 0 \)
    • Use partial derivates w.r.t. \( q_1,...,q_n, \lambda \)
    • \( q_{opt}(\lambda) = \frac{1}{2\lambda} (\frac{1}{|C_r|}\sum_{d\in C_r} d - \frac{1}{|C_{nr}|}\sum_{d\in C_{nr}} d) \)
    • \( q_{opt}(\lambda) = \frac{q_{opt}(\lambda)}{||q_{opt}(\lambda)||} \)
  • Result: \( q_{opt} \) is scaled difference vector between centroids of \( C_r \) and \( C_{nr} \)

Algorithm

  • Problem: User rating depends on initial result set
  • Solution: Modify query vector
    • \( q_m = \alpha q_0 + \beta \frac{1}{|D_r|} \sum_{d_j\in D_r} d_j - \gamma \frac{1}{|D_{nr}|} \sum_{d_j\in D_{nr}} d_j \)
  • \( D_r, D_{nr} \): relevant/non-relevant documents rated by user
  • \( \alpha,\beta,\gamma \): Weighting factors
  • Many user ratings: High \( \beta, \gamma>\alpha \)
  • Positive feedback more valuable: \( \beta>\gamma \)
  • Common values:
    • \( \alpha = 1.0 \)
    • \( \beta = 0.75 \)
    • \( \gamma = 0.15 \)

Probabilistic relevance feedback

  • Create Naive Bayes probabilistic classifier (?)
  • Model: Binary independence model
    • Goal: Estimate \( P(D_i=1\mid D\in R_q) \)
  • Workflow
    1. Compute result (using heuristics \( P=0.9 \))
    2. User labels relevant documents
    3. Recompute query using updated \( P \)
  • \( VR \): set of relevant documents
  • \( VR_{t_i} \): set of relevant documents containing term \( t_i \)
  • \( df(t_i) \): number of documents containing term \( t_i \)
  • Estimate probability that document \( d \) contains term \( t \)
    • \( \hat{P}(D_i=1\mid D\in R_q) = \frac{|VR_{t_i}|}{|VR|} \)
    • \( \hat{P}(D_i=0\mid D\in R_q) = \frac{df(t_i)-|VR_{t_i}|}{N-|VR|} \)

Pseudo-relevance feedback

  • Also called blind relevance feedback
  • Automate the manual user interaction (relevance feedback without user interaction)
  • Assumption: Initial top-k documents are relevant
  • Problem: Topic drift
    • Query: Copper mines (or Apple)
    • If the top documents are about Chile, result will drift into the direction of documents in Chile

Indirect relevance feedback

  • Also called implicit relevance feedback
  • Collect information with monitoring user’s behavior
  • Example
    • Eye tracking
    • Mouse movement
    • Reading time
    • Clicking on results
      • Assumption: Document description is representative
      • Click in result 3 implies that 1 and 2 are irrelevent
  • Clickstream mining
    • Gather relevance data from all users of a system