uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Silvestre Losada <silvestre.los...@gmail.com>
Subject Re: Ruta partofneq
Date Tue, 24 Feb 2015 17:13:36 GMT
Hi Peter,

The problem happens if the Annotations are created by external analysis
engine, using something like this

ENGINE TestAE;
Document{-> EXEC(TestAE,{TestType})};
(TestType{-> UNMARKALL(TestType)}){PARTOFNEQ(TestType)};

It seems that  ExecAction is removing the Type form RutaBasic.partOf array
at some point of the execution. After that in PartOfNeqCondition in method
check next condition is always returning false because the Type was removed
previously from ruta basic.

    boolean partOf = beginAnchor.isPartOf(t) || endAnchor.isPartOf(t);
    if (!partOf) {
      return false;
    }

I have uima ruta test project that reproduces the error I can send to you
in zip file.

Best.

On 20 February 2015 at 20:41, Peter Klügl <pkluegl@uni-wuerzburg.de> wrote:

> Hi,
>
> hmmm, that's strange. When I apply the rules on the document "A B C D",
> only one T1 annotation remains.
>
> On which document did you test the rules?
>
> Best,
>
> Peter
>
> Am 20.02.2015 um 09:17 schrieb Silvestre Losada:
>
>  HI again,
>>
>> Now I'm running into this problem
>> DECLARE T1;
>> "A B C D" -> T1;
>> "B" -> T1;
>> "C D" -> T1;
>> "D" -> T1;
>>
>> (T1{-> UNMARKALL(T1)}){PARTOFNEQ(T1)};
>>
>> The ouput is
>> "A B C D" -> T1;
>> "D" -> T1;
>>
>> I suspect that this is because D is part of "A B C D" and "C D"
>>
>> Im using lastest version in trunk.
>>
>>
>> Kind regards
>>
>> On 14 February 2015 at 09:29, Silvestre Losada <
>> silvestre.losada@gmail.com>
>> wrote:
>>
>>  Thanks Peter,
>>>
>>>
>>> It seems to work.
>>>
>>> On 13 February 2015 at 22:18, Peter Klügl <pkluegl@uni-wuerzburg.de>
>>> wrote:
>>>
>>>  This should work just fine and should remove both contained annotations.
>>>>
>>>> I just tested it with the current trunk and the following script:
>>>>
>>>> DECLARE T1;
>>>> "A B" -> T1;
>>>> "B" -> T1;
>>>> "B" -> T1;
>>>>
>>>> (T1{-> UNMARK(T1)}){PARTOFNEQ(T1)};
>>>>
>>>> If applied on the test "A B", only the largest annotation remains.
>>>>
>>>> Can you test it with the current trunk in case I fixed the bug a few
>>>> minutes ago by accident. If not, can you give me more information about
>>>> the
>>>> context of your rule?
>>>>
>>>> Best,
>>>>
>>>> Peter
>>>>
>>>> Am 12.02.2015 um 10:12 schrieb Silvestre Losada:
>>>>
>>>>   I dont know if this is a bug or if it is wokring well. I have the
>>>>
>>>>> following
>>>>> annotations.
>>>>>
>>>>> AnnotationA
>>>>>        begin:0
>>>>>        ends:8
>>>>>         id:1
>>>>> AnnotationA
>>>>>        begin:4
>>>>>        ends:8
>>>>>         id:2
>>>>> AnnotationA
>>>>>        begin: 4
>>>>>        ends:8
>>>>>         id:3
>>>>>
>>>>> Then if apply the following ruta
>>>>>
>>>>> (AnnotationA{-> UNMARK(AnnotationA)}){PARTOFNEQ(AnnotationA)};
>>>>>
>>>>> The output is
>>>>> AnnotationA
>>>>>        begin:0
>>>>>        ends:8
>>>>>         id:1
>>>>> AnnotationA
>>>>>        begin: 4
>>>>>        ends:8
>>>>>         id:3
>>>>>
>>>>> I expect that annotations with id 2 and 3 will be removed. Is there any
>>>>> way
>>>>> to remove both
>>>>>
>>>>> Kind regards
>>>>>
>>>>>
>>>>>
>

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