Package org.apache.uima.jcas.cas

Examples of org.apache.uima.jcas.cas.FSArray


      copy = new TerminalTreebankNode(jcas);
      copy.setLeaf(true);
      copy.setChildren(null);
    }else{
      copy = new TreebankNode(jcas);
      copy.setChildren(new FSArray(jcas, orig.getChildren().size()));
      for(int i = 0; i < orig.getChildren().size(); i++){
        copy.setChildren(i, getTreeCopy(jcas, orig.getChildren(i)));
        copy.getChildren(i).setParent(copy);
      }
    }
View Full Code Here


        tree = tree.getParent();
      }
      // matches a node in tree, just insert one above it
      newTree = new TreebankNode(jcas, tree.getBegin(), tree.getEnd());
      newTree.setNodeType(nodeType);
      newTree.setChildren(new FSArray(jcas, 1));
      newTree.setChildren(0, tree);
      newTree.setParent(tree.getParent());
      TreeUtils.replaceChild(tree.getParent(), tree, newTree);
      tree.setParent(newTree);
//      newTree.setNodeType(tree.getNodeType());
//      newTree.setChildren(tree.getChildren());
//      newTree.setParent(tree);
//      tree.setNodeType(nodeType);
//      tree.setChildren(new FSArray(jcas, 1));
//      tree.setChildren(0,newTree);
//      newTree = tree;
    }else{
      // mismatch

      int startChild = -1;
      int endChild = -1;
     
      if(!tree.getLeaf()){
        // it can happen that the tree here is a terminal (pos tag:word) and thus has no children, in the case that the gold
        // standard entities are tokenized correctly and the tokenizer is wrong. With automatic tokens and entities this shouldn't happen.
        for(int i = 0; i < tree.getChildren().size(); i++){
          if(startChild == -1){
            if(tree.getChildren(i).getBegin() == arg1.getBegin()){
              startChild = i;
            }
          }else if(tree.getChildren(i).getEnd() == arg1.getEnd()){
            endChild = i;
            break;
          }
        }
      }
     
      // here is where we insert if possible
      if(startChild >= 0 && endChild >= 0){
        newTree = new TreebankNode(jcas, tree.getChildren(startChild).getBegin(), tree.getChildren(endChild).getEnd());
        newTree.setNodeType(nodeType);
        newTree.setParent(tree);
        int numStolenChildren = endChild-startChild+1;
        newTree.setChildren(new FSArray(jcas, numStolenChildren));
        // add new children to new intermediate node
        for(int i = startChild; i <= endChild; i++){
          newTree.setChildren(i-startChild, tree.getChildren(i));
        }
        // create new children array for top node (tree)
        FSArray children = new FSArray(jcas, tree.getChildren().size() - numStolenChildren + 1);
        for(int i = 0; i < startChild; i++){
          children.set(i, tree.getChildren(i));
        }
        children.set(startChild, newTree);
        for(int i = endChild+1; i < tree.getChildren().size(); i++){
          children.set(i-numStolenChildren+1, tree.getChildren(i));
        }
        tree.setChildren(children);
      }else{
        // just put above here...
        newTree = new TreebankNode(jcas, tree.getBegin(), tree.getEnd());
        newTree.setNodeType(nodeType);
        newTree.setChildren(new FSArray(jcas, 1));
        newTree.setChildren(0, tree);
        newTree.setParent(tree.getParent());
        TreeUtils.replaceChild(tree.getParent(), tree, newTree);
        tree.setParent(newTree);
//        newTree.setNodeType(tree.getNodeType());
View Full Code Here

      if(child.getEnd() <= annot.getBegin()){
        // child is to the left of annotation completely
        continue;
      }else if(child.getBegin() > annot.getEnd()){
        // child is to the right of annotation completely -- remove it and all to the right
        FSArray newChildren = new FSArray(jcas, i);
        for(int j = 0; j < i; j++){
          newChildren.set(j, node.getChildren(j));
        }
        node.setChildren(newChildren);
        break;
      }else{
        removeRightOfAnnotation(jcas, child, annot);
View Full Code Here

  @Override
  protected String extractInformation(IdentifiedAnnotation t) {
    StringBuilder buff = new StringBuilder();
   
    FSArray mentions = t.getOntologyConceptArr();
   
    HashSet<String> uniqueCuis = new HashSet<String>();
    if(mentions == null) return null;
    for(int i = 0; i < mentions.size(); i++){
      if(mentions.get(i) instanceof UmlsConcept){
        UmlsConcept concept = (UmlsConcept) mentions.get(i);
        uniqueCuis.add(concept.getCui());
      }
    }
   
    for(String cui : uniqueCuis){
View Full Code Here

      ArrayList<TreebankNode> l1 = getUpwardPath(lca, t1);
      ArrayList<TreebankNode> l2 = getUpwardPath(lca, t2);
      if(lca == null){
        lca = new TopTreebankNode(jcas);
        lca.setNodeType("TOP");
        lca.setChildren(new FSArray(jcas,2));
        if(l1.size()==0){
          l1.add(t1);
        }
        if(l2.size() == 0){
          l2.add(t2);
View Full Code Here

    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);
      if(sentStr.length() == 0){
        parse = null;
      }else{
View Full Code Here

    }
    locationTerm.setBegin(neBegin);
    locationTerm.setEnd(neEnd);
   
    List list = getTokenData(jcas, locationTerm);
    FSArray fsArr = new FSArray(jcas, list.size());

    for(int i=0; i<list.size(); i++) {
      BaseToken wta = (BaseToken)list.get(i);
      if (wta.getCoveredText().compareToIgnoreCase("at")!=0 ||
          (wta.getCoveredText().compareTo("AT")==0 && wta.getPartOfSpeech().compareTo("IN")!= 0))
        fsArr.set(i, wta);
      else if (i ==0)
        skipTerm = true;
    }
    String segStatus = getSubSectionStatus(locationTerm, jcas, cutOffForRevision);
   
View Full Code Here

    Iterator hitsByOffsetItr = organizeByOffset(lhItr);
    while (hitsByOffsetItr.hasNext())
    {
      Collection hitsAtOffsetCol = (Collection) hitsByOffsetItr.next();

      FSArray ocArr = new FSArray(jcas, hitsAtOffsetCol.size());
      int ocArrIdx = 0;

      // iterate over the LookupHit objects and create
      // a corresponding JCas OntologyConcept object that will
      // be placed in a FSArray
      Iterator lhAtOffsetItr = hitsAtOffsetCol.iterator();
      int neBegin = -1;
      int neEnd = -1;
      while (lhAtOffsetItr.hasNext())
      {
        LookupHit lh = (LookupHit) lhAtOffsetItr.next();
        neBegin = lh.getStartOffset();
        neEnd = lh.getEndOffset();
        //MetaDataHit mdh = lh.getGazMetaDataHit();
        MetaDataHit mdh = lh.getDictMetaDataHit();

        OntologyConcept oc = new OntologyConcept(jcas);
        oc.setCode(mdh.getMetaFieldValue(iv_props.getProperty(CODE_MF_PRP_KEY)));
        oc.setCodingScheme(iv_props.getProperty(CODING_SCHEME_PRP_KEY));

        ocArr.set(ocArrIdx, oc);
        ocArrIdx++;
      }

      UnknownSmokerNamedEntityAnnotation neAnnot = new UnknownSmokerNamedEntityAnnotation(jcas); //modification
      neAnnot.setBegin(neBegin);
View Full Code Here

    Iterator hitsByOffsetItr = organizeByOffset(lhItr);
    while (hitsByOffsetItr.hasNext())
    {
      Collection hitsAtOffsetCol = (Collection) hitsByOffsetItr.next();

      FSArray ocArr = new FSArray(jcas, hitsAtOffsetCol.size());
      int ocArrIdx = 0;

      // iterate over the LookupHit objects and create
      // a corresponding JCas OntologyConcept object that will
      // be placed in a FSArray
      Iterator lhAtOffsetItr = hitsAtOffsetCol.iterator();
      int neBegin = -1;
      int neEnd = -1;
      while (lhAtOffsetItr.hasNext())
      {
        LookupHit lh = (LookupHit) lhAtOffsetItr.next();
        neBegin = lh.getStartOffset();
        neEnd = lh.getEndOffset();
        //MetaDataHit mdh = lh.getGazMetaDataHit();
        MetaDataHit mdh = lh.getDictMetaDataHit();

        OntologyConcept oc = new OntologyConcept(jcas);
        oc.setCode(mdh.getMetaFieldValue(iv_props.getProperty(CODE_MF_PRP_KEY)));
        oc.setCodingScheme(iv_props.getProperty(CODING_SCHEME_PRP_KEY));

        ocArr.set(ocArrIdx, oc);
        ocArrIdx++;
      }

      SmokerNamedEntityAnnotation neAnnot = new SmokerNamedEntityAnnotation(jcas); //modification
      neAnnot.setBegin(neBegin);
View Full Code Here

    Iterator hitsByOffsetItr = organizeByOffset(lhItr);
    while (hitsByOffsetItr.hasNext())
    {
      Collection hitsAtOffsetCol = (Collection) hitsByOffsetItr.next();

      FSArray ocArr = new FSArray(jcas, hitsAtOffsetCol.size());
      int ocArrIdx = 0;

      // iterate over the LookupHit objects and create
      // a corresponding JCas OntologyConcept object that will
      // be placed in a FSArray
      Iterator lhAtOffsetItr = hitsAtOffsetCol.iterator();
      int neBegin = -1;
      int neEnd = -1;
      while (lhAtOffsetItr.hasNext())
      {
        LookupHit lh = (LookupHit) lhAtOffsetItr.next();
        neBegin = lh.getStartOffset();
        neEnd = lh.getEndOffset();

        //MetaDataHit mdh = lh.getGazMetaDataHit();
        MetaDataHit mdh = lh.getDictMetaDataHit();
       
        OntologyConcept oc = new OntologyConcept(jcas);
        oc.setCode(mdh.getMetaFieldValue(iv_props.getProperty(CODE_MF_PRP_KEY)));
        oc.setCodingScheme(iv_props.getProperty(CODING_SCHEME_PRP_KEY));

        ocArr.set(ocArrIdx, oc);
        ocArrIdx++;
      }

      NonSmokerNamedEntityAnnotation neAnnot = new NonSmokerNamedEntityAnnotation(jcas); //modification
      neAnnot.setBegin(neBegin);
View Full Code Here

TOP

Related Classes of org.apache.uima.jcas.cas.FSArray

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.