ctakes-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alaa al Barari <alaa.albar...@gmail.com>
Subject RE: jcas work with a list of schemas
Date Mon, 06 Feb 2017 18:07:03 GMT
Thanks sean but internally this fetch data for all schemas then filter the
needed schema right ?

On Feb 6, 2017 7:57 PM, "Finan, Sean" <Sean.Finan@childrens.harvard.edu>
wrote:

> Hi Alaa,
>
> Have a look at the OntologyConceptUtil class in ctakes-core.  You can use
> the getCodes(..) method to obtain the codes for a scheme.
>
> For all codes of all annotations:
> Collection<String> allCodes = OntologyConceptUtil.getCodes( jcas,
> schemeName );
>
> For all codes of all annotations in a window (paragraph, segment,
> sentence):
> Collection<String> windowCodes = OntologyConceptUtil.getCodes( jcas,
> windowAnnotation, schemeName );
>
> For all codes in a single annotation:
> Collection<String> annotationCodes = OntologyConceptUtil.getCodes(
> annotation, schemeName );
>
> For all codes in multiple annotations:
> Collection<String> annotationsCodes = OntologyConceptUtil.getCodes(
> annotations, schemeName );
>
> If you want a map of scheme names and codes:
> Map<String,Collection<String>> getSchemeCodes( jcas );
> Map<String,Collection<String>> getSchemeCodes( jcas, window );
> ... getSchemeCodes( annotation );
> ... getSchemeCodes( annotations );
>
>
> If you have some other need, like getting all annotations with codes of a
> certain scheme, let me know.
> Sean
>
>
>
> -----Original Message-----
> From: Alaa al Barari [mailto:alaa.albarari@gmail.com]
> Sent: Monday, February 06, 2017 4:30 AM
> To: dev@ctakes.apache.org
> Subject: jcas work with a list of schemas
>
> Hi,
>
> I have my own dictionary and it has a lot of schemas which takes a lot of
> time. please see code below, how to make it work with specific list of
> schemas instead of all of them
>
>                                 jcas = pipeline.newJCas();
> jcas.setDocumentText(sentence.getCoveredText());
> pipeline.process(jcas);
> String previousEntity = "";
> for ( IdentifiedAnnotation entity : JCasUtil.select( jcas,
> IdentifiedAnnotation.class ) ) {
>
> final FSArray fsArray = entity.getOntologyConceptArr(); if ( fsArray ==
> null ) { continue; } String entityString = entity.getCoveredText();
> System.out.println( "Entity: " + entity.getCoveredText()
> + " === Polarity: " + entity.getPolarity() " === Subject: " +
> + entity.getSubject() " === History? " + (entity.getHistoryOf() ==
> CONST.NE_HISTORY_OF_PRESENT));
>
> final FeatureStructure[] featureStructures = fsArray.toArray();
> final Collection<String> entityCodes = new ArrayList<>(
> featureStructures.length );
> previousEntity = entityString;
> for ( FeatureStructure featureStructure : featureStructures ) {
> if ( featureStructure instanceof UmlsConcept ) {
> final UmlsConcept umlsConcept = (UmlsConcept)featureStructure;
> String entityCode = umlsConcept.getCode();
> String entityScheme = umlsConcept.getCodingScheme();
> String description = umlsConcept.getCodeDescription();
> if (entityCode == null || entityScheme == null) {
> continue;
> }
> if (schemes.contains(entityScheme) || schemes.contains("all")) {
> System.out.println(entityScheme + "_" + entityCode + "_" + description);
> }
> }
> }
>
> }
> }
>
>
> Regards.
> --
> Eng Alaa Al-Barari
> phone 0599297470
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message