This application (GenerateQueryModel.cpp) computes an expanded query model based on feedback documents and the original query model for the KL-divergence retrieval method. It can be regarded as performing a feedback in the language modeling approach to retrieval.
Parameters:
index
: The complete name of the index table-of-content file for the database index.
smoothSupportFile
: The name of the smoothing support file (e.g., one generated by GenerateSmoothSupport).
textQuerySet
: the original query text stream
resultFile
: the result file to be used for feedback
TRECResultFormat
: whether the result format is of the TREC format (i.e., six-column) or just a simple three-column format <queryID, docID, score>. Integer value, zero for non-TREC format, and non-zero for TREC format. Default: 1 (i.e., TREC format)
expandedQuery
: the file to store the expanded query model
feedbackDocCount
: the number of docs to use for pseudo-feedback (0 means no-feedback)
queryUpdateMethod
: feedback method (0, 1, 2 for mixture model, divergence minimization, and Markov chain respectively).
For all interpolation-based approaches (i.e., the new query model is an interpolation of the original model with a (feedback) model computed based on the feedback documents), the following four parameters apply:
feedbackCoefficient
: the coefficient of the feedback model for interpolation. The value is in [0,1], with 0 meaning using only the original model (thus no updating/feedback) and 1 meaning using only the feedback model (thus ignoring the original model).
feedbackTermCount
: Truncate the feedback model to no more than a given number of words/terms.
feedbackProbThresh
: Truncate the feedback model to include only words with a probability higher than this threshold. Default value: 0.001.
feedbackProbSumThresh
: Truncate the feedback model until the sum of the probability of the included words reaches this threshold. Default value: 1.
feedbackTermCount
, feedbackProbThresh
, and feedbackProbSumThresh
work conjunctively to control the truncation, i.e., the truncated model must satisfy all the three constraints.
All the three feedback methods also recognize the parameter feedbackMixtureNoise
(default value :0.5), but with <font color=red> different interpretations</font>.
feedbackMixtureNoise
is the collection model selection probability in the mixture model. That is, with this probability, a word is picked according to the collection language model, when a feedback document is "generated". feedbackMixtureNoise
means the weight of the divergence from the collection language model. (The higher it is, the farther the estimated model is from the collection model.) feedbackMixtureNoise
is the probability of not stopping, i.e., 1- alpha
, where alpha is the stopping probability while walking through the chain.
In addition, the collection mixture model also recognizes the parameter emIterations
, which is the maximum number of iterations the EM algorithm will run. Default: 50. (The EM algorithm can terminate earlier if the log-likelihood converges quickly, where convergence is measured by some hard-coded criterion. See the source code in SimpleKLRetMethod.cpp
for details. )