Package org.apache.uima.jcas.cas

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


    while (uniqueNER.hasNext())
    {

      tokenAnt = (MedicationMention) uniqueNER.next();
      boolean isDrugNER = false;
      FSArray ocArr = tokenAnt.getOntologyConceptArr();
      if (ocArr != null)
      {
        for (int i = 0; i < ocArr.size() && !isDrugNER; i++)
        {
          OntologyConcept oc = (OntologyConcept) ocArr.get(i);

          String scheme = oc.getCodingScheme();
          //if (scheme.compareTo("RXNORM") == 0)
          //{
            isDrugNER = true;
View Full Code Here


               continue;
            }
            // code is only valid if the covered text is also present in the filter
            final int neBegin = entry.getKey().getStart();
            final int neEnd = entry.getKey().getEnd();
            final FSArray conceptArr = new FSArray( jcas, conceptList.size() );
            int arrIdx = 0;
            for ( UmlsConcept umlsConcept : conceptList ) {
               conceptArr.set( arrIdx, umlsConcept );
               arrIdx++;
            }
            IdentifiedAnnotation annotation;
            if ( typeId == CONST.NE_TYPE_ID_DRUG ) {
               annotation = new MedicationMention( jcas );
View Full Code Here

               continue;
            }
            // code is only valid if the covered text is also present in the filter
            final int neBegin = entry.getKey().getStart();
            final int neEnd = entry.getKey().getEnd();
            final FSArray conceptArr = new FSArray( jcas, conceptList.size() );
            int arrIdx = 0;
            for ( UmlsConcept umlsConcept : conceptList ) {
               conceptArr.set( arrIdx, umlsConcept );
               arrIdx++;
            }
            final IdentifiedAnnotation identifiedAnnotation = new EntityMention( jcas );
            identifiedAnnotation.setTypeID( typeId );
            identifiedAnnotation.setBegin( neBegin );
View Full Code Here

    // allocate list to hold IdentifiedAnnotations with concepts
    List<IdentifiedAnnotation> listNonTrivialNE = new ArrayList<IdentifiedAnnotation>();
    // allocate list to hold concepts in each named entity
    List<Set<String>> listConcept = new ArrayList<Set<String>>();
    for (IdentifiedAnnotation ne : listNE) {
      FSArray concepts = ne.getOntologyConceptArr();
      // add the concept senses from each named entity
      if (concepts != null && concepts.size() > 0) {
        listNonTrivialNE.add(ne);
        Set<String> conceptSenses = new HashSet<String>();
        listConcept.add(conceptSenses);
        for (int i = 0; i < concepts.size(); i++) {

          if (concepts.get(i) != null) {
            String conceptId = this.getConceptId(concepts.get(i));
            if (!Strings.isNullOrEmpty(conceptId))
              conceptSenses.add(conceptId);
          }
        }
      }
    }
    if(log.isTraceEnabled())
      log.trace("listConcept: " + listConcept);
    // iterate through named entities and disambiguate
    for (int i = 0; i < listConcept.size(); i++) {
      Set<String> conceptSenses = listConcept.get(i);
      // only bother with wsd if there is more than one sense
      if (conceptSenses.size() > 1) {
        if(log.isTraceEnabled())
          log.trace("i: " + i + ", conceptSenses: " + conceptSenses);
        Map<String, Double> scores = new HashMap<String, Double>();
        String concept = this.wsd.disambiguate(listConcept, i, null,
            windowSize, metric, scores, true);
        if(log.isTraceEnabled())
          log.trace("i: " + i + ", concept: " + concept);
        IdentifiedAnnotation ne = listNonTrivialNE.get(i);
        FSArray concepts = ne.getOntologyConceptArr();
        for (int j = 0; j < concepts.size(); j++) {
          OntologyConcept yoc = (OntologyConcept) concepts.get(j);
          String conceptId = this.getConceptId(yoc);
          // update the score and set the predicted concept field
          if (concept == null || concept.equals(conceptId))
            yoc.setDisambiguated(true);
          if (scores.containsKey(conceptId))
            yoc.setScore(scores.get(conceptId));

        }
      } else if (conceptSenses.size() == 1) {
        // only one concept - for ytex concept set the predicted concept
        IdentifiedAnnotation ne = listNonTrivialNE.get(i);
        FSArray concepts = ne.getOntologyConceptArr();
        OntologyConcept oc = (OntologyConcept) concepts.get(0);
        oc.setDisambiguated(true);
      }
    }
  }
View Full Code Here

      } else {
        FSIterator<Annotation> negIter = jcas.getAnnotationIndex(
            negType).iterator();
        while (negIter.hasNext()) {
          Annotation negAnno = negIter.next();
          FSArray spanArr = (FSArray) negAnno
              .getFeatureValue(spanFeature);
          if (spanArr != null) {
            for (int i = 0; i < spanArr.size(); i++) {
              negSet.add(new NegSpan((Annotation) spanArr.get(i)));
            }
          }
        }
      }
    }
