You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by ja...@apache.org on 2012/10/31 06:26:55 UTC

svn commit: r1403989 [26/28] - in /incubator/ctakes/branches/SHARPn-cTAKES: Constituency Parser/src/org/chboston/cnlp/ctakes/parser/ Constituency Parser/src/org/chboston/cnlp/ctakes/parser/uima/ae/ Constituency Parser/src/org/chboston/cnlp/ctakes/parse...

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Constants.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Constants.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Constants.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Constants.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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
@@ -67,4 +61,4 @@ public class Constants {
 	// sharp relations selected for march 2012 deliverable
 	public static final HashSet<String> sharpRelationsSelected = 
 			new HashSet<String>(Arrays.asList("manages/treats", "degree_of", "causes/brings_about", "location_of", "indicates"));
-}
\ No newline at end of file
+}

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Splitter.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Splitter.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Splitter.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Splitter.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Stats.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Stats.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Stats.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/data/Stats.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/ModifierExtractorEvaluation.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/MultiClassLIBSVMDataWriterFactory.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/MultiClassLIBSVMDataWriterFactory.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/MultiClassLIBSVMDataWriterFactory.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/MultiClassLIBSVMDataWriterFactory.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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
@@ -53,4 +47,4 @@ public class MultiClassLIBSVMDataWriterF
     dataWriter.setOutcomeEncoder(new StringToIntegerOutcomeEncoder());
     return dataWriter;
   }
-}
\ No newline at end of file
+}

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/PrintRelationStatistics.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/PrintRelationStatistics.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/PrintRelationStatistics.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/PrintRelationStatistics.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/RelationExtractorEvaluation.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/RelationExtractorEvaluation.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/RelationExtractorEvaluation.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/eval/RelationExtractorEvaluation.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/ArgumentInfo.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/ArgumentInfo.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/ArgumentInfo.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/ArgumentInfo.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/RelationInfo.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/RelationInfo.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/RelationInfo.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/RelationInfo.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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
@@ -101,4 +95,4 @@ public class RelationInfo {
   	System.out.println(uniqueRelations.contains(ri2));
   	System.out.println(uniqueRelations.contains(ri3));
   }
-}
\ No newline at end of file
+}

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/Span.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/Span.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/Span.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/Span.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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
@@ -63,4 +57,4 @@ public class Span {
 	public String toString() {
 		return String.format("%d -- %d", start, end);
 	}
-}
\ No newline at end of file
+}

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/XMLReader.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/XMLReader.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/XMLReader.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/knowtator/XMLReader.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/GoldEntityAndRelationReaderPipeline.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/GoldEntityAndRelationReaderPipeline.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/GoldEntityAndRelationReaderPipeline.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/GoldEntityAndRelationReaderPipeline.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationAnnotationAnalysis.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationAnnotationAnalysis.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationAnnotationAnalysis.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationAnnotationAnalysis.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorConsumer.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorConsumer.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorConsumer.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorConsumer.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorPipeline.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorPipeline.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorPipeline.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorPipeline.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorPipelineSingleCas.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorPipelineSingleCas.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorPipelineSingleCas.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorPipelineSingleCas.java Wed Oct 31 05:26:43 2012
@@ -2,12 +2,6 @@
 
 * Copyright: (c) 2012  Children's Hospital Boston
 *
-* Except as contained in the copyright notice above, or as used to identify
-* MFMER as the author of this software, the trade names, trademarks, service
-* marks, or product names of the copyright holder shall not be used in
-* advertising, promotion or otherwise in connection with this software without
-* prior written authorization of the copyright holder.
-*
 * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorTrain.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorTrain.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorTrain.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/chboston/cnlp/ctakes/relationextractor/pipelines/RelationExtractorTrain.java Wed Oct 31 05:26:43 2012
@@ -1,12 +1,6 @@
 /*
  * Copyright: (c) 2012  Children's Hospital Boston, Regents of the University of Colorado 
  *
- * Except as contained in the copyright notice above, or as used to identify
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- *
  * Licensed 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

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/BIOChunking.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/BIOChunking.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/BIOChunking.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/BIOChunking.java Wed Oct 31 05:26:43 2012
@@ -1,26 +1,11 @@
 /* 
- * Copyright (c) 2012, Regents of the University of Colorado 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
- * Neither the name of the University of Colorado at Boulder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. 
- */
+ * 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
 package org.cleartk.classifier.chunking;
 
 import java.util.HashMap;

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/Chunking.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/Chunking.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/Chunking.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/Chunking.java Wed Oct 31 05:26:43 2012
@@ -1,26 +1,11 @@
 /* 
- * Copyright (c) 2012, Regents of the University of Colorado 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
- * Neither the name of the University of Colorado at Boulder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. 
- */
+ * 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
 package org.cleartk.classifier.chunking;
 
 import java.util.List;

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/Chunking_ImplBase.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/Chunking_ImplBase.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/Chunking_ImplBase.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/Chunking_ImplBase.java Wed Oct 31 05:26:43 2012
@@ -1,26 +1,11 @@
 /* 
- * Copyright (c) 2012, Regents of the University of Colorado 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
- * Neither the name of the University of Colorado at Boulder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. 
- */
+ * 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
 package org.cleartk.classifier.chunking;
 
 import java.lang.reflect.Constructor;

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/IOChunking.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/IOChunking.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/IOChunking.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/classifier/chunking/IOChunking.java Wed Oct 31 05:26:43 2012
@@ -1,26 +1,11 @@
 /* 
- * Copyright (c) 2012, Regents of the University of Colorado 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
- * Neither the name of the University of Colorado at Boulder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. 
- */
+ * 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
 package org.cleartk.classifier.chunking;
 
 import java.util.HashMap;

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/AnnotationStatistics.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/AnnotationStatistics.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/AnnotationStatistics.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/AnnotationStatistics.java Wed Oct 31 05:26:43 2012
@@ -1,26 +1,11 @@
 /* 
- * Copyright (c) 2012, Regents of the University of Colorado 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
- * Neither the name of the University of Colorado at Boulder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. 
- */
+ * 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
 package org.cleartk.eval;
 
 import java.io.Serializable;

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/Evaluation_ImplBase.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/Evaluation_ImplBase.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/Evaluation_ImplBase.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/Evaluation_ImplBase.java Wed Oct 31 05:26:43 2012
@@ -1,26 +1,11 @@
 /* 
- * Copyright (c) 2012, Regents of the University of Colorado 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
- * Neither the name of the University of Colorado at Boulder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. 
- */
+ * 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
 package org.cleartk.eval;
 
 import java.io.File;

