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: Cannot resolve lookup descriptor files for UmlsDictionaryLookupAnnotator
Date Thu, 09 Jul 2015 17:53:52 GMT
Hi Jakob,

Where those files exist really depends upon how you are trying to run.  They start in src/main/resources/
directories in their respective -res projects.

If you are running from an IDE, make sure that the -res modules have been added to your project,
and that the src/main/resources/ directories have been tagged as resource directories.  I'm
not an Eclipse expert either (I don't use it), but if it imports via maven it should be doing
that automatically, or maybe tagging them as source directories.

If you are running from a full build of the application, there should be a resources/ directory
in your root.  If that directory exists and contains the .xml files, either run the app from
the root directory or set $CTAKES_HOME to point to that root.

If you run with today's build you should see a listing of your classpath upon that error -
which may or may not help you find the problem.

Sean


-----Original Message-----
From: Jakob Rogstadius [mailto:Jakob.Rogstadius@who-umc.org] 
Sent: Thursday, July 09, 2015 8:43 AM
To: dev@ctakes.apache.org
Subject: Cannot resolve lookup descriptor files for UmlsDictionaryLookupAnnotator

Hi cTakes devs,

I am trying to use cTakes' UMLS Dictionary Lookup annotator (either the older one or the newer
fast one) through uimaFIT, and I am running into problems with resources that can't be found.
Please bear with me if my problem description omits any relevant details, as I don't have
much experience neither with cTakes, UIMA, Java, Maven nor Eclipse.

cTakes is imported into my Eclipse project through Maven, and I have a very basic pipeline
running with a few annotators from UIMA and cTakes, along with a few custom ones. I have specified
the UMLS login details in the arguments of the Eclipse runtime configuration, which works.
However, when I add either a UmlsDictionaryLookupAnnotator or its fast version, they fail
to resolve their respective lookup descriptor files. I have included a stack trace for the
first method, while the second method throws a null pointer exception on AbstractJCasTermAnnotator.initialize()
(line 129), due to the fileResource variable being null.

I have noticed that since cTakes version 3.1.1, the lookup descriptor file referenced in UmlsDictionaryLookupAnnotator.createAnnotatorDescription()
is no longer included in ctakes-dictionary-lookup-res-3.x.x.jar. I don't know if the same
change took place for the fast dictionary, but I can see that the xml file referenced in DictionaryLookupFactory.createUmlsDictionaryLookupDescription()
is not present in the ctakes-dictionary-lookup-fast-res-3.2.2.jar that I get through Maven.
Have these files moved, so that I now need to include something else? Am I doing something
else wrong?

Also, I have downloaded the UMLS dictionary resources from https://urldefense.proofpoint.com/v2/url?u=http-3A__ctakes.apache.org_downloads.cgi&d=BQIFAg&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=HSSKy6iWmdl_k4qE22gY7Kb6oTqcfm2ZxVdjOzcjPyc&s=JO8tKCrrsRQMpvAb1evFEHf21pc1SFE7AjXaQGZEyIg&e=
, but where do I place them for cTakes to be able to find them?

Stack trace for UmlsDictionaryLookupAnnotator.createAnnotatorDescription():

java.io.FileNotFoundException: No File exists at org/apache/ctakes/dictionary/lookup/LookupDesc_Db.xml
	at org.apache.ctakes.core.resource.FileLocator.getFullPath(FileLocator.java:162)
	at org.apache.ctakes.core.resource.FileLocator.locateFile(FileLocator.java:70)
	at org.apache.ctakes.dictionary.lookup.ae.UmlsDictionaryLookupAnnotator.createAnnotatorDescription(UmlsDictionaryLookupAnnotator.java:118)
	at org.umc.research.social_media_adr_detection.pipelines.ExtractDrugAndAEMentions.main(ExtractDrugAndAEMentions.java:128)
Exception in thread "main" org.apache.uima.resource.ResourceInitializationException
	at org.apache.ctakes.dictionary.lookup.ae.UmlsDictionaryLookupAnnotator.createAnnotatorDescription(UmlsDictionaryLookupAnnotator.java:156)
	at org.umc.research.social_media_adr_detection.pipelines.ExtractDrugAndAEMentions.main(ExtractDrugAndAEMentions.java:128)
Caused by: java.io.FileNotFoundException: No File exists at org/apache/ctakes/dictionary/lookup/LookupDesc_Db.xml
	at org.apache.ctakes.core.resource.FileLocator.getFullPath(FileLocator.java:162)
	at org.apache.ctakes.core.resource.FileLocator.locateFile(FileLocator.java:70)
	at org.apache.ctakes.dictionary.lookup.ae.UmlsDictionaryLookupAnnotator.createAnnotatorDescription(UmlsDictionaryLookupAnnotator.java:118)
	... 1 more

Any pointers would be greatly appreciated.

Best regards,

Jakob Rogstadius
Research Engineer

Uppsala Monitoring Centre
WHO Collaborating Centre for International Drug Monitoring

Mime
View raw message