From 9b5d6f57cb3e57c244e42f3b1303958cd79a0b7a Mon Sep 17 00:00:00 2001 From: Philippe Thomas Date: Thu, 28 Dec 2023 13:56:47 +0100 Subject: [PATCH 1/8] Modified Unit-tests so that they always report scores using '.' as decimal separator (i.e., 1.000) --- .../java/au/com/nicta/csp/brateval/CompareEntitiesTest.java | 2 ++ .../java/au/com/nicta/csp/brateval/CompareRelationsTest.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/test/java/au/com/nicta/csp/brateval/CompareEntitiesTest.java b/src/test/java/au/com/nicta/csp/brateval/CompareEntitiesTest.java index be1fc05..eb172fe 100644 --- a/src/test/java/au/com/nicta/csp/brateval/CompareEntitiesTest.java +++ b/src/test/java/au/com/nicta/csp/brateval/CompareEntitiesTest.java @@ -7,6 +7,7 @@ import java.net.URISyntaxException; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.Locale; class CompareEntitiesTest { @@ -36,6 +37,7 @@ public void restoreStreams() { @BeforeEach void setUp() throws URISyntaxException { + Locale.setDefault(new Locale("en", "US")); //Reported scores use "." as decimal seperator dataDir = Paths.get(this.getClass().getClassLoader().getResource("data").toURI()).toString(); GOLD_PATH = getPath(dataDir,"corpora","chemu_sample"); BRATEVAL_PATH = getPath(dataDir,"bratevals","chemu_sample"); diff --git a/src/test/java/au/com/nicta/csp/brateval/CompareRelationsTest.java b/src/test/java/au/com/nicta/csp/brateval/CompareRelationsTest.java index 1660303..7622ca2 100644 --- a/src/test/java/au/com/nicta/csp/brateval/CompareRelationsTest.java +++ b/src/test/java/au/com/nicta/csp/brateval/CompareRelationsTest.java @@ -7,6 +7,7 @@ import java.net.URISyntaxException; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.Locale; import static au.com.nicta.csp.brateval.CompareEntitiesTest.buildBratEvalFileName; import static au.com.nicta.csp.brateval.CompareEntitiesTest.getPath; @@ -39,6 +40,7 @@ public void restoreStreams() { @BeforeEach void setUp() throws URISyntaxException { + Locale.setDefault(new Locale("en", "US")); //Reported scores use "." as decimal seperator dataDir = Paths.get(this.getClass().getClassLoader().getResource("data").toURI()).toString(); From db1afcd12d59cc7f83e4f89a8c92525440880b78 Mon Sep 17 00:00:00 2001 From: Philippe Thomas Date: Fri, 29 Dec 2023 09:35:35 +0100 Subject: [PATCH 2/8] Set Locale to english --- src/main/java/au/com/nicta/csp/brateval/CompareEntities.java | 1 + src/main/java/au/com/nicta/csp/brateval/CompareRelations.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java b/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java index aa0a601..0a136ea 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java @@ -18,6 +18,7 @@ public class CompareEntities { static TaxonomyConfig taxonomy = TaxonomyConfig.singleton(); public static void main(String argc[]) throws Exception { + Locale.setDefault(new Locale("en", "US")); //Reported scores use "." as decimal seperator Options.common = new Options(argc); verbose_output = Options.common.verbose; taxonomy.readConfigFile(Options.common.configFile); diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java index 35d383e..fece176 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java @@ -20,7 +20,8 @@ public class CompareRelations public static void main (String argc []) throws Exception { - Options.common = new Options(argc); + Locale.setDefault(new Locale("en", "US")); //Reported scores use "." as decimal seperator + Options.common = new Options(argc); verbose_output = Options.common.verbose; taxonomy = new TaxonomyConfig(Options.common.configFile); show_full_taxonomy = Options.common.show_full_taxonomy; From 500857dc038138fc8d5e523c4bde6842eaf23614 Mon Sep 17 00:00:00 2001 From: Philippe Thomas Date: Fri, 29 Dec 2023 09:37:19 +0100 Subject: [PATCH 3/8] Set CSV as default --- src/main/java/au/com/nicta/csp/brateval/Options.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/nicta/csp/brateval/Options.java b/src/main/java/au/com/nicta/csp/brateval/Options.java index 2eab9d8..915da98 100755 --- a/src/main/java/au/com/nicta/csp/brateval/Options.java +++ b/src/main/java/au/com/nicta/csp/brateval/Options.java @@ -26,7 +26,7 @@ public enum OutFmt { } - public OutFmt outFmt = OutFmt.PLAIN; + public OutFmt outFmt = OutFmt.CSV; // options related to annotation folders public String goldFolder; // name of folder for gold standard annotations From 14fd6a8501dee45bf85f129918616a0020c24546 Mon Sep 17 00:00:00 2001 From: Philippe Thomas Date: Fri, 29 Dec 2023 09:49:07 +0100 Subject: [PATCH 4/8] Change output to CSV like --- .../nicta/csp/brateval/CompareRelations.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java index fece176..7056453 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java @@ -46,14 +46,14 @@ static void report(int level, String rt, int TP, int FP, int FN, int MFP, int MF { f_measure = (2*precision*recall)/(double)(precision+recall); } System.out.println(rt - + "|tp:" + TP - + "|fp:" + FP - + "|fn:" + FN - + "|precision:" + String.format("%1.4f", precision) - + "|recall:" + String.format("%1.4f", recall) - + "|f1:" + String.format("%1.4f", f_measure) - + "|fpm:" + MFP - + "|fnm:" + MFN + + "," + TP + + "," + FP + + "," + FN + + "," + String.format("%1.4f", precision) + + "," + String.format("%1.4f", recall) + + "," + String.format("%1.4f", f_measure) + + "," + MFP + + "," + MFN ); } @@ -216,6 +216,7 @@ public static void evaluate(String goldFolderPath, String evalFolderPath, MatchT } System.out.println("Summary:"); + System.out.println("type,tp,fp,fn,precision,recall,f1,fpm,fnm"); taxonomy.traverseRelations(new HierList.Visitor() { public void pre(int level, TaxonomyConfig.RelationDesc curr, From 3b64f0ea176cefb59f79d7ff8ab8e806d5513f14 Mon Sep 17 00:00:00 2001 From: Philippe Thomas Date: Thu, 4 Jan 2024 12:57:22 +0100 Subject: [PATCH 5/8] Added link to original repository --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1ed8069..fd2659f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +### This is a fork of [brateval](https://github.com/READ-BioMed/brateval). + # BRAT-Eval v0.3.2 From 97d735a3ea154cf14d4d2f43c6255d2a4e434094 Mon Sep 17 00:00:00 2001 From: Philippe Thomas Date: Thu, 4 Jan 2024 13:12:27 +0100 Subject: [PATCH 6/8] Specific changes to prepare output as expected by codalab --- pom.xml | 6 ++ .../nicta/csp/brateval/CompareEntities.java | 58 +++++++++++++++++- .../nicta/csp/brateval/CompareRelations.java | 60 ++++++++++++++++++- 3 files changed, 120 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 687066f..bd01f30 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,12 @@ ${junit-jupiter.version} test + + + com.opencsv + opencsv + 5.9 + diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java b/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java index 0a136ea..8408e3a 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java @@ -1,8 +1,9 @@ package au.com.nicta.csp.brateval; +import com.opencsv.CSVReader; + +import java.io.*; import java.nio.file.Path; -import java.io.File; -import java.io.IOException; import java.util.*; @@ -28,7 +29,60 @@ public static void main(String argc[]) throws Exception { String goldFolder = Options.common.goldFolder; System.out.println("Evaluating Folder: " + evalFolder + " against Gold Folder: " + goldFolder + " Match settings : " + Options.common.matchType.toString()); + + // + java.io.ByteArrayOutputStream out = new java.io.ByteArrayOutputStream(); + PrintStream stdout = System.out; + System.setOut(new java.io.PrintStream(out)); //Catch sysrtem out evaluate(goldFolder, evalFolder, Options.common.matchType); + System.setOut(stdout); //Reset System.out to default + System.out.println(out); + // + + // + int precisionPos = 4; int recallPos=5; int f1Pos=6; + + List macroPrecisionScores = new ArrayList<>(); + List macroRecallScores = new ArrayList<>(); + List macroF1Scores = new ArrayList<>(); + + FileWriter output = new FileWriter("scores.txt"); + + CSVReader reader = new CSVReader(new StringReader(out.toString())); + String[] nextLine; + while ((nextLine = reader.readNext()) != null) { + if (nextLine != null) { //Until end + if (nextLine.length == 7 && !nextLine[0].equals("")){ + if(nextLine[0].equals("all")){ + output.append("MicroPrecision: " +nextLine[precisionPos] +"\n"); + output.append("MicroRecall: " +nextLine[recallPos] +"\n"); + output.append("MicroF1: " +nextLine[f1Pos] +"\n"); + + //System.out.println("MicroP=" +nextLine[precisionPos]); + //System.out.println("MicroR=" +nextLine[recallPos]); + //System.out.println("MicroF1=" +nextLine[f1Pos]); + } + else{ + macroPrecisionScores.add(Double.parseDouble(nextLine[precisionPos])); + macroRecallScores.add(Double.parseDouble(nextLine[recallPos])); + macroF1Scores.add(Double.parseDouble(nextLine[f1Pos])); + } + + } + } + } + output.append("MacroPrecision: " +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble()) +"\n"); + output.append("MacroRevall: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + output.append("MacroF1: " +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + + //System.out.println("MacroP=" +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble())); + //System.out.println("MacroR=" +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())); + //System.out.println("MacroF1=" +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())); + + output.close(); + // + + } static void report(TableOut summary, int level, String et, int TP, int FP, int FN) { diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java index 7056453..8611776 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java @@ -1,8 +1,9 @@ package au.com.nicta.csp.brateval; +import com.opencsv.CSVReader; + +import java.io.*; import java.nio.file.Paths; -import java.io.File; -import java.io.IOException; import java.util.*; /** @@ -214,6 +215,11 @@ public static void evaluate(String goldFolderPath, String evalFolderPath, MatchT } } } + // + java.io.ByteArrayOutputStream out = new java.io.ByteArrayOutputStream(); + PrintStream stdout = System.out; + System.setOut(new java.io.PrintStream(out)); //Catch sysrtem out + // System.out.println("Summary:"); System.out.println("type,tp,fp,fn,precision,recall,f1,fpm,fnm"); @@ -294,5 +300,55 @@ public void post(int level, TaxonomyConfig.RelationDesc curr, report(0, rt, TP, FP, FN, MFP, MFN); } report(0, "all", totalTP, totalFP, totalFN, totalMFP, totalMFN); + + // + System.setOut(stdout); + System.out.println(out); + // + + // + int precisionPos = 4; int recallPos=5; int f1Pos=6; + + List macroPrecisionScores = new ArrayList<>(); + List macroRecallScores = new ArrayList<>(); + List macroF1Scores = new ArrayList<>(); + + FileWriter output = new FileWriter("scores.txt"); + String[] nextLine; + CSVReader reader = new CSVReader(new StringReader(out.toString())); + while ((nextLine = reader.readNext()) != null) { + if (nextLine != null) { //Until end + if (nextLine.length == 9 && !nextLine[0].equals("type")){ + if(nextLine[0].equals("all")){ + + output.append("MicroPrecision: " +nextLine[precisionPos] +"\n"); + output.append("MicroRecall: " +nextLine[recallPos] +"\n"); + output.append("MicroF1: " +nextLine[f1Pos] +"\n"); + + //System.out.println("MicroP=" +nextLine[precisionPos]); + //System.out.println("MicroR=" +nextLine[recallPos]); + //System.out.println("MicroF1=" +nextLine[f1Pos]); + } + else{ + //System.out.println(String.join(",", nextLine)); + macroPrecisionScores.add(Double.parseDouble(nextLine[precisionPos])); + macroRecallScores.add(Double.parseDouble(nextLine[recallPos])); + macroF1Scores.add(Double.parseDouble(nextLine[f1Pos])); + } + } + + } + } + + output.append("MacroPrecision: " +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble()) +"\n"); + output.append("MacroRevall: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + output.append("MacroF1: " +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + + //System.out.println("MacroP=" +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble())); + //System.out.println("MacroR=" +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())); + //System.out.println("MacroF1=" +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())); + + output.close(); + // } } \ No newline at end of file From 10c6a86ce14066df703f69e770cb21333a6e4b2e Mon Sep 17 00:00:00 2001 From: Philippe Thomas Date: Fri, 5 Jan 2024 10:56:32 +0100 Subject: [PATCH 7/8] Added parameter -o and -outputfolder to specify the target folder to write scores.txt --- .../au/com/nicta/csp/brateval/CompareEntities.java | 5 +++-- .../au/com/nicta/csp/brateval/CompareRelations.java | 11 +++++++---- src/main/java/au/com/nicta/csp/brateval/Options.java | 6 ++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java b/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java index 8408e3a..51ccd09 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java @@ -27,6 +27,7 @@ public static void main(String argc[]) throws Exception { String evalFolder = Options.common.evalFolder; String goldFolder = Options.common.goldFolder; + String outFolder = Options.common.outputFolder; System.out.println("Evaluating Folder: " + evalFolder + " against Gold Folder: " + goldFolder + " Match settings : " + Options.common.matchType.toString()); @@ -46,7 +47,7 @@ public static void main(String argc[]) throws Exception { List macroRecallScores = new ArrayList<>(); List macroF1Scores = new ArrayList<>(); - FileWriter output = new FileWriter("scores.txt"); + FileWriter output = new FileWriter(outFolder +File.separator +"scores.txt"); CSVReader reader = new CSVReader(new StringReader(out.toString())); String[] nextLine; @@ -72,7 +73,7 @@ public static void main(String argc[]) throws Exception { } } output.append("MacroPrecision: " +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble()) +"\n"); - output.append("MacroRevall: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + output.append("MacroRecall: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); output.append("MacroF1: " +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); //System.out.println("MacroP=" +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble())); diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java index 8611776..cf0e233 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java @@ -19,7 +19,9 @@ public class CompareRelations static boolean show_full_taxonomy = false; static TaxonomyConfig taxonomy = TaxonomyConfig.singleton(); - public static void main (String argc []) throws Exception + static String outFolder; + + public static void main (String argc []) throws Exception { Locale.setDefault(new Locale("en", "US")); //Reported scores use "." as decimal seperator Options.common = new Options(argc); @@ -29,8 +31,9 @@ public static void main (String argc []) throws Exception String evalFolder = Options.common.evalFolder; String goldFolder = Options.common.goldFolder; + outFolder = Options.common.outputFolder; - System.out.println("Evaluating Folder: " + evalFolder + " against Gold Folder: " + goldFolder + " Match settings : " + Options.common.matchType.toString() ); + System.out.println("Evaluating Folder: " + evalFolder + " against Gold Folder: " + goldFolder + " Match settings : " + Options.common.matchType.toString() ); evaluate(goldFolder, evalFolder, Options.common.matchType); } @@ -313,7 +316,7 @@ public void post(int level, TaxonomyConfig.RelationDesc curr, List macroRecallScores = new ArrayList<>(); List macroF1Scores = new ArrayList<>(); - FileWriter output = new FileWriter("scores.txt"); + FileWriter output = new FileWriter(outFolder +File.separator +"scores.txt"); String[] nextLine; CSVReader reader = new CSVReader(new StringReader(out.toString())); while ((nextLine = reader.readNext()) != null) { @@ -341,7 +344,7 @@ public void post(int level, TaxonomyConfig.RelationDesc curr, } output.append("MacroPrecision: " +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble()) +"\n"); - output.append("MacroRevall: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + output.append("MacroRecall: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); output.append("MacroF1: " +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); //System.out.println("MacroP=" +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble())); diff --git a/src/main/java/au/com/nicta/csp/brateval/Options.java b/src/main/java/au/com/nicta/csp/brateval/Options.java index 915da98..8777ff6 100755 --- a/src/main/java/au/com/nicta/csp/brateval/Options.java +++ b/src/main/java/au/com/nicta/csp/brateval/Options.java @@ -32,6 +32,7 @@ public enum OutFmt { public String goldFolder; // name of folder for gold standard annotations public String evalFolder; // name of folder for annotations to be compared to gold standard public String configFile; // location/name of annotation.conf file (path + name) [by default, "annotation.conf" in the current directory will be used] + public String outputFolder; // options related to matching public MatchType matchType; // specify how spans are treated for matching @@ -50,6 +51,7 @@ public Options(String [] argv) { goldFolder = null; evalFolder = null; configFile = "annotation.conf"; + outputFolder=""; for (int j=0; j Date: Fri, 5 Jan 2024 11:21:26 +0100 Subject: [PATCH 8/8] Renamed variables --- .../au/com/nicta/csp/brateval/CompareEntities.java | 12 ++++++------ .../au/com/nicta/csp/brateval/CompareRelations.java | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java b/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java index 51ccd09..f1f8f1c 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareEntities.java @@ -55,9 +55,9 @@ public static void main(String argc[]) throws Exception { if (nextLine != null) { //Until end if (nextLine.length == 7 && !nextLine[0].equals("")){ if(nextLine[0].equals("all")){ - output.append("MicroPrecision: " +nextLine[precisionPos] +"\n"); - output.append("MicroRecall: " +nextLine[recallPos] +"\n"); - output.append("MicroF1: " +nextLine[f1Pos] +"\n"); + output.append("Task2aMicroP: " +nextLine[precisionPos] +"\n"); + output.append("Task2aMicroR: " +nextLine[recallPos] +"\n"); + output.append("Task2aMicroF1: " +nextLine[f1Pos] +"\n"); //System.out.println("MicroP=" +nextLine[precisionPos]); //System.out.println("MicroR=" +nextLine[recallPos]); @@ -72,9 +72,9 @@ public static void main(String argc[]) throws Exception { } } } - output.append("MacroPrecision: " +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble()) +"\n"); - output.append("MacroRecall: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); - output.append("MacroF1: " +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + output.append("Task2aMacroP: " +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble()) +"\n"); + output.append("Task2aMacroR: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + output.append("Task2aMacroF1: " +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); //System.out.println("MacroP=" +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble())); //System.out.println("MacroR=" +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())); diff --git a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java index cf0e233..5ad446f 100755 --- a/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java +++ b/src/main/java/au/com/nicta/csp/brateval/CompareRelations.java @@ -324,9 +324,9 @@ public void post(int level, TaxonomyConfig.RelationDesc curr, if (nextLine.length == 9 && !nextLine[0].equals("type")){ if(nextLine[0].equals("all")){ - output.append("MicroPrecision: " +nextLine[precisionPos] +"\n"); - output.append("MicroRecall: " +nextLine[recallPos] +"\n"); - output.append("MicroF1: " +nextLine[f1Pos] +"\n"); + output.append("Task2bMicroP: " +nextLine[precisionPos] +"\n"); + output.append("Task2bMicroR: " +nextLine[recallPos] +"\n"); + output.append("Task2bMicroF1: " +nextLine[f1Pos] +"\n"); //System.out.println("MicroP=" +nextLine[precisionPos]); //System.out.println("MicroR=" +nextLine[recallPos]); @@ -343,9 +343,9 @@ public void post(int level, TaxonomyConfig.RelationDesc curr, } } - output.append("MacroPrecision: " +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble()) +"\n"); - output.append("MacroRecall: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); - output.append("MacroF1: " +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + output.append("Task2bMacroP: " +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble()) +"\n"); + output.append("Task2bMacroR: " +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); + output.append("Task2bMacroF1: " +String.format("%1.4f",macroF1Scores.stream().mapToDouble(var -> var).average().getAsDouble())+"\n"); //System.out.println("MacroP=" +String.format("%1.4f",macroPrecisionScores.stream().mapToDouble(var -> var).average().getAsDouble())); //System.out.println("MacroR=" +String.format("%1.4f",macroRecallScores.stream().mapToDouble(var -> var).average().getAsDouble()));