Modified: incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/util/ConfusionMatrix.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/util/ConfusionMatrix.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/util/ConfusionMatrix.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/relation-extractor/src/org/cleartk/eval/util/ConfusionMatrix.java Wed Oct 31 05:26:43 2012
@@ -1,26 +1,11 @@
 /** 
- * Copyright (c) 2011, Regents of the University of Colorado 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
- * Neither the name of the University of Colorado at Boulder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE. 
- */
+ * 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
 package org.cleartk.eval.util;
 
 import java.util.HashMap;

Modified: incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/fsm/smoking/machine/NegationFSM.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/smoking%20status/src/edu/mayo/bmi/fsm/smoking/machine/NegationFSM.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/fsm/smoking/machine/NegationFSM.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/fsm/smoking/machine/NegationFSM.java Wed Oct 31 05:26:43 2012
@@ -1,18 +1,11 @@
 /*
- * Copyright: (c) 2009   Mayo Foundation for Medical Education and 
- * Research (MFMER). All rights reserved. MAYO, MAYO CLINIC, and the
- * triple-shield Mayo logo are trademarks and service marks of MFMER.
- *
- * Except as contained in the copyright notice above, or as used to identify 
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- * 
- * Licensed 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
- * 
+ * 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
@@ -21,419 +14,419 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  */
-package edu.mayo.bmi.fsm.smoking.machine;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import net.openai.util.fsm.AnyCondition;
-import net.openai.util.fsm.Condition;
-import net.openai.util.fsm.Machine;
-import net.openai.util.fsm.State;
-import edu.mayo.bmi.fsm.condition.DisjoinCondition;
-import edu.mayo.bmi.fsm.condition.NegateCondition;
-import edu.mayo.bmi.fsm.condition.TextSetCondition;
-import edu.mayo.bmi.fsm.output.NegationIndicator;
-import edu.mayo.bmi.fsm.state.NamedState;
-import edu.mayo.bmi.fsm.state.NonTerminalEndState;
-import edu.mayo.bmi.fsm.token.BaseToken;
-
-/**
- * Uses one or more finite state machines to detect dates in the given input of
- * tokens.
- * 
- * @author Mayo Clinic
- */
-public class NegationFSM {
-
-	// regular modal verb
-	private Set<String> iv_modalVerbsSet = new HashSet<String>();
-	// negative particle
-	private Set<String> iv_negParticlesSet = new HashSet<String>();
-	// regular verbs requiring negation particle
-	private Set<String> iv_regVerbsSet = new HashSet<String>();
-	// neagive verbs that contain negation in them
-	private Set<String> iv_negVerbsSet = new HashSet<String>();
-	// negation preposition
-	private Set<String> iv_negPrepositionsSet = new HashSet<String>();
-	// negatively charged determiners
-	private Set<String> iv_negDeterminersSet = new HashSet<String>();
-	// regular nouns - indicators
-	private Set<String> iv_regNounsSet = new HashSet<String>();
-	// regular prepositions
-	private Set<String> iv_regPrepositionsSet = new HashSet<String>();
-	// negative adjectives
-	private Set<String> iv_negAdjectivesSet = new HashSet<String>();
-	// negative collocations
-	private Set<String> iv_negCollocSet = new HashSet<String>();
-	// NEGATIVE COLLOCATION PARTICLE
-	private Set<String> iv_negColPartSet = new HashSet<String>();
-
-	// contains the finite state machines
-	private Set<Machine> iv_machineSet = new HashSet<Machine>();
-
-	/**
-	 * 
-	 * Constructor
-	 * 
-	 */
-	public NegationFSM() {
-		iv_modalVerbsSet.add("can");
-		iv_modalVerbsSet.add("ca");
-		iv_modalVerbsSet.add("will");
-		iv_modalVerbsSet.add("must");
-		iv_modalVerbsSet.add("could");
-		iv_modalVerbsSet.add("would");
-		iv_modalVerbsSet.add("should");
-		iv_modalVerbsSet.add("shall");
-		iv_modalVerbsSet.add("did");
-
-		iv_negParticlesSet.add("not");
-		iv_negColPartSet.add("out");
-		iv_negParticlesSet.add("n't");
-		iv_negParticlesSet.add("'t");
-
-		iv_negCollocSet.add("rule");
-		iv_negCollocSet.add("rules");
-		iv_negCollocSet.add("ruled");
-		iv_negCollocSet.add("ruling");
-		iv_negCollocSet.add("rule-out");
-
-		iv_regVerbsSet.add("reveal");
-		iv_regVerbsSet.add("reveals");
-		iv_regVerbsSet.add("revealed");
-		iv_regVerbsSet.add("revealing");
-		iv_regVerbsSet.add("have");
-		iv_regVerbsSet.add("had");
-		iv_regVerbsSet.add("has");
-		iv_regVerbsSet.add("feel");
-		iv_regVerbsSet.add("feels");
-		iv_regVerbsSet.add("felt");
-		iv_regVerbsSet.add("feeling");
-		iv_regVerbsSet.add("complain");
-		iv_regVerbsSet.add("complains");
-		iv_regVerbsSet.add("complained");
-		iv_regVerbsSet.add("complaining");
-		iv_regVerbsSet.add("demonstrate");
-		iv_regVerbsSet.add("demonstrates");
-		iv_regVerbsSet.add("demonstrated");
-		iv_regVerbsSet.add("demonstrating");
-		iv_regVerbsSet.add("appear");
-		iv_regVerbsSet.add("appears");
-		iv_regVerbsSet.add("appeared");
-		iv_regVerbsSet.add("appearing");
-		iv_regVerbsSet.add("caused");
-		iv_regVerbsSet.add("cause");
-		iv_regVerbsSet.add("causing");
-		iv_regVerbsSet.add("causes");
-		iv_regVerbsSet.add("find");
-		iv_regVerbsSet.add("finds");
-		iv_regVerbsSet.add("found");
-		iv_regVerbsSet.add("discover");
-		iv_regVerbsSet.add("discovered");
-		iv_regVerbsSet.add("discovers");
-
-		iv_negVerbsSet.add("deny");
-		iv_negVerbsSet.add("denies");
-		iv_negVerbsSet.add("denied");
-		iv_negVerbsSet.add("denying");
-		iv_negVerbsSet.add("fail");
-		iv_negVerbsSet.add("fails");
-		iv_negVerbsSet.add("failed");
-		iv_negVerbsSet.add("failing");
-		iv_negVerbsSet.add("decline");
-		iv_negVerbsSet.add("declines");
-		iv_negVerbsSet.add("declined");
-		iv_negVerbsSet.add("declining");
-		iv_negVerbsSet.add("exclude");
-		iv_negVerbsSet.add("excludes");
-		iv_negVerbsSet.add("excluding");
-		iv_negVerbsSet.add("excluded");
-
-		iv_negPrepositionsSet.add("without");
-		iv_negPrepositionsSet.add("absent");
-		iv_negPrepositionsSet.add("none");
+package edu.mayo.bmi.fsm.smoking.machine;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.openai.util.fsm.AnyCondition;
+import net.openai.util.fsm.Condition;
+import net.openai.util.fsm.Machine;
+import net.openai.util.fsm.State;
+import edu.mayo.bmi.fsm.condition.DisjoinCondition;
+import edu.mayo.bmi.fsm.condition.NegateCondition;
+import edu.mayo.bmi.fsm.condition.TextSetCondition;
+import edu.mayo.bmi.fsm.output.NegationIndicator;
+import edu.mayo.bmi.fsm.state.NamedState;
+import edu.mayo.bmi.fsm.state.NonTerminalEndState;
+import edu.mayo.bmi.fsm.token.BaseToken;
+
+/**
+ * Uses one or more finite state machines to detect dates in the given input of
+ * tokens.
+ * 
+ * @author Mayo Clinic
+ */
+public class NegationFSM {
+
+	// regular modal verb
+	private Set<String> iv_modalVerbsSet = new HashSet<String>();
+	// negative particle
+	private Set<String> iv_negParticlesSet = new HashSet<String>();
+	// regular verbs requiring negation particle
+	private Set<String> iv_regVerbsSet = new HashSet<String>();
+	// neagive verbs that contain negation in them
+	private Set<String> iv_negVerbsSet = new HashSet<String>();
+	// negation preposition
+	private Set<String> iv_negPrepositionsSet = new HashSet<String>();
+	// negatively charged determiners
+	private Set<String> iv_negDeterminersSet = new HashSet<String>();
+	// regular nouns - indicators
+	private Set<String> iv_regNounsSet = new HashSet<String>();
+	// regular prepositions
+	private Set<String> iv_regPrepositionsSet = new HashSet<String>();
+	// negative adjectives
+	private Set<String> iv_negAdjectivesSet = new HashSet<String>();
+	// negative collocations
+	private Set<String> iv_negCollocSet = new HashSet<String>();
+	// NEGATIVE COLLOCATION PARTICLE
+	private Set<String> iv_negColPartSet = new HashSet<String>();
+
+	// contains the finite state machines
+	private Set<Machine> iv_machineSet = new HashSet<Machine>();
+
+	/**
+	 * 
+	 * Constructor
+	 * 
+	 */
+	public NegationFSM() {
+		iv_modalVerbsSet.add("can");
+		iv_modalVerbsSet.add("ca");
+		iv_modalVerbsSet.add("will");
+		iv_modalVerbsSet.add("must");
+		iv_modalVerbsSet.add("could");
+		iv_modalVerbsSet.add("would");
+		iv_modalVerbsSet.add("should");
+		iv_modalVerbsSet.add("shall");
+		iv_modalVerbsSet.add("did");
+
+		iv_negParticlesSet.add("not");
+		iv_negColPartSet.add("out");
+		iv_negParticlesSet.add("n't");
+		iv_negParticlesSet.add("'t");
+
+		iv_negCollocSet.add("rule");
+		iv_negCollocSet.add("rules");
+		iv_negCollocSet.add("ruled");
+		iv_negCollocSet.add("ruling");
+		iv_negCollocSet.add("rule-out");
+
+		iv_regVerbsSet.add("reveal");
+		iv_regVerbsSet.add("reveals");
+		iv_regVerbsSet.add("revealed");
+		iv_regVerbsSet.add("revealing");
+		iv_regVerbsSet.add("have");
+		iv_regVerbsSet.add("had");
+		iv_regVerbsSet.add("has");
+		iv_regVerbsSet.add("feel");
+		iv_regVerbsSet.add("feels");
+		iv_regVerbsSet.add("felt");
+		iv_regVerbsSet.add("feeling");
+		iv_regVerbsSet.add("complain");
+		iv_regVerbsSet.add("complains");
+		iv_regVerbsSet.add("complained");
+		iv_regVerbsSet.add("complaining");
+		iv_regVerbsSet.add("demonstrate");
+		iv_regVerbsSet.add("demonstrates");
+		iv_regVerbsSet.add("demonstrated");
+		iv_regVerbsSet.add("demonstrating");
+		iv_regVerbsSet.add("appear");
+		iv_regVerbsSet.add("appears");
+		iv_regVerbsSet.add("appeared");
+		iv_regVerbsSet.add("appearing");
+		iv_regVerbsSet.add("caused");
+		iv_regVerbsSet.add("cause");
+		iv_regVerbsSet.add("causing");
+		iv_regVerbsSet.add("causes");
+		iv_regVerbsSet.add("find");
+		iv_regVerbsSet.add("finds");
+		iv_regVerbsSet.add("found");
+		iv_regVerbsSet.add("discover");
+		iv_regVerbsSet.add("discovered");
+		iv_regVerbsSet.add("discovers");
+
+		iv_negVerbsSet.add("deny");
+		iv_negVerbsSet.add("denies");
+		iv_negVerbsSet.add("denied");
+		iv_negVerbsSet.add("denying");
+		iv_negVerbsSet.add("fail");
+		iv_negVerbsSet.add("fails");
+		iv_negVerbsSet.add("failed");
+		iv_negVerbsSet.add("failing");
+		iv_negVerbsSet.add("decline");
+		iv_negVerbsSet.add("declines");
+		iv_negVerbsSet.add("declined");
+		iv_negVerbsSet.add("declining");
+		iv_negVerbsSet.add("exclude");
+		iv_negVerbsSet.add("excludes");
+		iv_negVerbsSet.add("excluding");
+		iv_negVerbsSet.add("excluded");
+
+		iv_negPrepositionsSet.add("without");
+		iv_negPrepositionsSet.add("absent");
+		iv_negPrepositionsSet.add("none");
 		iv_negPrepositionsSet.add("non");//added for smoking status 
-		
-		iv_negDeterminersSet.add("no");
-		iv_negDeterminersSet.add("any");
-		iv_negDeterminersSet.add("neither");
-		iv_negDeterminersSet.add("nor");
+		
+		iv_negDeterminersSet.add("no");
+		iv_negDeterminersSet.add("any");
+		iv_negDeterminersSet.add("neither");
+		iv_negDeterminersSet.add("nor");
 		iv_negDeterminersSet.add("never");
 		iv_negDeterminersSet.add("non-contributory");//added for smoking status
 		iv_negDeterminersSet.add("noncontributory");//added for smoking status
-		iv_negDeterminersSet.add("non");//added for smoking status
-
-		iv_regNounsSet.add("evidence");
-		iv_regNounsSet.add("indication");
-		iv_regNounsSet.add("indications");
-		iv_regNounsSet.add("sign");
-		iv_regNounsSet.add("signs");
-		iv_regNounsSet.add("symptoms");
-		iv_regNounsSet.add("symptom");
-		iv_regNounsSet.add("sx");
-		iv_regNounsSet.add("dx");
-		iv_regNounsSet.add("diagnosis");
-		iv_regNounsSet.add("history");
-		iv_regNounsSet.add("hx");
-		iv_regNounsSet.add("findings");
-
-		iv_regPrepositionsSet.add("of");
-		iv_regPrepositionsSet.add("in");
-		iv_regPrepositionsSet.add("for");
-		iv_regPrepositionsSet.add("with");
-
-		iv_negAdjectivesSet.add("unremarkable");
-		iv_negAdjectivesSet.add("unlikely");
-		iv_negAdjectivesSet.add("negative");
-
-		iv_machineSet.add(getAspectualNegIndicatorMachine());
-		iv_machineSet.add(getNominalNegIndicatorMachine());
-		iv_machineSet.add(getAdjNegIndicatorMachine());
-
-	}
-
-	private Machine getAspectualNegIndicatorMachine() {
-		State startState = new NamedState("START");
-		State endState = new NamedState("END");
-		State anyState = new NamedState("ANY");
-
-		State ntEndState = new NonTerminalEndState("NON TERMINAL END");
-		endState.setEndStateFlag(true);
-		ntEndState.setEndStateFlag(true);
-
-		Machine m = new Machine(startState);
-		State regModalState = new NamedState("REG_MODAL");
-		State negPartState = new NamedState("NEG_PART");
-		State negVerbState = new NamedState("NEG_VERB");
-		State negCollocState = new NamedState("NEG_COLLOC");
-		State negColPartState = new NamedState("NEG_COLPART");
-
-		Condition regModalC = new TextSetCondition(iv_modalVerbsSet, false);
-		Condition negPartC = new TextSetCondition(iv_negParticlesSet, false);
-		Condition regVerbC = new TextSetCondition(iv_regVerbsSet, false);
-		Condition negVerbC = new TextSetCondition(iv_negVerbsSet, false);
-		Condition negDetC = new TextSetCondition(iv_negDeterminersSet, false);
-		Condition negCollocC = new TextSetCondition(iv_negCollocSet, false);
-		Condition negColPartC = new TextSetCondition(iv_negColPartSet, false);
-
-		Condition notCollocC = new NegateCondition(negCollocC);
-
-		startState.addTransition(negVerbC, negVerbState);
-		startState.addTransition(negCollocC, negCollocState); // rule
-
-		startState.addTransition(new DisjoinCondition(regModalC, regVerbC),
-				regModalState); // start with a modal
-		startState.addTransition(new DisjoinCondition(negPartC, negDetC),
-				negPartState);
-
-		startState.addTransition(new AnyCondition(), startState);
-
-		regModalState.addTransition(negCollocC, negCollocState);
-		negCollocState.addTransition(negColPartC, negColPartState); // out
-		negColPartState.addTransition(new AnyCondition(), ntEndState);
-		negCollocState.addTransition(new AnyCondition(), startState);
-
-		regModalState.addTransition(new DisjoinCondition(negPartC, negDetC),
-				negPartState);
-		regModalState.addTransition(new AnyCondition(), anyState);
-
-		anyState.addTransition(new DisjoinCondition(negPartC, negDetC),
-				negPartState);
-		anyState.addTransition(new AnyCondition(), startState);
-
-		negPartState.addTransition(notCollocC, ntEndState);
-		negVerbState.addTransition(notCollocC, ntEndState);
-		negPartState.addTransition(new AnyCondition(), startState);
-		negVerbState.addTransition(new AnyCondition(), startState);
-
-		negPartState.addTransition(new AnyCondition(), ntEndState);
-		negVerbState.addTransition(new AnyCondition(), ntEndState);
-
-		ntEndState.addTransition(new AnyCondition(), endState);
-
-		return m;
-	}
-
-	
-	/**
-	 *  should recognize:
-	 *  <ul><li>A</li>
-	 *  	<li>B</li>
-	 *  	<li>B C</li>
-	 *  	<li>B D* C</li>
-	 *  </ul>
-	 *  <p>where A is one of
-	 *  <ul><li>without</li>
-	 *  	<li>absent</li>
-	 *  	<li>none</li>
-	 *  </ul>
-	 *  <p> and B is one of
-	 *  <ul>
-	 *   	<li>no</li>
-	 *  	<li>any</li>
-	 *  	<li>neither</li>
-	 *  	<li>nor</li>
-	 *  	<li>never</li>
-	 *  </ul>
-	 *  <p> and C is one of
-	 *  <ul>
-	 *   	<li>evidence</li>
-	 *  	<li>indication</li>
-	 *  	<li>indications</li>
-	 *  	<li>sign</li>
-	 *  	<li>signs</li>
-	 *  	<li>symptoms</li>
-	 *  	<li>symptom</li>
-	 *  	<li>sx</li>
-	 *  	<li>dx</li>
-	 *  	<li>diagnosis</li>
-	 *  	<li>history</li>
-	 *  	<li>hx</li>
-	 *  	<li>findings</li>
-	 *  </ul>
-	 * <p> and D is anything
-	 * @return
-	 */
-	private Machine getNominalNegIndicatorMachine() {
-		State startState = new NamedState("START");
-		State endState = new NamedState("END");
-		State anyState = new NamedState("ANY");
-		State ntEndState = new NonTerminalEndState("NON TERMINAL END");
-		endState.setEndStateFlag(true);
-		ntEndState.setEndStateFlag(true);
-
-		Machine m = new Machine(startState);
-		State negPrepState = new NamedState("NEG_PREP");
-		State negDetState = new NamedState("NEG_DET");
-		State regNounState = new NamedState("REG_NOUN");
-
-		Condition negPrepC = new TextSetCondition(iv_negPrepositionsSet, false);
-		Condition negDetC = new TextSetCondition(iv_negDeterminersSet, false);
-		Condition regNounC = new TextSetCondition(iv_regNounsSet, false);
-
-		startState.addTransition(negDetC, negDetState); // start with a modal
-		startState.addTransition(negPrepC, negPrepState);
-		startState.addTransition(new AnyCondition(), startState);
-
-		negPrepState.addTransition(new AnyCondition(), ntEndState);
-		negDetState.addTransition(regNounC, regNounState);
-		negDetState.addTransition(new AnyCondition(), ntEndState);
-		negDetState.addTransition(new AnyCondition(), anyState);
-
-		anyState.addTransition(regNounC, regNounState);
-		anyState.addTransition(new AnyCondition(), anyState);
-
-		regNounState.addTransition(new AnyCondition(), ntEndState);
-
-		ntEndState.addTransition(new AnyCondition(), endState);
-
-		return m;
-	}
-
-	
-	/**
-	 * recognizes "A B ..."
-	 * where A is unremarkable, unlikely, or negative
-	 * and B is of, in, for, or with
-	 */
-
-	private Machine getAdjNegIndicatorMachine() {
-		State startState = new NamedState("START");
-		State endState = new NamedState("END");
-		State ntEndState = new NonTerminalEndState("NON TERMINAL END");
-		endState.setEndStateFlag(true);
-		ntEndState.setEndStateFlag(true);
-
-		Machine m = new Machine(startState);
-		State regPrepState = new NamedState("REG_PREP");
-		State negAdjState = new NamedState("NEG_ADJ");
-
-		Condition regPrepC = new TextSetCondition(iv_regPrepositionsSet, false);
-		Condition negAdjC = new TextSetCondition(iv_negAdjectivesSet, false);
-
-		startState.addTransition(negAdjC, negAdjState); // start with a modal
-		startState.addTransition(new AnyCondition(), startState);
-
-		negAdjState.addTransition(regPrepC, regPrepState);
-		regPrepState.addTransition(new AnyCondition(), ntEndState);
-		negAdjState.addTransition(new AnyCondition(), startState);
-
-		ntEndState.addTransition(new AnyCondition(), endState);
-
-		return m;
-	}
-
-	/**
-	 * Executes the finite state machines.
-	 * 
-	 * @param tokens
-	 * @return Set of DateToken objects.
-	 * @throws Exception
-	 */
-	public Set<NegationIndicator> execute(List<?> tokens) throws Exception {
-		Set<NegationIndicator> outSet = new HashSet<NegationIndicator>();
-
-		// maps a fsm to a token start index
-		// key = fsm , value = token start index
-		Map<Machine, Integer> tokenStartMap = new HashMap<Machine, Integer>();
-
-		for (int i = 0; i < tokens.size(); i++) {
-			BaseToken token = (BaseToken) tokens.get(i);
-
-			Iterator<Machine> machineItr = iv_machineSet.iterator();
-			while (machineItr.hasNext()) {
-				Machine fsm = machineItr.next();
-
-				fsm.input(token);
-
-				State currentState = fsm.getCurrentState();
-				if (currentState.getStartStateFlag()) {
-					tokenStartMap.put(fsm, new Integer(i));
-				}
-				if (currentState.getEndStateFlag()) {
-					Object o = tokenStartMap.get(fsm);
-					int tokenStartIndex;
-					if (o == null) {
-						// By default, all machines start with
-						// token zero.
-						tokenStartIndex = 0;
-					} else {
-						tokenStartIndex = ((Integer) o).intValue();
-						// skip ahead over single token we don't want
-						tokenStartIndex++;
-					}
-					BaseToken endToken = null;
-					if (currentState instanceof NonTerminalEndState) {
-						endToken = (BaseToken) tokens.get(i - 1);
-					} else {
-						endToken = token;
-					}
-
-					BaseToken startToken = (BaseToken) tokens
-							.get(tokenStartIndex);
-					NegationIndicator neg = new NegationIndicator(startToken
-							.getStartOffset(), endToken.getEndOffset());
-					outSet.add(neg);
-					fsm.reset();
-				}
-			}
-		}
-
-		// cleanup
-		tokenStartMap.clear();
-
-		// reset machines
-		Iterator<Machine> itr = iv_machineSet.iterator();
-		while (itr.hasNext()) {
-			Machine fsm = itr.next();
-			fsm.reset();
-		}
-
-		return outSet;
-	}
-}
\ No newline at end of file
+		iv_negDeterminersSet.add("non");//added for smoking status
+
+		iv_regNounsSet.add("evidence");
+		iv_regNounsSet.add("indication");
+		iv_regNounsSet.add("indications");
+		iv_regNounsSet.add("sign");
+		iv_regNounsSet.add("signs");
+		iv_regNounsSet.add("symptoms");
+		iv_regNounsSet.add("symptom");
+		iv_regNounsSet.add("sx");
+		iv_regNounsSet.add("dx");
+		iv_regNounsSet.add("diagnosis");
+		iv_regNounsSet.add("history");
+		iv_regNounsSet.add("hx");
+		iv_regNounsSet.add("findings");
+
+		iv_regPrepositionsSet.add("of");
+		iv_regPrepositionsSet.add("in");
+		iv_regPrepositionsSet.add("for");
+		iv_regPrepositionsSet.add("with");
+
+		iv_negAdjectivesSet.add("unremarkable");
+		iv_negAdjectivesSet.add("unlikely");
+		iv_negAdjectivesSet.add("negative");
+
+		iv_machineSet.add(getAspectualNegIndicatorMachine());
+		iv_machineSet.add(getNominalNegIndicatorMachine());
+		iv_machineSet.add(getAdjNegIndicatorMachine());
+
+	}
+
+	private Machine getAspectualNegIndicatorMachine() {
+		State startState = new NamedState("START");
+		State endState = new NamedState("END");
+		State anyState = new NamedState("ANY");
+
+		State ntEndState = new NonTerminalEndState("NON TERMINAL END");
+		endState.setEndStateFlag(true);
+		ntEndState.setEndStateFlag(true);
+
+		Machine m = new Machine(startState);
+		State regModalState = new NamedState("REG_MODAL");
+		State negPartState = new NamedState("NEG_PART");
+		State negVerbState = new NamedState("NEG_VERB");
+		State negCollocState = new NamedState("NEG_COLLOC");
+		State negColPartState = new NamedState("NEG_COLPART");
+
+		Condition regModalC = new TextSetCondition(iv_modalVerbsSet, false);
+		Condition negPartC = new TextSetCondition(iv_negParticlesSet, false);
+		Condition regVerbC = new TextSetCondition(iv_regVerbsSet, false);
+		Condition negVerbC = new TextSetCondition(iv_negVerbsSet, false);
+		Condition negDetC = new TextSetCondition(iv_negDeterminersSet, false);
+		Condition negCollocC = new TextSetCondition(iv_negCollocSet, false);
+		Condition negColPartC = new TextSetCondition(iv_negColPartSet, false);
+
+		Condition notCollocC = new NegateCondition(negCollocC);
+
+		startState.addTransition(negVerbC, negVerbState);
+		startState.addTransition(negCollocC, negCollocState); // rule
+
+		startState.addTransition(new DisjoinCondition(regModalC, regVerbC),
+				regModalState); // start with a modal
+		startState.addTransition(new DisjoinCondition(negPartC, negDetC),
+				negPartState);
+
+		startState.addTransition(new AnyCondition(), startState);
+
+		regModalState.addTransition(negCollocC, negCollocState);
+		negCollocState.addTransition(negColPartC, negColPartState); // out
+		negColPartState.addTransition(new AnyCondition(), ntEndState);
+		negCollocState.addTransition(new AnyCondition(), startState);
+
+		regModalState.addTransition(new DisjoinCondition(negPartC, negDetC),
+				negPartState);
+		regModalState.addTransition(new AnyCondition(), anyState);
+
+		anyState.addTransition(new DisjoinCondition(negPartC, negDetC),
+				negPartState);
+		anyState.addTransition(new AnyCondition(), startState);
+
+		negPartState.addTransition(notCollocC, ntEndState);
+		negVerbState.addTransition(notCollocC, ntEndState);
+		negPartState.addTransition(new AnyCondition(), startState);
+		negVerbState.addTransition(new AnyCondition(), startState);
+
+		negPartState.addTransition(new AnyCondition(), ntEndState);
+		negVerbState.addTransition(new AnyCondition(), ntEndState);
+
+		ntEndState.addTransition(new AnyCondition(), endState);
+
+		return m;
+	}
+
+	
+	/**
+	 *  should recognize:
+	 *  <ul><li>A</li>
+	 *  	<li>B</li>
+	 *  	<li>B C</li>
+	 *  	<li>B D* C</li>
+	 *  </ul>
+	 *  <p>where A is one of
+	 *  <ul><li>without</li>
+	 *  	<li>absent</li>
+	 *  	<li>none</li>
+	 *  </ul>
+	 *  <p> and B is one of
+	 *  <ul>
+	 *   	<li>no</li>
+	 *  	<li>any</li>
+	 *  	<li>neither</li>
+	 *  	<li>nor</li>
+	 *  	<li>never</li>
+	 *  </ul>
+	 *  <p> and C is one of
+	 *  <ul>
+	 *   	<li>evidence</li>
+	 *  	<li>indication</li>
+	 *  	<li>indications</li>
+	 *  	<li>sign</li>
+	 *  	<li>signs</li>
+	 *  	<li>symptoms</li>
+	 *  	<li>symptom</li>
+	 *  	<li>sx</li>
+	 *  	<li>dx</li>
+	 *  	<li>diagnosis</li>
+	 *  	<li>history</li>
+	 *  	<li>hx</li>
+	 *  	<li>findings</li>
+	 *  </ul>
+	 * <p> and D is anything
+	 * @return
+	 */
+	private Machine getNominalNegIndicatorMachine() {
+		State startState = new NamedState("START");
+		State endState = new NamedState("END");
+		State anyState = new NamedState("ANY");
+		State ntEndState = new NonTerminalEndState("NON TERMINAL END");
+		endState.setEndStateFlag(true);
+		ntEndState.setEndStateFlag(true);
+
+		Machine m = new Machine(startState);
+		State negPrepState = new NamedState("NEG_PREP");
+		State negDetState = new NamedState("NEG_DET");
+		State regNounState = new NamedState("REG_NOUN");
+
+		Condition negPrepC = new TextSetCondition(iv_negPrepositionsSet, false);
+		Condition negDetC = new TextSetCondition(iv_negDeterminersSet, false);
+		Condition regNounC = new TextSetCondition(iv_regNounsSet, false);
+
+		startState.addTransition(negDetC, negDetState); // start with a modal
+		startState.addTransition(negPrepC, negPrepState);
+		startState.addTransition(new AnyCondition(), startState);
+
+		negPrepState.addTransition(new AnyCondition(), ntEndState);
+		negDetState.addTransition(regNounC, regNounState);
+		negDetState.addTransition(new AnyCondition(), ntEndState);
+		negDetState.addTransition(new AnyCondition(), anyState);
+
+		anyState.addTransition(regNounC, regNounState);
+		anyState.addTransition(new AnyCondition(), anyState);
+
+		regNounState.addTransition(new AnyCondition(), ntEndState);
+
+		ntEndState.addTransition(new AnyCondition(), endState);
+
+		return m;
+	}
+
+	
+	/**
+	 * recognizes "A B ..."
+	 * where A is unremarkable, unlikely, or negative
+	 * and B is of, in, for, or with
+	 */
+
+	private Machine getAdjNegIndicatorMachine() {
+		State startState = new NamedState("START");
+		State endState = new NamedState("END");
+		State ntEndState = new NonTerminalEndState("NON TERMINAL END");
+		endState.setEndStateFlag(true);
+		ntEndState.setEndStateFlag(true);
+
+		Machine m = new Machine(startState);
+		State regPrepState = new NamedState("REG_PREP");
+		State negAdjState = new NamedState("NEG_ADJ");
+
+		Condition regPrepC = new TextSetCondition(iv_regPrepositionsSet, false);
+		Condition negAdjC = new TextSetCondition(iv_negAdjectivesSet, false);
+
+		startState.addTransition(negAdjC, negAdjState); // start with a modal
+		startState.addTransition(new AnyCondition(), startState);
+
+		negAdjState.addTransition(regPrepC, regPrepState);
+		regPrepState.addTransition(new AnyCondition(), ntEndState);
+		negAdjState.addTransition(new AnyCondition(), startState);
+
+		ntEndState.addTransition(new AnyCondition(), endState);
+
+		return m;
+	}
+
+	/**
+	 * Executes the finite state machines.
+	 * 
+	 * @param tokens
+	 * @return Set of DateToken objects.
+	 * @throws Exception
+	 */
+	public Set<NegationIndicator> execute(List<?> tokens) throws Exception {
+		Set<NegationIndicator> outSet = new HashSet<NegationIndicator>();
+
+		// maps a fsm to a token start index
+		// key = fsm , value = token start index
+		Map<Machine, Integer> tokenStartMap = new HashMap<Machine, Integer>();
+
+		for (int i = 0; i < tokens.size(); i++) {
+			BaseToken token = (BaseToken) tokens.get(i);
+
+			Iterator<Machine> machineItr = iv_machineSet.iterator();
+			while (machineItr.hasNext()) {
+				Machine fsm = machineItr.next();
+
+				fsm.input(token);
+
+				State currentState = fsm.getCurrentState();
+				if (currentState.getStartStateFlag()) {
+					tokenStartMap.put(fsm, new Integer(i));
+				}
+				if (currentState.getEndStateFlag()) {
+					Object o = tokenStartMap.get(fsm);
+					int tokenStartIndex;
+					if (o == null) {
+						// By default, all machines start with
+						// token zero.
+						tokenStartIndex = 0;
+					} else {
+						tokenStartIndex = ((Integer) o).intValue();
+						// skip ahead over single token we don't want
+						tokenStartIndex++;
+					}
+					BaseToken endToken = null;
+					if (currentState instanceof NonTerminalEndState) {
+						endToken = (BaseToken) tokens.get(i - 1);
+					} else {
+						endToken = token;
+					}
+
+					BaseToken startToken = (BaseToken) tokens
+							.get(tokenStartIndex);
+					NegationIndicator neg = new NegationIndicator(startToken
+							.getStartOffset(), endToken.getEndOffset());
+					outSet.add(neg);
+					fsm.reset();
+				}
+			}
+		}
+
+		// cleanup
+		tokenStartMap.clear();
+
+		// reset machines
+		Iterator<Machine> itr = iv_machineSet.iterator();
+		while (itr.hasNext()) {
+			Machine fsm = itr.next();
+			fsm.reset();
+		}
+
+		return outSet;
+	}
+}

