Kameron Cole | 7 May 16:13
Picon
Favicon

NoClassDef: com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase


I am transitioning a pear fiile from IBM Uima to Apache Uima.  I have
laready run the ibmuima2apacheuima utility that comes with the apache-uima
sdk.

However, when I run the pear-installer, I still get  NoClassDef:

com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase

Does anyone know where this is?  Which jar?

Or, maybe there is a better way to solve this.  I mean, perhaps when I ran
the migration utility, I missed something - seems to me that it would
discover packages which contained com.ibm.uima, and replace them.

Any ideas?

Thanks

** ** ** **
Kameron Arthur Cole
Thilo Goetz | 7 May 17:09
Picon
Picon

Re: NoClassDef: com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase

Kameron Cole wrote:
> I am transitioning a pear fiile from IBM Uima to Apache Uima.  I have
> laready run the ibmuima2apacheuima utility that comes with the apache-uima
> sdk.
> 
> However, when I run the pear-installer, I still get  NoClassDef:
> 
> com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase
> 
> Does anyone know where this is?  Which jar?
> 
> Or, maybe there is a better way to solve this.  I mean, perhaps when I ran
> the migration utility, I missed something - seems to me that it would
> discover packages which contained com.ibm.uima, and replace them.
> 
> Any ideas?
> 
> Thanks
> 
> ** ** ** **
> Kameron Arthur Cole

Did you see my earlier reply to your first note?

--Thilo

Kameron Cole | 7 May 17:33
Picon
Favicon

Re: NoClassDef: com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase

I did not run the utility on the source. Thanks!

It did update most of the files, however. Just missed the complied class files, maybe?

-kameron



Thilo Goetz ---05/07/2009 11:14:16 AM---Kameron Cole wrote:

          Thilo Goetz <twgoetz-Mmb7MZpHnFY@public.gmane.org>

          05/07/2009 11:09 AM

          Please respond to
          uima-user-d1GL8uUpDdXTxqt0kkDzDmD2FQJk+8+b@public.gmane.org

To

uima-user-d1GL8uUpDdXTxqt0kkDzDmD2FQJk+8+b@public.gmane.org

cc


Subject

Re: NoClassDef: com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase

Kameron Cole wrote:
> I am transitioning a pear fiile from IBM Uima to Apache Uima.  I have
> laready run the ibmuima2apacheuima utility that comes with the apache-uima
> sdk.
>
> However, when I run the pear-installer, I still get  NoClassDef:
>
> com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase
>
> Does anyone know where this is?  Which jar?
>
> Or, maybe there is a better way to solve this.  I mean, perhaps when I ran
> the migration utility, I missed something - seems to me that it would
> discover packages which contained com.ibm.uima, and replace them.
>
> Any ideas?
>
> Thanks
>
> ** ** ** **
> Kameron Arthur Cole

Did you see my earlier reply to your first note?

--Thilo


Thilo Goetz | 7 May 17:36
Picon
Picon

Re: NoClassDef: com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase

Kameron Cole wrote:
> I did not run the utility on the source. Thanks!
> 
> It did update most of the files, however. Just missed the complied class
> files, maybe?

Sorry, but the utility can't update class files, only
java source.  You will need the source code to do the
conversion.

--Thilo

> 
> -kameron
> 
> 
> 
> Inactive hide details for Thilo Goetz ---05/07/2009 11:14:16
> AM---Kameron Cole wrote:Thilo Goetz ---05/07/2009 11:14:16 AM---Kameron
> Cole wrote:
> 
>                         *Thilo Goetz <twgoetz@...>*
> 
>                         05/07/2009 11:09 AM
>                         Please respond to
>                         uima-user@...
> 
> 	
> 
> To
> 	
> uima-user@...
> 
> cc
> 	
> 
> Subject
> 	
> Re: NoClassDef:
> com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase
> 
> 	
> 
> 
> Kameron Cole wrote:
>> I am transitioning a pear fiile from IBM Uima to Apache Uima.  I have
>> laready run the ibmuima2apacheuima utility that comes with the apache-uima
>> sdk.
>>
>> However, when I run the pear-installer, I still get  NoClassDef:
>>
>> com.ibm.uima.analysis_engine.annotator.JTextAnnotator_ImplBase
>>
>> Does anyone know where this is?  Which jar?
>>
>> Or, maybe there is a better way to solve this.  I mean, perhaps when I ran
>> the migration utility, I missed something - seems to me that it would
>> discover packages which contained com.ibm.uima, and replace them.
>>
>> Any ideas?
>>
>> Thanks
>>
>> ** ** ** **
>> Kameron Arthur Cole
> 
> Did you see my earlier reply to your first note?
> 
> --Thilo
> 
> 

