protected override void run()
{
// Check input arguments
bool wrongAlpha = (alpha <= 0);
bool wrongBeta = (beta < 0);
bool wrongInput = (!File.Exists(input));
bool wrongCfreq = (!File.Exists(corpusFreq));
if(wrongAlpha || wrongBeta || wrongInput || wrongCfreq){
Console.WriteLine("Wrong input arguments.");
return;
}
// Load relations
RelationsCollection relations = new RelationsCollection(input, false);
// Rerank relations
switch(norm) {
case 1:
relations.rerankEfreq();
break;
case 2:
relations.rerankEfreqRfreq(alpha);
break;
case 3:
relations.rerankEfreqRnum(beta);
break;
case 4:
relations.rerankEfreqCfreq(corpusFreq, beta);
break;
case 5:
relations.rerankEfreqCfreqRnum(corpusFreq, beta);
break;
case 6:
relations.rerankEfreqCfreqRnum(corpusFreq, beta);
relations.multiplyPnum(patternSqrt);
break;
default:
Console.WriteLine("Unknown reranking type '{0}' -- using 1 (Efreq).", norm);
relations.rerankEfreq();
break;
}
relations.save(output, false, true);
}