在单词匹配或忽略某些特殊情况的情况下,是否有任何模糊选项。
例如:
STRINGLIST AMIMALLIST = {"LION","TIGER","MONKEY"};
DECLARE ANIMAL;
Document {-> MARKFAST(ANIMAL, AMIMALLIST, true)};
我需要将单词与列表匹配,以防我遇到一些特殊字符,例如Tiger- 或 MONKEY$
根据documentation 有不同的evaluator 知道怎么用吗?
或者我可以使用 SCORE 或 MARKSCORE
最佳答案
这里有几个方面需要考虑。一般来说,UIMA Ruta 不支持字典查找中的模糊性。 SCORE
和 MARKSCORE
是语言元素,可用于在顺序规则中引入一些启发式评分(不是真正的模糊性)。在您在问题中给出的示例中,您实际上并不需要模糊匹配。
UIMA Ruta 中的字典查找适用于 RutaBasic 注释。这些注释由 UIMA Ruta 本身自动创建和维护(不应由其他分析引擎或规则直接更改)。 RutaBasic 注释表示注释所指的最小片段。默认情况下,RutaEngine 的播种器为单词( W
-> CW
、 SW
、 CAP
)和许多其他标记(如 - 或 $ 的 SPECIAL
)创建注释。这意味着还有一个 RutaBasic 注释,并且字典查找可以区分这些标记。因此,应该对 Tiger 和 Monkey 进行注释,并且您问题中的示例实际上应该可以工作 (我测试过)。您可能需要一些后期处理才能在 SPECIAL
中包含 ANIMAL
。
我不得不提一下,还有在字典查找(多树词列表,TRIE)中使用 编辑距离 的功能。但是,此功能已多年未得到维护。它还应该支持特定替换的不同权重。我不知道这算不算模糊。
免责声明:我是 UIMA Ruta 的开发人员
关于apache - UIMA ruta 中的模糊性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45708526/