You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by st...@apache.org on 2012/11/16 12:27:49 UTC
svn commit: r1410308 - in
/incubator/ctakes/trunk/ctakes-relation-extractor/src:
main/java/org/apache/ctakes/relationextractor/ae/
main/java/org/apache/ctakes/relationextractor/ae/features/
main/java/org/apache/ctakes/relationextractor/data/ main/java/...
Author: stevenbethard
Date: Fri Nov 16 11:27:47 2012
New Revision: 1410308
URL: http://svn.apache.org/viewvc?rev=1410308&view=rev
Log:
Fixes various warnings in relation extractor code.
Modified:
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/EntityMentionPairRelationExtractorAnnotator.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotator.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/features/PhraseChunkingExtractor.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/CategoricalDistribution.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Splitter.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Stats.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/knowtator/Span.java
incubator/ctakes/trunk/ctakes-relation-extractor/src/test/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotatorsTest.java
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/EntityMentionPairRelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/EntityMentionPairRelationExtractorAnnotator.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/EntityMentionPairRelationExtractorAnnotator.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/EntityMentionPairRelationExtractorAnnotator.java Fri Nov 16 11:27:47 2012
@@ -83,34 +83,36 @@ public class EntityMentionPairRelationEx
IdentifiedAnnotation arg1, IdentifiedAnnotation arg2) {
BinaryTextRelation relation = relationLookup.get(Arrays.asList(arg1, arg2));
+ String category;
if (this.classifyBothDirections) {
// if classifying both directions, we'll see {X, Y} once when X is first and
// once when Y is first, so just do the single direction lookup here
if (relation != null) {
- return relation.getCategory();
+ category = relation.getCategory();
} else if (coin.nextDouble() <= this.probabilityOfKeepingANegativeExample) {
- return NO_RELATION_CATEGORY;
+ category = NO_RELATION_CATEGORY;
} else {
- return null;
+ category = null;
}
} else {
// if classifying in a single direction, we'll see {X, Y} only once,
// so do lookups in both directions, and change the category name for
// the relations in the reverse order
if (relation != null) {
- return relation.getCategory();
+ category = relation.getCategory();
} else {
relation = relationLookup.get(Arrays.asList(arg2, arg1));
if (relation != null) {
// Change category name to show reverse order
- return relation.getCategory() + "-1";
+ category = relation.getCategory() + "-1";
} else if (coin.nextDouble() <= this.probabilityOfKeepingANegativeExample) {
- return NO_RELATION_CATEGORY;
+ category = NO_RELATION_CATEGORY;
} else {
- return null;
+ category = null;
}
}
}
+ return category;
}
}
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotator.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotator.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotator.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotator.java Fri Nov 16 11:27:47 2012
@@ -290,7 +290,7 @@ public abstract class RelationExtractorA
* @param relationView
* @return
*/
- private Map<List<Annotation>, BinaryTextRelation> createRelationLookup(
+ private static Map<List<Annotation>, BinaryTextRelation> createRelationLookup(
JCas relationView) {
Map<List<Annotation>, BinaryTextRelation> relationLookup;
relationLookup = new HashMap<List<Annotation>, BinaryTextRelation>();
@@ -315,7 +315,7 @@ public abstract class RelationExtractorA
* @param goldView
* @return
*/
- private HashMap<HashableArguments, String> createCategoryLookup(JCas goldView) {
+ private static HashMap<HashableArguments, String> createCategoryLookup(JCas goldView) {
// save gold relations for lookup during error analysis; normalize order of arguments
HashMap<HashableArguments, String> categoryLookup = new HashMap<HashableArguments, String>();
for (BinaryTextRelation relation : JCasUtil.select(goldView, BinaryTextRelation.class)) {
@@ -380,16 +380,16 @@ public abstract class RelationExtractorA
@Override
public boolean equals(Object otherObject) {
+ boolean result = false;
if (otherObject instanceof HashableArguments) {
HashableArguments other = (HashableArguments) otherObject;
- return (this.getClass() == other.getClass() &&
+ result = (this.getClass() == other.getClass() &&
this.arg1begin == other.arg1begin &&
this.arg1end == other.arg1end &&
this.arg2begin == other.arg2begin &&
this.arg2end == other.arg2end);
- } else {
- return false;
}
+ return result;
}
@Override
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/features/PhraseChunkingExtractor.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/features/PhraseChunkingExtractor.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/features/PhraseChunkingExtractor.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/ae/features/PhraseChunkingExtractor.java Fri Nov 16 11:27:47 2012
@@ -31,7 +31,7 @@ import org.apache.ctakes.typesystem.type
public class PhraseChunkingExtractor implements RelationFeaturesExtractor {
- List<TerminalTreebankNode> extractPhraseHeadByTreenode(JCas jCas, List<TreebankNode> treenodesList) throws AnalysisEngineProcessException {
+ List<TerminalTreebankNode> extractPhraseHeadByTreenode(JCas jCas, List<TreebankNode> treenodesList) {
List<TerminalTreebankNode> rTNodeList = new ArrayList<TerminalTreebankNode>();
// get head index from phrase
for(TreebankNode tb : treenodesList) {
@@ -39,7 +39,7 @@ public class PhraseChunkingExtractor imp
int headIndex = tb.getHeadIndex();
for(TerminalTreebankNode ttb : JCasUtil.selectCovered(jCas, TerminalTreebankNode.class, tb)) {
if(ttb.getIndex() == headIndex) {
- this.addPhraseHead(rTNodeList, ttb);
+ addPhraseHead(rTNodeList, ttb);
break;
}
}
@@ -48,7 +48,7 @@ public class PhraseChunkingExtractor imp
return rTNodeList;
}
- private void addPhraseHead(List<TerminalTreebankNode> headList,
+ private static void addPhraseHead(List<TerminalTreebankNode> headList,
TerminalTreebankNode newHead) {
int insertPos = 0;
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/CategoricalDistribution.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/CategoricalDistribution.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/CategoricalDistribution.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/CategoricalDistribution.java Fri Nov 16 11:27:47 2012
@@ -61,9 +61,7 @@ public class CategoricalDistribution {
if(r >= p1 + p2) {
return OUTCOME3;
}
- else {
- return -1; // shouldn't happen
- }
+ throw new RuntimeException("should be impossible");
}
public static void main(String[] args) {
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Splitter.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Splitter.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Splitter.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Splitter.java Fri Nov 16 11:27:47 2012
@@ -51,12 +51,12 @@ public class Splitter {
/**
* Specify percentages of the split.
*/
- public Splitter(double trainProportion, double devProportion, double testProportion) {
+ public Splitter(double trainProportion, double devProportion) {
File dir = new File(ALLFILELOC);
FilenameFilter filter = new FilenameFilter() {
- public boolean accept(File dir, String name) {
+ public boolean accept(File fileDir, String name) {
return name.endsWith(".xml");
}
};
@@ -79,7 +79,7 @@ public class Splitter {
File dir = new File(ALLFILELOC);
FilenameFilter filter = new FilenameFilter() {
- public boolean accept(File dir, String name) {
+ public boolean accept(File fileDir, String name) {
return name.endsWith(".xml");
}
};
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Stats.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Stats.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Stats.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/data/Stats.java Fri Nov 16 11:27:47 2012
@@ -54,7 +54,7 @@ public class Stats {
int totalEntityCount = 0;
FilenameFilter filter = new FilenameFilter() {
- public boolean accept(File dir, String name) {
+ public boolean accept(File fileDir, String name) {
return name.endsWith(".xml");
}
};
@@ -95,7 +95,7 @@ public class Stats {
int totalRelationCount = 0;
FilenameFilter filter = new FilenameFilter() {
- public boolean accept(File dir, String name) {
+ public boolean accept(File fileDir, String name) {
return name.endsWith(".xml");
}
};
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/PreprocessAndWriteXmi.java Fri Nov 16 11:27:47 2012
@@ -19,7 +19,6 @@
package org.apache.ctakes.relationextractor.eval;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -31,7 +30,6 @@ import org.apache.uima.analysis_engine.A
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.CASException;
-import org.apache.uima.cas.CASRuntimeException;
import org.apache.uima.cas.impl.XmiCasSerializer;
import org.apache.uima.collection.CollectionReader;
import org.apache.uima.jcas.JCas;
@@ -185,17 +183,20 @@ public class PreprocessAndWriteXmi {
if (documentID == null) {
throw new IllegalArgumentException("No documentID for CAS:\n" + jCas);
}
- File outFile = new File(this.outputDirectory, documentID + ".xmi");
- ContentHandler handler = new XMLSerializer(new FileOutputStream(outFile)).getContentHandler();
- new XmiCasSerializer(jCas.getTypeSystem()).serialize(jCas.getCas(), handler);
- } catch (CASRuntimeException e) {
+ File outFile = new File(this.outputDirectory, documentID + ".xmi");
+ FileOutputStream stream = new FileOutputStream(outFile);
+ try {
+ ContentHandler handler = new XMLSerializer(stream).getContentHandler();
+ new XmiCasSerializer(jCas.getTypeSystem()).serialize(jCas.getCas(), handler);
+ } finally {
+ stream.close();
+ }
+ } catch (UIMAException e) {
throw new AnalysisEngineProcessException(e);
} catch (SAXException e) {
throw new AnalysisEngineProcessException(e);
- } catch (FileNotFoundException e) {
+ } catch (IOException e) {
throw new AnalysisEngineProcessException(e);
- } catch (CASException e) {
- throw new AnalysisEngineProcessException(e);
}
}
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/RelationExtractorEvaluation.java Fri Nov 16 11:27:47 2012
@@ -301,6 +301,7 @@ public class RelationExtractorEvaluation
HideOutput hider = new HideOutput();
JarClassifierBuilder.trainAndPackage(directory, this.trainingArguments);
hider.restoreOutput();
+ hider.close(); // workaround for https://code.google.com/p/uimafit/issues/detail?id=129
}
@Override
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/XMIReader.java Fri Nov 16 11:27:47 2012
@@ -77,8 +77,9 @@ public class XMIReader extends JCasColle
XmiCasDeserializer.deserialize(new BufferedInputStream(inputStream), jCas.getCas());
} catch (SAXException e) {
throw new CollectionException(e);
+ } finally {
+ inputStream.close();
}
- inputStream.close();
this.completed += 1;
}
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/knowtator/Span.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/knowtator/Span.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/knowtator/Span.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/knowtator/Span.java Fri Nov 16 11:27:47 2012
@@ -55,6 +55,7 @@ public class Span {
return Objects.hashCode(start, end);
}
+ @Override
public String toString() {
return String.format("%d -- %d", start, end);
}
Modified: incubator/ctakes/trunk/ctakes-relation-extractor/src/test/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotatorsTest.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-relation-extractor/src/test/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotatorsTest.java?rev=1410308&r1=1410307&r2=1410308&view=diff
==============================================================================
--- incubator/ctakes/trunk/ctakes-relation-extractor/src/test/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotatorsTest.java (original)
+++ incubator/ctakes/trunk/ctakes-relation-extractor/src/test/java/org/apache/ctakes/relationextractor/ae/RelationExtractorAnnotatorsTest.java Fri Nov 16 11:27:47 2012
@@ -48,9 +48,9 @@ public class RelationExtractorAnnotators
public void test() throws Exception {
// create the pipeline
AggregateBuilder builder = new AggregateBuilder();
- builder.add(this.findDescription(ModifierExtractorAnnotator.class));
- builder.add(this.findDescription(DegreeOfRelationExtractorAnnotator.class));
- builder.add(this.findDescription(EntityMentionPairRelationExtractorAnnotator.class));
+ builder.add(findDescription(ModifierExtractorAnnotator.class));
+ builder.add(findDescription(DegreeOfRelationExtractorAnnotator.class));
+ builder.add(findDescription(EntityMentionPairRelationExtractorAnnotator.class));
AnalysisEngine engine = builder.createAggregate();
JCas jCas = engine.newJCas();
@@ -99,7 +99,7 @@ public class RelationExtractorAnnotators
assertEquals(fracture, fractureFibula.getArg2().getArgument());
}
- private AnalysisEngineDescription findDescription(Class<? extends JCasAnnotator_ImplBase> cls)
+ private static AnalysisEngineDescription findDescription(Class<? extends JCasAnnotator_ImplBase> cls)
throws Exception {
File directory = new File("desc/analysis_engine");
File file = new File(directory, cls.getSimpleName() + ".xml");