Package org.apache.ctakes.typesystem.type.textspan

Examples of org.apache.ctakes.typesystem.type.textspan.Sentence


    for (String feat : FeatureIndex) {
      vfeat.put(feat, false);
    }
   
    // find the sentence that entityMention is in
    Sentence sEntity = null;
    Collection<Sentence> sentences = JCasUtil.select(jCas, Sentence.class);
    for (Sentence s : sentences) {
      if ( s.getBegin()<=arg.getBegin() && s.getEnd()>=arg.getEnd()) {
        sEntity = s;
        break;
View Full Code Here


    // Now process each sentence
    FSIterator<?> sentencesIter = indexes.getAnnotationIndex(Sentence.type).iterator();
    // Tokenize each sentence, adding the tokens to the cas index
    while (sentencesIter.hasNext()) {
      Sentence sentence = (Sentence) sentencesIter.next();
      if (sentence.getBegin() < rangeBegin || sentence.getEnd() > rangeEnd) {
        continue;
      }
      List<BaseToken> tokens = (List<BaseToken>)tokenizer.tokenizeTextSegment(jcas, sentence.getCoveredText(), sentence.getBegin(), true);
      for (BaseToken bta: tokens) {
        if (bta==null) {
          Exception e = new RuntimeException("bta==null tokenCount=" + tokenCount + " tokens.size()==" + tokens.size());
          e.printStackTrace();
        } else{
View Full Code Here

    // Add sentence annotations to the CAS
    int previousEnd = -1;
    for (int i = 0; i < sentenceSpans.size(); i++) {
      SentenceSpan span = sentenceSpans.get(i);
      if (span.getStart() != span.getEnd()) { // skip empty lines
        Sentence sa = new Sentence(jcas);
        sa.setBegin(span.getStart());
        sa.setEnd(span.getEnd());
        if (previousEnd <= sa.getBegin()) {
          // System.out.println("Adding Sentence Annotation for " +
          // span.toString());
          sa.setSentenceNumber(sentenceCount);
          sa.addToIndexes();
          sentenceCount++;
          previousEnd = span.getEnd();
        } else {
          logger.error("Skipping sentence from " + span.getStart()
              + " to " + span.getEnd());
View Full Code Here

  public void process(JCas jcas) throws AnalysisEngineProcessException {
    JFSIndexRepository indexes = jcas.getJFSIndexRepository();
    Iterator senIter = indexes.getAnnotationIndex(Sentence.type).iterator();

    while (senIter.hasNext()) {
      Sentence sen = (Sentence) senIter.next();
      boolean foundDrug = false;
      boolean foundPSE = false;

      if (setionsToIgnore.contains(sen.getSegmentId()))
        continue;

      // if drug is not found in the same sentence and the previous
      // sentence contains
      // drug and they are in the same line, then sentence will be
      // previous + current sentence
      Iterator neIter = FSUtil
          .getAnnotationsInSpanIterator(jcas,
              IdentifiedAnnotation.type, sen.getBegin(),
              sen.getEnd() + 1);
      while (neIter.hasNext()) {
        IdentifiedAnnotation n = (IdentifiedAnnotation) neIter.next();
        if (n.getTypeID() == 2 || n.getTypeID() == 3)
          foundPSE = true;

        if (n.getTypeID() == 1)
          foundDrug = true;
      }

      if (!foundPSE)
        continue;

      if (foundPSE && foundDrug) {
        PSESentence ps = new PSESentence(jcas);
        ps.setBegin(sen.getBegin());
        ps.setEnd(sen.getEnd());
        ps.addToIndexes();
      } else if (foundPSE && !foundDrug) {
        int num = sen.getSentenceNumber();
        num = (num > 0) ? num - 1 : num;
        int[] previousSenSpan = SEUtil
            .getSentenceSpanOfGivenSentenceNum(jcas, num);

        // only if they are in the same line
        if (SEUtil.isSpanInSameLine(jcas, previousSenSpan[0],
            sen.getEnd())) {
          neIter = FSUtil.getAnnotationsInSpanIterator(jcas,
              IdentifiedAnnotation.type, previousSenSpan[0],
              previousSenSpan[1] + 1);
          while (neIter.hasNext()) {
            IdentifiedAnnotation n = (IdentifiedAnnotation) neIter
                .next();
            if (n.getTypeID() == 1) {
              PSESentence ps = new PSESentence(jcas);
              ps.setBegin(previousSenSpan[0]);
              ps.setEnd(sen.getEnd());
              ps.addToIndexes();
              break;
            }
          }
        }
View Full Code Here

    JFSIndexRepository indexes = jcas.getJFSIndexRepository();
    Iterator<Annotation> iter= indexes.getAnnotationIndex(Sentence.type).iterator();
    int[] span = {-1, -1};
   
    while(iter.hasNext()) {
      Sentence sa = (Sentence) iter.next();
      if(begin>=sa.getBegin() && end<=sa.getEnd()) {
        span[0] = sa.getBegin();
        span[1] = sa.getEnd();
        break;
      }
    }

    return span;
View Full Code Here

    JFSIndexRepository indexes = jcas.getJFSIndexRepository();
    Iterator iter= indexes.getAnnotationIndex(Sentence.type).iterator();
    String str="";
   
    while(iter.hasNext()) {
      Sentence sa = (Sentence) iter.next();
      if(begin>=sa.getBegin() && end<=sa.getEnd()) {
        str = sa.getCoveredText().trim();
        break;
      }
    }
   
    return str;
View Full Code Here

    Iterator iter= indexes.getAnnotationIndex(Sentence.type).iterator();
   
    int[] span = {-1, -1};
    int num = 0;   
    while(iter.hasNext()) {
      Sentence sa = (Sentence) iter.next();
      if(senNum == num) {
        span[0] = sa.getBegin();
        span[1] = sa.getEnd();
        break;
      }
      num++;
    }
View Full Code Here

    JFSIndexRepository indexes = jcas.getJFSIndexRepository();
    Iterator iter= indexes.getAnnotationIndex(Sentence.type).iterator();
    String segID=null;
   
    while(iter.hasNext()) {
      Sentence sa = (Sentence) iter.next();
      if(begin>=sa.getBegin() && end<=sa.getEnd()) {
        segID = sa.getSegmentId();
        break;
      }
    }
       
    return segID;
View Full Code Here

    JFSIndexRepository indexes = jcas.getJFSIndexRepository();
    Iterator iter= indexes.getAnnotationIndex(Sentence.type).iterator();
    int senNum=-1;
   
    while(iter.hasNext()) {
      Sentence sa = (Sentence) iter.next();
      if(begin>=sa.getBegin() && end<=sa.getEnd()) {
        senNum = sa.getSentenceNumber();
        break;
      }
    }
   
    return senNum;
View Full Code Here

      Iterator<?> sentItr = indexes.getAnnotationIndex(Sentence.type).iterator();
      AnnotationIndex baseTokenIndex = jcas.getJFSIndexRepository().getAnnotationIndex(
          org.apache.ctakes.typesystem.type.syntax.BaseToken.type);
     
      while (sentItr.hasNext()) {
        Sentence sentAnnot = (Sentence) sentItr.next();
        FSIterator btaItr = baseTokenIndex.subiterator(sentAnnot);

        // adapt JCas objects into objects expected by the Finite state
        // machines
        List<BaseToken> baseTokenList = new ArrayList<BaseToken>();
View Full Code Here

TOP

Related Classes of org.apache.ctakes.typesystem.type.textspan.Sentence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.