私はUIMA Rutaでテキストを処理しており、重複した注釈を削除したいと考えています。特定のフィーチャ(名前など)に同じ値が設定されている場合、注釈が重複していると見なします。私は失敗した様々なアプローチを試してみましたが、私は次の例では、私が何をしようとしていますかのアイデアを与えることを願っています:私は交換する場合Rutaルール内の2つの異なるアノテーションのフィーチャを比較するにはどうすればよいですか?
STRING nameVal;
Person {-> GETFEATURE("name", nameVal)}
ANY+?
Person {-> UNMARK(Person)} <- { Person.name == nameVal; };
:私もこのバリエーションを試してみました
STRING nameVal;
Person {-> GETFEATURE("name", nameVal)}
ANY+?
Person.name == nameVal {-> UNMARK(Person)};
を変数nameValをリテラル(次の例を参照)と組み合わせると、ルールはうまく動作し、私が望むものに近いように見えますが、それほどではありません。
Person
ANY+?
Person.name == "Mustermann" {-> UNMARK(Person)};
私が考えているのは、比較が評価されるとき、グローバル変数がまだ初期化されていないということです。 Rutaに、最初に一致した注釈の特徴と、同じ規則の中で最後に一致した注釈の特徴を比較する方法はありますか?
感謝の開発者です。実際には、私もそれを試みました。それはUIMA Ruta 2.5.0(私はまだアップグレードしていない)でのみ動作しますか? AEに埋め込まれたRutaを使用する場合、いくつかの設定が必要ですか?私は明日仕事でそれをチェックします。 – Santam
はい、それは 'p1.name'のようなラベル式で機能epxressionsをサポートするUIMA Ruta 2.5.0でのみ動作します。 –
私は今、いくつかのテストを行いましたが、残念ながらそれは機能しませんでした。 Eclipseプラグインを更新した後、「渡された引数は無効です!」というメッセージとともに 'IllegalArgumentException'を取得します。 Ruta Workbenchを使用してテストプロジェクトでRutaを実行しているとき。 Ruta egineが埋め込まれたプロジェクトでは、Ruta 2.4.0でうまく動作するルールのセットがRuta 2.5.0の下で 'RutaParseRuntimeException'を生成します。私はEclipse Mars.2リリース(4.5.2)、Ruta Workbench 2.5.0、UIMAツールとランタイム2.9.0を使用しています。私が知っておくべき問題がありますか? – Santam