Keith Suderman | 7 May 22:10

Representing a DAG in UIMA

What is the best way to represent a tree and/or DAG in UIMA?  Is 
there a "standard" way to represent these structures?  I've tried 
searching the web, but all I can find is some discussion on the OASIS 
list from 2007.

Currently we declare an annotation type with two special features, 
children and ancestor, that are arrays of annotations.  We then 
populate these arrays with the children and ancestor 
annotations.  Everything works fine, but I wanted to know if there 
was a better way, or at least a generally accepted way, of accomplishing this.

Thanks,
Keith Suderman

--------------------------------------------------
Research Associate
American National Corpus
http://www.anc.org

Richard Eckart | 8 May 07:23
Picon

Re: Representing a DAG in UIMA

Hello Keith,

long time no see. How do you do?

> What is the best way to represent a tree and/or DAG in UIMA?  
> Currently we declare an annotation type with two special features,  
> children and ancestor, that are arrays of annotations.  We then  
> populate these arrays with the children and ancestor annotations.

There are some methods in UIMA to create a tree structure by  
analysing how annotations cover each other, but this is not helpful  
here, since an explicit declaration of dominance is required. The  
type systems I do it in the same manner you do, only they may use  
just a "children" or just a "parents" feature and assume that an edge  
is always directed from parent to child - thus having both would be  
redundant.

Actually the CAS is a DAG. You have an edge whenever a feature  
structure references another feature structure. I think the only  
thing you do here is to reserve two features of a particular type of  
feature structure to represent dominance.

Since I suppose you need to represent GrAF in the CAS it may be  
sensible to make edges a bit more explicit by elevating them to a  
feature structure type. So your "parent", "children" or maybe "coref"  
features would be arrays of a subtype of Edge instead of a subtype of  
say Constituent and thus the edge could bear features.

I am pretty sure this is already more or less how you handle things,  
so in reiterating it I am probably only expressing that I do not know  
of any better idea either.

Cheers,

Richard

--

-- 
-------------------------------------------------------------------
Richard Eckart de Castilho
Software Engineer
Ubiquitous Knowledge Processing Lab
FB 20 Computer Science Department
Technische Universität Darmstadt
Hochschulstr. 10, D-64289 Darmstadt, Germany
phone +49 (6151) 16 - 6218, fax -5455, room S2/02/E225
eckartde@...
www.ukp.tu-darmstadt.de
-------------------------------------------------------------------

Balkrishnan | 10 May 21:23
Picon

Request for your views and suggestions

Hi Marshall,

I have successfully used the UIMA along with the web-server logs, to generate
analytics like the path-traversed by a web-user, the time spent on a web-page by
that user and so on.

Can you please let me know if my solution(described below) for generating the
channel-usability analytics makes use of the UIMA framework appropriately(in
this case, the website on the webserver is the channel).

The way I have done is:
--------------------------------------------------------------------------------
Step[1]. Created an annotator to which the web-server logs can be fed. (The
annotator uses one of the functions of the Simple-Server analytics, whose output
is an XML file.)

Step[2]. I have a DOM-parser that parses this XML file and feeds the data into a
MySQL database.

Step[3]. I then prepare my SQL-queries that use the data in the database to
generate my reports. (I am working on a JSP solution for reporting) 

Step[4]. I am planning to schedule the Steps [1] and [2] above, as a
scheduled-job on the web-server itself, so that the log-file processing could be
automated. 
--------------------------------------------------------------------------------

I would like to know if there is a better way of using the UIMA in the current
context. ThankYou.

Kind Regards,
Balkrishnan.V

