On Dec 13, 2012, at 1:56 PM, "Miller, Timothy" <[email protected]> wrote: > So the EntityMentionPairExtractor would extend > RelationExtractorAnnotator<Sentence,IdentifiedAnnotation,IdentifiedAnnotation>, > coreference would extend with the args > <Document,IdentifiedAnnotation,IdentifiedAnnotation>, > DegreeOf would extend with args <Sentence,IdentifiedAnnotation,Modifier>, > and so on.
I think it's fine to do this, assuming you can sort out and fix all the compiler errors. > The other aspect is the feature extractor, which is currently defined in the > abstract class. However, it is protected so we could just have default > features in this class and expect children to define their own features. > Alternatively, we could make it an abstract method so that instantiations > have to explicitly enumerate features. Yeah, I would go the abstract method route. Make the featureExtractors variable private, and then set `this.featureExtractors = this.getFeatureExtractors()` in the initialize method. If it works out, and you can implement coreference with this, then we should probably move the RelationExtractorAnnotator class to ctakes-core. Steve P.S. There's still a bit more cleanup needed in RelationExtractorAnnotator. PARAM_GOLD_VIEW_NAME shouldn't exist - instead, RelationExtractorEvaluation should use appropriate view-mapping of copying of annotations to make RelationExtractorAnnotator see whatever it's supposed to see.
