00001 #include <iostream>
00002 #include <vector>
00003
00004 #include "ScoreData.h"
00005 #include "Data.h"
00006 #include "Scorer.h"
00007 #include "ScorerFactory.h"
00008
00009 using namespace std;
00010
00011 int main(int argc, char** argv)
00012 {
00013 cout << "Testing the scorer" << endl;
00014
00015 vector<string> references;
00016 references.push_back("test_scorer_data/reference.txt");
00017
00018 Scorer* scorer = new BleuScorer();;
00019 scorer->setReferenceFiles(references);
00020 Data d(*scorer);
00021 d.loadnbest("test_scorer_data/nbest.out");
00022
00023
00024
00025 ScoreData* sd=d.getScoreData();
00026 scorer->setScoreData(sd);
00027 candidates_t candidates(sd->size());;
00028 for (size_t i = 0; i < sd->size(); ++i) {
00029 sd->get(i,0).savetxt("/dev/stdout");
00030 }
00031
00032 diffs_t diffs;
00033 diff_t diff;
00034 diff.push_back(make_pair(1,2));
00035 diff.push_back(make_pair(7,8));
00036 diffs.push_back(diff);
00037
00038 statscores_t scores;
00039 scorer->score(candidates,diffs,scores);
00040
00041 cout << "Bleus: " << scores[0] << " " << scores[1] << endl;
00042
00043
00044 scorer = new PerScorer();
00045 Data pd(*scorer);
00046 scorer->setReferenceFiles(references);
00047
00048 pd.loadnbest("test_scorer_data/nbest.out");
00049
00050
00051 ScoreData* psd=pd.getScoreData();
00052 scorer->setScoreData(psd);
00053 for (size_t i = 0; i < psd->size(); ++i) {
00054 psd->get(i,0).savetxt("/dev/stdout");
00055 }
00056
00057
00058 cout << "PER: " << scorer->score(candidates) << endl;
00059
00060 }