Modified: incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/smoking/context/NamedEntityContextAnalyzer.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/smoking%20status/src/edu/mayo/bmi/smoking/context/NamedEntityContextAnalyzer.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/smoking/context/NamedEntityContextAnalyzer.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/smoking/context/NamedEntityContextAnalyzer.java Wed Oct 31 05:26:43 2012
@@ -1,18 +1,11 @@
 /*
- * Copyright: (c) 2009   Mayo Foundation for Medical Education and 
- * Research (MFMER). All rights reserved. MAYO, MAYO CLINIC, and the
- * triple-shield Mayo logo are trademarks and service marks of MFMER.
- *
- * Except as contained in the copyright notice above, or as used to identify 
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- * 
- * Licensed 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
- * 
+ * 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
@@ -21,106 +14,106 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  */
-package edu.mayo.bmi.smoking.context;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.log4j.Logger;
-import org.apache.uima.UimaContext;
-import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.jcas.tcas.Annotation;
-import org.apache.uima.resource.ResourceInitializationException;
-
-import edu.mayo.bmi.fsm.token.TextToken;
+package edu.mayo.bmi.smoking.context;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.apache.uima.UimaContext;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.jcas.tcas.Annotation;
+import org.apache.uima.resource.ResourceInitializationException;
+
+import edu.mayo.bmi.fsm.token.TextToken;
 import edu.mayo.bmi.uima.context.ContextAnalyzer;
