package driver;
import interfaces.IRouge;
import interfaces.IRougeSummaryModel;
import java.io.File;
import java.util.Map;
import java.util.Set;
import rouge.JRougeN;
import rouge.RougeN;
import rouge.serializer.RougeSeeFormatSerializer;
import common.ScoreType;
/* EXPERIMENTAL - DO NOT USE!!! */
public class JRougeN_Driver
{
public static void main(String[] args)
{
RougeN.DEBUG = true;
JRougeN.DEBUG = true;
RougeSeeFormatSerializer s = new RougeSeeFormatSerializer();
Map<IRougeSummaryModel, Set<IRougeSummaryModel>> results = s.prepareForRouge(new File("C:\\Users\\Marina\\Desktop\\muse_test_data\\English\\Documents"), new File("C:\\Users\\Marina\\Desktop\\muse_test_data\\English\\Gold Standard"));
double r = 0;
double p = 0;
double f = 0;
System.out.println("ROUGE-N");
IRouge rouge = null;
for (IRougeSummaryModel system : results.keySet())
{
rouge = new RougeN(system, results.get(system), Integer.MAX_VALUE, Integer.MAX_VALUE, 2, 'A', 0.5);
Map<ScoreType, Double> scores = rouge.evaluate();
r += scores.get(ScoreType.R);
p += scores.get(ScoreType.P);
f += scores.get(ScoreType.F);
}
r = r / (double)results.size();
p = p / (double)results.size();
f = f / (double)results.size();
System.out.println("Average_R: " + r);
System.out.println("Average_P: " + p);
System.out.println("Average_F: " + f);
System.out.println("JROUGE-N");
r = p = f = 0;
rouge = null;
for (IRougeSummaryModel system : results.keySet())
{
rouge = new JRougeN(system, results.get(system), Integer.MAX_VALUE, Integer.MAX_VALUE, 2, 'A', 0.5);
Map<ScoreType, Double> scores = rouge.evaluate();
r += scores.get(ScoreType.R);
p += scores.get(ScoreType.P);
f += scores.get(ScoreType.F);
}
r = r / (double)results.size();
p = p / (double)results.size();
f = f / (double)results.size();
System.out.println("Average_R: " + r);
System.out.println("Average_P: " + p);
System.out.println("Average_F: " + f);
}
}