ctakes-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Finan, Sean" <Sean.Fi...@childrens.harvard.edu>
Subject RE: passing information through pipleline.process
Date Tue, 14 Feb 2017 14:13:34 GMT
Hi Alaa,

I have a question for you.  Do you want ctakes to never find codes from certain schemes during
processing?  Or do you want it to find them, but only return them when you request them explicitly
after processing?

> can I override process(final JCas jcas)
That depends.  If you are subclassing an AE that declares it final you cannot override it.
If it is declared final then there may be a reason.  In that case use composition.  If you
need help, web search "composition over inheritance".  You may want to use composition anyway
... 

> its from UIMA library right
Very close.  Process( JCas ) is from UimaFit while process (CAS ) is from uima.  Web search
UimaFit or go to uima.apache.org for more information.

> how can I pass an information like final ConceptCode ... createConcepts( final Collection<Long>
cuiCodes, final ConceptCode
conceptCode)
Now you are getting into the fast-dictionary-lookup code that is in ctakes.  You probably
don't want to override this.  Look at my question above.  What I am getting at is, if you
only want ctakes to maintain a small list of schemes then you should just change the dictionary
configuration file instead of delving into coding.  The configuration file is xml and lists
the schemes in your database, one per line.  Just comment out the schemes that you don't want.

As for a faster way to get codes of a different scheme, you are pretty much out of luck. 
This is because the uima cas stores everything in an array.  To get items of interest ctakes
has to go through the array and filter out whatever you don't want.  We try to do that as
efficiently as possible, but we are tied to this array storage mechanism.

Sean



-----Original Message-----
From: Alaa al Barari [mailto:alaa.albarari@gmail.com] 
Sent: Monday, February 13, 2017 3:40 AM
To: dev@ctakes.apache.org
Subject: passing information through pipleline.process

Hi,

I have around 16 different schemes, and the way I see it through ctakes, it gets the information
for all schemes then filter the un wanted ones afterwards, this is a performance concern for
me, so I am trying to modify ctakes to suite my needs.

can I override process(final JCas jcas)  if yes then where and how ?  its from UIMA library
right ? if not how can I pass an information like final ConceptCode from pipeline.process
to createConcepts, my createConcepts now look like below :
createConcepts( final Collection<Long> cuiCodes, final ConceptCode
conceptCode) ?

--
Eng Alaa Al-Barari
phone 0599297470
Mime
View raw message