-import edu.mayo.bmi.uima.core.fsm.adapters.TextTokenAdapter;
-
-/**
- * This context analyzer provides code that is shared by the
- * StatusContextAnalyzer and NegationContextAnalyzer which are both analyzers
- * that examine the contexts surrounding named entity annotations.
- */
-public abstract class NamedEntityContextAnalyzer implements ContextAnalyzer {
-
-	private Logger iv_logger = Logger.getLogger(getClass().getName());
-
-	private Set<String> _boundaryWordSet;
-
-	public void initialize(UimaContext annotatorContext) throws ResourceInitializationException {
-		initBoundaryData();
-	}
-
-	private void initBoundaryData() {
-		iv_logger.info("initBoundaryData() called for ContextInitializer");
-		_boundaryWordSet = new HashSet<String>();
-		_boundaryWordSet.add("but");
-		_boundaryWordSet.add("however");
-		_boundaryWordSet.add("nevertheless");
-		_boundaryWordSet.add("notwithstanding");
-		_boundaryWordSet.add("though");
-		_boundaryWordSet.add("although");
-		_boundaryWordSet.add("if");
-		_boundaryWordSet.add("when");
-		_boundaryWordSet.add("how");
-		_boundaryWordSet.add("what");
-		_boundaryWordSet.add("which");
-		_boundaryWordSet.add("while");
-		_boundaryWordSet.add("since");
-		_boundaryWordSet.add("then");
-		_boundaryWordSet.add("i");
-		_boundaryWordSet.add("he");
-		_boundaryWordSet.add("she");
-		_boundaryWordSet.add("they");
-		_boundaryWordSet.add("we");
-
-		_boundaryWordSet.add(";");
-		_boundaryWordSet.add(".");
-		_boundaryWordSet.add(")");
-	}
-
-	public boolean isBoundary(Annotation contextAnnotation, int scopeOrientation) throws AnalysisEngineProcessException {
-		String lcText = contextAnnotation.getCoveredText().toLowerCase();
-		return _boundaryWordSet.contains(lcText);
-	}
-
-	/**
-	 * This method converts Token annotations to TextTokens required by the fsm library used by both subclasses of this class.
-	 * @param tokenList a list of token annotations
-	 * @return a conversion of the token annotations as a list of TextTokens
-	 */
-	protected List<TextToken> wrapAsFsmTokens(List<? extends Annotation> tokenList) {
-		List<TextToken> fsmTokenList = new ArrayList<TextToken>();
-
-		Iterator<? extends Annotation> tokenItr = tokenList.iterator();
-		while (tokenItr.hasNext()) {
-			Annotation tokenAnnot = tokenItr.next();
-			fsmTokenList.add(new TextTokenAdapter(tokenAnnot));
-		}
-
-		// Add dummy token to end of the list
-		// This is a workaround for cases where a meaningful token occurs at the
-		// end of the list. Since there are no more tokens, the FSM cannot push
-		// itself into the next state. The dummy token's intent is to provide
-		// that extra token.
-		fsmTokenList.add(new TextToken() {
-
-			public String getText() {
-				return "+DUMMY_TOKEN+";
-			}
-
-			public int getEndOffset() {
-				return 0;
-			}
-
-			public int getStartOffset() {
-				return 0;
-			}
-		});
-
-		return fsmTokenList;
-	}
-}
+import edu.mayo.bmi.uima.core.fsm.adapters.TextTokenAdapter;
+
+/**
+ * This context analyzer provides code that is shared by the
+ * StatusContextAnalyzer and NegationContextAnalyzer which are both analyzers
+ * that examine the contexts surrounding named entity annotations.
+ */
+public abstract class NamedEntityContextAnalyzer implements ContextAnalyzer {
+
+	private Logger iv_logger = Logger.getLogger(getClass().getName());
+
+	private Set<String> _boundaryWordSet;
+
+	public void initialize(UimaContext annotatorContext) throws ResourceInitializationException {
+		initBoundaryData();
+	}
+
+	private void initBoundaryData() {
+		iv_logger.info("initBoundaryData() called for ContextInitializer");
+		_boundaryWordSet = new HashSet<String>();
+		_boundaryWordSet.add("but");
+		_boundaryWordSet.add("however");
+		_boundaryWordSet.add("nevertheless");
+		_boundaryWordSet.add("notwithstanding");
+		_boundaryWordSet.add("though");
+		_boundaryWordSet.add("although");
+		_boundaryWordSet.add("if");
+		_boundaryWordSet.add("when");
+		_boundaryWordSet.add("how");
+		_boundaryWordSet.add("what");
+		_boundaryWordSet.add("which");
+		_boundaryWordSet.add("while");
+		_boundaryWordSet.add("since");
+		_boundaryWordSet.add("then");
+		_boundaryWordSet.add("i");
+		_boundaryWordSet.add("he");
+		_boundaryWordSet.add("she");
+		_boundaryWordSet.add("they");
+		_boundaryWordSet.add("we");
+
+		_boundaryWordSet.add(";");
+		_boundaryWordSet.add(".");
+		_boundaryWordSet.add(")");
+	}
+
+	public boolean isBoundary(Annotation contextAnnotation, int scopeOrientation) throws AnalysisEngineProcessException {
+		String lcText = contextAnnotation.getCoveredText().toLowerCase();
+		return _boundaryWordSet.contains(lcText);
+	}
+
+	/**
+	 * This method converts Token annotations to TextTokens required by the fsm library used by both subclasses of this class.
+	 * @param tokenList a list of token annotations
+	 * @return a conversion of the token annotations as a list of TextTokens
+	 */
+	protected List<TextToken> wrapAsFsmTokens(List<? extends Annotation> tokenList) {
+		List<TextToken> fsmTokenList = new ArrayList<TextToken>();
+
+		Iterator<? extends Annotation> tokenItr = tokenList.iterator();
+		while (tokenItr.hasNext()) {
+			Annotation tokenAnnot = tokenItr.next();
+			fsmTokenList.add(new TextTokenAdapter(tokenAnnot));
+		}
+
+		// Add dummy token to end of the list
+		// This is a workaround for cases where a meaningful token occurs at the
+		// end of the list. Since there are no more tokens, the FSM cannot push
+		// itself into the next state. The dummy token's intent is to provide
+		// that extra token.
+		fsmTokenList.add(new TextToken() {
+
+			public String getText() {
+				return "+DUMMY_TOKEN+";
+			}
+
+			public int getEndOffset() {
+				return 0;
+			}
+
+			public int getStartOffset() {
+				return 0;
+			}
+		});
+
+		return fsmTokenList;
+	}
+}

