忽视自我的自我

时间:2017-04-13 07:48:33

标签: nlp uima ruta

我正在尝试根据词典检测人名:

字典开始

David Alberto 

David

Alberto

字典结束

输入开始

David Alberto 

输入结束

我想将 David Alberto 作为人名不是 David Alberto 。 我正在使用以下规则。

WORDLIST FirstNameList = 'en/ruta/dictionaries/FirstNames.txt';
DocumentAnnotation{-> MARKFAST(FirstNames, FirstNameList,true)};
FirstNames{PARTOF(FirstNames)->UNMARK(FirstNames)};

但是,由于 David Alberto 也是 David Alberto 的一部分,所以它也会得到unmark。知道如何处理这种情况。

1 个答案:

答案 0 :(得分:1)

条件PARTOFNEQ(部分,不等于)会考虑匹配的注释,只有在有另一个注释时才会满足。

FirstNames{PARTOFNEQ(FirstNames)->UNMARK(FirstNames)};

然而,这种情况是当前实现中最慢的条件之一(< = 2.6.0)。我通常使用类似的东西:

FirstNames->{@FirstNames{-> UNMARK(FirstNames)} ANY; ANY @FirstNames{-> UNMARK(FirstNames)};};

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