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 2025/06/11 12:36:54 UTC
(ctakes) branch main updated: Attempt to fix https://github.com/apache/ctakes/issues/70 . Swapped uima getLogger() calls with ctakes LoggerFactory.getLogger() constant. ctakes uses a modified LoggerFactory in place of the slf4j LoggerFactory.
This is an automated email from the ASF dual-hosted git repository.
seanfinan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ctakes.git
The following commit(s) were added to refs/heads/main by this push:
new 0fc743c Attempt to fix https://github.com/apache/ctakes/issues/70 . Swapped uima getLogger() calls with ctakes LoggerFactory.getLogger() constant. ctakes uses a modified LoggerFactory in place of the slf4j LoggerFactory.
0fc743c is described below
commit 0fc743cee9c3a9dc715d93191393d10d5d323996
Author: Sean Finan <se...@childrens.harvard.edu>
AuthorDate: Wed Jun 11 08:36:36 2025 -0400
Attempt to fix https://github.com/apache/ctakes/issues/70 .
Swapped uima getLogger() calls with ctakes LoggerFactory.getLogger() constant. ctakes uses a modified LoggerFactory in place of the slf4j LoggerFactory.
---
.../cleartk/AssertionCleartkAnalysisEngine.java | 18 +++++++++++-------
.../cleartk/PolarityCleartkAnalysisEngine.java | 11 +++++++----
.../cleartk/PolarityFedaCleartkAnalysisEngine.java | 7 +++++--
.../medfacts/cleartk/SubjectCleartkAnalysisEngine.java | 11 +++++++----
.../windowed/SubjectCleartkAnalysisEngineWindowed.java | 10 ++++++----
5 files changed, 36 insertions(+), 21 deletions(-)
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
index 3824612..cfbe484 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/AssertionCleartkAnalysisEngine.java
@@ -49,6 +49,8 @@ import org.cleartk.ml.feature.extractor.FeatureExtractor1;
import org.cleartk.ml.feature.extractor.TypePathExtractor;
import org.cleartk.ml.feature.function.FeatureFunctionExtractor;
import org.cleartk.ml.tksvmlight.TreeFeature;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.net.URI;
@@ -58,8 +60,10 @@ import java.util.*;
/**
* @author swu
*/
-public abstract class AssertionCleartkAnalysisEngine extends
- CleartkAnnotator<String> {
+public abstract class AssertionCleartkAnalysisEngine extends CleartkAnnotator<String> {
+ static private final Logger LOGGER = LoggerFactory.getLogger( "AssertionCleartkAnalysisEngine" );
+
+
public static final String PARAM_GOLD_VIEW_NAME = "GoldViewName";
public enum FEATURE_CONFIG {
@@ -306,7 +310,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
@Override
public void process( JCas jCas ) throws AnalysisEngineProcessException {
- getLogger().info( "Processing ..." );
+ LOGGER.info( "Processing ..." );
String documentId = DocIdUtil.getDocumentID( jCas );
String domainId = "";
String domainFeature = null;
@@ -316,7 +320,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
}
if ( documentId != null ) {
- getLogger().debug( "processing next doc: " + documentId );
+ LOGGER.debug( "processing next doc: {}", documentId );
// set the domain to be FeatureFunction'ed into all extractors
if ( !fileToDomain.isEmpty() && ffDomainAdaptor != null ) {
domainId = fileToDomain.get( documentId );
@@ -326,7 +330,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
domainFeature = fileToDomain.get( documentId );
}
} else {
- getLogger().debug( "processing next doc (doc id is null)" );
+ LOGGER.debug( "processing next doc (doc id is null)" );
}
this.lastLabel = "<BEGIN>";
@@ -381,7 +385,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
for ( IdentifiedAnnotation identifiedAnnotation : entities ) {
if ( identifiedAnnotation.getPolarity() == -1 ) {
- getLogger().debug( String.format( " - identified annotation: [%d-%d] polarity %d (%s)",
+ LOGGER.debug( String.format( " - identified annotation: [%d-%d] polarity %d (%s)",
identifiedAnnotation.getBegin(),
identifiedAnnotation.getEnd(),
identifiedAnnotation.getPolarity(),
@@ -665,7 +669,7 @@ public abstract class AssertionCleartkAnalysisEngine extends
// Object.finalize() was deprecated in jdk 9. Given the manner of this code, this is a -reasonable- replacement.
@Override
-public void collectionProcessComplete() throws AnalysisEngineProcessException {
+ public void collectionProcessComplete() throws AnalysisEngineProcessException {
super.collectionProcessComplete();
if ( classifier instanceof AutoCloseable ) {
try {
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
index dc97ad6..9fe91ab 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityCleartkAnalysisEngine.java
@@ -31,6 +31,8 @@ import org.apache.uima.fit.factory.AnalysisEngineFactory;
import org.apache.uima.resource.ResourceInitializationException;
import org.cleartk.ml.Instance;
import org.cleartk.ml.jar.GenericJarClassifierFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.net.URI;
@@ -43,8 +45,9 @@ import java.util.ArrayList;
dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION }
)
public class PolarityCleartkAnalysisEngine extends AssertionCleartkAnalysisEngine {
-
- public static final String NEGATED = "NEGATED";
+ static private final Logger LOGGER = LoggerFactory.getLogger( "PolarityCleartkAnalysisEngine" );
+
+ public static final String NEGATED = "NEGATED";
public static final String NOT_NEGATED = "NOT_NEGATED";
@@ -108,7 +111,7 @@ public class PolarityCleartkAnalysisEngine extends AssertionCleartkAnalysisEngin
// downsampling. initialize probabilityOfKeepingADefaultExample to 1.0 for no downsampling
if (NEGATED.equals(polarity))
{
- getLogger().debug("TRAINING: " + polarity);
+ LOGGER.debug("TRAINING: " + polarity);
}
if (NOT_NEGATED.equals(polarity)
&& coin.nextDouble() >= this.probabilityOfKeepingADefaultExample) {
@@ -127,7 +130,7 @@ public class PolarityCleartkAnalysisEngine extends AssertionCleartkAnalysisEngin
} else if (NEGATED.equals(label))
{
polarity = CONST.NE_POLARITY_NEGATION_PRESENT;
- getLogger().debug(String.format("DECODING/EVAL: %s//%s [%d-%d] (%s)", label, polarity, entityOrEventMention.getBegin(), entityOrEventMention.getEnd(), entityOrEventMention.getClass().getName()));
+ LOGGER.debug(String.format("DECODING/EVAL: %s//%s [%d-%d] (%s)", label, polarity, entityOrEventMention.getBegin(), entityOrEventMention.getEnd(), entityOrEventMention.getClass().getName()));
}
entityOrEventMention.setPolarity(polarity);
}
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityFedaCleartkAnalysisEngine.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityFedaCleartkAnalysisEngine.java
index f0afeac..66a6b08 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityFedaCleartkAnalysisEngine.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/PolarityFedaCleartkAnalysisEngine.java
@@ -32,6 +32,8 @@ import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.resource.ResourceInitializationException;
import org.cleartk.ml.Instance;
import org.cleartk.ml.feature.function.FeatureFunctionExtractor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.net.URI;
@@ -45,6 +47,7 @@ import java.util.ArrayList;
dependencies = { PipeBitInfo.TypeProduct.SENTENCE, PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION }
)
public class PolarityFedaCleartkAnalysisEngine extends PolarityCleartkAnalysisEngine {
+ static private final Logger LOGGER = LoggerFactory.getLogger( "PolarityFedaCleartkAnalysisEngine" );
@Override
public void initialize(UimaContext context) throws ResourceInitializationException {
@@ -74,7 +77,7 @@ public class PolarityFedaCleartkAnalysisEngine extends PolarityCleartkAnalysisEn
// downsampling. initialize probabilityOfKeepingADefaultExample to 1.0 for no downsampling
if (NEGATED.equals(polarity))
{
- getLogger().debug("TRAINING: " + polarity);
+ LOGGER.debug("TRAINING: " + polarity);
}
if (NOT_NEGATED.equals(polarity)
&& coin.nextDouble() >= this.probabilityOfKeepingADefaultExample) {
@@ -93,7 +96,7 @@ public class PolarityFedaCleartkAnalysisEngine extends PolarityCleartkAnalysisEn
} else if (NEGATED.equals(label))
{
polarity = CONST.NE_POLARITY_NEGATION_PRESENT;
- getLogger().debug(String.format("DECODING/EVAL: %s//%s [%d-%d] (%s)", label, polarity, entityOrEventMention.getBegin(), entityOrEventMention.getEnd(), entityOrEventMention.getClass().getName()));
+ LOGGER.debug(String.format("DECODING/EVAL: %s//%s [%d-%d] (%s)", label, polarity, entityOrEventMention.getBegin(), entityOrEventMention.getEnd(), entityOrEventMention.getClass().getName()));
}
entityOrEventMention.setPolarity(polarity);
}
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java
index 522b8ca..2a4d1b9 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/SubjectCleartkAnalysisEngine.java
@@ -29,12 +29,14 @@ import org.apache.uima.fit.factory.AnalysisEngineFactory;
import org.apache.uima.resource.ResourceInitializationException;
import org.cleartk.ml.Instance;
import org.cleartk.ml.jar.GenericJarClassifierFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.net.URI;
-public class SubjectCleartkAnalysisEngine extends
- AssertionCleartkAnalysisEngine {
+public class SubjectCleartkAnalysisEngine extends AssertionCleartkAnalysisEngine {
+ static private final Logger LOGGER = LoggerFactory.getLogger( "SubjectCleartkAnalysisEngine" );
boolean USE_DEFAULT_EXTRACTORS = false;
@@ -70,7 +72,7 @@ public class SubjectCleartkAnalysisEngine extends
return;
}
instance.setOutcome(subj);
- getLogger().debug(String.format("[%s] expected: ''; actual: ''; features: %s",
+ LOGGER.debug(String.format("[%s] expected: ''; actual: ''; features: %s",
this.getClass().getSimpleName(),
instance.toString()
));
@@ -78,7 +80,8 @@ public class SubjectCleartkAnalysisEngine extends
{
String label = this.classifier.classify(instance.getFeatures());
entityOrEventMention.setSubject(label);
- getLogger().debug("SUBJECT is being set on an IdentifiedAnnotation: "+label+" "+entityOrEventMention.getSubject());
+ LOGGER.debug( "SUBJECT is being set on an IdentifiedAnnotation: {} {}", label,
+ entityOrEventMention.getSubject() );
}
}
public static FeatureSelection<String> createFeatureSelection(double threshold) {
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/windowed/SubjectCleartkAnalysisEngineWindowed.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/windowed/SubjectCleartkAnalysisEngineWindowed.java
index 24db0ea..338cb1d 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/windowed/SubjectCleartkAnalysisEngineWindowed.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/cleartk/windowed/SubjectCleartkAnalysisEngineWindowed.java
@@ -29,12 +29,14 @@ import org.apache.uima.fit.factory.AnalysisEngineFactory;
import org.apache.uima.resource.ResourceInitializationException;
import org.cleartk.ml.Instance;
import org.cleartk.ml.jar.GenericJarClassifierFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.net.URI;
-public class SubjectCleartkAnalysisEngineWindowed extends
- WindowedAssertionCleartkAnalysisEngine {
+public class SubjectCleartkAnalysisEngineWindowed extends WindowedAssertionCleartkAnalysisEngine {
+ static private final Logger LOGGER = LoggerFactory.getLogger( "SubjectCleartkAnalysisEngineWindowed" );
boolean USE_DEFAULT_EXTRACTORS = false;
@@ -69,14 +71,14 @@ public class SubjectCleartkAnalysisEngineWindowed extends
return;
}
instance.setOutcome( subj );
- getLogger().debug(String.format( "[%s] expected: ''; actual: ''; features: %s",
+ LOGGER.debug(String.format( "[%s] expected: ''; actual: ''; features: %s",
this.getClass().getSimpleName(),
instance.toString()
) );
} else {
String label = this.classifier.classify( instance.getFeatures() );
entityOrEventMention.setSubject( label );
- getLogger().debug(
+ LOGGER.debug(
"SUBJECT is being set on an IdentifiedAnnotation: " + label + " " + entityOrEventMention.getSubject() );
}
}