Modified: incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/smoking/context/negation/NegationContextAnalyzer.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/branches/SHARPn-cTAKES/smoking%20status/src/edu/mayo/bmi/smoking/context/negation/NegationContextAnalyzer.java?rev=1403989&r1=1403988&r2=1403989&view=diff
==============================================================================
--- incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/smoking/context/negation/NegationContextAnalyzer.java (original)
+++ incubator/ctakes/branches/SHARPn-cTAKES/smoking status/src/edu/mayo/bmi/smoking/context/negation/NegationContextAnalyzer.java Wed Oct 31 05:26:43 2012
@@ -1,18 +1,11 @@
 /*
- * Copyright: (c) 2009   Mayo Foundation for Medical Education and 
- * Research (MFMER). All rights reserved. MAYO, MAYO CLINIC, and the
- * triple-shield Mayo logo are trademarks and service marks of MFMER.
- *
- * Except as contained in the copyright notice above, or as used to identify 
- * MFMER as the author of this software, the trade names, trademarks, service
- * marks, or product names of the copyright holder shall not be used in
- * advertising, promotion or otherwise in connection with this software without
- * prior written authorization of the copyright holder.
- * 
- * Licensed 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
- * 
+ * 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
@@ -21,44 +14,44 @@
  * See the License for the specific language governing permissions and 
  * limitations under the License. 
  */
