You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2016/11/02 22:13:29 UTC

opennlp git commit: Replace Heap with PriorityQueue

Repository: opennlp
Updated Branches:
  refs/heads/trunk 895975eab -> 22bed4b87


Replace Heap with PriorityQueue

See issue OPENNLP-879


Project: http://git-wip-us.apache.org/repos/asf/opennlp/repo
Commit: http://git-wip-us.apache.org/repos/asf/opennlp/commit/22bed4b8
Tree: http://git-wip-us.apache.org/repos/asf/opennlp/tree/22bed4b8
Diff: http://git-wip-us.apache.org/repos/asf/opennlp/diff/22bed4b8

Branch: refs/heads/trunk
Commit: 22bed4b876f12ca4a88a674aaddad42d1e75dbad
Parents: 895975e
Author: J�rn Kottmann <jo...@apache.org>
Authored: Wed Nov 2 22:58:52 2016 +0100
Committer: J�rn Kottmann <jo...@apache.org>
Committed: Wed Nov 2 23:13:09 2016 +0100

----------------------------------------------------------------------
 .../src/main/java/opennlp/tools/ml/BeamSearch.java    | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/opennlp/blob/22bed4b8/opennlp-tools/src/main/java/opennlp/tools/ml/BeamSearch.java
----------------------------------------------------------------------
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/BeamSearch.java b/opennlp-tools/src/main/java/opennlp/tools/ml/BeamSearch.java
index e2054cd..1395d9f 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/BeamSearch.java
+++ b/opennlp-tools/src/main/java/opennlp/tools/ml/BeamSearch.java
@@ -19,13 +19,13 @@ package opennlp.tools.ml;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.PriorityQueue;
+import java.util.Queue;
 
 import opennlp.tools.ml.model.MaxentModel;
 import opennlp.tools.ml.model.SequenceClassificationModel;
 import opennlp.tools.util.BeamSearchContextGenerator;
 import opennlp.tools.util.Cache;
-import opennlp.tools.util.Heap;
-import opennlp.tools.util.ListHeap;
 import opennlp.tools.util.Sequence;
 import opennlp.tools.util.SequenceValidator;
 
@@ -83,9 +83,9 @@ public class BeamSearch<T> implements SequenceClassificationModel<T> {
   public Sequence[] bestSequences(int numSequences, T[] sequence,
       Object[] additionalContext, double minSequenceScore, BeamSearchContextGenerator<T> cg, SequenceValidator<T> validator) {
 
-    Heap<Sequence> prev = new ListHeap<Sequence>(size);
-    Heap<Sequence> next = new ListHeap<Sequence>(size);
-    Heap<Sequence> tmp;
+    Queue<Sequence> prev = new PriorityQueue<>(size);
+    Queue<Sequence> next = new PriorityQueue<>(size);
+    Queue<Sequence> tmp;
     prev.add(new Sequence());
 
     if (additionalContext == null) {
@@ -96,7 +96,7 @@ public class BeamSearch<T> implements SequenceClassificationModel<T> {
       int sz = Math.min(size, prev.size());
 
       for (int sc = 0; prev.size() > 0 && sc < sz; sc++) {
-        Sequence top = prev.extract();
+        Sequence top = prev.poll();
         List<String> tmpOutcomes = top.getOutcomes();
         String[] outcomes = tmpOutcomes.toArray(new String[tmpOutcomes.size()]);
         String[] contexts = cg.getContext(i, sequence, outcomes, additionalContext);
@@ -157,7 +157,7 @@ public class BeamSearch<T> implements SequenceClassificationModel<T> {
     Sequence[] topSequences = new Sequence[numSeq];
 
     for (int seqIndex = 0; seqIndex < numSeq; seqIndex++) {
-      topSequences[seqIndex] = prev.extract();
+      topSequences[seqIndex] = prev.poll();
     }
 
     return topSequences;