Pete Schoenhoff | 10 May 23:28
Picon

CpeTimer and CpeTimerImpl

Hi,

Could somebody explain to me the intent of these classes and how that intent
is realized?
In documentation (
http://incubator.apache.org/uima/downloads/releaseDocs/2.1.0-incubating/docs/html/references/references.html#ugr.ref.xml.cpe_descriptor.descriptor.operational_parameters)
it suggests that this can be implemented by a third party to supply a
custom timestamp (String? Date? Calendar?) but the code (CpeTimer.java,
CpeTimerImpl.java, and CpeConfigurationImpl.java) seem to only pass around
the name of an implementation class, which only in turn provides the name of
the implementation class.  There seems to be no mechanism to actually
provide the needed timestamp.

Obviously, it's possible that I'm missing something - which is why I'm
writing to ask.  Can someone help?

BTW, if it turns out that there is an actual bug related to this, I'd be
willing to work that bug.

  - pete schoenhoff
Peter Klügl | 11 May 13:47
Picon

Re: Problem with UIMA Eclipse Plugins when starting Galileo

Hi,

sorry for the late answer.
> I am not sure what plugins are "included" in your "RCP Eclipse" and how you
> "launch" your RCP. Let me describe some options that you can try.
>   
The included plugins consist mostly of TextMarker plugins that depend on 
the UIMA runtime plugin. The launch is currently configurate to run a 
product (org.eclipse.sdk.ide) using all plugins in the workspace

> Option 1. "Validate Plug-ins" before you launch your RCP
> If you launch your RCP through the Lauch Configuration Dialog, in the
> "Plug-ins" Tab, there is a "Validate Plug-ins" button that you can click to
> verify that all the dependency of the "selected" plug-ins are satisfied. If
> there are some errors, you can click the "Add Rquired Plug-ins" to correct
> the error.
>   
I have done that; no problems were detected.

> Option 2. If your RCP has "Plug-in Dependencies" view, try to see if there
> is a "red x" on top of any UIMA plug-in that may have some missing plug-ins
> that it depends on.
>   
No complaints in the dependencies view.
> Option 3.If your RCP has "Plug-in Registry" view, try to "diagnose" the
> problematic UIMA plug-ins as follows:
>   - "Plug-in Registry" view, Right click of any plug-in and Select "Show
> Advanced Operations"
>   - Right click on the problematic UIMA plug-in and Select "Diagnose" which
> will pop-up the result of the diagnostic operation.
>   
Returns "no problems detected". The desceditor is not listed in the 
active plugins, however, the runtime plugin is.
> Let us know which option you can use and what is the result.
>   
One of my students solved the problem for his application by 
closing/opening all project in his IDE workspace and some restarts with 
new plugins, but this did not work for me. My best guess is currently 
that there is a problem with the workspace itself. I get back to you 
when I got more news.

Peter

Jaroslaw Cwiklik | 11 May 15:55
Picon

CpeTimer and CpeTimerImpl

The intent behind custom timer was to support timers with different
resolutions. Specifically for timing how long it took to analyze CAS, how
long serialization took, etc
By default a Java timer is used that offers 10ms resolution on Windows and
1ms resolution on Linux.

A custom timer is plugged-in in BaseCPMimpl.init() method. It instantiates
TimerFactory which takes a timer class as an arg.
The TimerFactory than creates an instance of the given class and keeps a
reference in a static global variable. From that point
other classes can fetch the instance of the Timer by  calling:

UimaTimer uimaTimer = TimerFactory.getTimer();

UimaTimer has an API to fetch time of different resolution:

  public long getTimeInSecs();
  public long getTimeInMillis();
  public long getTimeInMicros();
  public int getResolution();

Having said all that, I see that the CPM code only uses   public long
getTimeInMillis(), which suggests that this whole thing
is half-baked. There is a way to plug in a custom timer, there is a way to
instantiate it, there is a way to fetch time in different
resolution, what is NOT there is the way to select the timer based on
desired resolution. Perhaps you can address that. Current
work around is to add custom code to getTimeInMills() no matter what
resolution it implements and consider the name of the method
as a misnomer.

Regards, Jerry Cwiklik

Gmane