float CalculateBP(const char * reffn, const char * trainfn, int refNum, int ngram, int bleuType) { TrainingSet * ts = new TrainingSet(); if( bleuType < 3 ) ts->LoadRefData(reffn, refNum, ngram, MAX_SENT_NUM); ts->LoadTrainingData(trainfn, false); float BP = trainer->GetBP(ts, ngram, (BLEU_TYPE)bleuType, 0); delete ts; return BP; }
bool MERTraining(const char * reffn, const char * trainfn, const char * configfn, int ngram, int bleuType) { TrainingSet * ts = new TrainingSet(); if( bleuType < 3 ) ts->LoadRefData(reffn, 4, ngram, MAX_SENT_NUM); ts->LoadTrainingData(trainfn, false); trainer->LoadPara(configfn); trainer->OptimzieWeightsWithMERT(ts, ngram, (BLEU_TYPE)bleuType, 0); delete ts; return true; }