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
- Global methods (independent from query/results)
- Focus: Local methods
Basics¶
- Idea
- Involve user into the IR process
- Improve result set
- Procedure
- Issue query
- System returns initial result set
- User marks some documents as relevant/irrelevant
- System re-computes result set
- 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
- Compute result (using heuristics \( P=0.9 \))
- User labels relevant documents
- 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