uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From José Vicente Moyano Murillo <moya...@aia.es>
Subject Re: Using RUTA
Date Wed, 22 Feb 2017 09:38:58 GMT
you're right

% is performing some kind of "or".

So we will wait for the new release.

Many thanks

2017-02-22 9:54 GMT+01:00 Peter Klügl <peter.kluegl@averbis.com>:

> I actually wonder why your rules work. I am quite sure that they match
> too often, i. e. they match also if only one of the conjunct rule
> elements match.
>
> You can simply try that by using a wrong string in the check like "NG"
> instead of "Neil Gaiman"
>
> Anyways, the problem will be fixed in a few minutes and will be part of
> the next release.
>
>
> Best,
>
>
> Peter
>
>
> Am 22.02.2017 um 09:38 schrieb Peter Klügl:
> > Thanks. Maybe its just a bug in 2.5.0 I already fixed. I'll investigate
> it.
> >
> >
> > Am 22.02.2017 um 09:24 schrieb José Vicente Moyano Murillo:
> >> Thank you very much Peter. Your advice was amazing.
> >>
> >> We tried the first option using Conjunct rules and as you said it does
> not
> >> work with version 2.5.0. But we change a little your example and it
> works
> >> perfectly witn 2.4.0 and 2.5.0
> >>
> >> We use theses examples with success:
> >>
> >> DECLARE Annotation RuleDetection;
> >>  Book{ -> CREATE(NeilsBook) } <- {
> >>       Attribute{Attribute.name=="title", Attribute.ct=="Norse
> Mythology"}"
> >>       %
> >>               Attribute{Attribute.name=="author", Attribute.ct=="Neil
> >> Gaiman"};"
> >>  };
> >>
> >>
> >> DECLARE Annotation RuleDetection;
> >>  Book{ -> CREATE(NeilsBook) } <- {
> >>        Attribute{FEATURE("name","title"), FEATURE("ct", "Norse
> Mythology")}"
> >>       %
> >>                Attribute{FEATURE("name","author"), FEATURE("ct", "Neil
> >> Gaiman")};
> >>  };
> >>
> >> DECLARE Annotation RuleDetection;
> >>  Book{ -> CREATE(NeilsBook) } <- {
> >>       Attribute{Attribute.name=="title", Attribute.ct=="Norse
> Mythology"}"
> >>       %
> >>                Attribute{FEATURE("name","author"), FEATURE("ct", "Neil
> >> Gaiman")};
> >>  };
> >>
> >>
> >> May be the problem is with when we use Identifiers:
> >>    a1:Attribute and  a2:Attribute
> >>
> >> In any case thank you very much for your help.
> >>
> >>
> >> 2017-02-21 17:46 GMT+01:00 Peter Klügl <peter.kluegl@averbis.com>:
> >>
> >>> Hi,
> >>>
> >>>
> >>> I'd normally say that you need the conjunt rules construct to specify
> an
> >>> AND between two rule element independent of the position:
> >>>
> >>>
> >>> Book{-> NeilsBook}<-{
> >>>     a1:Attribute{a1.name=="title", a1.ct=="Norse Mythology"}
> >>>     % a2:Attribute{a2.name=="author", a2.ct=="Neil Gaiman"};
> >>>     };
> >>>
> >>>
> >>> However, I just noted that there is a problem with conjunct rules. I
> >>> haven't used it in a long time and the test coverage much lower than
> the
> >>> other constructs. I'll create a ticket for it and fix it.
> >>>
> >>>
> >>> Without conjunct rules, you need some boolean variables for cheking the
> >>> AND, which looks all but declarative:
> >>>
> >>>
> >>> BOOLEAN ft, fa;
> >>> FOREACH(book) Book{}{
> >>>     book{-> ft = false, fa = false};
> >>>     book->{a1:Attribute{a1.name=="title", a1.ct=="Norse Mythology"->
> >>> ft=true};};
> >>>     book->{a2:Attribute{a2.name=="author", a2.ct=="Neil Gaiman"->
> >>> fa=true};};
> >>>     book{ft,fa -> NeilsBook};
> >>> }
> >>>
> >>>
> >>> ... or with a BLOCK...
> >>>
> >>>
> >>> BLOCK(book) Book{}{
> >>>     Document{-> ft = false, fa = false};
> >>>     a1:Attribute{a1.name=="title", a1.ct=="Norse Mythology"->
> ft=true};
> >>>     a2:Attribute{a2.name=="author", a2.ct=="Neil Gaiman"-> fa=true};
> >>>     Document{ft,fa -> NeilsBook};
> >>> }
> >>>
> >>>
> >>> If the order of the attributes is known, you can avoid the AND check
> and
> >>> just specify a sequential constraint:
> >>>
> >>>
> >>> Book{-> NeilsBook}<-{
> >>>     a1:Attribute{a1.name=="title", a1.ct=="Norse Mythology"}
> >>>     # a2:Attribute{a2.name=="author", a2.ct=="Neil Gaiman"};
> >>>     };
> >>>
> >>>
> >>> If you need to check on the complete title with the URL, you can
> replace
> >>> the coveredText comparison with a REGEXP condition.
> >>>
> >>>
> >>> (tested with UIMA Ruta 2.5.0)
> >>>
> >>>
> >>> Best,
> >>>
> >>>
> >>> Peter
> >>>
> >>>
> >>>
> >>> Am 21.02.2017 um 13:58 schrieb José Vicente Moyano Murillo:
> >>>> Hello everyone
> >>>>
> >>>> I'm planning to use RUTA to create some annotations. But i'm not able
> to
> >>>> accomplish my objective.
> >>>>
> >>>> This is my case right now:
> >>>>
> >>>> I have a text annotated with some annotations "*Book*".
> >>>>
> >>>> Under "*Book*" annotation i have a few annotations "*Attribute*" that
> >>>> stores some information about the book. Each "*Attribute*" has a
> feature
> >>> "
> >>>> *name*" and a feature "*parent*" to its parent (one "*Book*"
> annotation).
> >>>>
> >>>> And example could be a text with 2 "*Book*" annotations:
> >>>>
> >>>> "*Book*" annotation number 1 with 3 nested attributes
> >>>> 1.- *Attribute* with name feature equals "title" -> covered text:
> "Norse
> >>>> Mythology
> >>>> <http://www.barnesandnoble.com/w/norse-mythology-neil-
> >>> gaiman/1124023596;jsessionid=FD1D8F9690602616CA59B38CFE9290
> >>> 06.prodny_store02-atgap08?ean=9780393609097>
> >>>> "
> >>>> 2.- *Attribute* with name feature equals "author" ->  covered text:
> "Neil
> >>>> Gaiman"
> >>>> 3.- *Attribute* with name feature equals "language" - > covered text:
> >>>> "English"
> >>>>
> >>>>
> >>>> "*Book*" annotation number 2 with 3 nested attributes
> >>>> 1.- *Attribute* with name feature equals "title" -> covered text:
> "Never
> >>>> Never
> >>>> <http://www.barnesandnoble.com/w/never-never-james-
> patterson/1123863634;
> >>> jsessionid=FD1D8F9690602616CA59B38CFE9290
> 06.prodny_store02-atgap08?ean=
> >>> 9780316433174>
> >>>> "
> >>>> 2.- *Attribute* with name feature equals "author" ->  covered text:
> >>> "James
> >>>> Patterson"
> >>>> 3.- *Attribute* with name feature equals "language" - > covered text:
> >>>> "English"
> >>>>
> >>>> I need to respect this schema but i have this question:
> >>>> It is possible to create and annotation over a book for a given author
> >>> name
> >>>> and a given title name?
> >>>>
> >>>> Thank's in advance
> >>>>
>
>

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