2017-06-22 15 views
0

私はUIMA RUTAを初めてお使いになり、UIMA RUTAガイドを読んだ後、私は以下の質問をします。私は特定の値(FIRST: "hello"とSECOND: "world"、 "pres")を使って文書内の2つの注釈(FIRST、SECOND)を検索する一連のルールを作成し、値が "end"の新しい注釈(THIRD)。 しかし、スクリプトは動作していないと私はなぜ思っています。UIMA RUTA注釈の組み合わせ

WORDTABLE Firsts= 'FIRST.csv'; 
WORDTABLE Seconds= 'SECOND.csv'; 
WORDTABLE Thirds= 'THIRD.csv'; 
DECLARE Annotation FIRST(STRING value); 
DECLARE Annotation SECOND(STRING value, STRING pos); 
DECLARE Annotation THIRD(STRING value); 
Document{->MARKTABLE(FIRST, 1, Firsts, "value"=2)}; 
Document{->MARKTABLE(SECOND, 1, Seconds, "value"=2, "pos"=3)}; 
Document{AND(CONTAINS(FIRST{FEATURE("value","hello")}),CONTAINS(SECOND{FEATURE("value","world","pos","pres")})){->CREATE(THIRD{FEATURE("value","end")})}}; 

私を助けてください。 〜

+0

の開発者wordtable使用する必要はありませんよ。ワードリストで十分です。 –

+1

私は 'value'という特徴のためにMARKTABLEが必要だと思います。 –

答えて

1

最後のルールは無効です。

(f:FIRST{f.value=="hello"} # s:SECOND{s.value=="world",s.pos=="pres"}){-> CREATE(THIRD, "value" = "end")}; 

または

Document{-> CREATE(THIRD, "value" = "end")}<-{f:FIRST{f.value=="hello"} # s:SECOND{s.value=="world",s.pos=="pres"};}; 

または論理積ルールで何か:

あなたのような何かを書くことができます。

免責事項:私はこのためにUIMAルタ

+0

そしてCONTAINSとCONNECT(AND)条件をどのようにスローしますか? – Aribas

+1

seoncdルールでは、インラインルールはANDと組み合わされた包含として機能します。唯一の違いは、逐次的な制約があることです。 –

+0

もし私がこのような連続的な制約を取り除きたいのであれば(将来のプロジェクトや何かのために)どうすればいいのですか?私は、上のアプローチはFIRST注釈がSECONDの前に発生することを前提としているようです、そうですか?注釈の順序とは無関係に、より一般的なアプローチは何でしょうか? – Aribas