根据前面的例子,本网站上的名字和姓氏,我试图推进一些代码。所以,我想只为那些性别匹配的人制作全名,如果名字被标记为男性,那么姓氏也应该是男性。
错误在最后一行,但我不确定从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};
答案 0 :(得分:0)
可以使用不同的语言元素在UIMA Ruta中检查和比较注释特征中的字符串值。
最自然的方法是使用点表示法来访问要素值,然后使用布尔表达式进行比较,例如
(e1:firstName e2:lastName) {e1.fnGender == e2.lnGender -> FLName, FLName.fnValue=e1, FLName.lnValue=e2};
免责声明:我是UIMA Ruta的开发者