uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Klügl <pklu...@uni-wuerzburg.de>
Subject Re: Marking cosnecutive tokens with RUTA
Date Thu, 18 Jun 2015 18:10:00 GMT
Hi,

the Ruta descriptors are built twice in your project. Once in the normal 
phase and once during testing (don't know why).
The classpath of the two builds is different. In the second one, the 
imported type system can be found in the classpath, but not in the first 
one. In a normal mvn clean install, the descriptors are not yet built 
when they should be added to the jar. That's the reason why it works in 
Eclipse (no clean?), but not for a mvn clean install.

The simplest solution is to extend the descriptor paths so that the 
imported type system is found without the classpath:

<descriptorPaths>
<descriptorPath>${project.build.directory}/generated-sources/ruta/descriptor</descriptorPath>
<descriptorPath>${basedir}/descriptor</descriptorPath>
</descriptorPaths>

btw, there are several duplicated files in the project, which 
potentially hide problems in the build process.

Best,

Peter

Am 18.06.2015 um 17:30 schrieb Diego Buoro:
> Hi Peter, thanks for the support.
>
> We are now using Java 7, but we are still facing problems. In Eclipse, 
> we've set manually the path where descriptor files are located 
> (target/generated-sources/ruta/descriptor), and therefore it's 
> working. However, when we run mvn clean install, we generate our 
> descriptors files in 
> cogroo-ruta/target/generated-sources/ruta/descriptor/cogroo/ruta but 
> they aren't being copied to .jar file. The errors are in this log 
> file, do you have any idea of why they are happening?
>
> Here is the link to the repository: 
> https://github.com/Fichberg/cogroo4/tree/labXP215_Will
>
> All Best,
>
> Diego
>
>
>
>
>
>
> 2015-06-17 16:20 GMT-03:00 Peter Klügl <peter.kluegl@averbis.com 
> <mailto:peter.kluegl@averbis.com>>:
>
>     Hi,
>
>     UIMA Ruta 2.3.0 and also the maven plugin require Java 7. Thus,
>     the maven build process has to use the correct Java version. Just
>     wanted to mention it because I had this problem right away.
>
>     The descriptors are not built because the plugin does not find any
>     ruta files. The maven plugin is specified in one project while the
>     ruta files are located in a different project. The problem is that
>     the ruta maven plugin only collects ruta files within the basedir
>     of the project -> no files built...
>
>     In the next release, the maven plugin will get another parameter
>     for specifying the input files.
>
>     With UIMA Ruta 2.3.0, there are two options: Either you put the
>     ruta files in the project with the ruta maven plugin, or you add
>     the ruta maven plugin to the project pom with the ruta files.
>
>     Best,
>
>     Peter
>
>
>     Am 17.06.2015 um 18:30 schrieb Diego Buoro:
>
>         Hi, Peter! We are attempting to create the descriptors based
>         on Ruta 2.3,
>         but we're out of luck. We've added the lines from the link you
>         gave us to
>         the pom.xml file and corrected the directory paths to suit our
>         project.
>         However, when we try to run Maven with Ruta's "generate" goal,
>         no files got
>         generated on the folders we set. Is the goal supposed to
>         generate the files
>         and leave them in the folder or does it do something else?
>
>         Here is the link to our altered pom.xml. The plugin section is
>         at the end
>         of the file:
>         https://raw.githubusercontent.com/Fichberg/cogroo4/labXP215_Will/cogroo-gc/pom.xml
>
>         Thanks for the help so far. :D
>
>         2015-06-14 9:40 GMT-03:00 Peter Klügl
>         <peter.kluegl@averbis.com <mailto:peter.kluegl@averbis.com>>:
>
>             Hi,
>
>             the descriptor are always created at compile time.
>
>             In Ruta 2.2.1, yes, you need to create the descriptors in
>             the UIMA Ruta
>             Workbench and then copy them or make them available in
>             some other way. This
>             is especially necessary if you declare additional types
>             (type system
>             descriptor changes) or add some subscript (analysis engine
>             descriptor
>             changes).
>
>             In Ruta 2.3.0 which was just released, there is a maven
>             plugin for
>             building the descriptors. Take a look at:
>             http://uima.apache.org/d/ruta-current/tools.ruta.book.html#d5e3271
>             This means that you do not need the UIMA Ruta Workbench
>             projects anymore,
>             but you can use its development support and descriptor
>             building in normal
>             maven projects.
>
>             Best,
>
>             Peter
>
>
>             Am 12.06.2015 um 21:38 schrieb Diego Buoro:
>
>                 Hello Peter
>
>                 We tried your suggestions and it worked liked a
>                 charm,thanks :D
>                 However, we are facing another problem: It seems that
>                 our application
>                 isn't
>                 creating the mainTypesystem and mainEngine files when
>                 we launch it. We
>                 don't know whether or not that's is the default
>                 behavior, but for now we
>                 are having to create these files in separate project
>                 and them copy them to
>                 the application whenever we change the script, which
>                 is a bad solution.
>                 Doy you have any suggestions?
>
>                 All Best,
>
>                 Diego
>
>                 2015-06-12 9:19 GMT-03:00 Diego Buoro
>                 <jklports@gmail.com <mailto:jklports@gmail.com>>:
>
>                   Hi Peter, Armin
>
>                     Thanks for the observations made, i hope we can
>                     finally get working here.
>                     We will try the changes in the next few days and
>                     then give you a
>                     feedback.
>
>                     All Best,
>
>                     Diego
>
>
>
>                     2015-06-03 14:14 GMT-03:00 Diego Buoro
>                     <jklports@gmail.com <mailto:jklports@gmail.com>>:
>
>                       Hi Peter, the example we used is the small
>                     sentence inside a string at
>
>                         the end of UIMAChecker.java: "Refiro-me à
>                         trabalho remunerado.".
>                         Based on the Main.ruta we sent you, we
>                         expected the output to contain 7
>                         "PROBLEM" annotations. This part is working.
>                         The problem is when we change the last line of
>                         Main.ruta from
>                         "cgToken{->PROBLEM};" to "cgToken
>                         cgToken{->PROBLEM};"in this case we
>                         expected 6 "PROBLEM" annotations: the same
>                         ones we had on the first
>                         example, excpect for the first one.That's what
>                         happens when you run the
>                         script on a simple Ruta project, but when we
>                         run it in the  Java
>                         application we get 0 "PROBLEM" annotations.
>                         We think this difference is happening because
>                         in the Ruta project we
>                         don't use a simple text as input.Instead, we
>                         feed it a preprocessed xmi
>                         file. On the other hand on the Java
>                         application, we do the processing
>                         ourselves via the processCas method. It's
>                         possible that the processCas
>                         method is creating tokens in a way that
>                         prevents us from detecting when
>                         one
>                         is next to the other on the Ruta script.
>                         We are sending you the xmi file to use as an
>                         example for a simple Ruta
>                         project. If there are any other examples you'd
>                         like us to send you, just
>                         say the word :D
>
>                         Best,
>
>                         Diego
>
>                         2015-06-01 11:15 GMT-03:00 Diego Buoro
>                         <jklports@gmail.com <mailto:jklports@gmail.com>>:
>
>                           Sorry,please disregard my last answer. The
>                         idea wasn't to use the xmi,
>
>                             we are still thinking in a minimal example
>                             to provide to you.
>                             We will send you in the next few days.
>
>                             2015-06-01 10:37 GMT-03:00 Diego Buoro
>                             <jklports@gmail.com
>                             <mailto:jklports@gmail.com>>:
>
>                               Hi Peter,how are you doing?
>
>                                 We were trying to run using the files
>                                 such as Crase01.xmi and
>                                 rule_xml_001.xmi.
>                                 Our goal is trying to run those two
>                                 more simpler first,and then run
>                                 with Crase.xmi.
>
>                                 About the package declaration, i still
>                                 need to check what ruta version
>                                 is.
>                                 I will be checking this soon.
>
>                                 All Best,
>
>                                 Diego
>
>
>
>
>
>                                 2015-05-30 0:45 GMT-03:00 Diego Buoro
>                                 <jklports@gmail.com
>                                 <mailto:jklports@gmail.com>>:
>
>                                   Hi Peter!
>
>                                     No problem, I appreciate your support.
>
>                                     All Best,
>
>                                     Diego
>
>                                     2015-05-27 14:22 GMT-03:00 Diego
>                                     Buoro <jklports@gmail.com
>                                     <mailto:jklports@gmail.com>>:
>
>                                       Hi Peter!
>
>                                         We call the script with the
>                                         following lines:
>
>                                            URL url =
>                                         Resources.getResource("Main.ruta");
>                                         String text =
>                                         Resources.toString(url,
>                                         Charsets.UTF_8);
>                                            AnalysisEngineDescription
>                                         aeDes =
>                                         Ruta.createAnalysisEngineDescription(text,
>                                         tsd);
>                                         this.ae <http://this.ae> =
>                                         UIMAFramework.produceAnalysisEngine(aeDes);
>
>                                         CAS cas = ae.newCAS();
>                                         converter.populateCas(sentence.getTextSentence(),
>                                         cas);
>                                            ae.process(cas);
>
>                                         The populateCAS method is
>                                         responsible for translating our
>                                         annotations
>                                         into RUTA annotations, but it
>                                         doesn't set any type priority
>                                         explicitly.
>                                         We don't know much about type
>                                         priorities, the RUTA references we
>                                         found say very little about
>                                         that.Are they necessary for
>                                         doing what
>                                         we need?
>
>                                         The file that contains the
>                                         above lines is available here:
>
>
>                                         https://github.com/Fichberg/cogroo4/blob/labXP215_Will/cogroo-gc/src/main/java/org/cogroo/tools/checker/checkers/UIMAChecker.java
>                                         The processCAS mehtod is
>                                         available here:
>
>
>                                         https://github.com/Fichberg/cogroo4/blob/labXP215_Will/cogroo-gc/src/main/java/org/cogroo/tools/checker/checkers/uima/UimaCasAdapter.java
>                                         The script we are calling is
>                                         available here:
>
>
>                                         https://github.com/Fichberg/cogroo4/blob/labXP215_Will/cogroo-ruta/script/Main.ruta
>
>                                         PS:Yes, We remembered the
>                                         semicolons.
>
>                                         Thanks for the help :)
>
>
>
>                                         2015-05-26 15:30 GMT-03:00
>                                         Diego Buoro
>                                         <jklports@gmail.com
>                                         <mailto:jklports@gmail.com>>:
>
>                                           I think i wasn't clear
>                                         enough, and i should be more
>                                         specific.
>
>                                             I have a type system in
>                                             which all words have been
>                                             annotated as
>                                             Tokens. I am calling a
>                                             RUTA script from a java
>                                             class, and that
>                                             script has
>                                             only one rule:
>                                             Token Token {-> Problem}
>
>                                             However, with this script,
>                                             no Problems are created.
>                                             When I try
>                                             Token {-> Problem}
>
>                                             I get one problem for each
>                                             Token, which is what I
>                                             expected. Why
>                                             can't I create annotations
>                                             using rules with more than
>                                             one word?
>
>                                             Thanks
>
>
>
>
>                                             2015-05-26 14:49 GMT-03:00
>                                             Diego Buoro
>                                             <jklports@gmail.com
>                                             <mailto:jklports@gmail.com>>:
>
>                                               Hello guys,how are you
>                                             doing?
>
>                                                 I would like to know
>                                                 once i have called
>                                                 RUTA from a Java project,
>                                                 how can i mark
>                                                 consecutive tokens as
>                                                 a "Problem" (the name
>                                                 of my
>                                                 annotation, in this case)?
>
>                                                 Thanks in advice!
>
>
>
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message