2017-07-04 11 views
0

私は、同じタイプのインスタンス(例えば、CWアノテーションのシーケンス)であるアノテーションのシーケンスを持っています。私はそれらの最初のものを削除する必要があります(もっと正式には、前に同じ種類の注釈が​​ドキュメント内にない注釈を削除してください)。より形式的ではない:文書の始めに注釈を削除する。例の文書:シーケンスの先頭のUIMA RUTAアノテーション

"Software"{-AFTER(CW) -> UNMARK(CW)} CW+;    //does not work 
"Software"{BEFORE(CW) -> UNMARK(CW)} CW+;    //does not work 
"Software"{-STARTSWITH(Document) -> UNMARK(CW)} CW+; //does not work 
CW{0, 0} "Software"{-> UNMARK(CW)} CW+;    //getting parsing error 

...といくつかの他のもの: "ソフトウェアStageTools" ので、私は多くのバリエーションを試してみました。明らかに、誰も働いていません(私は注釈の機能を開始することができますが、正式な問題は解決しません)。

最後に、問題は、文書内で前に同じタイプの注釈がない注釈を削除するRUTAとはどういうことですか?

答えて

1

これを実行する方法はたくさんあります。

# cw:CW.ct=="Software"{-> UNMARK(cw)} CW; 

次のCW以降がある場合は、ドキュメントの最初のCW "ソフトウェア"を削除してください。

ANY{-PARTOF(CW)} cw:@CW.ct=="Software"{-> UNMARK(cw)} CW; 

CWの後にCWがない場合、CW "ソフトウェア"を削除します。ドキュメントがパターンで始まる場合は、2番目のルールが必要です。

あなたの2番目のルールは実際に私にとって役立ちます。最後のルールには有効な構文がありません。最小/最大量子は、[0,0]のような異なる角括弧を必要とします。しかし、これはあなたが望む効果がありません。

免責事項:私はUIMAルタ

のデベロッパー
関連する問題