Проблема со сборкой WordTables в UIMA RUTA / RETAINTYPE не работает
Я пытаюсь комментировать документ с помощью RUTA, но не все термины в моем словаре увольняют. Похоже, что таблицы слов могут не читаться правильно или что RETAINTYPE(SPACE)/RETAINTYPE(WS) не работает.
Пример: у меня есть термины "открыть шкаф", "открывает шкаф" и "открыть шкаф" в CSV. Я читаю в терминах RUTA и читаю в соответствующей колонке, но когда я анализирую документ, аннотируется только "открытый счет".
Я пытался использовать RETAINTYPE (SPACE) и RETAINTYPE (WS), чтобы исправить проблему, но безуспешно.
Кроме того, если я добавлю термин "ope cupboard" в мой csv, который читается в моем wordtable, то "ope cupboard" будет единственной фразой, которая срабатывает, когда я создаю свою аннотацию. Я склонен полагать, что wordtable, возможно, не читает правильно и отфильтровывает эти похожие более длинные фразы, которые начинаются одинаково и заканчиваются одинаково. Фраза "открыть дверь" правильно комментирует в том же CSV, что и предыдущие термины, но имеет другое окончание. Как только я добавлю "открывает дверь" к тому же CSV, поскольку он не аннотирует "открывает дверь" и будет стрелять только на "открыть дверь"
Фразы, содержащие только одно слово, например: "opencupboard", "openscupboard", запускаются правильно, когда я не использую RETAINTYPE (SPACE) при анализе документа, но мне нужно иметь возможность сохранить пробел из-за других более коротких фраз, которые вызывая у меня слишком много ложных срабатываний.
Я также воссоздал эту проблему с другими фразами.
Я не могу комментировать леммы.
1 ответ
В реализации wordtable пробелы по умолчанию игнорируются. Таким образом, "привет мир" будет индексироваться как "helloworld".
Анализ содержимого с помощью RUTA также игнорирует пробелы по умолчанию. Таким образом, "Привет, мир" в документе будет распознан, но и "Привет, мир", "он все равно" - совпадения.
Если пробелы важны в вашем контексте, вы можете настроить таблицу слов для использования пробелов при индексации. Это можно сделать, передав параметр конфигурации (PARAM_DICT_REMOVE_WS = false) в двигатель. Конечно, сделайте их также видимыми в сценариях RUTA перед выполнением действия MARKTABLE с помощью следующего действия "ADDRETAINTYPE(WS);".
В 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 и применить к ней патчи. Может быть, это решит вашу проблему.