Hi Sean,
Many thanks for your reply. Like you say, I see both the lookup descriptors and
all other resources in the projects on the svn server
(https://svn.apache.org/repos/asf/ctakes/trunk/). However, the -res jars that I
get through maven are completely empty, except for their META-INF folders. For
other components, their -res jars do contain their resources as expected. Could
something have gone wrong while publishing recent versions of these two?
These are my relevant maven imports:
<dependency>
<groupId>org.apache.ctakes</groupId>
<artifactId>ctakes-dictionary-lookup</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.ctakes</groupId>
<artifactId>ctakes-dictionary-lookup-res</artifactId>
<version>3.2.2</version>
</dependency> <dependency>
<groupId>org.apache.ctakes</groupId>
<artifactId>ctakes-dictionary-lookup-fast</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.ctakes</groupId>
<artifactId>ctakes-dictionary-lookup-fast-res</artifactId>
<version>3.2.2</version>
</dependency>
Jar content:
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.ctakes/ctakes-dictionary-lookup-res/3.2.1/
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.ctakes/ctakes-dictionary-lookup-fast-res/3.2.1/
Jakob
-----Original Message-----
From: Finan, Sean [mailto:[email protected]]
Sent: den 9 juli 2015 19:54
To: [email protected]
Subject: RE: Cannot resolve lookup descriptor files for
UmlsDictionaryLookupAnnotator
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:[email protected]]
Sent: Thursday, July 09, 2015 8:43 AM
To: [email protected]
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