2

私はこのようなものを探しています:

WORDLIST lemmas = 'lemmas.txt';
DECLARE Test;    
BLOCK(AnnotateTests) Token{} {
    STRING lemma;
    Token{->GETFEATURE("lemma", lemma)};
    INLIST(lemma, lemmas) -> MARK(Action); // <- How to do this?
}

これが壊れたコードであることはわかっていますが、テキスト ファイルで用語のリストを提供し、トークンのすべてのインスタンスに注釈を付ける方法を知りたいと思います。リストで。文字列の等価性が可能であることは知っていますが、リストのメンバーシップをドキュメントで見つけることも、自分で理解することもできませんでした。

ありがとう!

4

1 に答える 1

3

UIMA Ruta 2.1.0: 残念ながら、INLIST 条件は追加の引数を受け入れず、一致した注釈のカバーされたテキストのみをチェックします。したがって、それを使用することはできません。CONTAINS 条件は追加の引数を受け入れますが、単語リストは受け入れません。辞書チェックはトークンベースであるため、MARKFAST で単語リストを適用することもできません。

この問題の最善の解決策は、開発者に機能の追加を依頼するか、機能を提供する外部条件を追加することです。

UIMA Ruta 2.1.0 では、単語リストの代わりに StringListExpressions を使用できました。

STRINGLIST LemmaSL = {"cat", "dog"}; // the content of the wordlist
Token{CONTAINS(LemmaSL, Token.lemma) -> MARK(Action)};

UIMA Ruta 2.2.0 では、INLIST 条件は、一致した注釈のカバーされたテキストを置き換える追加の引数を処理できるため、問題が解決するはずです。

WORDLIST LemmaList = 'lemmas.txt';
Token{INLIST(LemmaList, Token.lemma) -> MARK(Action)};

免責事項: 私は Apache UIMA Ruta の開発者です。

于 2014-03-05T09:26:45.427 に答える