From 284fe0ab9d98c14a66aa32ada0c46b294f94329d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Kottmann?= Date: Wed, 1 Feb 2017 15:38:19 +0100 Subject: [PATCH] OPENNLP-973: Respect setting of PrintMessages in DataIndexer impls --- .../tools/ml/model/AbstractDataIndexer.java | 2 +- .../tools/ml/model/OnePassDataIndexer.java | 18 ++++++++-------- .../tools/ml/model/TwoPassDataIndexer.java | 21 ++++++++++--------- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java b/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java index 0eabf874e..be6a6e4b0 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java +++ b/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java @@ -133,7 +133,7 @@ protected int sortAndMerge(List eventsToCompare, boolean sort) throw new InsufficientTrainingDataException("Insufficient training data to create model."); } - if (sort) System.out.println("done. Reduced " + numEvents + " events to " + numUniqueEvents + "."); + if (sort) display("done. Reduced " + numEvents + " events to " + numUniqueEvents + ".\n"); contexts = new int[numUniqueEvents][]; outcomeList = new int[numUniqueEvents]; diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java b/opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java index 7b5325125..cf8fb7f06 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java +++ b/opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java @@ -48,24 +48,24 @@ public void index(ObjectStream eventStream) throws IOException { List events; List eventsToCompare; - System.out.println("Indexing events using cutoff of " + cutoff + "\n"); + display("Indexing events using cutoff of " + cutoff + "\n\n"); - System.out.print("\tComputing event counts... "); + display("\tComputing event counts... "); events = computeEventCounts(eventStream, predicateIndex, cutoff); - System.out.println("done. " + events.size() + " events"); + display("done. " + events.size() + " events\n"); - System.out.print("\tIndexing... "); + display("\tIndexing... "); eventsToCompare = index(events, predicateIndex); // done with event list events = null; // done with predicates predicateIndex = null; - System.out.println("done."); + display("done.\n"); - System.out.print("Sorting and merging events... "); + display("Sorting and merging events... "); sortAndMerge(eventsToCompare, sort); - System.out.println("Done indexing."); + display("Done indexing.\n"); } /** @@ -140,8 +140,8 @@ protected List index(List events, ce = new ComparableEvent(ocID, cons); eventsToCompare.add(ce); } else { - System.err.println("Dropped event " + ev.getOutcome() + ":" - + Arrays.asList(ev.getContext())); + display("Dropped event " + ev.getOutcome() + ":" + + Arrays.asList(ev.getContext()) + "\n"); } // recycle the TIntArrayList indexedContext.clear(); diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java b/opennlp-tools/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java index 133c35028..b3cc89b2e 100644 --- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java +++ b/opennlp-tools/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java @@ -55,17 +55,17 @@ public void index(ObjectStream eventStream) throws IOException { Map predicateIndex = new HashMap<>(); List eventsToCompare; - System.out.println("Indexing events using cutoff of " + cutoff + "\n"); + display("Indexing events using cutoff of " + cutoff + "\n\n"); - System.out.print("\tComputing event counts... "); + display("\tComputing event counts... "); File tmp = File.createTempFile("events", null); tmp.deleteOnExit(); Writer osw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(tmp),"UTF8")); int numEvents = computeEventCounts(eventStream, osw, predicateIndex, cutoff); - System.out.println("done. " + numEvents + " events"); + display("done. " + numEvents + " events\n"); - System.out.print("\tIndexing... "); + display("\tIndexing... "); try (FileEventStream fes = new FileEventStream(tmp)) { eventsToCompare = index(numEvents, fes, predicateIndex); @@ -73,16 +73,16 @@ public void index(ObjectStream eventStream) throws IOException { // done with predicates predicateIndex = null; tmp.delete(); - System.out.println("done."); + display("done.\n"); if (sort) { - System.out.print("Sorting and merging events... "); + display("Sorting and merging events... "); } else { - System.out.print("Collecting events... "); + display("Collecting events... "); } sortAndMerge(eventsToCompare,sort); - System.out.println("Done indexing."); + display("Done indexing.\n"); } /** @@ -120,9 +120,11 @@ private int computeEventCounts(ObjectStream eventStream, Writer eventStor return eventCount; } + // TODO: merge this code with the copy and paste version in OnePassDataIndexer private List index(int numEvents, ObjectStream es, Map predicateIndex) throws IOException { Map omap = new HashMap<>(); + int outcomeCount = 0; List eventsToCompare = new ArrayList<>(numEvents); List indexedContext = new ArrayList<>(); @@ -159,7 +161,7 @@ private List index(int numEvents, ObjectStream es, eventsToCompare.add(ce); } else { - System.err.println("Dropped event " + ev.getOutcome() + ":" + Arrays.asList(ev.getContext())); + display("Dropped event " + ev.getOutcome() + ":" + Arrays.asList(ev.getContext()) + "\n"); } // recycle the TIntArrayList indexedContext.clear(); @@ -168,6 +170,5 @@ private List index(int numEvents, ObjectStream es, predLabels = toIndexedStringArray(predicateIndex); return eventsToCompare; } - }