Class CoordinationAnnotator

  • All Implemented Interfaces:
    org.apache.uima.analysis_component.AnalysisComponent

    public class CoordinationAnnotator
    extends org.apache.uima.analysis_component.JCasAnnotator_ImplBase
    • Constructor Detail

      • CoordinationAnnotator

        public CoordinationAnnotator()
    • Method Detail

      • initialize

        public void initialize​(org.apache.uima.UimaContext aContext)
                        throws org.apache.uima.resource.ResourceInitializationException
        Specified by:
        initialize in interface org.apache.uima.analysis_component.AnalysisComponent
        Overrides:
        initialize in class org.apache.uima.analysis_component.AnalysisComponent_ImplBase
        Throws:
        org.apache.uima.resource.ResourceInitializationException
      • process

        public void process​(org.apache.uima.jcas.JCas jcas)
                     throws org.apache.uima.analysis_engine.AnalysisEngineProcessException
        This method is used to process the information found so far (e.g. by the Tokenizer) and add new information to the CAS (like EEEs inside the Sentences, Conjuncts inside the EEEs or resolved ellipses. For every sentence within the CAS, a coordinationTokenList will be created. This List will be just another manifestation of the sentence which is suitable for baseline prediction of EEEs, conjuncts and resolved ellipses. Once the coordiantionTokenList is processed, the new information will be added to the CAS (e.g. by creating the accordant Objects like EEEs and writing them to the CAS).
        Specified by:
        process in class org.apache.uima.analysis_component.JCasAnnotator_ImplBase
        Throws:
        org.apache.uima.analysis_engine.AnalysisEngineProcessException
      • writeEEEToCas

        public void writeEEEToCas​(ArrayList<CoordinationToken> coordinationTokenList,
                                  ArrayList<Token> tokenList,
                                  org.apache.uima.jcas.JCas jcas)
        This method is used to write the EEE to the CAS. For this purpose the coordinationTokenList and the tokenList are used. CoordinationTokenList contains information about EEEs (EEELabel marks every token either to be within the EEE or outside). TokenList is used to access the begin and end information. The approach is to iterate trough the coordinationTokenList and to check every coordinationToken if it is inside an EEE (in other words, to check it's EEELabel). Once the first coordinationToken which is inside an EEE is found on a certain position in the coordinationTokenList, the token on the same position in the tokenList will be accessed and it's begin value will be kept in the beginEEE variable. Thus we found the begin of the EEE. Now the end of the EEE has to be established. For this purpose the variable endEEE will be updated while the coordinationTokens are inside the EEE. Thus it marks the end information of the currently last checked token within the EEE.
        Parameters:
        coordinationTokenList - ArrayList is used to find the EEE using the EEELabel of the coordinationTokens
        tokenList - ArrayList is used to get the begin and end values of tokens
        jcas - JCas which the EEE will be put into