You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by tm...@apache.org on 2018/02/13 18:26:59 UTC

svn commit: r1824168 - /ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java

Author: tmill
Date: Tue Feb 13 18:26:59 2018
New Revision: 1824168

URL: http://svn.apache.org/viewvc?rev=1824168&view=rev
Log:
Fix issue where system CAS was being used instead of gold during training. Also changed
back to processing sentences in order, this may be expected for some features.

Modified:
    ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java

Modified: ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java?rev=1824168&r1=1824167&r2=1824168&view=diff
==============================================================================
--- ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java (original)
+++ ctakes/trunk/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java Tue Feb 13 18:26:59 2018
@@ -359,19 +359,19 @@ public abstract class AssertionCleartkAn
       // generate a list of training instances for each sentence in the document
       // Use an indexed map.  This is faster than calling select and then selectCovering within a loop.
       final Map<Sentence, Collection<Annotation>> sentenceAnnotationMap
-            = JCasUtil.indexCovered( jCas, Sentence.class, Annotation.class );
+            = JCasUtil.indexCovered( annotationView, Sentence.class, Annotation.class );
       // Faster than calling JCasUtil methods for each which has to iterate through the full cas each time.
       final Collection<IdentifiedAnnotation> entities = new ArrayList<>();
       final Collection<AssertionCuePhraseAnnotation> cues = new ArrayList<>();
       final Collection<BaseToken> baseTokens = new ArrayList<>();
-      for ( Map.Entry<Sentence, Collection<Annotation>> sentenceAnnotations : sentenceAnnotationMap.entrySet() ) {
-         final Sentence coveringSent = sentenceAnnotations.getKey();
+      for(Sentence coveringSent : JCasUtil.select(annotationView, Sentence.class)){
+         Collection<Annotation> coveredAnnotations = sentenceAnnotationMap.get(coveringSent);
          // Sort Annotations into *Mention, assertion cues and BaseTokens in one loop.
          // Faster than calling JCasUtil methods for each which has to iterate through the full cas each time.
          entities.clear();
          cues.clear();
          baseTokens.clear();
-         for ( Annotation annotation : sentenceAnnotations.getValue() ) {
+         for ( Annotation annotation : coveredAnnotations ) {
             if ( annotation instanceof EventMention || annotation instanceof EntityMention ) {
                entities.add( (IdentifiedAnnotation)annotation );
             } else if ( annotation instanceof AssertionCuePhraseAnnotation ) {