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;
}
}