1

私は UIMA Ruta を学び始めましたが、タスクにいくつかのトラブルがあります。キリル文字で書かれた各単語を音訳する FirstName および LastName アノテーションで構成される FLName という新しい結合アノテーションを作成する単純なルールを追加する必要があります。これが私のコードです。誰かが私が間違っている場所を見つけることができますか?

Main
Document {-> CALL(TranslitCyrillic)};
Document {-> CALL(AnnotatePerson)};

Symbol {-> UNMARK(Symbol)};
Document {-> RETAINTYPE(SPACE)};
ALL {-> UNMARK(ALL)}; 

AnnotatePerson
DECLARE Annotation FirstName (STRING first_name);
DECLARE Annotation LastName (STRING last_name);
DECLARE Annotation FLName(STRING first_name, STRING last_name);

//in this rule trouble
Word {FEATURE("translit", "beishor"), FEATURE("translit", "bishop") -> CREATE(FLName), FILL(FirstName, "first_name" = Word.translit), 
FILL(LastName, "last_name" = Word.translit)};


Word {FEATURE("translit", "beishor") -> CREATE(FirstName), FILL(FirstName, "first_name" = Word.translit)}
Word {FEATURE("translit", "bishop") -> CREATE(LastName), FILL(LastName, "last_name" = Word.translit)};

私はこのようなことをしようとしています ここに画像の説明を入力してください

しかし、結果はこれ ですここに画像の説明を入力してください

4

2 に答える 2

1

正解に加えて、複雑な注釈を作成するための一般的なオプションを次に示します。

(FirstName # LastName){-> CREATE(FLName, "first_name" = FirstName, "last_name" = LastName)};
FirstName # LastName{-> GATHER(FLName, "first_name" = 1, "last_name" = 3)};
(FirstName # LastName){-> FLName, FLName.first_name = FirstName, FLName.last_name = LastName};
(f:FirstName # l:LastName){-> FLName, FLName.first_name = f, FLName.last_name = l};

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

于 2016-07-07T08:26:56.597 に答える
1
Find the solution 
(FirstName # LastName){-> CREATE(FLName, "first_name" = FirstName, "last_name" = LastName)};
于 2016-07-03T09:17:55.873 に答える