-package edu.mayo.bmi.smoking.context.negation;
-
-import java.util.List;
-import java.util.Set;
-
-import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
-import org.apache.uima.jcas.tcas.Annotation;
-
-import edu.mayo.bmi.fsm.output.NegationIndicator;
-import edu.mayo.bmi.fsm.token.TextToken;
-import edu.mayo.bmi.uima.context.ContextHit;
-import edu.mayo.bmi.smoking.context.NamedEntityContextAnalyzer;
+package edu.mayo.bmi.smoking.context.negation;
+
+import java.util.List;
+import java.util.Set;
+
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.jcas.tcas.Annotation;
+
+import edu.mayo.bmi.fsm.output.NegationIndicator;
+import edu.mayo.bmi.fsm.token.TextToken;
+import edu.mayo.bmi.uima.context.ContextHit;
+import edu.mayo.bmi.smoking.context.NamedEntityContextAnalyzer;
 import edu.mayo.bmi.fsm.smoking.machine.NegationFSM;
-
-public class NegationContextAnalyzer extends NamedEntityContextAnalyzer {
-	private NegationFSM _negIndicatorFSM = new NegationFSM();
-
-	/**
-	 * This method analyzes a list of tokens looking for a negation pattern as
-	 * specified by the class NegationFSM.
-	 * 
-	 * @see NegationFSM
-	 */
-	public ContextHit analyzeContext(List<? extends Annotation> contextTokens, int scopeOrientation)
-			throws AnalysisEngineProcessException {
-		List<TextToken> fsmTokenList = wrapAsFsmTokens(contextTokens);
-
-		try {
-			Set<NegationIndicator> s = _negIndicatorFSM.execute(fsmTokenList);
-
-			if (s.size() > 0) {
-				NegationIndicator neg = s.iterator().next();
-				return new ContextHit(neg.getStartOffset(), neg.getEndOffset());
-			} else {
-				return null;
-			}
-		} catch (Exception e) {
-			throw new AnalysisEngineProcessException(e);
-		}
-	}
-}
\ No newline at end of file
+
+public class NegationContextAnalyzer extends NamedEntityContextAnalyzer {
+	private NegationFSM _negIndicatorFSM = new NegationFSM();
+
+	/**
+	 * This method analyzes a list of tokens looking for a negation pattern as
+	 * specified by the class NegationFSM.
+	 * 
+	 * @see NegationFSM
+	 */
+	public ContextHit analyzeContext(List<? extends Annotation> contextTokens, int scopeOrientation)
+			throws AnalysisEngineProcessException {
+		List<TextToken> fsmTokenList = wrapAsFsmTokens(contextTokens);
+
+		try {
+			Set<NegationIndicator> s = _negIndicatorFSM.execute(fsmTokenList);
+
+			if (s.size() > 0) {
+				NegationIndicator neg = s.iterator().next();
+				return new ContextHit(neg.getStartOffset(), neg.getEndOffset());
+			} else {
+				return null;
+			}
+		} catch (Exception e) {
+			throw new AnalysisEngineProcessException(e);
+		}
+	}
+}