Hi Shahid, I tested LVG on “levels” and it didn’t produce an equivalent singular form. I don’t know of any special lvg parameters that will toggle this on and off – as far as I know it should always attempt it for nouns. Because this may happen quite a bit I started thinking on an alternative solution … but may not get to it for a while and when I do I’ll still need to run some tests to make sure it works.
Andrey Kurdumov recently made an update for ctakes to use LVG 2016 (cheers!). The current version is fairly old and the 2016 may very well perform better. I have pasted his email below. As I promise, I udpate cTakes to support LVG version 2016 year. https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_kant2002_cTakes&d=DwIBaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=RdfyvGDEhgrlIGv4Ue0X6DViLFyykHEokJgGzgoG5Vs&s=IJWxluJDIVhugnzWsfRl0TzL0LWzW6_kunc_GRJVew4&e= Please take a look. In the github following modifications to current version of cTakes - Removed two large files to make project fit GitHub restrictions. - Some very small cleanup which placed in separate commit. - Some fixes to ytex related tests, that's was required for me to pass mvn install command. Assumptions: - User should update ctakesnormx and other databases from HSQLdb 1.8 to HSQLDB 2.3.4 From: shahid ashraf [mailto:sha...@trialx.com] Sent: Wednesday, January 25, 2017 2:11 AM To: Finan, Sean Cc: dev@ctakes.apache.org; kant2...@googlemail.com; pratik agarwal Subject: Re: Ctakes Dictionary Gui Thanks sean for this insightful information. This is of great help.(i am newbie to ctakes and also come from python background.) I tested on the Fast version. Is it so that ctakes LVG is not currently adding plurals to the terms. Because in logs i see that LVG is being setup before processing the docs in CVD. I guess below logs show ctakes is using LVG: 25 Jan 2017 12:31:40 INFO LvgCmdApiResourceImpl - Loading NLM Norm and Lvg with config file = /Users/shahid/projects/workspace/ctakes/ctakes-dictionary-lookup/resources/org/apache/ctakes/lvg/data/config/lvg.properties 25 Jan 2017 12:31:40 INFO LvgCmdApiResourceImpl - config file absolute path = /Users/shahid/projects/workspace/ctakes/ctakes-dictionary-lookup/resources/org/apache/ctakes/lvg/data/config/lvg.properties 25 Jan 2017 12:31:40 INFO LvgCmdApiResourceImpl - cwd = /Users/shahid/projects/workspace/ctakes/ctakes-clinical-pipeline 25 Jan 2017 12:31:40 INFO LvgCmdApiResourceImpl - cd /Users/shahid/projects/workspace/ctakes/ctakes-dictionary-lookup/resources/org/apache/ctakes/lvg/ 25 Jan 2017 12:31:40 INFO LvgCmdApiResourceImpl - cd /Users/shahid/projects/workspace/ctakes/ctakes-clinical-pipeline 25 Jan 2017 12:31:40 INFO ClearNLPDependencyParserAE - using Morphy analysis? true Loading configuration. Loading feature templates. Loading lexica. Loading model: ........................................................................................ 25 Jan 2017 12:31:54 INFO Chunker - Chunker model file: org/apache/ctakes/chunker/models/chunker-model.zip 25 Jan 2017 12:31:55 INFO ContextDependentTokenizerAnnotator - Finite state machines loaded. 25 Jan 2017 12:31:55 INFO ConstituencyParser - Initializing parser... 25 Jan 2017 12:31:59 INFO ContextAnnotator - Using left , right scope sizes: 7 , 7 25 Jan 2017 12:31:59 INFO ContextAnnotator - Using scope order: LEFT,RIGHT 25 Jan 2017 12:31:59 INFO ContextAnnotator - SCOPE ORDER: [1, 3] 25 Jan 2017 12:31:59 INFO ContextAnnotator - Using context analyzer: org.apache.ctakes.necontexts.negation.NegationContextAnalyzer 25 Jan 2017 12:31:59 INFO NegationContextAnalyzer - initBoundaryData() called for ContextInitializer 25 Jan 2017 12:31:59 INFO ContextAnnotator - Using context consumer: org.apache.ctakes.necontexts.negation.NegationContextHitConsumer 25 Jan 2017 12:31:59 INFO ContextAnnotator - Using lookup window type: org.apache.ctakes.typesystem.type.textspan.Sentence 25 Jan 2017 12:31:59 INFO ContextAnnotator - Using focus type: org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation 25 Jan 2017 12:31:59 INFO ContextAnnotator - Using context type: org.apache.ctakes.typesystem.type.syntax.BaseToken 25 Jan 2017 12:31:59 INFO DrugMentionAnnotator - Finite state machines loaded. 25 Jan 2017 12:31:59 INFO POSTagger - POS tagger model file: org/apache/ctakes/postagger/models/mayo-pos.zip 25 Jan 2017 12:32:00 INFO AbstractJCasTermAnnotator - Using dictionary lookup window type: org.apache.ctakes.typesystem.type.textspan.Sentence 25 Jan 2017 12:32:00 INFO AbstractJCasTermAnnotator - Exclusion tagset loaded: CC CD EX IN LS MD PDT POS PP PP$ PRP PRP$ RP TO VB VBD VBG VBN VBP VBZ WDT WP WPS WRB 25 Jan 2017 12:32:00 INFO AbstractJCasTermAnnotator - Using minimum term text span: 3 25 Jan 2017 12:32:00 INFO AbstractJCasTermAnnotator - Using Dictionary Descriptor: org/apache/ctakes/dictionary/lookup/fast/custom_appliedvocab.xml 25 Jan 2017 12:32:00 INFO DictionaryDescriptorParser - Parsing dictionary specifications: 25 Jan 2017 12:32:00 INFO DictionaryDescriptorParser - saxBuilder had build doc FILEPATH: [Document: No DOCTYPE declaration, Root is [Element: <lookupSpecification/>]] 25 Jan 2017 12:32:00 INFO JdbcRareWordDictionary - Connected to cui and term table CUI_TERMS 25 Jan 2017 12:32:00 INFO DictionaryDescriptorParser - RareWordDictionary parseDictionaries Done... [Element: <conceptFactories/>] 25 Jan 2017 12:32:00 INFO DictionaryDescriptorParser - Started parseConceptFactories... 25 Jan 2017 12:32:00 INFO DictionaryDescriptorParser - Started parseConceptFactories... Collection Also in FASTAGGREGATE PIPELINE Desc i see <flowConstraints> <fixedFlow> <node>SimpleSegmentAnnotator</node> <node>SentenceDetectorAnnotator</node> <node>TokenizerAnnotator</node> <node>LvgAnnotator</node> <node>ContextDependentTokenizerAnnotator</node> <node>POSTagger</node> <!-- <node>ClearPOSTagger</node> --> <node>Chunker</node> <node>AdjustNounPhraseToIncludeFollowingNP</node> <node>AdjustNounPhraseToIncludeFollowingPPNP</node> <node>LookupWindowAnnotator</node> <node>DictionaryLookupAnnotatorDB</node> <node>DependencyParser</node> ... </fixedFlow> Is there any setting that will let LVG generate plurals. On Wed, Jan 25, 2017 at 1:08 AM, Finan, Sean <sean.fi...@childrens.harvard.edu<mailto:sean.fi...@childrens.harvard.edu>> wrote: Hi Shahid, You will definitely find instances where the old dictionary finds terms but the fast does not, and vice-versa. The fast lookup uses a more concise dictionary, and the concepts that you noted are probably not in it. There is another thread between myself and Pratik Agarwal (last week in fact) on exactly the topic of drugs identified generically or with dose, route, form, etc. That may be why you don’t see everolimus 2.5 mg specifically. Everolimus is in the dictionary by itself: sql> select * from cui_terms where text like '%everolimus%'; CUI RINDEX TCOUNT TEXT RWORD ------ ------ ------ ---------- ---------- 541315 0 1 everolimus everolimus The reason why everolimus was not identified by itself is because it was given the part of speech “DT” (Determiner), which is specified as unwanted for lookup. In my test with “… given everolimus 2.5 MG …”: WordToken begin 12 end 16 tokenNumber 2 partOfSpeech VBD capitalization 0 numPosition 0 WordToken begin 17 end 27 tokenNumber 3 partOfSpeech DT capitalization 0 numPosition 0 MeasurementAnnotation begin 28 end 34 id 0 typeID 0 discoveryTechnique 0 polarity 0 uncertainty 0 conditional false generic false historyOf 0 “DT” normally is assigned to things like “the, a, these” and at some point the community decided that words with the DT part of speech should not be considered as candidates for dictionary lookup. http://www.clips.ua.ac.be/pages/mbsp-tags<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.clips.ua.ac.be_pages_mbsp-2Dtags&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=3k7SCH8Gvj_palkdWwWeKGysBHTV_K5itUG2DE4icAI&s=xwP78R729SFVEwbCNa_af452uzXvIik2Ob4SYQyNPHw&e=> The default exclusion parts of speech are: “VB,VBD,VBG,VBN,VBP,VBZ,CC,CD,DT,EX,IN,LS,MD,PDT,POS,PP,PP$,PRP,PRP$,RP,TO,WDT,WP,WPS,WRB” To change this, set the parameter “exclusionTags” to this string without DT. As for “higher testosterone levels”, are you running the LVG (Lexical Variant Generator) module? “testosterone level” is in the dictionary, but the plural “testosterone levels” is not. This is done on purpose to keep the database small. The old dictionary may not have the same tactic. sql> select * from cui_terms where text like 'testosterone level%'; CUI RINDEX TCOUNT TEXT RWORD ------ ------ ------ ------------------ ------------ 523912 0 2 testosterone level testosterone The LVG module –should- add the plural as a variant and the lookup module will use that variant for lookup. The dictionary module (and others) does not stand on its own – its success depends upon the proper output of previous modules in the pipeline. When I test with “… higher testosterone level …” (without LVG) it does find what you are looking for: WordToken begin 18 end 24 tokenNumber 4 partOfSpeech JJR capitalization 0 numPosition 0 ProcedureMention begin 25 end 43 id 0 codingScheme SNOMEDCT code 104957004 score 0.0 disambiguated false cui C0523912 tui T059 preferredText Testosterone measurement typeID 5 discoveryTechnique 1 polarity 0 uncertainty 0 conditional false generic false historyOf 0 MedicationMention begin 25 end 37 id 0 codingScheme SNOMEDCT code 109033004 score 0.0 disambiguated false cui C0039601 tui T121 preferredText Testosterone codingScheme I just ran through with LVG and LVG does not form “level” from “levels”. I hope that helps, Sean From: shahid ashraf [mailto:sha...@trialx.com<mailto:sha...@trialx.com>] Sent: Tuesday, January 24, 2017 10:17 AM To: Finan, Sean Cc: dev@ctakes.apache.org<mailto:dev@ctakes.apache.org>; kant2...@googlemail.com<mailto:kant2...@googlemail.com>; pratik agarwal Subject: Re: Ctakes Dictionary Gui Hi Sean I am testing the stuff on the fast and AggregratePlainTextUMLSProcessor(slow) . I found that one of the drug everolimus 2.5 mg is not found by the fast version. it is actually in RXNORM of my MRCONSO.RRF file. C2920405|ENG|P|L9442487|PF|S11732013|Y|A18083986|3277628|998191||RXNORM|SBD|998191|everolimus 2.5 MG Oral Tablet [Afinitor]|0|N|4352|. Let me know if you have any inputs on this. Also other case is : SENTENCE: higher testosterone levels JJR NN NNS |==========| Procedure C0202227 C0523912 |==========| Drug C0039601 AggregratePlainTextUMLSProcessor is able to find from higher testosterone levels: testosterone levels <refsem:UmlsConcept xmi:id="167" codingScheme="SNOMED" code="104957004" oid="104957004#SNOMED" score="0.0" disambiguated="false" cui="C0523912" tui="T059"/> C0523912|ENG|S|L0865889|PF|S1044605|Y|A3209597|1219087010|104957004||SNOMEDCT_US|SY|104957004|Testosterone level|9|N|256| I am not able to understand why fast version is not able to do so. MoreOver in comparison to Metamap, we are not able to do this. Phrase: higher testosterone levels Meta Mapping (966): 966 C1295653:High testosterone level (Increased testosterone level) [Finding] On Tue, Jan 24, 2017 at 8:19 PM, Finan, Sean <sean.fi...@childrens.harvard.edu<mailto:sean.fi...@childrens.harvard.edu>> wrote: Hi Shahid, I’m glad that the fix worked! Unfortunately, the fast dictionary format will not work with the old Dictionary Lookup Module that is used by AggregratePlainTextUMLSProcessor You can manually create an updated dictionary for the older module, but it is more involved. In our tests and those done by others the new “fast” lookup has as good or better accuracy depending upon the test corpus. Plus it is runs in 1/500th the time. I recommend that you stick to it. Sean From: shahid ashraf [mailto:sha...@trialx.com<mailto:sha...@trialx.com>] Sent: Tuesday, January 24, 2017 5:50 AM To: Finan, Sean Cc: dev@ctakes.apache.org<mailto:dev@ctakes.apache.org>; kant2...@googlemail.com<mailto:kant2...@googlemail.com>; pratik agarwal Subject: Re: Ctakes Dictionary Gui Thanks Sean That was the case for not finding the class. there were space in the xml generated by dictionary-gui. Also i am curious how we can use new umls with normal AggregratePlainTextUMLSProcessor. On Mon, Jan 23, 2017 at 9:36 PM, Finan, Sean <sean.fi...@childrens.harvard.edu<mailto:sean.fi...@childrens.harvard.edu>> wrote: Ah – there might be an erroneous space in the classname. Go to your dictionary settings xml. In the line: <implementationName>org.apache.ctakes.dictionary.lookup2.concept.JdbcConceptFactory</implementationName> Look for a space between “JdbcConceptFactory” and “</implementationName>” If you see a space, remove it. It looks like I introduced this bug a few weeks ago. Thanks, Sean From: shahid ashraf [mailto:sha...@trialx.com<mailto:sha...@trialx.com>] Sent: Saturday, January 21, 2017 1:42 PM To: dev@ctakes.apache.org<mailto:dev@ctakes.apache.org>; Finan, Sean; kant2...@googlemail.com<mailto:kant2...@googlemail.com>; pratik agarwal Subject: Re: Ctakes Dictionary Gui Have put username and password (umls) in custom.xml as well. Still getting this error: 1/22/17 12:09:18 AM - 14: org.apache.uima.tools.cvd.MainFrame.handleException(526): SEVERE: Initialization of annotator class "org.apache.ctakes.dictionary.lookup2.ae<https://urldefense.proofpoint.com/v2/url?u=http-3A__lookup2.ae&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=LaGFaTnSoKexqlXkoxOvEuIP-e7Ktmu3vKI0ZckDzcA&s=WaHWxD5eLKHj4eMgOkvTvzUiNAHAZybtjddO0KE2jgI&e=>.DefaultJCasTermAnnotator" failed. (Descriptor: file:/usr/local/apache-ctakes-3.2.2/desc/ctakes-dictionary-lookup-fast/desc/analysis_engine/UmlsLookupAnnotator.xml) org.apache.uima.resource.ResourceInitializationException: Initialization of annotator class "org.apache.ctakes.dictionary.lookup2.ae<https://urldefense.proofpoint.com/v2/url?u=http-3A__lookup2.ae&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=LaGFaTnSoKexqlXkoxOvEuIP-e7Ktmu3vKI0ZckDzcA&s=WaHWxD5eLKHj4eMgOkvTvzUiNAHAZybtjddO0KE2jgI&e=>.DefaultJCasTermAnnotator" failed. (Descriptor: file:/usr/local/apache-ctakes-3.2.2/desc/ctakes-dictionary-lookup-fast/desc/analysis_engine/UmlsLookupAnnotator.xml) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:252) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:156) at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94) at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62) at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:269) at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:387) at org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:254) at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:431) at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:375) at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:185) at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94) at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62) at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:269) at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:354) at org.apache.uima.tools.cvd.MainFrame.setupAE(MainFrame.java:1484) at org.apache.uima.tools.cvd.MainFrame.loadAEDescriptor(MainFrame.java:476) at org.apache.uima.tools.cvd.control.AnnotatorOpenEventHandler.actionPerformed(AnnotatorOpenEventHandler.java:52) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.AbstractButton.doClick(AbstractButton.java:376) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833) at com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: org.apache.uima.resource.ResourceInitializationException: EXCEPTION MESSAGE LOCALIZATION FAILED: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key Unknown class org.apache.ctakes.dictionary.lookup2.concept.JdbcConceptFactory at org.apache.ctakes.dictionary.lookup2.ae<https://urldefense.proofpoint.com/v2/url?u=http-3A__lookup2.ae&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=LaGFaTnSoKexqlXkoxOvEuIP-e7Ktmu3vKI0ZckDzcA&s=WaHWxD5eLKHj4eMgOkvTvzUiNAHAZybtjddO0KE2jgI&e=>.AbstractJCasTermAnnotator.initialize(AbstractJCasTermAnnotator.java:132) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:250) ... 55 more Caused by: org.apache.uima.analysis_engine.annotator.AnnotatorContextException: EXCEPTION MESSAGE LOCALIZATION FAILED: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key Unknown class org.apache.ctakes.dictionary.lookup2.concept.JdbcConceptFactory at org.apache.ctakes.dictionary.lookup2.dictionary.DictionaryDescriptorParser.parseConceptFactory(DictionaryDescriptorParser.java:255) at org.apache.ctakes.dictionary.lookup2.dictionary.DictionaryDescriptorParser.parseConceptFactories(DictionaryDescriptorParser.java:226) at org.apache.ctakes.dictionary.lookup2.dictionary.DictionaryDescriptorParser.parseDescriptor(DictionaryDescriptorParser.java:133) at org.apache.ctakes.dictionary.lookup2.ae<https://urldefense.proofpoint.com/v2/url?u=http-3A__lookup2.ae&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=LaGFaTnSoKexqlXkoxOvEuIP-e7Ktmu3vKI0ZckDzcA&s=WaHWxD5eLKHj4eMgOkvTvzUiNAHAZybtjddO0KE2jgI&e=>.AbstractJCasTermAnnotator.initialize(AbstractJCasTermAnnotator.java:130) ... 56 more Caused by: java.lang.ClassNotFoundException: org.apache.ctakes.dictionary.lookup2.concept.JdbcConceptFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.ctakes.dictionary.lookup2.dictionary.DictionaryDescriptorParser.parseConceptFactory(DictionaryDescriptorParser.java:253) ... 59 more On Sat, Jan 21, 2017 at 5:36 PM, shahid ashraf <sha...@trialx.com<mailto:sha...@trialx.com>> wrote: Hi I was able to run and produce the new custom umls files. and where put under ctakes binary (not dev). I changed the name under apache-ctakes-3.2.2/desc/ctakes-dictionary-lookup-fast/desc/analysis_engine/UmlsLookupAnnotator.xml <name>DictionaryDescriptorFile</name> <description/> <fileResourceSpecifier> <fileUrl>file:org/apache/ctakes/dictionary/lookup/fast/custom.xml</fileUrl> when running AggregatePlantextFastUmlsProcessor.xml I am getting following error (not when using old org/apache/ctakes/dictionary/lookup/fast/cTakesHsql.xml) 5: org.apache.uima.tools.cvd.MainFrame.handleException(526): SEVERE: Initialization of annotator class "org.apache.ctakes.dictionary.lookup2.ae<https://urldefense.proofpoint.com/v2/url?u=http-3A__lookup2.ae&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=LaGFaTnSoKexqlXkoxOvEuIP-e7Ktmu3vKI0ZckDzcA&s=WaHWxD5eLKHj4eMgOkvTvzUiNAHAZybtjddO0KE2jgI&e=>.DefaultJCasTermAnnotator" failed. (Descriptor: file:/usr/local/apache-ctakes-3.2.2/desc/ctakes-dictionary-lookup-fast/desc/analysis_engine/UmlsLookupAnnotator.xml) org.apache.uima.resource.ResourceInitializationException: Initialization of annotator class "org.apache.ctakes.dictionary.lookup2.ae<https://urldefense.proofpoint.com/v2/url?u=http-3A__lookup2.ae&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=LaGFaTnSoKexqlXkoxOvEuIP-e7Ktmu3vKI0ZckDzcA&s=WaHWxD5eLKHj4eMgOkvTvzUiNAHAZybtjddO0KE2jgI&e=>.DefaultJCasTermAnnotator" failed. (Descriptor: file:/usr/local/apache-ctakes-3.2.2/desc/ctakes-dictionary-lookup-fast/desc/analysis_engine/UmlsLookupAnnotator.xml) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:252) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:156) at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94) at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62) at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:269) at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:387) at org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:254) at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:431) at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:375) at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:185) at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94) at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62) at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:269) at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:354) at org.apache.uima.tools.cvd.MainFrame.setupAE(MainFrame.java:1484) at org.apache.uima.tools.cvd.MainFrame.loadAEDescriptor(MainFrame.java:476) at org.apache.uima.tools.cvd.control.AnnotatorOpenEventHandler.actionPerformed(AnnotatorOpenEventHandler.java:52) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.AbstractButton.doClick(AbstractButton.java:376) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833) at com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: org.apache.uima.resource.ResourceInitializationException: EXCEPTION MESSAGE LOCALIZATION FAILED: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key Unknown class org.apache.ctakes.dictionary.lookup2.concept.JdbcConceptFactory at org.apache.ctakes.dictionary.lookup2.ae<https://urldefense.proofpoint.com/v2/url?u=http-3A__lookup2.ae&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=LaGFaTnSoKexqlXkoxOvEuIP-e7Ktmu3vKI0ZckDzcA&s=WaHWxD5eLKHj4eMgOkvTvzUiNAHAZybtjddO0KE2jgI&e=>.AbstractJCasTermAnnotator.initialize(AbstractJCasTermAnnotator.java:132) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:250) ... 55 more Caused by: org.apache.uima.analysis_engine.annotator.AnnotatorContextException: EXCEPTION MESSAGE LOCALIZATION FAILED: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key Unknown class org.apache.ctakes.dictionary.lookup2.concept.JdbcConceptFactory at org.apache.ctakes.dictionary.lookup2.dictionary.DictionaryDescriptorParser.parseConceptFactory(DictionaryDescriptorParser.java:255) at org.apache.ctakes.dictionary.lookup2.dictionary.DictionaryDescriptorParser.parseConceptFactories(DictionaryDescriptorParser.java:226) at org.apache.ctakes.dictionary.lookup2.dictionary.DictionaryDescriptorParser.parseDescriptor(DictionaryDescriptorParser.java:133) at org.apache.ctakes.dictionary.lookup2.ae<https://urldefense.proofpoint.com/v2/url?u=http-3A__lookup2.ae&d=DwMFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=LaGFaTnSoKexqlXkoxOvEuIP-e7Ktmu3vKI0ZckDzcA&s=WaHWxD5eLKHj4eMgOkvTvzUiNAHAZybtjddO0KE2jgI&e=>.AbstractJCasTermAnnotator.initialize(AbstractJCasTermAnnotator.java:130) ... 56 more Caused by: java.lang.ClassNotFoundException: org.apache.ctakes.dictionary.lookup2.concept.JdbcConceptFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.ctakes.dictionary.lookup2.dictionary.DictionaryDescriptorParser.parseConceptFactory(DictionaryDescriptorParser.java:253) ... 59 more -- with Regards Shahid Ashraf -- with Regards Shahid Ashraf -- with Regards Shahid Ashraf -- with Regards Shahid Ashraf -- with Regards Shahid Ashraf