4

XMI ファイルからデータを取得する際に問題が発生しています。次の抜粋は、私たちがやろうとしていることの例を示しています。

<uima:Token xmi:id="28" sofa="1" begin="3" end="6" pos="v-fin" features="PR=1S=IND" lexeme="sou">
    <lemma>ser</lemma>
</uima:Token>

最初の行に含まれる id、begin、soaf など (これらは属性) の情報を取得する方法はわかっています。これらは、次のコードを使用して取得できます。

IMPORT opennlp.uima.Token FROM TypeSystem AS cgToken;
// ...
cgToken{REGEXP(cgToken.lexeme, "sou", true) -> DO_SOME_ACTION};
// do some action if the lexeme is "sou"

ただし、前述のように、前の例の子タグにあるレンマ (文字列 "ser") を取得する方法を知りたいと考えています。

明らかに、私たちは を試しcgToken{REGEXP(cgToken.lemma, "ser", true) -> DO_SOME_ACTION};ましたが、lemma は cgToken の属性ではないため機能しません。さらに、単一の cgToken 内に複数の補題がある場合があります。

TypeSystem では、この機能を次のように定義しています。

<featureDescription>
    <name>lemma</name>
    <description>lemma</description>
    <rangeTypeName>uima.cas.StringArray</rangeTypeName>
</featureDescription>

ただし、Ruta のドキュメントには、配列フィールドへのアクセス方法が説明されていません。

4

0 に答える 0