View Full Code Here

        jcas) : new EntityMention(jcas);
    neLast.setPolarity(negSet.contains(new NegSpan(begin, end)) ? CONST.NE_POLARITY_NEGATION_PRESENT
        : CONST.NE_POLARITY_NEGATION_ABSENT);
    neLast.setBegin(begin);
    neLast.setEnd(end);
    FSArray ocArr = new FSArray(jcas, concepts.size());
    int ocArrIdx = 0;
    for (OntologyConcept oc : concepts.values()) {
      // set the cui field if this is in fact a cui
      ocArr.set(ocArrIdx, oc);
      ocArrIdx++;
    }
    neLast.setOntologyConceptArr(ocArr);
    concepts.clear();
    neLast.addToIndexes();
View Full Code Here

  }

  private void addDocKey(JCas aCAS, Map<String, Object> id)
      throws CollectionException {
    DocKey docKey = new DocKey(aCAS);
    FSArray keyValuePairs = new FSArray(aCAS, id.size());
    int i = 0;
    for (Map.Entry<String, Object> idVal : id.entrySet()) {
      String key = idVal.getKey();
      Object val = idVal.getValue();
      KeyValuePair p = new KeyValuePair(aCAS);
      p.setKey(key);
      if (val instanceof Number) {
        p.setValueLong(((Number) val).longValue());
      } else if (val instanceof String) {
        p.setValueString((String) val);
      } else {
        log.warn("Don't know how to handle key attribute, converting to string, key="
            + key + ", value=" + val);
        p.setValueString(val.toString());
      }
      keyValuePairs.set(i, p);
      i++;
    }
    docKey.setKeyValuePairs(keyValuePairs);
    docKey.addToIndexes();
View Full Code Here

    Matcher matcher = pattern.matcher(annoText);
    while (matcher.find()) {
      EntityMention ne = new EntityMention(aJCas);
      ne.setBegin(nOffset + matcher.start());
      ne.setEnd(nOffset + matcher.end());
      FSArray ocArr = new FSArray(aJCas, 1);
      OntologyConcept oc = new OntologyConcept(aJCas);
      oc.setCode(neRegex.getCode());
      oc.setCodingScheme(neRegex.getCodingScheme());
      oc.setOid(neRegex.getOid());
      ocArr.set(0, oc);
      ne.setOntologyConceptArr(ocArr);
      ne.addToIndexes();
    }
  }
View Full Code Here

   */
  private List<FeatureStructure> extractList(FeatureStructure fsc) {
    List<FeatureStructure> listFS = new ArrayList<FeatureStructure>();
    if (fsc != null) {
      if (fsc instanceof FSArray) {
        FSArray fsa = (FSArray) fsc;
        for (int i = 0; i < fsa.size(); i++) {
          FeatureStructure fsElement = fsa.get(i);
          if (fsElement != null)
            listFS.add(fsElement);
        }
      } else if (fsc instanceof FSList) {
        FSList fsl = (FSList) fsc;
View Full Code Here

   * @param dk
   *            key
   */
  private void saveDocKey(Document document, DocKey dk) {
    int documentId = document.getDocumentID();
    FSArray fsa = dk.getKeyValuePairs();
    if (fsa == null || fsa.size() == 0)
      return;
    // build query dynamically
    StringBuilder queryBuilder = (new StringBuilder("update ")).append(
        formattedTableName).append(" set ");
    List<Object> args = new ArrayList<Object>();
    boolean bFirstArg = true;
    // iterate over key/value pairs
    for (int i = 0; i < fsa.size(); i++) {
      KeyValuePair kp = (KeyValuePair) fsa.get(i);
      String key = kp.getKey();
      if (key.equalsIgnoreCase("instance_id")) {
        // instance_id is something we 'know' about - set it
        document.setInstanceID(kp.getValueLong());
      } else if (key.equalsIgnoreCase("instance_key")) {
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.