You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ctakes.apache.org by "Masanz, James J." <Ma...@mayo.edu> on 2012/12/03 17:52:07 UTC

FW: Usability issues

Regarding "really only doing pretty basic syntax level analyses" from
http://mail-archives.apache.org/mod_mbox/incubator-ctakes-user/201212.mbox/browser

I think Pete got that impression because the "toy" dictionary included with cTAKES is so small he probably didn't happen to select any words that are in that dictionary.
I will update the readme to include a sample sentence that will show NEs being found.
The "toy" dictionary included with cTAKES includes the words aspirin, knee, and pain.

I will create a JIRA issue now and add the sentence 
"Patient took aspirin for knee pain"

-- James



> -----Original Message-----
> From: ctakes-user-return-42-Masanz.James=mayo.edu@incubator.apache.org
> [mailto:ctakes-user-return-42-
> Masanz.James=mayo.edu@incubator.apache.org] On Behalf Of Chen, Pei
> Sent: Monday, December 03, 2012 10:09 AM
> To: Peter Szolovits
> Cc: ctakes-user@incubator.apache.org
> Subject: RE: Usability issues
> 
> [cc'd ctakes-user@]
> Hi Pete,
> Thanks for the feedback.
> 
> > 1. Using the CVD engine as suggested in the readme file, I find that
> > the interface panel at the bottom left does not get a vertical scroll
> > bar even if it expands to have more rows than are visible in the
> > panel.  Although one can navigate to off-screen entries using the
> arrow keys, one can't see the entry.
> We'll take a closer look at this.  We are reusing UIMA's CVD/CPE; but
> this issue may not be a huge issue once we have a ctakes-gui (currently
> in sandbox).
> 
> > 2. This level of analysis is really only doing pretty basic syntax
> > level analyses.  I assume that the UMLS resources also mentioned in
> the readme are needed.
> > When I try loading the AggregatePlaintextUMLSProcessor.xml, the
> > options under the Run menu remain as Run AggregatePlaintextProcessor,
> > not AggregatePlaintextUMLSProcessor.
> Yes, if you plan to use the UMLS resources (ctakes-resources-3.0.0.zip)
> from https://sourceforge.net/projects/ctakesresources/files, you'll need
> to download the resources zip file and unpack/add it to the resources
> folder.  [For licenses reasons.]
> 
> > 3.  The other question from the readme is that I'm supposed to provide
> > a UMLS username and password.  Are there the ones I use to access UMLS
> > at NLM/UTS, or something more local.  Does cTakes actually
> > authenticate against the UMLS servers?  If not, then what am I
> supposed to use for these?
> Correct, you'll need your NLM/UTS username and password.  During init of
> resources, cTAKES will perform a call to the NLM license validation web
> service (as agreed with the NLM).
> One can pass the variables (ctakes.umlsuser and ctakes.umlspw) as
> JAVA_OPTS, export env variable, or set in the XML file in the ctakes-
> dictionary-lookup file.
> 
> > 4. I just tried to increase memory by 4x (-Xms2048M -Xmx4096M) and
> > then tried to re-run runctakesCVD.sh.  This time, I get a popup in
> > Java when I try to load the  AggregatePlaintextUMLSProcessor.xml
> > saying that there was a resource initialization error, and I should
> > take a look at the log file.  Alas, I can't find the log file.
> The log file if using the CVD is: found in Tools -> View Log file I'll
> open a Jira item for the mem setting
> (https://issues.apache.org/jira/browse/CTAKES-112).
> I *think* this happens when you try to load multiple AE's in the same
> CVD (not sure if the CVD cleans up all of the resources.)  I think the
> temp work around is to close the JVM process and start a new one when
> using a new AE (or aggregate AE).
> 
> --Pei
> 
> > -----Original Message-----
> > From: Peter Szolovits [mailto:psz@mit.edu]
> > Sent: Sunday, December 02, 2012 10:22 AM
> > To: Chen, Pei
> > Subject: Usability issues
> >
> > Pei, I'm starting to play with the 3.0 version of UIMA that you
> pointed me at.
> > I've managed to get it up and running, but have a couple of questions:
> >
> > 1. Using the CVD engine as suggested in the readme file, I find that
> > the interface panel at the bottom left does not get a vertical scroll
> > bar even if it expands to have more rows than are visible in the
> > panel.  Although one can navigate to off-screen entries using the
> arrow keys, one can't see the entry.
> >
> > 2. This level of analysis is really only doing pretty basic syntax
> > level analyses.  I assume that the UMLS resources also mentioned in
> the readme are needed.
> > When I try loading the AggregatePlaintextUMLSProcessor.xml, the
> > options under the Run menu remain as Run AggregatePlaintextProcessor,
> > not AggregatePlaintextUMLSProcessor.  However, I do now notice that
> > the Java process in loading this resource gives an out of memory error
> > (appended below).  I'll try with a larger memory footprint.
> >
> > 3.  The other question from the readme is that I'm supposed to provide
> > a UMLS username and password.  Are there the ones I use to access UMLS
> > at NLM/UTS, or something more local.  Does cTakes actually
> > authenticate against the UMLS servers?  If not, then what am I
> supposed to use for these?
> >
> > Thanks.  --Pete
> >
> > Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError:
> > Java heap space
> > 	at clear.model.OneVsAllModel.loadAux(OneVsAllModel.java:98)
> > 	at clear.model.OneVsAllModel.load(OneVsAllModel.java:88)
> > 	at clear.model.AbstractModel.<init>(AbstractModel.java:58)
> > 	at
> > clear.model.AbstractMultiModel.<init>(AbstractMultiModel.java:51)
> > 	at clear.model.OneVsAllModel.<init>(OneVsAllModel.java:56)
> > 	at clear.decode.OneVsAllDecoder.<init>(OneVsAllDecoder.java:52)
> > 	at
> > org.apache.ctakes.dependency.parser.ae.ClearParserUtil.createParser(Cl
> > ear
> > ParserUtil.java:97)
> > 	at
> > org.apache.ctakes.dependency.parser.ae.ClearParserDependencyParserAE.i
> > nitialize(ClearParserDependencyParserAE.java:143)
> > 	at
> > org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.init
> > ialize
> > AnalysisComponent(PrimitiveAnalysisEngine_impl.java:250)
> > 	at
> > org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.init
> > ialize
> > (PrimitiveAnalysisEngine_impl.java:156)
> > 	at
> > org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analys
> > i
> > sEngineFactory_impl.java:94)
> > 	at
> > org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(C
> > ompositeResourceFactory_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:
> > 25
> > 4)
> > 	at
> > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.init
> > AS
> > B(AggregateAnalysisEngine_impl.java:431)
> > 	at
> > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.init
> > ializ
> > eAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:375)
> > 	at
> > org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.init
> > ializ
> > e(AggregateAnalysisEngine_impl.java:185)
> > 	at
> > org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analys
> > i
> > sEngineFactory_impl.java:94)
> > 	at
> > org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(C
> > ompositeResourceFactory_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:47
> > 7)
> > 	at
> > org.apache.uima.tools.cvd.control.AnnotatorOpenEventHandler.actionPerf
> > o
> > rmed(AnnotatorOpenEventHandler.java:52)
> > 	at
> >
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
> > 	at
> > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java
> > :2
> > 341)
> > 	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)
> > Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
> > 	at
> > org.apache.uima.tools.cvd.control.IndexTreeSelectionListener.valueChan
> > ge
> > d(IndexTreeSelectionListener.java:70)
> > 	at javax.swing.JTree.fireValueChanged(JTree.java:2919)
> > 	at
> >
> javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3378)
> > 	at
> > javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTre
> > e
> > SelectionModel.java:634)
> > 	at
> > javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTre
> > e
> > SelectionModel.java:1092)
> > 	at
> > javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTr
> > ee
> > SelectionModel.java:293)
> > 	at
> > javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTre
> > eS
> > electionModel.java:187)
> > 	at javax.swing.JTree.setSelectionPath(JTree.java:1631)
> > 	at
> > javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java
> > :2373
> > )
> > 	at
> > javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI
> > .jav
> > a:3589)
> > 	at
> >
> javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java
> :
> > 3528)
> > 	at
> > java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:27
> > 9)
> > 	at java.awt.Component.processMouseEvent(Component.java:6502)
> > 	at
> > javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
> > 	at java.awt.Component.processEvent(Component.java:6270)
> > 	at java.awt.Container.processEvent(Container.java:2229)
> > 	at java.awt.Component.dispatchEventImpl(Component.java:4861)
> > 	at java.awt.Container.dispatchEventImpl(Container.java:2287)
> > 	at java.awt.Component.dispatchEvent(Component.java:4687)
> > 	at
> > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
> > 	at
> > java.awt.LightweightDispatcher.processMouseEvent(Container.java:4489)
> > 	at
> > java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
> > 	at java.awt.Container.dispatchEventImpl(Container.java:2273)
> > 	at java.awt.Window.dispatchEventImpl(Window.java:2719)
> > 	at java.awt.Component.dispatchEvent(Component.java:4687)
> > 	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
> > 	at java.awt.EventQueue.access$000(EventQueue.java:102)
> > 	at java.awt.EventQueue$3.run(EventQueue.java:662)
> > 	at java.awt.EventQueue$3.run(EventQueue.java:660)
> > 	at java.security.AccessController.doPrivileged(Native Method)
> > 	at
> > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDom
> > ain
> > .java:76)
> > 	at
> > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDom
> > ain
> > .java:87)
> > 	at java.awt.EventQueue$4.run(EventQueue.java:676)
> > 	at java.awt.EventQueue$4.run(EventQueue.java:674)
> > 	at java.security.AccessController.doPrivileged(Native Method)
> > 	at
> > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDom
> > ain
> > .java:76)
> > 	at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
> > 	at
> > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
> > ad.java:244)
> > 	at
> > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.j
> > a
> > va:163)
> > 	at
> > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
> > ad.java:151)
> > 	at
> > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
> > 	at
> > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
> > 	at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
> >