You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by cl...@apache.org on 2020/02/24 16:00:58 UTC
svn commit: r1874457 - in /ctakes/trunk/ctakes-temporal: scripts/nn-joint/
src/main/java/org/apache/ctakes/temporal/nn/ae/
src/main/java/org/apache/ctakes/temporal/nn/eval/
src/main/java/org/apache/ctakes/temporal/utils/
Author: clin
Date: Mon Feb 24 16:00:58 2020
New Revision: 1874457
URL: http://svn.apache.org/viewvc?rev=1874457&view=rev
Log:
Add section filter for CONTAINS multi-pass model evaluation: EvaluationOfNeuralJointRelations
Add spaces around a newline character in the token sequence output, in order to avoid cases like "newlineheight".
Add Classify.sh file
Added:
ctakes/trunk/ctakes-temporal/scripts/nn-joint/
ctakes/trunk/ctakes-temporal/scripts/nn-joint/classify.sh
ctakes/trunk/ctakes-temporal/scripts/nn-joint/train.sh
Modified:
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/ae/WindowBasedAnnotator.java
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/eval/EvaluationOfNeuralJointRelations.java
ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/utils/TokenPreprocForWord2Vec.java
Added: ctakes/trunk/ctakes-temporal/scripts/nn-joint/classify.sh
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/scripts/nn-joint/classify.sh?rev=1874457&view=auto
==============================================================================
--- ctakes/trunk/ctakes-temporal/scripts/nn-joint/classify.sh (added)
+++ ctakes/trunk/ctakes-temporal/scripts/nn-joint/classify.sh Mon Feb 24 16:00:58 2020
@@ -0,0 +1,12 @@
+#!/bin/bash
+>&2 echo "Usign BERT backend"
+#source $(dirname $0)/../keras/env/bin/activate
+#python $(dirname $0)/bi_lstm_classify_hybrid.py $*
+#python $(dirname $0)/bi_lstm_classify.py $*
+#ret=$?
+#deactivate
+#exit $ret
+
+ssh clin@nlp-gpu "/home/clin/Projects/deepLearning/nn/classify.sh"
+ret=$?
+exit $ret
Added: ctakes/trunk/ctakes-temporal/scripts/nn-joint/train.sh
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/scripts/nn-joint/train.sh?rev=1874457&view=auto
==============================================================================
--- ctakes/trunk/ctakes-temporal/scripts/nn-joint/train.sh (added)
+++ ctakes/trunk/ctakes-temporal/scripts/nn-joint/train.sh Mon Feb 24 16:00:58 2020
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+#source $(dirname $0)/../keras/env/bin/activate
+#python $(dirname $0)/cnn_train.py $* 2> nn_error.log
+ssh clin@nlp-gpu "/home/clin/Projects/deepLearning/nn/train.sh"
+ret=$?
+#deactivate
+exit $ret
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/ae/WindowBasedAnnotator.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/ae/WindowBasedAnnotator.java?rev=1874457&r1=1874456&r2=1874457&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/ae/WindowBasedAnnotator.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/ae/WindowBasedAnnotator.java Mon Feb 24 16:00:58 2020
@@ -101,11 +101,13 @@ public class WindowBasedAnnotator extend
}
// Boolean expandEvents = false;
+ List<String> badSegs = new ArrayList<>(Arrays.asList("SIMPLE_SEGMENT","20104","20105","20116","20138"));//,"20110"
Collection<Segment> segments = JCasUtil.select(jCas, Segment.class);
List<Segment> segList = Lists.newArrayList();
for(Segment seg: segments){
- if (!seg.getId().equals("SIMPLE_SEGMENT")){//remove simple segment
+ //if (!seg.getId().equals("SIMPLE_SEGMENT")){//remove simple segment
+ if (!badSegs.contains(seg.getId())){
segList.add(seg);
}
}
@@ -217,7 +219,7 @@ public class WindowBasedAnnotator extend
String timeTag = generateTimeTag(jCas, (TimeMention)arg1);
tokens.add(timeTag);
}else{
- tokens.add(arg1.getCoveredText().replaceAll("[\r\n]"," newline").toLowerCase());//.toLowerCase()
+ tokens.add(arg1.getCoveredText().replaceAll("[\r\n?|\n]"," newline ").toLowerCase());//.toLowerCase()
}
tokens.add(type1 + "e");
@@ -233,7 +235,7 @@ public class WindowBasedAnnotator extend
String timeTag = generateTimeTag(jCas, (TimeMention)arg2);
tokens.add(timeTag);
}else{
- tokens.add(arg2.getCoveredText().replaceAll("[\r\n]"," newline").toLowerCase());//.toLowerCase()
+ tokens.add(arg2.getCoveredText().replaceAll("[\r\n?|\n]"," newline ").toLowerCase());//.toLowerCase()
}
tokens.add(type2 + "e");
@@ -243,7 +245,7 @@ public class WindowBasedAnnotator extend
tokens.add(stringValue);
}
- return String.join(" ", tokens).replaceAll("[\r\n]", "newline");
+ return String.join(" ", tokens).replaceAll("[\r\n?|\n]", " newline ");
}
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/eval/EvaluationOfNeuralJointRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/eval/EvaluationOfNeuralJointRelations.java?rev=1874457&r1=1874456&r2=1874457&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/eval/EvaluationOfNeuralJointRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/nn/eval/EvaluationOfNeuralJointRelations.java Mon Feb 24 16:00:58 2020
@@ -37,9 +37,11 @@ import org.apache.ctakes.relationextract
import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
import org.apache.ctakes.temporal.keras.KerasStringOutcomeDataWriter;
import org.apache.ctakes.temporal.keras.ScriptStringFeatureDataWriter;
+import org.apache.ctakes.temporal.nn.ae.WindowBasedAnnotator;
//import org.apache.ctakes.temporal.nn.ae.JointRelationTokenBasedAnnotator;
//import org.apache.ctakes.temporal.nn.ae.TwoSentenceTokenBasedAnnotator;
-import org.apache.ctakes.temporal.nn.ae.WindowBasedAnnotator;
+//import org.apache.ctakes.temporal.nn.ae.WindowBasedAnnotator;
+//import org.apache.ctakes.temporal.nn.ae.WindowBasedStructureAnnotator;
import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase;
import org.apache.ctakes.temporal.eval.Evaluation_ImplBase;
import org.apache.ctakes.temporal.eval.I2B2Data;
@@ -99,33 +101,33 @@ import com.lexicalscope.jewel.cli.Option
*/
public class EvaluationOfNeuralJointRelations extends
EvaluationOfTemporalRelations_ImplBase{
- static interface TempRelOptions extends Evaluation_ImplBase.Options{
+ interface TempRelOptions extends Evaluation_ImplBase.Options{
@Option
- public boolean getPrintFormattedRelations();
+ boolean getPrintFormattedRelations();
@Option
- public boolean getBaseline();
+ boolean getBaseline();
@Option
- public boolean getClosure();
+ boolean getClosure();
@Option
- public boolean getUseTmp();
+ boolean getUseTmp();
@Option
- public boolean getUseGoldAttributes();
+ boolean getUseGoldAttributes();
@Option
- public boolean getSkipTrain();
+ boolean getSkipTrain();
@Option
- public boolean getWriteProbabilities();
+ boolean getWriteProbabilities();
@Option
- public boolean getTestOnTrain();
+ boolean getTestOnTrain();
@Option
- public boolean getSkipWrite();
+ boolean getSkipWrite();
}
// protected static boolean DEFAULT_BOTH_DIRECTIONS = false;
@@ -169,7 +171,7 @@ EvaluationOfTemporalRelations_ImplBase{
// for(ParameterSettings params : possibleParams){
try{
- File workingDir = new File("/Users/chenlin/Projects/THYME/modelFile");///Volumes/chip-nlp/Public/THYME/eval/thyme/");//"/Users/chenlin/Projects/deepLearning/models/selfTrainModel");//"target/eval/thyme/");//"/Volumes/chip-nlp/Public/THYME/eval/thyme/");
+ File workingDir = new File("target/eval/thyme/");///Volumes/chip-nlp/Public/THYME/eval/thyme/");///Users/chenlin/Projects/THYME/modelFile"/Users/chenlin/Projects/deepLearning/models/selfTrainModel");//"target/eval/thyme/");//"/Volumes/chip-nlp/Public/THYME/eval/thyme/");
if(!workingDir.exists()) workingDir.mkdirs();
if(options.getUseTmp()){
File tempModelDir = File.createTempFile("temporal", null, workingDir);
@@ -302,30 +304,6 @@ EvaluationOfTemporalRelations_ImplBase{
aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(AddClosure.class));
}
aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemoveNonContainsRelations.class));
- // aggregateBuilder.add(AnalysisEngineFactory.createPrimitiveDescription(AddFlippedOverlap.class));//add flipped overlap instances to training data
-
- // aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemoveNonTLINKRelations.class));//remove non tlink relations, such as alinks
-
- // aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(Overlap2Contains.class));
-
- // aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(PreserveEventEventRelations.class));
- // aggregateBuilder.add(AnalysisEngineFactory.createPrimitiveDescription(RemoveNonUMLSEvents.class));
-
- //add unlabeled nearby system events as potential links:
-// aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(AddEEPotentialRelations.class));
-// aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(AddPotentialRelations.class));
-
- // aggregateBuilder.add(
- // AnalysisEngineFactory.createEngineDescription(EventEventTokenBasedAnnotator.class,//EventEventTokenBasedAnnotator.class,EventEventPathsBasedAnnotator.class, EventEventTokenAndPosBasedAnnotator, EventEventPathsBasedAnnotator
- // CleartkAnnotator.PARAM_IS_TRAINING,
- // true,
- // DefaultDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME,
- // KerasStringOutcomeDataWriter.class,
- // DirectoryDataWriterFactory.PARAM_OUTPUT_DIRECTORY,
- // new File(directory,"event-event"),
- // ScriptStringFeatureDataWriter.PARAM_SCRIPT_DIR,
- // "scripts/nn/"
- // ) );
aggregateBuilder.add(
AnalysisEngineFactory.createEngineDescription(WindowBasedAnnotator.class,//WindowBasedAnnotator.class,//EventTimeTokenAndPathBasedAnnotator.class,//
@@ -355,48 +333,13 @@ EvaluationOfTemporalRelations_ImplBase{
aggregateBuilder.add(CopyFromGold.getDescription(EventMention.class, TimeMention.class));
aggregateBuilder.add(CopyFromSystem.getDescription(Sentence.class));
-// aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(
-// RemoveCrossSentenceRelations.class,
-// RemoveCrossSentenceRelations.PARAM_SENTENCE_VIEW,
-// CAS.NAME_DEFAULT_SOFA,
-// RemoveCrossSentenceRelations.PARAM_RELATION_VIEW,
-// GOLD_VIEW_NAME));
-
- //closure for gold:
-// aggregateBuilder.add(
-// AnalysisEngineFactory.createEngineDescription(AddClosure.class),//AnalysisEngineFactory.createPrimitiveDescription(AddTransitiveContainsRelations.class),
-// CAS.NAME_DEFAULT_SOFA,
-// GOLD_VIEW_NAME);
-
- //keep event event tlinks, remove the other relations
- // aggregateBuilder.add(
- // AnalysisEngineFactory.createEngineDescription(PreserveEventEventRelations.class),
- // CAS.NAME_DEFAULT_SOFA,
- // GOLD_VIEW_NAME);
-
- //remove non-tlink relations, such as alinks
- // aggregateBuilder.add(
- // AnalysisEngineFactory.createEngineDescription(RemoveNonTLINKRelations.class),
- // CAS.NAME_DEFAULT_SOFA,
- // GOLD_VIEW_NAME);
- // aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemoveNonUMLSEvents.class));
-
-
-
aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemoveNonContainsRelations.class),
CAS.NAME_DEFAULT_SOFA,
GOLD_VIEW_NAME);
aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(RemoveRelations.class));
AnalysisEngineDescription aed = null;
- // aed=AnalysisEngineFactory.createEngineDescription(EventEventTokenBasedAnnotator.class,//EventEventTokenBasedAnnotator.class,EventEventPathsBasedAnnotator.class, EventEventTokenAndPosBasedAnnotator
- // CleartkAnnotator.PARAM_IS_TRAINING,
- // false,
- // GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH,
- // new File(new File(directory,"event-event"), "model.jar").getPath());
- // aed = EventEventRelationAnnotator.createAnnotatorDescription((new File(directory,"event-event/model.jar")).getAbsolutePath());
- // aggregateBuilder.add(aed);
aed = AnalysisEngineFactory.createEngineDescription(WindowBasedAnnotator.class,//WindowBasedAnnotator.class,
CleartkAnnotator.PARAM_IS_TRAINING,
false,
@@ -416,8 +359,8 @@ EvaluationOfTemporalRelations_ImplBase{
// aggregateBuilder.add(AnalysisEngineFactory.createEngineDescription(WithinSentenceBeforeRelationAnnotator.class));
if(this.anaforaOutput != null){
- aed = AnalysisEngineFactory.createEngineDescription(WriteAnaforaXML.class, WriteAnaforaXML.PARAM_OUTPUT_DIR, this.anaforaOutput);
- aggregateBuilder.add(aed, "TimexView", CAS.NAME_DEFAULT_SOFA);
+ aed = AnalysisEngineFactory.createEngineDescription(WriteAnaforaXML.class, WriteAnaforaXML.PARAM_OUTPUT_DIR, this.anaforaOutput);
+ aggregateBuilder.add(aed, "TimexView", CAS.NAME_DEFAULT_SOFA);
}
File outf = null;
@@ -431,7 +374,7 @@ EvaluationOfTemporalRelations_ImplBase{
}else if (!recallModeEvaluation && this.useClosure){
outf = new File("target/brain_biLstm_precision_dev.txt");
}else{
- outf = new File("target/colon_bioBert_pmc_dev_closure.txt");
+ outf = new File("target/colon_ernie2filtered_contains_colon_test_closure.txt");
}
PrintWriter outDrop =null;
@@ -637,101 +580,6 @@ EvaluationOfTemporalRelations_ImplBase{
}
- /*
- private static String formatRelation(BinaryTextRelation relation) {
- IdentifiedAnnotation arg1 = (IdentifiedAnnotation)relation.getArg1().getArgument();
- IdentifiedAnnotation arg2 = (IdentifiedAnnotation)relation.getArg2().getArgument();
- String text = arg1.getCAS().getDocumentText();
- int begin = Math.min(arg1.getBegin(), arg2.getBegin());
- int end = Math.max(arg1.getBegin(), arg2.getBegin());
- begin = Math.max(0, begin - 50);
- end = Math.min(text.length(), end + 50);
- return String.format(
- "%s(%s(type=%d), %s(type=%d)) in ...%s...",
- relation.getCategory(),
- arg1.getCoveredText(),
- arg1.getTypeID(),
- arg2.getCoveredText(),
- arg2.getTypeID(),
- text.substring(begin, end).replaceAll("[\r\n]", " "));
- }
-
- private static void printRelationAnnotations(String fileName, Collection<BinaryTextRelation> relations) {
-
- for(BinaryTextRelation binaryTextRelation : relations) {
-
- Annotation arg1 = binaryTextRelation.getArg1().getArgument();
- Annotation arg2 = binaryTextRelation.getArg2().getArgument();
-
- String arg1Type = arg1.getClass().getSimpleName();
- String arg2Type = arg2.getClass().getSimpleName();
-
- int arg1Begin = arg1.getBegin();
- int arg1End = arg1.getEnd();
- int arg2Begin = arg2.getBegin();
- int arg2End = arg2.getEnd();
-
- String category = binaryTextRelation.getCategory();
-
- System.out.format("%s\t%s\t%s\t%d\t%d\t%s\t%d\t%d\n",
- fileName, category, arg1Type, arg1Begin, arg1End, arg2Type, arg2Begin, arg2End);
- }
- }
- */
-
-
-
- // @SuppressWarnings("unchecked")
- // private static <SPAN> Collection<BinaryTextRelation> getDuplicateRelations(
- // Collection<BinaryTextRelation> goldRelations,
- // Function<BinaryTextRelation, ?> getSpan) {
- // Set<BinaryTextRelation> duplicateRelations = Sets.newHashSet();
- // //build a multimap that map gold span to gold relation
- // Multimap<SPAN, BinaryTextRelation> spanToRelation = HashMultimap.create();
- // for (BinaryTextRelation relation : goldRelations) {
- // spanToRelation.put((SPAN) getSpan.apply(relation), relation);
- // }
- // for (SPAN span: spanToRelation.keySet()){
- // Collection<BinaryTextRelation> relations = spanToRelation.get(span);
- // if(relations.size()>1){//if same span maps to multiple relations
- // duplicateRelations.addAll(relations);
- // }
- // }
- // return duplicateRelations;
- // }
-
- // private static Collection<BinaryTextRelation> removeNonGoldRelations(
- // Collection<BinaryTextRelation> systemRelations, Collection<BinaryTextRelation> goldRelations) {
- // //remove non-gold pairs from system relations:
- // Set<BinaryTextRelation> goodSys = Sets.newHashSet();
- //
- // for(BinaryTextRelation sysrel : systemRelations){
- // Annotation sysArg1 = sysrel.getArg1().getArgument();
- // Annotation sysArg2 = sysrel.getArg2().getArgument();
- // for(BinaryTextRelation goldrel : goldRelations){
- // Annotation goldArg1 = goldrel.getArg1().getArgument();
- // Annotation goldArg2 = goldrel.getArg2().getArgument();
- // if(matchSpan(sysArg1, goldArg1) && matchSpan(sysArg2, goldArg2)){
- // goodSys.add(sysrel);
- // continue;
- // }else if (matchSpan(sysArg2, goldArg1) && matchSpan(sysArg1, goldArg2)){//the order of system pair was flipped
- // if(sysrel.getCategory().equals("OVERLAP")){ //if the relation is overlap, and the arg order was flipped, then change back the order
- // RelationArgument tempArg = (RelationArgument) sysrel.getArg1().clone();
- // sysrel.setArg1((RelationArgument) sysrel.getArg2().clone());
- // sysrel.setArg2(tempArg);
- // }//for other types of relation, still maintain the type.
- // goodSys.add(sysrel);
- // continue;
- // }
- // }
- // }
- //
- // return goodSys;
- // }
-
-
-
-
public static class RemoveNonTLINKRelations extends JCasAnnotator_ImplBase {
@Override
public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -984,25 +832,6 @@ EvaluationOfTemporalRelations_ImplBase{
}
ArrayList<BinaryTextRelation> temporalRelation = new ArrayList<>(annotationsToRelation.values());//new ArrayList<BinaryTextRelation>();
- // Map<List<Annotation>, BinaryTextRelation> temporalRelationLookup = new HashMap<List<Annotation>, BinaryTextRelation>();
- //
- // for (BinaryTextRelation relation : JCasUtil.select(jCas, BinaryTextRelation.class)){
- // String relationType = relation.getCategory();
- // if(validTemporalType(relationType)){
- // Annotation arg1 = relation.getArg1().getArgument();
- // Annotation arg2 = relation.getArg2().getArgument();
- // BinaryTextRelation tempRelation = temporalRelationLookup.get(Arrays.asList(arg1, arg2));
- // if( tempRelation == null){
- // temporalRelation.add(relation);
- // temporalRelationLookup.put(Arrays.asList(arg1, arg2), relation);
- // }else{//if there is duplicate
- // relation.getArg1().removeFromIndexes();
- // relation.getArg2().removeFromIndexes();
- // relation.removeFromIndexes();
- // }
- //
- // }
- // }
if (!temporalRelation.isEmpty()){
TLinkTypeArray2 relationArray = new TLinkTypeArray2(temporalRelation, new AnnotationIdCollection(temporalRelation));
@@ -1039,107 +868,4 @@ EvaluationOfTemporalRelations_ImplBase{
}
}
- // public static class AddTransitiveBeforeAndOnRelations extends JCasAnnotator_ImplBase {
- //
- // @Override
- // public void process(JCas jCas) throws AnalysisEngineProcessException {
- //
- // // collect many-to-many mappings of containment relations
- // Multimap<Annotation, Annotation> contains = HashMultimap.create();
- // Multimap<Annotation, Annotation> before = HashMultimap.create();
- // Multimap<Annotation, Annotation> endson = HashMultimap.create();
- // Multimap<Annotation, Annotation> beginson = HashMultimap.create();
- // Set<BinaryTextRelation> beforeRel = Sets.newHashSet();
- //
- // for (BinaryTextRelation relation : JCasUtil.select(jCas, BinaryTextRelation.class)) {
- // if (relation.getCategory().equals("CONTAINS")) {
- // Annotation arg1 = relation.getArg1().getArgument();
- // Annotation arg2 = relation.getArg2().getArgument();
- // contains.put(arg1, arg2);
- // }else if (relation.getCategory().equals("BEFORE")) {
- // Annotation arg1 = relation.getArg1().getArgument();
- // Annotation arg2 = relation.getArg2().getArgument();
- // before.put(arg1, arg2);
- // beforeRel.add(relation);
- // }else if (relation.getCategory().equals("ENDS-ON")) {
- // Annotation arg1 = relation.getArg1().getArgument();
- // Annotation arg2 = relation.getArg2().getArgument();
- // endson.put(arg1, arg2);
- // if (!endson.containsEntry(arg2, arg1)) {
- // endson.put(arg2, arg1);
- // }
- // }else if (relation.getCategory().equals("BEGINS-ON")) {
- // Annotation arg1 = relation.getArg1().getArgument();
- // Annotation arg2 = relation.getArg2().getArgument();
- // beginson.put(arg1, arg2);
- // if (!beginson.containsEntry(arg2, arg1)) {
- // beginson.put(arg2, arg1);
- // }
- // }
- // }
- //
- // // for A BEFORE B, check if A and B Contain anything
- // for (BinaryTextRelation brelation : beforeRel) {
- // Annotation argA = brelation.getArg1().getArgument();
- // Annotation argB = brelation.getArg2().getArgument();
- // //add contained before
- // for (Annotation childA : contains.get(argA)) {
- // for (Annotation childB : contains.get(argB)) {
- // if (!before.containsEntry(childA, childB)) {
- // //create a new before relation:
- // RelationArgument arg1 = new RelationArgument(jCas);
- // arg1.setArgument(childA);
- // RelationArgument arg2 = new RelationArgument(jCas);
- // arg2.setArgument(childB);
- // BinaryTextRelation relation = new BinaryTextRelation(jCas);
- // relation.setArg1(arg1);
- // relation.setArg2(arg2);
- // relation.setCategory("BEFORE");
- // arg1.addToIndexes();
- // arg2.addToIndexes();
- // relation.addToIndexes();
- // before.put(childA, childB);
- // }
- // }
- // }
- // //add ends-on A
- // for (Annotation endsOnA : endson.get(argA)) {
- // if (!before.containsEntry(endsOnA, argB)) {
- // //create a new before relation:
- // RelationArgument arg1 = new RelationArgument(jCas);
- // arg1.setArgument(endsOnA);
- // RelationArgument arg2 = new RelationArgument(jCas);
- // arg2.setArgument(argB);
- // BinaryTextRelation relation = new BinaryTextRelation(jCas);
- // relation.setArg1(arg1);
- // relation.setArg2(arg2);
- // relation.setCategory("BEFORE");
- // arg1.addToIndexes();
- // arg2.addToIndexes();
- // relation.addToIndexes();
- // before.put(endsOnA, argB);
- // }
- // }
- // //add begins-on B
- // for (Annotation beginsOnB : beginson.get(argB)) {
- // if (!before.containsEntry(argA, beginsOnB)) {
- // //create a new before relation:
- // RelationArgument arg1 = new RelationArgument(jCas);
- // arg1.setArgument(argA);
- // RelationArgument arg2 = new RelationArgument(jCas);
- // arg2.setArgument(beginsOnB);
- // BinaryTextRelation relation = new BinaryTextRelation(jCas);
- // relation.setArg1(arg1);
- // relation.setArg2(arg2);
- // relation.setCategory("BEFORE");
- // arg1.addToIndexes();
- // arg2.addToIndexes();
- // relation.addToIndexes();
- // before.put(argA, beginsOnB);
- // }
- // }
- // }
- // }
- //
- // }
}
Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/utils/TokenPreprocForWord2Vec.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/utils/TokenPreprocForWord2Vec.java?rev=1874457&r1=1874456&r2=1874457&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/utils/TokenPreprocForWord2Vec.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/utils/TokenPreprocForWord2Vec.java Mon Feb 24 16:00:58 2020
@@ -17,10 +17,10 @@ public class TokenPreprocForWord2Vec {
stringValue = tokenText;
break;
case "NewlineToken":
- stringValue = null;
+ stringValue = " newline ";//changed by Chen on 1/10/2019
break;
case "NumToken":
- stringValue = "number_token";
+ stringValue = tokenText; //"number_token"; changed by Chen on 2/21/2019
break;
case "PunctuationToken":
stringValue = tokenText;