Contents - Introduction - Analysis engines (annotators) - CopyAnnotator.xml - NullAnnotator.xml - OverlapAnnotator.xml - SentenceDetectorAnnotator.xml - SimpleSegmentAnnotator.xml - TokenizerAnnotator.xml ############ Introduction ############ This project contains several annotators, including: - a sentence detector annotator (a wrapper around the OpenNLP sentence detector) - a tokenizer - an annotator that does not update the CAS in any way, which can be useful if you are using the UIMA CPE GUI and you are required to specify an analysis engine but you don't actually want to specify one. - an annotator that creates a single Segment annotation encompassing the entire document text, which can be used when processing a plaintext document which therefore doesn't have section (aka segment) tags. Of particular interest is that - End-of-line characters are considered end-of-sentence markers. A sentence detector model is included with this project. The model derives from a combination of GENIA, Penn Treebank (Wall Street Journal) and anonymized clinical data per Safe Harbor HIPAA guidelines. Prior to model building, the clinical data was deidentified for patient names to preserve patient confidentiality. Any person name in the model will originate from non-patient data sources. ############################# Analysis engines (annotators) ############################# %%%%%%%%%%%%%%%%% CopyAnnotator.xml This is a utility annotator that copies data from an existing JCas object into a new JCas object. %%%%%%%%%%%%%%%%% NullAnnotator.xml %%%%%%%%%%%%%%%%%%%% OverlapAnnotator.xml An annotator that modifies one annotation (begin and end offsets) or deletes one (or both) of the annotations, when two annotations overlap. The action taken depends on the configuration parameters. It can extend an annotation to encompass overlapping annotations. It can be configured to delete annotations of type A that are subsumed by other annotations of type A if you only want the longest annotations of the given type to be kept. See the javadoc for edu.mayo.bmi.uima.core.ae.OverlapAnnotator for more details. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% SentenceDetectorAnnotator.xml A wrapper around the OpenNLP sentence detector, that creates Sentence annotations based on the location of end-of-line characters and on the output of the OpenNLP sentence detector. This annotator considers an end-of-line character as an end-of-sentence marker. Optionally can skip certain sections of the document. Parameters: SegmentsToSkip - (optional) the list of sections not to create Sentence annotations for. Resources: MaxentModelFile - (required) the Maxent model sentence detector. %%%%%%%%%%%%%%%%%%%%%%%%%% SimpleSegmentAnnotator.xml Creates a single Segment annotation, encompassing the entire document. For use prior to annotators that require a Segment annotation, when the the pipeline does not contain a different annotator that creates Segment annotations. This annotator is used for plaintext files, but not for CDA documents, as the CdaCasInitializer annotator creates Segment annotations. Parameters: SegmentID - (optional) the identifier to use for the Segment annotation created. %%%%%%%%%%%%%%%%%%%%%% TokenizerAnnotator.xml Tokenizes text. See classes edu.mayo.bmi.uima.core.ae.TokenizerAnnotatorPTB and edu.mayo.bmi.nlp.tokenizer.Tokenizer for implementation details. Parameters: SegmentsToSkip - (optional) the list of sections not to create token annotations for.