Author: ogrisel
Date: Fri Jan 20 17:59:43 2012
New Revision: 1234037

URL: http://svn.apache.org/viewvc?rev=1234037&view=rev
Log:
STANBOL-197: ensure no memory blowup when collecting error examples

Modified:
    
incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/engine/topic/TopicClassificationEngine.java

Modified: 
incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/engine/topic/TopicClassificationEngine.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/engine/topic/TopicClassificationEngine.java?rev=1234037&r1=1234036&r2=1234037&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/engine/topic/TopicClassificationEngine.java
 (original)
+++ 
incubator/stanbol/trunk/enhancer/engines/topic/src/main/java/org/apache/stanbol/enhancer/engine/topic/TopicClassificationEngine.java
 Fri Jan 20 17:59:43 2012
@@ -163,6 +163,8 @@ public class TopicClassificationEngine e
 
     // TODO: make the following fields configurable
 
+    private int MAX_COLLECTED_EXAMPLES = 100;
+
     public int MAX_EVALUATION_SAMPLES = 1000;
 
     public int MAX_CHARS_PER_TOPIC = 100000;
@@ -905,7 +907,9 @@ public class TopicClassificationEngine e
                             }
                             if (!match) {
                                 falseNegatives++;
-                                falseNegativeExamples.add(example.id);
+                                if (falseNegativeExamples.size() < 
MAX_COLLECTED_EXAMPLES / foldCount) {
+                                    falseNegativeExamples.add(example.id);
+                                }
                             }
                         }
                     } while (examples.hasMore && offset < 
MAX_EVALUATION_SAMPLES);
@@ -930,7 +934,9 @@ public class TopicClassificationEngine e
                             for (TopicSuggestion suggestedTopic : 
suggestedTopics) {
                                 if (topic.equals(suggestedTopic.uri)) {
                                     falsePositives++;
-                                    falsePositiveExamples.add(example.id);
+                                    if (falsePositiveExamples.size() < 
MAX_COLLECTED_EXAMPLES / foldCount) {
+                                        falsePositiveExamples.add(example.id);
+                                    }
                                     break;
                                 }
                             }


Reply via email to