You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Juan Ignacio Velez <ve...@gmail.com> on 2015/10/07 00:25:50 UTC
Question
Hi, i'm developing grammar rules with UIMA Ruta and i have a question. I
can't write a NOT clause with "-" character. The rule is this:
edu.isistan.uima.unified.typesystems.nlp.Sentence{ -> CREATE(Error, "name"
= "SVO", "kind" = "Simple/Direct")} <- {
- (
(edu.isistan.uima.unified.typesystems.nlp.Chunk.chunk == "NP")+
(edu.isistan.uima.unified.typesystems.nlp.Chunk.chunk == "VP")+
(edu.isistan.uima.unified.typesystems.nlp.Chunk.chunk == "ADJP")
);
};
I appreciate your help.
Thanks a lot!
Juan Ignacio
Re: Question
Posted by Peter Klügl <pe...@averbis.com>.
Hi,
negated match conditions are not supported in UIMA Ruta and there are no
plans yet to support them in near future for different reasons. If
supported in your example, the negation would match on all possible
combinations of all possible annotations within the sentence that do not
fulfill the sequential pattern. The problem with true negatives in
information extraction...
You need to move the negation to the condition part. The easiest way to
solve your problem is to use two rules. You could do something like:
(not tested right now)
DECLARE ChunkPattern;
Chunk.chunk=="NP"+ Chunk.chunk=="VP"+ Chunk.chunk == "ADJP"{->
MARK(ChunkPattern, 1,3)};
Sentence{-CONTAINS(ChunkPattern) -> CREATE(Error, "name"= "SVO", "kind"
= "Simple/Direct")};
DECLARE ChunkSent;
Sentence{-> ChunkSent} <-{Chunk.chunk=="NP"+ Chunk.chunk=="VP"+
Chunk.chunk == "ADJP";};
Sentence{-PARTOF(ChunkSent) -> CREATE(Error, "name"= "SVO", "kind" =
"Simple/Direct")};
The helper annotation types can also contain a generic feature for
storing the string values of the created error annotation.
btw, writing the complete long name for referring to a type can be very
annoying. You maybe want to take a look at IMPORT FROM AS for aliasing
or at the type variables.
Let me know if this makes sense for you.
Best,
Peter
Am 07.10.2015 um 00:25 schrieb Juan Ignacio Velez:
> Hi, i'm developing grammar rules with UIMA Ruta and i have a question. I
> can't write a NOT clause with "-" character. The rule is this:
>
> edu.isistan.uima.unified.typesystems.nlp.Sentence{ -> CREATE(Error, "name"
> = "SVO", "kind" = "Simple/Direct")} <- {
> - (
> (edu.isistan.uima.unified.typesystems.nlp.Chunk.chunk == "NP")+
> (edu.isistan.uima.unified.typesystems.nlp.Chunk.chunk == "VP")+
> (edu.isistan.uima.unified.typesystems.nlp.Chunk.chunk == "ADJP")
> );
> };
>
> I appreciate your help.
>
> Thanks a lot!
>
> Juan Ignacio
>