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

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


    FSIterator sentences = jCas.getAnnotationIndex(Sentence.type)
        .iterator();

    while (sentences.hasNext()) {
      Sentence sentence = (Sentence) sentences.next();

      tokens.clear();
      words.clear();

      FSIterator tokenIterator = baseTokenIndex.subiterator(sentence);
      while (tokenIterator.hasNext()) {
        BaseToken token = (BaseToken) tokenIterator.next();
        tokens.add(token);
        words.add(token.getCoveredText());
      }

      List<?> wordTagList = null; // List of BaseToken's
      if (words.size() > 0) {
        wordTagList = tagger.tag(words);
      }
      // else {
      // logger.info("sentence has no words = '" +
      // sentence.getCoveredText()
      // + "' at (" +sentence.getBegin() + "," + sentence.getEnd() + ")");
      // }

      try {
        for (int i = 0; i < tokens.size(); i++) {
          BaseToken token = (BaseToken) tokens.get(i);
          String posTag = (String) wordTagList.get(i);
          token.setPartOfSpeech(posTag);
        }
      } catch (IndexOutOfBoundsException e) {
        throw new AnalysisEngineProcessException(
            "sentence being tagged is: '"
                + sentence.getCoveredText() + "'", null, e);
      }
    }
  }
View Full Code Here


          baseToken.addToIndexes();

          documentText.append(word + " ");
          wordStart = wordEnd + 1;
        }
        Sentence sentence = new Sentence(jCas, 0, wordEnd);
        sentence.setSentenceNumber(0);
        sentence.addToIndexes();
        jCas.setDocumentText(documentText.toString());
      }
    } catch (CASException ce) {
      throw new CollectionException(ce);
    }
View Full Code Here

    // iterate over sentences
    FSIterator iterator = jcas.getAnnotationIndex(Sentence.type).iterator();
    Parse parse = null;
   
    while(iterator.hasNext()){
      Sentence sentAnnot = (Sentence) iterator.next();
      if(sentAnnot.getCoveredText().length() == 0){
        continue;
      }
      FSArray termArray = TreeUtils.getTerminals(jcas, sentAnnot);
      Parse inputTokens = TreeUtils.ctakesTokensToOpennlpTokens(sentAnnot, termArray);
      String sentStr = TreeUtils.getSentence(termArray);
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

//          cuePhraseInWindowExtractor.extract(jCas, entityOrEventMention);
          //cuePhraseInWindowExtractor.extractWithin(jCas, entityMention, firstCoveringSentence);
//      List<Sentence> sents = new ArrayList<Sentence>(coveringSents.get(entityOrEventMention));
      List<Sentence> sents = new ArrayList<Sentence>(JCasUtil.selectCovering(jCas, Sentence.class, entityOrEventMention.getBegin(), entityOrEventMention.getEnd()));
      if(sents.size() > 0){
        Sentence sentence = sents.get(0);
        List<AssertionCuePhraseAnnotation> cues = JCasUtil.selectCovered(AssertionCuePhraseAnnotation.class, sentence);
        int closest = Integer.MAX_VALUE;
        AssertionCuePhraseAnnotation closestCue = null;
        for(AssertionCuePhraseAnnotation cue : cues){
          List<BaseToken> tokens = JCasUtil.selectBetween(BaseToken.class, cue, entityOrEventMention);
View Full Code Here

      String [][] tokenArrays = p.getTokenArrays();
      jcas.setSofaDataString(contents, "");
      int sentNum = 0;
      int tokNum = 0;
      for (int i=0; i < tokenArrays.length; i++) {
        Sentence sent = new Sentence(jcas);
        LineAndTokenPosition sentStart = new LineAndTokenPosition();
        sentStart.setLine(i+1);
        sentStart.setTokenOffset(0);
        LineAndTokenPosition sentEnd = new LineAndTokenPosition();
        sentEnd.setLine(i+1);
        sentEnd.setTokenOffset(tokenArrays[i].length-1);
        LineTokenToCharacterOffsetConverter.BeginAndEndCharacterOffsetPair sStart = converter.convert(sentStart);
        LineTokenToCharacterOffsetConverter.BeginAndEndCharacterOffsetPair sEnd = converter.convert(sentEnd);
        if ((sStart == null) || (sEnd == null)) {
          sent.setBegin(0);
          sent.setEnd(0);
          sent.setSentenceNumber(sentNum);
        } else {
          sent.setBegin(sStart.getBegin()); // get begin of first token
          sent.setEnd(sEnd.getEnd() + 1); // get end of last token
          sent.setSentenceNumber(sentNum);
        }
        sentNum++;
        sent.addToIndexes();
        for (int j=0; j < tokenArrays[i].length; j++) {
          WordToken tok = new WordToken(jcas);
          LineAndTokenPosition word = new LineAndTokenPosition();
          word.setLine(i+1);
          word.setTokenOffset(j);
View Full Code Here

      {
        logger.info("no covering sentences found!!! continuing with next entity/event...");
        continue;
      }
      logger.info(String.format("covering sentence count: %d", coveringSentences.size()));
      Sentence firstCoveringSentence = coveringSentences.iterator().next();
     
      logger.info(String.format(
          "first covering sentence: [%d-%d] \"%s\" (%s)",
          firstCoveringSentence.getBegin(), firstCoveringSentence.getEnd(),
          firstCoveringSentence.getCoveredText(),
          firstCoveringSentence.getClass().getName()));
     
      List<Feature> cuePhraseFeatures =
          //cuePhraseInSentenceExtractor.extract(jcas, firstCoveringSentence);
          cuePhraseInWindowExtractor.extractWithin(jcas, current, firstCoveringSentence);
          //cuePhraseInWindowNamingExtractor.extract(jcas, current);
View Full Code Here

  public List<Feature> extract(JCas view, Annotation mention)
      throws CleartkExtractorException {
    ArrayList<Feature> feats = new ArrayList<Feature>();
    List<Sentence> sents = JCasUtil.selectCovering(view, Sentence.class, mention.getBegin(), mention.getEnd());
    if(sents.size() == 0) return feats;
    Sentence sent = sents.get(0);
    List<BaseToken> tokens = JCasUtil.selectCovered(BaseToken.class, sent);
    int startIndex = -1;
    int endIndex = -1;
   
    for(int i = 0; i < tokens.size(); i++){
View Full Code Here

    beginTreeMap = new TreeMap<Integer, Sentence>();
   
    AnnotationIndex<Annotation> annotationIndex = jcas.getAnnotationIndex(Sentence.type);
    for (Annotation current : annotationIndex)
    {
      Sentence currentSentence = (Sentence)current;
     
      int begin = currentSentence.getBegin();
      beginTreeMap.put(begin, currentSentence);
    }
  }
View Full Code Here

    Integer floorKey = beginTreeMap.floorKey(characterOffset);
    if (floorKey == null)
    {
      return null;
    }
    Sentence floorEntry = beginTreeMap.get(floorKey);
   
    return floorEntry;
  }
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.