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 >