在UIMA RUTA / RETAINTYPE中建立WordTables的问题不起作用

时间:2018-08-31 16:58:57

标签: uima ruta

我正在尝试使用RUTA注释文档,但并非词典中的所有术语都已启用。似乎单词表可能无法正确读取,或者RETAINTYPE(SPACE)/ RETAINTYPE(WS)无法正常工作。

示例:我在csv中使用术语“打开橱柜”,“打开橱柜”和“打开橱柜”。我读了RUTA的术语,并读了相应的列,但是当我分析文档时,只会注释“打开帐户”。

我尝试使用RETAINTYPE(SPACE)和RETAINTYPE(WS)来解决问题,但没有成功。

另外,如果我在读入单词表的csv中添加“ ope橱柜”一词,则“ ope橱柜”将是构建注释时触发的唯一短语。我被认为是单词表可能无法正确读入并过滤掉所有相似的长短语,这些短语都以相同的开头和相同的结尾。与前面提到的术语在同一csv中时,短语“开门”确实可以正确注释,但是其结尾不同。一旦我在同一csv中添加“打开门”,就不会注释“打开门”,而只会在“打开门”上触发

只有一个字长的短语,例如:“ opencupboard”,“ openscupboard”,在分析文档时不使用RETAINTYPE(SPACE)时可以正确触发,但是由于其他字段较短,我需要保留该空间导致我误报过多的短语。

我还用其他短语重现了这个问题。

基本上,我无法注释引理。

1 个答案:

答案 0 :(得分:1)

在wordtable实现中,默认情况下会忽略空格。因此,“ hello world”将被索引为“ helloworld”。

默认情况下,通过RUTA分析内容也将忽略空格。因此,文档中的“ helloworld”将被识别,而且“ helloworld”,“ he llo wo rld”也是匹配项。

如果空格在您的上下文中很重要,则可以将字表配置为在建立索引时使用空格。这可以通过将配置参数(PARAM_DICT_REMOVE_WS = false)传递给引擎来完成。当然,在执行MARKTABLE操作之前,通过以下操作“ ADDRETAINTYPE(WS);”使它们在RUTA脚本中也可见。

在RUTA 2.6.1(当前版本)中,单词表存在一些问题。有一些修复程序,但尚未修补。

https://issues.apache.org/jira/projects/UIMA/issues/UIMA-5752 https://issues.apache.org/jira/projects/UIMA/issues/UIMA-5775

如果使用2.6.1的配置不起作用,则可以尝试获取最新的2.6.1来源并对其应用补丁。也许这可以解决您的问题。