You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by se...@apache.org on 2017/04/10 20:56:04 UTC
svn commit: r1790896 [2/4] - in /ctakes/trunk:
ctakes-assertion/src/main/java/org/apache/ctakes/assertion/cr/
ctakes-assertion/src/main/java/org/apache/ctakes/assertion/eval/
ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/
ctakes-a...
Modified: ctakes/trunk/ctakes-pos-tagger/src/main/java/org/apache/ctakes/postagger/ClearNLPPOSTaggerAE.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-pos-tagger/src/main/java/org/apache/ctakes/postagger/ClearNLPPOSTaggerAE.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-pos-tagger/src/main/java/org/apache/ctakes/postagger/ClearNLPPOSTaggerAE.java (original)
+++ ctakes/trunk/ctakes-pos-tagger/src/main/java/org/apache/ctakes/postagger/ClearNLPPOSTaggerAE.java Mon Apr 10 20:56:02 2017
@@ -1,45 +1,45 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.ctakes.postagger;
-import java.net.URI;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.ctakes.typesystem.type.syntax.BaseToken;
-import org.apache.ctakes.typesystem.type.textspan.Sentence;
-import org.apache.log4j.Logger;
-import org.apache.uima.UimaContext;
-import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.jcas.JCas;
-import org.apache.uima.resource.ResourceInitializationException;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.fit.descriptor.TypeCapability;
-import org.apache.uima.fit.util.JCasUtil;
-
-import com.googlecode.clearnlp.component.AbstractComponent;
-import com.googlecode.clearnlp.dependency.DEPNode;
-import com.googlecode.clearnlp.dependency.DEPTree;
-import com.googlecode.clearnlp.engine.EngineGetter;
-import com.googlecode.clearnlp.nlp.NLPLib;
-import com.googlecode.clearnlp.reader.AbstractReader;
+import com.googlecode.clearnlp.component.AbstractComponent;
+import com.googlecode.clearnlp.dependency.DEPNode;
+import com.googlecode.clearnlp.dependency.DEPTree;
+import com.googlecode.clearnlp.engine.EngineGetter;
+import com.googlecode.clearnlp.nlp.NLPLib;
+import com.googlecode.clearnlp.reader.AbstractReader;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
+import org.apache.ctakes.typesystem.type.syntax.BaseToken;
+import org.apache.ctakes.typesystem.type.textspan.Sentence;
+import org.apache.log4j.Logger;
+import org.apache.uima.UimaContext;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
+import org.apache.uima.fit.descriptor.TypeCapability;
+import org.apache.uima.fit.util.JCasUtil;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.resource.ResourceInitializationException;
+
+import java.net.URI;
+import java.net.URL;
+import java.util.List;
/**
* <br>
@@ -57,13 +57,19 @@ import com.googlecode.clearnlp.reader.Ab
"org.apache.ctakes.typesystem.type.syntax.BaseToken:end",
"org.apache.ctakes.typesystem.type.syntax.BaseToken:begin"
})
+@PipeBitInfo(
+ name = "ClearNLP POS Tagger",
+ description = "Adds Parts of Speech to Annotations.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.BASE_TOKEN }
+)
public class ClearNLPPOSTaggerAE extends JCasAnnotator_ImplBase {
-
+
final String language = AbstractReader.LANG_EN;
public Logger logger = Logger.getLogger(getClass().getName());
// Default model values
- public static final String DEFAULT_MODEL_FILE_NAME = "org/apache/ctakes/postagger/models/clearnlp/mayo-en-pos-1.3.0.jar";
+ public static final String DEFAULT_MODEL_FILE_NAME = "org/apache/ctakes/postagger/models/clearnlp/mayo-en-pos-1.3.0.jar";
@@ -86,15 +92,15 @@ public class ClearNLPPOSTaggerAE extends
super.initialize(context);
try {
-
- URL parserModelURL = (this.posModelUri == null)
- ? this.getClass().getClassLoader().getResource(DEFAULT_MODEL_FILE_NAME).toURI().toURL()
- : this.posModelUri.toURL();
-
- this.postagger = EngineGetter.getComponent(parserModelURL.openStream(), this.language, NLPLib.MODE_POS);
- } catch (Exception e) {
- throw new ResourceInitializationException(e);
+ URL parserModelURL = (this.posModelUri == null)
+ ? this.getClass().getClassLoader().getResource(DEFAULT_MODEL_FILE_NAME).toURI().toURL()
+ : this.posModelUri.toURL();
+
+ this.postagger = EngineGetter.getComponent(parserModelURL.openStream(), this.language, NLPLib.MODE_POS);
+
+ } catch (Exception e) {
+ throw new ResourceInitializationException(e);
}
}
@@ -106,22 +112,22 @@ public class ClearNLPPOSTaggerAE extends
// Convert CAS data into structures usable by ClearNLP
for (int i = 0; i < tokens.size(); i++) {
- BaseToken token = tokens.get(i);
+ BaseToken token = tokens.get(i);
DEPNode node = new DEPNode(i+1, token.getCoveredText());
tree.add(node);
}
// Run parser and convert output back to CAS friendly data types
- postagger.process(tree);
-
- for (int i = 0; i < tokens.size(); i++) {
- BaseToken token = tokens.get(i);
- DEPNode node = tree.get(i+1);
- token.setPartOfSpeech(node.pos);
- }
+ postagger.process(tree);
+
+ for (int i = 0; i < tokens.size(); i++) {
+ BaseToken token = tokens.get(i);
+ DEPNode node = tree.get(i+1);
+ token.setPartOfSpeech(node.pos);
+ }
}
-
+
}
}
Modified: ctakes/trunk/ctakes-pos-tagger/src/main/java/org/apache/ctakes/postagger/OpenNLPPOSCollectionReader.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-pos-tagger/src/main/java/org/apache/ctakes/postagger/OpenNLPPOSCollectionReader.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-pos-tagger/src/main/java/org/apache/ctakes/postagger/OpenNLPPOSCollectionReader.java (original)
+++ ctakes/trunk/ctakes-pos-tagger/src/main/java/org/apache/ctakes/postagger/OpenNLPPOSCollectionReader.java Mon Apr 10 20:56:02 2017
@@ -18,11 +18,9 @@
*/
package org.apache.ctakes.postagger;
-import java.io.BufferedReader;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
+import org.apache.ctakes.typesystem.type.syntax.BaseToken;
+import org.apache.ctakes.typesystem.type.textspan.Sentence;
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.CASException;
import org.apache.uima.collection.CollectionException;
@@ -31,8 +29,10 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.resource.ResourceInitializationException;
import org.apache.uima.util.Progress;
-import org.apache.ctakes.typesystem.type.syntax.BaseToken;
-import org.apache.ctakes.typesystem.type.textspan.Sentence;
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
/**
* This collection reader reads in part-of-speech training/test data in the
@@ -40,6 +40,12 @@ import org.apache.ctakes.typesystem.type
* format. Each line in the file will correspond to a "document" - i.e.
* getNext() will populate the CAS with information from one line of the file.
*/
+@PipeBitInfo(
+ name = "OpenNLP POS Reader",
+ description = "Reads in part-of-speech training/test data in the OpenNLP format.",
+ role = PipeBitInfo.Role.READER,
+ products = { PipeBitInfo.TypeProduct.BASE_TOKEN, PipeBitInfo.TypeProduct.SENTENCE }
+)
public class OpenNLPPOSCollectionReader extends CollectionReader_ImplBase {
/**
Modified: ctakes/trunk/ctakes-preprocessor/src/main/java/org/apache/ctakes/preprocessor/ae/CdaCasInitializer.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-preprocessor/src/main/java/org/apache/ctakes/preprocessor/ae/CdaCasInitializer.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-preprocessor/src/main/java/org/apache/ctakes/preprocessor/ae/CdaCasInitializer.java (original)
+++ ctakes/trunk/ctakes-preprocessor/src/main/java/org/apache/ctakes/preprocessor/ae/CdaCasInitializer.java Mon Apr 10 20:56:02 2017
@@ -18,38 +18,31 @@
*/
package org.apache.ctakes.preprocessor.ae;
-import java.io.File;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-import org.apache.uima.UimaContext;
-import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.cas.FSIterator;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.jcas.JCas;
-import org.apache.uima.jcas.JFSIndexRepository;
-import org.apache.uima.jcas.cas.FSArray;
-import org.apache.uima.jcas.cas.TOP;
-import org.apache.uima.resource.ResourceInitializationException;
-
-
import org.apache.ctakes.core.ci.HyphenTextModifierImpl;
import org.apache.ctakes.core.ci.TextModification;
import org.apache.ctakes.core.ci.TextModifier;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.core.resource.FileLocator;
-import org.apache.ctakes.core.resource.FileResource;
import org.apache.ctakes.preprocessor.ClinicalNotePreProcessor;
import org.apache.ctakes.preprocessor.DocumentMetaData;
import org.apache.ctakes.preprocessor.PreProcessor;
import org.apache.ctakes.preprocessor.SegmentMetaData;
-import org.apache.ctakes.typesystem.type.structured.DocumentID;
-import org.apache.ctakes.typesystem.type.textspan.Segment;
-import org.apache.ctakes.typesystem.type.util.Pair;
-import org.apache.ctakes.typesystem.type.util.Pairs;
+import org.apache.ctakes.typesystem.type.structured.DocumentID;
+import org.apache.ctakes.typesystem.type.textspan.Segment;
+import org.apache.ctakes.typesystem.type.util.Pair;
+import org.apache.ctakes.typesystem.type.util.Pairs;
+import org.apache.log4j.Logger;
+import org.apache.uima.UimaContext;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
import org.apache.uima.fit.descriptor.ConfigurationParameter;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.cas.FSArray;
+import org.apache.uima.resource.ResourceInitializationException;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
/**
* Bootstraps the CAS by:
@@ -63,6 +56,12 @@ import org.apache.uima.fit.descriptor.Co
* </ol>
*
*/
+@PipeBitInfo(
+ name = "CDA View Sectionizer",
+ description = "Transforms CDA text into plain text, inserts hyphens into words, stores the resulting text in a new View and creates Sections.",
+ dependencies = { PipeBitInfo.TypeProduct.DOCUMENT_ID },
+ products = { PipeBitInfo.TypeProduct.SECTION }
+)
public class CdaCasInitializer extends JCasAnnotator_ImplBase
{
protected static final String DEFAULT_HYPHEN_FILE = "org/apache/ctakes/preprocessor/tokenizer/hyphenated.txt";
@@ -157,12 +156,12 @@ public class CdaCasInitializer extends J
String originalText = null;
DocumentMetaData dmd;
- try {
+ try {
JCas originalView = jcas.getView("_InitialView");
originalText = originalView.getSofaDataString();
- //TODO: A bit over engineered? Is this config really parsed very time???
+ //TODO: A bit over engineered? Is this config really parsed very time???
PreProcessor pp = new ClinicalNotePreProcessor(
FileLocator.getAsStream(dtdfilepath),
includeSectionMarkers.booleanValue());
@@ -180,7 +179,7 @@ public class CdaCasInitializer extends J
// Add section (segment) annotations
Iterator<String> segmentItr = (Iterator<String>)dmd.getSegmentIdentifiers().iterator();
- while (segmentItr.hasNext())
+ while (segmentItr.hasNext())
{
String segmentID = (String) segmentItr.next();
SegmentMetaData smd = dmd.getSegment(segmentID);
@@ -191,19 +190,19 @@ public class CdaCasInitializer extends J
sa.setId(smd.id);
sa.addToIndexes();
- }
-
+ }
+
// Store meta data about the document
Pairs propAnnot = new Pairs(plaintextView);
- Map metaDataMap = dmd.getMetaData();
-
- String docID = (String)metaDataMap.get(ClinicalNotePreProcessor.MD_KEY_DOC_ID);
- if (docID!=null) {
- DocumentID newDocId = new DocumentID(plaintextView);
- newDocId.setDocumentID(docID);
- newDocId.addToIndexes();
-
- }
+ Map metaDataMap = dmd.getMetaData();
+
+ String docID = (String)metaDataMap.get(ClinicalNotePreProcessor.MD_KEY_DOC_ID);
+ if (docID!=null) {
+ DocumentID newDocId = new DocumentID(plaintextView);
+ newDocId.setDocumentID(docID);
+ newDocId.addToIndexes();
+
+ }
FSArray fsArr = new FSArray(plaintextView, metaDataMap.size());
Iterator keyItr = metaDataMap.keySet().iterator();
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/CausesBringsAboutRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/CausesBringsAboutRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/CausesBringsAboutRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/CausesBringsAboutRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,24 +18,19 @@
*/
package org.apache.ctakes.relationextractor.ae;
-import java.util.ArrayList;
-import java.util.List;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
import org.apache.ctakes.typesystem.type.relation.CausesBringsAboutTextRelation;
-import org.apache.ctakes.typesystem.type.relation.ManagesTreatsTextRelation;
import org.apache.ctakes.typesystem.type.relation.RelationArgument;
-import org.apache.ctakes.typesystem.type.textsem.AnatomicalSiteMention;
-import org.apache.ctakes.typesystem.type.textsem.DiseaseDisorderMention;
-import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
-import org.apache.ctakes.typesystem.type.textsem.MedicationMention;
-import org.apache.ctakes.typesystem.type.textsem.ProcedureMention;
-import org.apache.ctakes.typesystem.type.textsem.SignSymptomMention;
+import org.apache.ctakes.typesystem.type.textsem.*;
import org.apache.ctakes.typesystem.type.textspan.Sentence;
import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Identifies causes/brings_about relation.
*
@@ -49,6 +44,13 @@ import org.apache.uima.jcas.tcas.Annotat
* arg1: procedure, medication, disease/disorder
* arg2: disease/disorder, sign/symptom
*/
+@PipeBitInfo(
+ name = "Causal Relation Annotator",
+ description = "Annotates Causal relations in sentences.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.GENERIC_RELATION }
+)
public class CausesBringsAboutRelationExtractorAnnotator extends RelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline1DegreeOfRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline1DegreeOfRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline1DegreeOfRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline1DegreeOfRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,19 +18,28 @@
*/
package org.apache.ctakes.relationextractor.ae.baselines;
-import java.util.ArrayList;
-import java.util.List;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.DegreeOfRelationExtractorAnnotator;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.cleartk.ml.CleartkProcessingException;
import org.cleartk.ml.Feature;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Annotated degree_of relation in sentences containing a single entity mention
* of a valid degree_of type and a single modifier.
*/
+@PipeBitInfo(
+ name = "Degree of Annotator 1",
+ description = "Annotates Degree Of relations in sentences containing a single entity mention of a valid" +
+ " degree_of type and a single modifier.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.DEGREE_RELATION }
+)
public class Baseline1DegreeOfRelationExtractorAnnotator extends DegreeOfRelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline1EntityMentionPairRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline1EntityMentionPairRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline1EntityMentionPairRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline1EntityMentionPairRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,9 +18,8 @@
*/
package org.apache.ctakes.relationextractor.ae.baselines;
-import java.util.ArrayList;
-import java.util.List;
-
+import com.google.common.collect.Lists;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
import org.apache.ctakes.typesystem.type.textsem.EntityMention;
import org.apache.ctakes.typesystem.type.textspan.Sentence;
@@ -29,12 +28,20 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.cleartk.ml.Feature;
-import com.google.common.collect.Lists;
+import java.util.ArrayList;
+import java.util.List;
/**
* Annotate location_of relation between two entities in sentences containing
* exactly two entities (where the entities are of the correct types).
*/
+@PipeBitInfo(
+ name = "Location of Annotator 1",
+ description = "Annotates Location Of relations in sentences containing exactly two entities (where the entities are of the correct types).",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.LOCATION_RELATION }
+)
public class Baseline1EntityMentionPairRelationExtractorAnnotator extends RelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline2DegreeOfRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline2DegreeOfRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline2DegreeOfRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline2DegreeOfRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,11 +18,10 @@
*/
package org.apache.ctakes.relationextractor.ae.baselines;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
+import com.google.common.collect.Ordering;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
import org.apache.ctakes.typesystem.type.textsem.EntityMention;
import org.apache.ctakes.typesystem.type.textsem.Modifier;
@@ -35,9 +34,10 @@ import org.apache.uima.jcas.tcas.Annotat
import org.cleartk.ml.CleartkProcessingException;
import org.cleartk.ml.Feature;
-import com.google.common.base.Function;
-import com.google.common.base.Functions;
-import com.google.common.collect.Ordering;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
/**
@@ -45,6 +45,13 @@ import com.google.common.collect.Orderin
* and a single legitimate degree_of arg1 (i.e. disiease/disorder or sign/symptom). Use the pair of
* arguments that have the shortest distance to each other.
*/
+@PipeBitInfo(
+ name = "Degree of Annotator 2",
+ description = "Annotates Degree Of relations between two shortest-distance entities in sentences with multiple modifiers.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.DEGREE_RELATION }
+)
public class Baseline2DegreeOfRelationExtractorAnnotator extends RelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline2EntityMentionPairRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline2EntityMentionPairRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline2EntityMentionPairRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline2EntityMentionPairRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,13 +18,10 @@
*/
package org.apache.ctakes.relationextractor.ae.baselines;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
+import com.google.common.collect.Ordering;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
import org.apache.ctakes.typesystem.type.textsem.EntityMention;
import org.apache.ctakes.typesystem.type.textspan.Sentence;
@@ -35,14 +32,19 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.cleartk.ml.Feature;
-import com.google.common.base.Function;
-import com.google.common.base.Functions;
-import com.google.common.collect.Ordering;
+import java.util.*;
/**
* Annotate location_of relation between two entities in sentences with multiple anatomical sites
* and a single legitimate location_of arg2. Use the pair of arguments that are the closest to each other.
*/
+@PipeBitInfo(
+ name = "Location of Annotator 2",
+ description = "Annotates Location Of relations in sentences containing with multiple anatomical sites.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.LOCATION_RELATION }
+)
public class Baseline2EntityMentionPairRelationExtractorAnnotator extends RelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline3DegreeOfRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline3DegreeOfRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline3DegreeOfRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline3DegreeOfRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,15 +18,10 @@
*/
package org.apache.ctakes.relationextractor.ae.baselines;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
+import com.google.common.collect.Ordering;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
import org.apache.ctakes.typesystem.type.syntax.BaseToken;
import org.apache.ctakes.typesystem.type.textsem.EntityMention;
@@ -37,14 +32,19 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.cleartk.ml.Feature;
-import com.google.common.base.Function;
-import com.google.common.base.Functions;
-import com.google.common.collect.Ordering;
+import java.util.*;
/**
* This baseline links each modifier with the closest entity of a type
* that's suitable for degree_of, as long as there is no intervening modifier.
*/
+@PipeBitInfo(
+ name = "Degree of Annotator 3",
+ description = "Annotates Degree Of relations between two shortest-distance entities in sentences as long as there is no intervening modifier.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.DEGREE_RELATION }
+)
public class Baseline3DegreeOfRelationExtractorAnnotator extends RelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline3EntityMentionPairRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline3EntityMentionPairRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline3EntityMentionPairRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline3EntityMentionPairRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,15 +18,10 @@
*/
package org.apache.ctakes.relationextractor.ae.baselines;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
+import com.google.common.collect.Ordering;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
import org.apache.ctakes.typesystem.type.syntax.BaseToken;
import org.apache.ctakes.typesystem.type.textsem.EntityMention;
@@ -36,14 +31,20 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.cleartk.ml.Feature;
-import com.google.common.base.Function;
-import com.google.common.base.Functions;
-import com.google.common.collect.Ordering;
+import java.util.*;
/**
* This baseline links each anatomical site with the closest entity of a type
* that's suitable for location_of, as long as there is no intervening anatomical site.
*/
+@PipeBitInfo(
+ name = "Location of Annotator 3",
+ description = "Links each anatomical site with the closest entity of a type that's suitable for location_of," +
+ " as long as there is no intervening anatomical site.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.LOCATION_RELATION }
+)
public class Baseline3EntityMentionPairRelationExtractorAnnotator extends RelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline4DegreeOfRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline4DegreeOfRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline4DegreeOfRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline4DegreeOfRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,9 +18,7 @@
*/
package org.apache.ctakes.relationextractor.ae.baselines;
-import java.util.ArrayList;
-import java.util.List;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.DegreeOfRelationExtractorAnnotator;
import org.apache.ctakes.typesystem.type.syntax.TreebankNode;
import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
@@ -28,10 +26,20 @@ import org.apache.ctakes.typesystem.type
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Annotate degree_of relation between two entities whenever
* they are enclosed within the same noun phrse.
*/
+@PipeBitInfo(
+ name = "Degree of Annotator 4",
+ description = "Annotates Degree Of relations between two entities whenever they are enclosed within the same noun phrase.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.DEGREE_RELATION }
+)
public class Baseline4DegreeOfRelationExtractorAnnotator extends DegreeOfRelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline4EntityMentionPairRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline4EntityMentionPairRelationExtractorAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline4EntityMentionPairRelationExtractorAnnotator.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/baselines/Baseline4EntityMentionPairRelationExtractorAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,9 +18,7 @@
*/
package org.apache.ctakes.relationextractor.ae.baselines;
-import java.util.ArrayList;
-import java.util.List;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
import org.apache.ctakes.typesystem.type.syntax.TreebankNode;
import org.apache.ctakes.typesystem.type.textsem.EntityMention;
@@ -31,10 +29,20 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.cleartk.ml.Feature;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Annotate location_of relation between two entities whenever
* they are enclosed within the same noun phrse.
*/
+@PipeBitInfo(
+ name = "Location of Annotator 4",
+ description = "Annotates Location Of relations between two entities whenever they are enclosed within the same noun phrase.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION },
+ products = { PipeBitInfo.TypeProduct.LOCATION_RELATION }
+)
public class Baseline4EntityMentionPairRelationExtractorAnnotator extends RelationExtractorAnnotator {
@Override
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java Mon Apr 10 20:56:02 2017
@@ -18,43 +18,17 @@
*/
package org.apache.ctakes.relationextractor.eval;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.Nullable;
-
-import org.apache.ctakes.relationextractor.ae.CausesBringsAboutRelationExtractorAnnotator;
-import org.apache.ctakes.relationextractor.ae.DegreeOfRelationExtractorAnnotator;
-import org.apache.ctakes.relationextractor.ae.LocationOfRelationExtractorAnnotator;
-import org.apache.ctakes.relationextractor.ae.ManagesTreatsRelationExtractorAnnotator;
-import org.apache.ctakes.relationextractor.ae.ManifestationOfRelationExtractorAnnotator;
-import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
-import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
-import org.apache.ctakes.typesystem.type.relation.CausesBringsAboutTextRelation;
-import org.apache.ctakes.typesystem.type.relation.DegreeOfTextRelation;
-import org.apache.ctakes.typesystem.type.relation.LocationOfTextRelation;
-import org.apache.ctakes.typesystem.type.relation.ManagesTreatsTextRelation;
-import org.apache.ctakes.typesystem.type.relation.ManifestationOfTextRelation;
-import org.apache.ctakes.typesystem.type.relation.RelationArgument;
-import org.apache.ctakes.typesystem.type.textsem.AnatomicalSiteMention;
-import org.apache.ctakes.typesystem.type.textsem.EntityMention;
-import org.apache.ctakes.typesystem.type.textsem.EventMention;
-import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
-import org.apache.ctakes.typesystem.type.textsem.Modifier;
+import com.google.common.base.Function;
+import com.google.common.base.Objects;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
+import org.apache.ctakes.relationextractor.ae.*;
+import org.apache.ctakes.typesystem.type.relation.*;
+import org.apache.ctakes.typesystem.type.textsem.*;
import org.apache.uima.UIMAFramework;
import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
@@ -83,13 +57,9 @@ import org.cleartk.ml.jar.JarClassifierB
import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
import org.cleartk.util.ViewUriUtil;
-import com.google.common.base.Function;
-import com.google.common.base.Objects;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import javax.annotation.Nullable;
+import java.io.*;
+import java.util.*;
public class RelationExtractorEvaluation extends SHARPXMI.Evaluation_ImplBase {
@@ -280,7 +250,7 @@ public class RelationExtractorEvaluation
* @param ignoreImpossibleGoldRelations
* During testing, ignore gold relations that would be impossible to
* find because there are no corresponding system mentions
- * @param expandEvent
+ // * @param expandEvent
*/
public RelationExtractorEvaluation(
File baseDirectory,
@@ -384,6 +354,12 @@ public class RelationExtractorEvaluation
}
}
+ @PipeBitInfo(
+ name = "Location Relation Overlapper",
+ description = "Adds Location-Of relations for annotations overlapping those already having relations.",
+ role = PipeBitInfo.Role.SPECIAL,
+ dependencies = { PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION, PipeBitInfo.TypeProduct.LOCATION_RELATION }
+ )
public static class AddPotentialRelations extends JCasAnnotator_ImplBase {
@Override
public void process(JCas jCas) throws AnalysisEngineProcessException {
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/SHARPXMI.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/SHARPXMI.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/SHARPXMI.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/SHARPXMI.java Mon Apr 10 20:56:02 2017
@@ -24,6 +24,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
import com.lexicalscope.jewel.cli.Option;
import org.apache.ctakes.core.ae.SHARPKnowtatorXMLReader;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.core.util.DocumentIDAnnotationUtil;
import org.apache.ctakes.typesystem.type.structured.DocumentID;
import org.apache.uima.UIMAFramework;
@@ -367,6 +368,11 @@ public class SHARPXMI {
}
}
+ @PipeBitInfo(
+ name = "Text to Gold Copier",
+ description = "Copies Text from the System view to the Gold view.",
+ role = PipeBitInfo.Role.SPECIAL
+ )
public static class CopyDocumentTextToGoldView extends JCasAnnotator_ImplBase {
@Override
public void process( JCas jCas ) throws AnalysisEngineProcessException {
Modified: ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java (original)
+++ ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java Mon Apr 10 20:56:02 2017
@@ -18,27 +18,34 @@
*/
package org.apache.ctakes.relationextractor.eval;
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.uima.UimaContext;
import org.apache.uima.cas.impl.XmiCasDeserializer;
import org.apache.uima.collection.CollectionException;
+import org.apache.uima.fit.component.JCasCollectionReader_ImplBase;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
import org.apache.uima.jcas.JCas;
import org.apache.uima.resource.ResourceInitializationException;
import org.apache.uima.util.Progress;
import org.apache.uima.util.ProgressImpl;
-import org.apache.uima.fit.component.JCasCollectionReader_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
import org.xml.sax.SAXException;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+
/**
* UIMA CollectionReader that reads in CASes from XMI files.
*/
+@PipeBitInfo(
+ name = "XMI Files Reader",
+ description = "Reads document texts and annotations from XMI files specified in a provided list.",
+ role = PipeBitInfo.Role.READER,
+ products = { PipeBitInfo.TypeProduct.DOCUMENT_ID }
+)
public class XMIReader extends JCasCollectionReader_ImplBase {
public static final String PARAM_FILES = "files";
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/BackwardsTimeAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/BackwardsTimeAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/BackwardsTimeAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/BackwardsTimeAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,10 +18,8 @@
*/
package org.apache.ctakes.temporal.ae;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
+import com.google.common.collect.Lists;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.temporal.ae.feature.ParseSpanFeatureExtractor;
import org.apache.ctakes.temporal.ae.feature.TimeWordTypeExtractor;
import org.apache.ctakes.typesystem.type.syntax.BaseToken;
@@ -43,22 +41,28 @@ import org.cleartk.ml.DataWriter;
import org.cleartk.ml.Feature;
import org.cleartk.ml.Instance;
import org.cleartk.ml.chunking.BioChunking;
-import org.cleartk.ml.feature.extractor.CleartkExtractor;
+import org.cleartk.ml.feature.extractor.*;
import org.cleartk.ml.feature.extractor.CleartkExtractor.Following;
import org.cleartk.ml.feature.extractor.CleartkExtractor.Preceding;
-import org.cleartk.ml.feature.extractor.CombinedExtractor1;
-import org.cleartk.ml.feature.extractor.CoveredTextExtractor;
-import org.cleartk.ml.feature.extractor.FeatureExtractor1;
-import org.cleartk.ml.feature.extractor.TypePathExtractor;
import org.cleartk.ml.feature.function.CharacterCategoryPatternFunction;
import org.cleartk.ml.feature.function.CharacterCategoryPatternFunction.PatternType;
import org.cleartk.ml.jar.DefaultDataWriterFactory;
import org.cleartk.ml.jar.DirectoryDataWriterFactory;
import org.cleartk.ml.jar.GenericJarClassifierFactory;
-import com.google.common.collect.Lists;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+@PipeBitInfo(
+ name = "Backward Timex Annotator",
+ description = "Annotates absolute time / date Temporal expressions.",
+ role = PipeBitInfo.Role.ANNOTATOR,
+ dependencies = { PipeBitInfo.TypeProduct.SECTION, PipeBitInfo.TypeProduct.SENTENCE,
+ PipeBitInfo.TypeProduct.BASE_TOKEN },
+ products = { PipeBitInfo.TypeProduct.TIMEX }
+)
public class BackwardsTimeAnnotator extends TemporalEntityAnnotator_ImplBase {
public static final String PARAM_TIMEX_VIEW = "TimexView";
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/CRFTimeAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/CRFTimeAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/CRFTimeAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/CRFTimeAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,10 +18,7 @@
*/
package org.apache.ctakes.temporal.ae;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.temporal.ae.feature.ParseSpanFeatureExtractor;
import org.apache.ctakes.temporal.ae.feature.TimeWordTypeExtractor;
import org.apache.ctakes.typesystem.type.syntax.BaseToken;
@@ -42,15 +39,23 @@ import org.cleartk.ml.CleartkAnnotator;
import org.cleartk.ml.Feature;
import org.cleartk.ml.Instances;
import org.cleartk.ml.chunking.BioChunking;
-import org.cleartk.ml.feature.extractor.CleartkExtractor;
+import org.cleartk.ml.feature.extractor.*;
import org.cleartk.ml.feature.extractor.CleartkExtractor.Following;
import org.cleartk.ml.feature.extractor.CleartkExtractor.Preceding;
-import org.cleartk.ml.feature.extractor.CombinedExtractor1;
-import org.cleartk.ml.feature.extractor.CoveredTextExtractor;
-import org.cleartk.ml.feature.extractor.FeatureExtractor1;
-import org.cleartk.ml.feature.extractor.TypePathExtractor;
import org.cleartk.ml.jar.GenericJarClassifierFactory;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+@PipeBitInfo(
+ name = "Timex Annotator",
+ description = "Annotates absolute time / date Temporal expressions into a View.",
+ role = PipeBitInfo.Role.SPECIAL,
+ dependencies = { PipeBitInfo.TypeProduct.SECTION, PipeBitInfo.TypeProduct.SENTENCE,
+ PipeBitInfo.TypeProduct.BASE_TOKEN },
+ products = { PipeBitInfo.TypeProduct.TIMEX }
+)
public class CRFTimeAnnotator extends TemporalSequenceAnnotator_ImplBase {
public static final String PARAM_TIMEX_VIEW = "TimexView";
@ConfigurationParameter(
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKDocTimeRelAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKDocTimeRelAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKDocTimeRelAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKDocTimeRelAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,21 +18,21 @@
*/
package org.apache.ctakes.temporal.ae;
-import java.util.Map;
-
+import com.google.common.collect.Maps;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.typesystem.type.textsem.EventMention;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.jcas.JCas;
import org.apache.uima.resource.ResourceInitializationException;
import org.cleartk.timeml.type.Anchor;
import org.cleartk.timeml.type.DocumentCreationTime;
import org.cleartk.timeml.type.TemporalLink;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.util.JCasUtil;
-import com.google.common.collect.Maps;
+import java.util.Map;
/**
* for every cTAKES EventMention annotation, create a ClearTK Event Annotation
@@ -40,6 +40,11 @@ import com.google.common.collect.Maps;
* @author Chen Lin
*
*/
+@PipeBitInfo(
+ name = "ClearTK DocTimeRel",
+ description = "Annotates event relativity to document creation time.",
+ dependencies = { PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION, PipeBitInfo.TypeProduct.EVENT }
+)
public class ClearTKDocTimeRelAnnotator extends JCasAnnotator_ImplBase {
public ClearTKDocTimeRelAnnotator() {
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKDocumentCreationTimeAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKDocumentCreationTimeAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKDocumentCreationTimeAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKDocumentCreationTimeAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,19 +18,24 @@
*/
package org.apache.ctakes.temporal.ae;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
import org.apache.uima.jcas.JCas;
import org.apache.uima.resource.ResourceInitializationException;
import org.cleartk.timeml.type.DocumentCreationTime;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
/**
* for every cTAKES JCas, create a ClearTK Document Creation Time Annotation, fake span, no attribute.
* @author Chen Lin
*
*/
+@PipeBitInfo(
+ name = "ClearTK DocTime Creator",
+ description = "Creates an annotation for document creation time."
+)
public class ClearTKDocumentCreationTimeAnnotator extends JCasAnnotator_ImplBase {
public ClearTKDocumentCreationTimeAnnotator() {
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKLinkToTHYMELinkAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKLinkToTHYMELinkAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKLinkToTHYMELinkAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ClearTKLinkToTHYMELinkAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,21 +18,27 @@
*/
package org.apache.ctakes.temporal.ae;
-import java.util.HashSet;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
import org.apache.ctakes.typesystem.type.relation.RelationArgument;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.resource.ResourceInitializationException;
import org.cleartk.timeml.type.Anchor;
import org.cleartk.timeml.type.TemporalLink;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.util.JCasUtil;
+import java.util.HashSet;
+
+@PipeBitInfo(
+ name = "ClearTK Thyme Linker",
+ description = "Maps old THYME project relations to a binary text relation representation.",
+ products = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+)
public class ClearTKLinkToTHYMELinkAnnotator extends JCasAnnotator_ImplBase {
static HashSet<String> ctkRels = new HashSet<String>();
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConsecutiveSentencesEventEventRelationAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConsecutiveSentencesEventEventRelationAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConsecutiveSentencesEventEventRelationAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConsecutiveSentencesEventEventRelationAnnotator.java Mon Apr 10 20:56:02 2017
@@ -1,39 +1,21 @@
package org.apache.ctakes.temporal.ae;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
+import com.google.common.collect.Lists;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
-import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator.IdentifiedAnnotationPair;
import org.apache.ctakes.relationextractor.ae.features.PartOfSpeechFeaturesExtractor;
import org.apache.ctakes.relationextractor.ae.features.RelationFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.CheckSpecialWordRelationExtractor;
-//import org.apache.ctakes.temporal.ae.feature.DeterminerRelationFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.EventArgumentPropertyExtractor;
-import org.apache.ctakes.temporal.ae.feature.EventPositionRelationFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.EventTimeRelationFeatureExtractor;
-import org.apache.ctakes.temporal.ae.feature.NumberOfEventTimeBetweenCandidatesExtractor;
-import org.apache.ctakes.temporal.ae.feature.OverlappedHeadFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.SRLRelationFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.SectionHeaderRelationExtractor;
-import org.apache.ctakes.temporal.ae.feature.TimeXRelationFeaturesExtractor;
-//import org.apache.ctakes.temporal.ae.feature.TemporalAttributeForMixEventTimeExtractor;
-import org.apache.ctakes.temporal.ae.feature.UmlsFeatureExtractor;
-import org.apache.ctakes.temporal.ae.feature.UnexpandedTokenFeaturesExtractor;
+import org.apache.ctakes.temporal.ae.feature.*;
import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
import org.apache.ctakes.typesystem.type.relation.RelationArgument;
import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
-//import org.apache.ctakes.typesystem.type.syntax.WordToken;
import org.apache.ctakes.typesystem.type.textsem.EventMention;
import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
import org.apache.ctakes.typesystem.type.textspan.Segment;
-//import org.apache.ctakes.typesystem.type.textspan.Paragraph;
import org.apache.ctakes.typesystem.type.textspan.Sentence;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.jcas.tcas.DocumentAnnotation;
@@ -43,12 +25,22 @@ import org.cleartk.ml.DataWriter;
import org.cleartk.ml.jar.DefaultDataWriterFactory;
import org.cleartk.ml.jar.DirectoryDataWriterFactory;
import org.cleartk.ml.jar.GenericJarClassifierFactory;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.util.JCasUtil;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
+import java.io.File;
+import java.util.*;
+
+//import org.apache.ctakes.temporal.ae.feature.DeterminerRelationFeaturesExtractor;
+//import org.apache.ctakes.temporal.ae.feature.TemporalAttributeForMixEventTimeExtractor;
+//import org.apache.ctakes.typesystem.type.syntax.WordToken;
+//import org.apache.ctakes.typesystem.type.textspan.Paragraph;
+@PipeBitInfo(
+ name = "Consecutive Sentence E-E TLinker",
+ description = "Creates Event - Event TLinks between consecutive sentences.",
+ dependencies = { PipeBitInfo.TypeProduct.SECTION, PipeBitInfo.TypeProduct.SENTENCE,
+ PipeBitInfo.TypeProduct.EVENT },
+ products = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+)
public class ConsecutiveSentencesEventEventRelationAnnotator extends RelationExtractorAnnotator {
public static AnalysisEngineDescription createDataWriterDescription(
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConsecutiveSentencesEventTimeRelationAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConsecutiveSentencesEventTimeRelationAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConsecutiveSentencesEventTimeRelationAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConsecutiveSentencesEventTimeRelationAnnotator.java Mon Apr 10 20:56:02 2017
@@ -1,37 +1,22 @@
package org.apache.ctakes.temporal.ae;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
+import com.google.common.collect.Lists;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator;
-import org.apache.ctakes.relationextractor.ae.RelationExtractorAnnotator.IdentifiedAnnotationPair;
import org.apache.ctakes.relationextractor.ae.features.PartOfSpeechFeaturesExtractor;
import org.apache.ctakes.relationextractor.ae.features.RelationFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.DeterminerRelationFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.EventArgumentPropertyExtractor;
-import org.apache.ctakes.temporal.ae.feature.EventPositionRelationFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.NumberOfEventTimeBetweenCandidatesExtractor;
-import org.apache.ctakes.temporal.ae.feature.SRLRelationFeaturesExtractor;
-import org.apache.ctakes.temporal.ae.feature.SectionHeaderRelationExtractor;
-import org.apache.ctakes.temporal.ae.feature.TimeXRelationFeaturesExtractor;
-//import org.apache.ctakes.temporal.ae.feature.TemporalAttributeForMixEventTimeExtractor;
-import org.apache.ctakes.temporal.ae.feature.UmlsFeatureExtractor;
-import org.apache.ctakes.temporal.ae.feature.UnexpandedTokenFeaturesExtractor;
+import org.apache.ctakes.temporal.ae.feature.*;
import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
import org.apache.ctakes.typesystem.type.relation.RelationArgument;
import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
-//import org.apache.ctakes.typesystem.type.syntax.WordToken;
import org.apache.ctakes.typesystem.type.textsem.EventMention;
import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
import org.apache.ctakes.typesystem.type.textsem.TimeMention;
import org.apache.ctakes.typesystem.type.textspan.Segment;
-//import org.apache.ctakes.typesystem.type.textspan.Paragraph;
import org.apache.ctakes.typesystem.type.textspan.Sentence;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.tcas.Annotation;
import org.apache.uima.jcas.tcas.DocumentAnnotation;
@@ -41,12 +26,21 @@ import org.cleartk.ml.DataWriter;
import org.cleartk.ml.jar.DefaultDataWriterFactory;
import org.cleartk.ml.jar.DirectoryDataWriterFactory;
import org.cleartk.ml.jar.GenericJarClassifierFactory;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.util.JCasUtil;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
+import java.io.File;
+import java.util.*;
+
+//import org.apache.ctakes.temporal.ae.feature.TemporalAttributeForMixEventTimeExtractor;
+//import org.apache.ctakes.typesystem.type.syntax.WordToken;
+//import org.apache.ctakes.typesystem.type.textspan.Paragraph;
+@PipeBitInfo(
+ name = "Consecutive Sentence E-T TLinker",
+ description = "Creates Event - Time TLinks between consecutive sentences.",
+ dependencies = { PipeBitInfo.TypeProduct.SECTION, PipeBitInfo.TypeProduct.SENTENCE,
+ PipeBitInfo.TypeProduct.EVENT, PipeBitInfo.TypeProduct.TIMEX },
+ products = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+)
public class ConsecutiveSentencesEventTimeRelationAnnotator extends RelationExtractorAnnotator {
public static AnalysisEngineDescription createDataWriterDescription(
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConstituencyBasedTimeAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConstituencyBasedTimeAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConstituencyBasedTimeAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ConstituencyBasedTimeAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,15 +18,10 @@
*/
package org.apache.ctakes.temporal.ae;
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Charsets;
+import com.google.common.collect.Maps;
+import com.google.common.io.Resources;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.temporal.ae.feature.TimeWordTypeExtractor;
import org.apache.ctakes.typesystem.type.syntax.BaseToken;
import org.apache.ctakes.typesystem.type.syntax.TopTreebankNode;
@@ -48,13 +43,9 @@ import org.cleartk.ml.CleartkAnnotator;
import org.cleartk.ml.DataWriter;
import org.cleartk.ml.Feature;
import org.cleartk.ml.Instance;
-import org.cleartk.ml.feature.extractor.CleartkExtractor;
+import org.cleartk.ml.feature.extractor.*;
import org.cleartk.ml.feature.extractor.CleartkExtractor.Bag;
import org.cleartk.ml.feature.extractor.CleartkExtractor.Covered;
-import org.cleartk.ml.feature.extractor.CombinedExtractor1;
-import org.cleartk.ml.feature.extractor.CoveredTextExtractor;
-import org.cleartk.ml.feature.extractor.FeatureExtractor1;
-import org.cleartk.ml.feature.extractor.TypePathExtractor;
import org.cleartk.ml.feature.function.CharacterCategoryPatternFunction;
import org.cleartk.ml.feature.function.CharacterCategoryPatternFunction.PatternType;
import org.cleartk.ml.jar.DefaultDataWriterFactory;
@@ -62,10 +53,17 @@ import org.cleartk.ml.jar.DirectoryDataW
import org.cleartk.ml.jar.GenericJarClassifierFactory;
import org.cleartk.timeml.util.TimeWordsExtractor;
-import com.google.common.base.Charsets;
-import com.google.common.collect.Maps;
-import com.google.common.io.Resources;
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.*;
+@PipeBitInfo(
+ name = "Constituency Timex Filter",
+ description = "Creates Timex annotations.",
+ dependencies = { PipeBitInfo.TypeProduct.SECTION, PipeBitInfo.TypeProduct.BASE_TOKEN,
+ PipeBitInfo.TypeProduct.TIMEX }
+)
public class ConstituencyBasedTimeAnnotator extends
TemporalEntityAnnotator_ImplBase {
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ContextualModalityAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ContextualModalityAnnotator.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ContextualModalityAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/ContextualModalityAnnotator.java Mon Apr 10 20:56:02 2017
@@ -18,9 +18,7 @@
*/
package org.apache.ctakes.temporal.ae;
-import java.io.File;
-import java.util.List;
-
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.typesystem.type.syntax.BaseToken;
import org.apache.ctakes.typesystem.type.textsem.EventMention;
import org.apache.uima.UimaContext;
@@ -45,6 +43,14 @@ import org.cleartk.ml.jar.DefaultDataWri
import org.cleartk.ml.jar.DirectoryDataWriterFactory;
import org.cleartk.ml.jar.GenericJarClassifierFactory;
+import java.io.File;
+import java.util.List;
+
+@PipeBitInfo(
+ name = "Context Modality Annotator",
+ description = "Sets Modality based upon context.",
+ dependencies = { PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION }
+)
public class ContextualModalityAnnotator extends CleartkAnnotator<String> {
public static AnalysisEngineDescription createDataWriterDescription(
Class<? extends DataWriter<String>> dataWriterClass,
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/duration/EventEventDurationStatistics.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/duration/EventEventDurationStatistics.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/duration/EventEventDurationStatistics.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/duration/EventEventDurationStatistics.java Mon Apr 10 20:56:02 2017
@@ -18,11 +18,12 @@
*/
package org.apache.ctakes.temporal.duration;
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
+import com.google.common.base.Charsets;
+import com.google.common.collect.Lists;
+import com.google.common.io.Files;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.temporal.eval.CommandLine;
import org.apache.ctakes.temporal.eval.THYMEData;
import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
@@ -32,18 +33,17 @@ import org.apache.uima.analysis_engine.A
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.cas.CASException;
import org.apache.uima.collection.CollectionReader;
-import org.apache.uima.jcas.JCas;
import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
import org.apache.uima.fit.descriptor.ConfigurationParameter;
import org.apache.uima.fit.factory.AnalysisEngineFactory;
import org.apache.uima.fit.pipeline.SimplePipeline;
import org.apache.uima.fit.util.JCasUtil;
+import org.apache.uima.jcas.JCas;
-import com.google.common.base.Charsets;
-import com.google.common.collect.Lists;
-import com.google.common.io.Files;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
/**
* Analyze duration information for the relation arguments of CONTAINS relation.
@@ -84,7 +84,13 @@ public class EventEventDurationStatistic
/**
* Look at event-event relations whose event arguments have duration data.
*/
- public static class AnalyseRelationArgumentDuration extends JCasAnnotator_ImplBase {
+ @PipeBitInfo(
+ name = "E-E Duration Computer",
+ description = "Writes a file with durations of Contains Event-Event temporal relations.",
+ role = PipeBitInfo.Role.SPECIAL,
+ dependencies = { PipeBitInfo.TypeProduct.EVENT, PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+ )
+ public static class AnalyseRelationArgumentDuration extends JCasAnnotator_ImplBase {
@ConfigurationParameter(
name = "OutputFile",
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/duration/EventTimeDurationStatistics.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/duration/EventTimeDurationStatistics.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/duration/EventTimeDurationStatistics.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/duration/EventTimeDurationStatistics.java Mon Apr 10 20:56:02 2017
@@ -18,12 +18,12 @@
*/
package org.apache.ctakes.temporal.duration;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
+import com.google.common.base.Charsets;
+import com.google.common.collect.Lists;
+import com.google.common.io.Files;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.temporal.eval.CommandLine;
import org.apache.ctakes.temporal.eval.THYMEData;
import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
@@ -34,18 +34,18 @@ import org.apache.uima.analysis_engine.A
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.cas.CASException;
import org.apache.uima.collection.CollectionReader;
-import org.apache.uima.jcas.JCas;
import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
import org.apache.uima.fit.descriptor.ConfigurationParameter;
import org.apache.uima.fit.factory.AnalysisEngineFactory;
import org.apache.uima.fit.pipeline.SimplePipeline;
import org.apache.uima.fit.util.JCasUtil;
+import org.apache.uima.jcas.JCas;
-import com.google.common.base.Charsets;
-import com.google.common.collect.Lists;
-import com.google.common.io.Files;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.File;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
/**
* Analyze duration information for the relation arguments of CONTAINS relation.
@@ -87,7 +87,14 @@ public class EventTimeDurationStatistics
* Look at those event-time relations whose event argument has duration data
* and whose time argument can be normalized using Bethard timex normalizer.
*/
- public static class AnalyseRelationArgumentDuration extends JCasAnnotator_ImplBase {
+ @PipeBitInfo(
+ name = "E-T Duration Computer",
+ description = "Writes a file with durations of Contains Event-Timex temporal relations.",
+ role = PipeBitInfo.Role.SPECIAL,
+ dependencies = { PipeBitInfo.TypeProduct.EVENT, PipeBitInfo.TypeProduct.TIMEX,
+ PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+ )
+ public static class AnalyseRelationArgumentDuration extends JCasAnnotator_ImplBase {
@ConfigurationParameter(
name = "OutputFile",
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfBothEEAndETRelations.java Mon Apr 10 20:56:02 2017
@@ -18,38 +18,18 @@
*/
package org.apache.ctakes.temporal.eval;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
-import org.apache.ctakes.temporal.ae.CrossSentenceTemporalRelationAnnotator;
-import org.apache.ctakes.temporal.ae.DocTimeRelAnnotator;
-import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
-import org.apache.ctakes.temporal.ae.EventTimeSelfRelationAnnotator;
-import org.apache.ctakes.temporal.ae.TemporalRelationExtractorAnnotator;
-import org.apache.ctakes.temporal.ae.WithinSentenceBeforeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+import org.apache.ctakes.temporal.ae.*;
import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
import org.apache.ctakes.temporal.eval.EvaluationOfEventEventThymeRelations.AddEEPotentialRelations;
import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.AddPotentialRelations;
import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.Overlap2Contains;
import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
@@ -80,20 +60,24 @@ import org.apache.uima.util.FileUtils;
import org.cleartk.eval.AnnotationStatistics;
import org.cleartk.ml.jar.JarClassifierBuilder;
import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
-//import org.cleartk.ml.libsvm.tk.TkLibSvmStringOutcomeDataWriter;
-//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
-//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
import org.cleartk.util.ViewUriUtil;
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.net.URI;
+import java.util.*;
+
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.cleartk.ml.libsvm.tk.TkLibSvmStringOutcomeDataWriter;
+//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
+//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
public class EvaluationOfBothEEAndETRelations extends
EvaluationOfTemporalRelations_ImplBase{
@@ -446,14 +430,14 @@ EvaluationOfTemporalRelations_ImplBase{
// aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(WithinSentenceBeforeRelationAnnotator.class));
if(this.anaforaOutput != null){
- aed = AnalysisEngineFactory.createEngineDescription(WriteAnaforaXML.class, WriteAnaforaXML.PARAM_OUTPUT_DIR, this.anaforaOutput);
- if(this.writeProbabilities){
+ aed = AnalysisEngineFactory.createEngineDescription(WriteAnaforaXML.class, WriteAnaforaXML.PARAM_OUTPUT_DIR, this.anaforaOutput);
+ if(this.writeProbabilities){
ConfigurationParameterFactory.addConfigurationParameters(
aed,
WriteAnaforaXML.PARAM_PROB_VIEW,
PROB_VIEW_NAME);
- }
- aggregateBuilder.add(aed, "TimexView", CAS.NAME_DEFAULT_SOFA);
+ }
+ aggregateBuilder.add(aed, "TimexView", CAS.NAME_DEFAULT_SOFA);
}
File outf = null;
@@ -785,6 +769,12 @@ EvaluationOfTemporalRelations_ImplBase{
}
+ @PipeBitInfo(
+ name = "Transitive Contains Adder",
+ description = "Adds Contains temporal relations for annotations / relations in contain other relations.",
+ role = PipeBitInfo.Role.SPECIAL,
+ dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+ )
public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
@Override
@@ -850,6 +840,12 @@ EvaluationOfTemporalRelations_ImplBase{
}
+ @PipeBitInfo(
+ name = "TLink Overlap Adder",
+ description = "Adds an Overlap temporal relation for each Contains temporal relation.",
+ role = PipeBitInfo.Role.SPECIAL,
+ dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+ )
public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
@Override
@@ -876,6 +872,12 @@ EvaluationOfTemporalRelations_ImplBase{
}
}
+ @PipeBitInfo(
+ name = "Reverse Overlap TLinker",
+ description = "Adds Overlap temporal relations with arguments flipped.",
+ role = PipeBitInfo.Role.SPECIAL,
+ dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+ )
public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
@Override
@@ -916,6 +918,12 @@ EvaluationOfTemporalRelations_ImplBase{
}
}
+ @PipeBitInfo(
+ name = "TLink Closure Engine",
+ description = "Performs closure on Temporal Relations",
+ role = PipeBitInfo.Role.SPECIAL,
+ dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+ )
public static class AddClosure extends JCasAnnotator_ImplBase {
@Override
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfClearTKEventProperties.java Mon Apr 10 20:56:02 2017
@@ -18,19 +18,10 @@
*/
package org.apache.ctakes.temporal.eval;
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.FileHandler;
-import java.util.logging.Formatter;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
+import com.google.common.base.Function;
+import com.google.common.collect.Maps;
+import com.lexicalscope.jewel.cli.CliFactory;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.temporal.ae.ClearTKDocTimeRelAnnotator;
import org.apache.ctakes.temporal.ae.ClearTKDocumentCreationTimeAnnotator;
import org.apache.ctakes.temporal.ae.EventToClearTKEventAnnotator;
@@ -53,17 +44,15 @@ import org.cleartk.opennlp.tools.ParserA
import org.cleartk.opennlp.tools.PosTaggerAnnotator;
import org.cleartk.opennlp.tools.SentenceAnnotator;
import org.cleartk.snowball.DefaultSnowballStemmer;
-import org.cleartk.timeml.event.EventAspectAnnotator;
-import org.cleartk.timeml.event.EventClassAnnotator;
-import org.cleartk.timeml.event.EventModalityAnnotator;
-import org.cleartk.timeml.event.EventPolarityAnnotator;
-import org.cleartk.timeml.event.EventTenseAnnotator;
+import org.cleartk.timeml.event.*;
import org.cleartk.timeml.tlink.TemporalLinkEventToDocumentCreationTimeAnnotator;
import org.cleartk.token.tokenizer.TokenAnnotator;
-import com.google.common.base.Function;
-import com.google.common.collect.Maps;
-import com.lexicalscope.jewel.cli.CliFactory;
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
+import java.util.logging.*;
+import java.util.logging.Formatter;
public class EvaluationOfClearTKEventProperties extends
Evaluation_ImplBase<Map<String, AnnotationStatistics<String>>> {
@@ -225,6 +214,11 @@ public class EvaluationOfClearTKEventPro
};
}
+ @PipeBitInfo(
+ name = "Event Property Clearer",
+ description = "Clears all event properties.",
+ role = PipeBitInfo.Role.SPECIAL
+ )
public static class ClearEventProperties extends JCasAnnotator_ImplBase {
@Override
public void process(JCas jCas) throws AnalysisEngineProcessException {