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、sofa等(这些都是属性),可以使用下面的代码来获取:

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