You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by dl...@apache.org on 2014/03/25 15:43:08 UTC

svn commit: r1581355 - /ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/data/analysis/ExtractDurationsUsingContainsRelation.java

Author: dligach
Date: Tue Mar 25 14:43:08 2014
New Revision: 1581355

URL: http://svn.apache.org/r1581355
Log:
now saving duration distributions in a file

Modified:
    ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/data/analysis/ExtractDurationsUsingContainsRelation.java

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/data/analysis/ExtractDurationsUsingContainsRelation.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/data/analysis/ExtractDurationsUsingContainsRelation.java?rev=1581355&r1=1581354&r2=1581355&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/data/analysis/ExtractDurationsUsingContainsRelation.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/data/analysis/ExtractDurationsUsingContainsRelation.java Tue Mar 25 14:43:08 2014
@@ -19,6 +19,7 @@
 package org.apache.ctakes.temporal.data.analysis;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -48,12 +49,16 @@ import org.uimafit.util.JCasUtil;
 
 import scala.collection.immutable.Set;
 
+import com.google.common.base.Charsets;
 import com.google.common.collect.HashMultiset;
 import com.google.common.collect.Lists;
+import com.google.common.io.Files;
 import com.lexicalscope.jewel.cli.CliFactory;
 import com.lexicalscope.jewel.cli.Option;
 
 /**
+ * Use event-time CONTAINS relations to extract event duration distributions.
+ * 
  * @author dmitriy dligach
  */
 public class ExtractDurationsUsingContainsRelation {
@@ -85,7 +90,8 @@ public class ExtractDurationsUsingContai
   }
 
   /**
-   *
+   * Go over even-time relations and collect all times with which
+   * each of the events occurs in CONTAINS relation.
    */
   public static class ProcessRelations extends JCasAnnotator_ImplBase {
 
@@ -98,17 +104,26 @@ public class ExtractDurationsUsingContai
     // map event text to time units with counts
     private Map<String, HashMultiset<String>> eventTimeUnitCount;
     
+    // file to store the output
+    private File outputFile;
+    
     @Override
     public void initialize(UimaContext context) throws ResourceInitializationException  {
       super.initialize(context);
       eventTimeUnitCount = new HashMap<String, HashMultiset<String>>();
+      outputFile = new File(eventOutputFile);
     }
 
     @Override
     public void collectionProcessComplete() throws AnalysisEngineProcessException {
       super.collectionProcessComplete();  
       for(String key : eventTimeUnitCount.keySet()) {
-        System.out.println(eventTimeUnitCount.get(key));
+        String formatted = Utils.formatDistribution(key, eventTimeUnitCount.get(key), ", ", false);
+        try {
+          Files.append(formatted + "\n", outputFile, Charsets.UTF_8);
+        } catch (IOException e) {
+          System.out.println("couldn't open output file!");
+        }
       }
     }
     
@@ -159,7 +174,6 @@ public class ExtractDurationsUsingContai
               eventTimeUnitCount.get(eventText).add(coarseUnit);
             }
           }
-          break;
         } 
       }
     }