I'd think LVG would come up with "fall" as the canonicalForm of "fell" and
"fallen", but apparently it doesn't.

The only terms associated with C0085639 in my custom-built dictionary are:

sql> select cui, tui, text, prefterm from cui_terms c join tui t on t.cui =
> c.cui join prefterm p on p.cui = c.cui and cui=85639;
>   CUI  TUI  TEXT     PREFTERM
> -----  ---  -------  --------
> 85639   33  falling  Falls
> 85639   33  falls    Falls
> 85639   33  fall     Falls


Justin, for this particular purpose, you could create a custom BSV
dictionary associating "fell" and "fallen" with your target concept.
Examples here:
https://svn.apache.org/repos/asf/ctakes/trunk/ctakes-dictionary-lookup-fast-res/src/main/resources/org/apache/ctakes/dictionary/lookup/fast/example/bsv/

Sean, does this seem right?  (I have some side questions on LVG, too, since
you mention you don't use it in your pipelines... but I suppose those
should be under separate cover.)

-Kean


On Fri, Jul 14, 2017 at 2:32 PM, Justin Brown <jb613...@gmail.com> wrote:

> I'm using the FastPipeline, and cTakes 4.0(dev version) to process a note
> that contains sentences about falling. After the note is run through the
> pipeline, I pick out only the IdentifiedAnnotations in the note, the
> sentence that contain them, and the CUIS of the IdentifiedAnnotation. Here
> are the results:
>
> cTakes did not identify any words in any of these sentences:
> "The patient fell."
> "The patient fell again after using the restroom."
> "The patient has not fallen since the afternoon."
>
> cTakes identified the keyword "fall" in all of these, including it's CUI.
> "The patient had a fall in the morning during a shift change."
> "The patient had a fall."
> "The patient had no fall."
> The patient did not have a fall"
>
> cTakes picked up on these, but only because it matched "did".
> "The patient didn't fall."
> "The patient did not fall."
>
> The first problem is, I need cTakes to identify "fell" and all other
> versions of "fall", and give me it's CUI(which according to MetaMaps is:
> C0085639).
> The other problem is that cTakes seems to need "have a" or "had a" in front
> of "fall" in order to pick it up.
>
> Here is the code I'm using to process notes:
>
> JCas jcas = JCasFactory.createJCas();
> jcas.setDocumentText(note);
> AggregateBuilder builder = new AggregateBuilder();
> builder.add(ClinicalPipelineFactory.getFastPipeline());
> SimplePipeline.runPipeline(jcas, builder.createAggregateDescription());
>
> for (IdentifiedAnnotation entity : JCasUtil.select(jcas,
> IdentifiedAnnotation.class)) {
> ...
> }
>
> If there is a better way of processing notes and getting CUIs, please let
> me know
>
> Thank You,
>
> Justin
>

Reply via email to