je dois calculer la précision et de la valeur de rappel dans Lucene et j'utiliser ce code source pour faireavec précision et le rappel de mesure dans Lucene
public class PrecisionRecall {
public static void main(String[] args) throws Throwable {
File topicsFile = new File("C:/Users/Raden/Documents/lucene/LuceneHibernate/LIA/lia2e/src/lia/benchmark/topics.txt");
File qrelsFile = new File("C:/Users/Raden/Documents/lucene/LuceneHibernate/LIA/lia2e/src/lia/benchmark/qrels.txt");
Directory dir = FSDirectory.open(new File("C:/Users/Raden/Documents/myindex"));
Searcher searcher = new IndexSearcher(dir, true);
String docNameField = "filename";
PrintWriter logger = new PrintWriter(System.out, true);
TrecTopicsReader qReader = new TrecTopicsReader(); //#1
QualityQuery qqs[] = qReader.readQueries( //#1
new BufferedReader(new FileReader(topicsFile))); //#1
Judge judge = new TrecJudge(new BufferedReader( //#2
new FileReader(qrelsFile))); //#2
judge.validateData(qqs, logger); //#3
QualityQueryParser qqParser = new SimpleQQParser("title", "contents"); //#4
QualityBenchmark qrun = new QualityBenchmark(qqs, qqParser, searcher, docNameField);
SubmissionReport submitLog = null;
QualityStats stats[] = qrun.execute(judge, //#5
submitLog, logger);
QualityStats avg = QualityStats.average(stats); //#6
avg.log("SUMMARY",2,logger, " ");
dir.close();
}
}
et voici le contenu de topicsfile
<top>
<num> Number: 0
<title> apache source
<desc> Description:
<narr> Narrative:
</top>
ce qui est le contenu de qrelsfile
# Format:
#
# qnum 0 doc-name is-relevant
#
#
0 0 apache1.0.txt 1
0 0 apache1.1.txt 1
0 0 apache2.0.txt 1
maintenant le problème se produit lorsque je courais cette source code qui affiche la valeur de la précision et rappel à zéro. voici le résultat quand j'ai couru le code source.
0 - contents:apache contents:source
0 Stats:
Search Seconds: 0.047
DocName Seconds: 0.039
Num Points: 56.000
Num Good Points: 0.000
Max Good Points: 3.000
Average Precision: 0.000
MRR: 0.000
Recall: 0.000
Precision At 1: 0.000
Precision At 2: 0.000
Precision At 3: 0.000
Precision At 4: 0.000
Precision At 5: 0.000
Precision At 6: 0.000
Precision At 7: 0.000
Precision At 8: 0.000
Precision At 9: 0.000
Precision At 10: 0.000
Precision At 11: 0.000
Precision At 12: 0.000
Precision At 13: 0.000
Precision At 14: 0.000
Precision At 15: 0.000
Precision At 16: 0.000
Precision At 17: 0.000
Precision At 18: 0.000
Precision At 19: 0.000
Precision At 20: 0.000
SUMMARY
Search Seconds: 0.047
DocName Seconds: 0.039
Num Points: 56.000
Num Good Points: 0.000
Max Good Points: 3.000
Average Precision: 0.000
MRR: 0.000
Recall: 0.000
Precision At 1: 0.000
Precision At 2: 0.000
Precision At 3: 0.000
Precision At 4: 0.000
Precision At 5: 0.000
Precision At 6: 0.000
Precision At 7: 0.000
Precision At 8: 0.000
Precision At 9: 0.000
Precision At 10: 0.000
Precision At 11: 0.000
Precision At 12: 0.000
Precision At 13: 0.000
Precision At 14: 0.000
Precision At 15: 0.000
Precision At 16: 0.000
Precision At 17: 0.000
Precision At 18: 0.000
Precision At 19: 0.000
Precision At 20: 0.000
maintenant tu peux me dire ce que j'avais fait mal ce qui rend les valeurs de précision et de rappel pour être des zéros? et qu'est-ce que cela signifie quand la précision et la valeur de rappel sont nulles? la raison pour laquelle je fais cela est parce que j'ai besoin de mesurer la performance de mon moteur de recherche, et la précision et le rappel est l'un des moyens pour moi de l'atteindre.
merci bien
oui vous avez raison.Je vais regarder dedans alors. :-) – jacobian