如何检查字符串值apache uima ruta

时间:2017-02-12 11:15:26

标签: string apache uima ruta

根据前面的例子,本网站上的名字和姓氏,我试图推进一些代码。所以,我想只为那些性别匹配的人制作全名,如果名字被标记为男性,那么姓氏也应该是男性。

错误在最后一行,但我不确定从GENDER Wordtable开始的整个部分。见下文

    PACKAGE com.test.fullnameannotator;
    WORDTABLE firstNames = 'FirstName.csv';
    DECLARE Annotation firstName(STRING fnValue, STRING fnGender);
    Document{->MARKTABLE(firstName ,1, firstNames, "fnValue" = 2, "fnGender"=3)};
    WORDTABLE lastNames = 'LastName.csv';
    DECLARE Annotation lastName(STRING lnValue, STRING lnGender);
    Document{->MARKTABLE(lastName ,1, lastNames, "lnValue" = 2, "lnGender"=3)};
    WORDTABLE Gender = 'Gender.csv';
    DECLARE Annotation Gender_a (STRING FNGender); 
    DECLARE Annotation FLName (firstName fnValue, lastName lnValue);
    Document{CONTAINS (Gender_a) -> CREATE (FLName, "fnValue" = firstName, "lnValue" = lastName)};
    (e1:firstName # Gender_a # e2:lastName) {-> FLName, FLName.fnValue=e1, FLName.lnValue=e2};

1 个答案:

答案 0 :(得分:0)

可以使用不同的语言元素在UIMA Ruta中检查和比较注释特征中的字符串值。

最自然的方法是使用点表示法来访问要素值,然后使用布尔表达式进行比较,例如

(e1:firstName e2:lastName) {e1.fnGender == e2.lnGender -> FLName, FLName.fnValue=e1, FLName.lnValue=e2};

免责声明:我是UIMA Ruta的开发者