Нужен совет. В гибком описании есть группа повторяющихся элементов, во всех документах где этих элементов относительно немного (до 300шт. примерно), они обнаруживаются отлично, но если их больше, то дальнейшее обнаружение прекращается. В дереве гипотез видно, что он обнаружил 300 элементов успешно, а дальше ничего, никаких ошибок. В итоге документ не классифицируется и даже те элементы что обнаружились не высвечиваются.
Я так понимаю, что просто снижается chain quality до недопустимого минимум, из-за не обнаруженных необязательных элементов, но если я выставляю им null hypothesis quality равной единице, то вообще ни одного элемента не обнаруживается в этой группе.
Подскажите пожалуйста, может кто с примерным сталкивался.
Спасибо.
Comments
7 comments
Добрый день,
Причины может быть две.
1. В повторяющейся группе есть несколько опциональных элементов. И когда много из них не найдено, предположение о том что элемент группы не найден - выигрывает.
2. Общее число гипотез и под-гипотез элемента ограничено 10000. Нужно пройтись по древу гипотез и посмотреть где чаше всего встречаются "вилки" и, например, ограничить области поиска.
Если эти советы не помогут - выложите пожалуйста ваше гибкое, мы посмотрим. Если данные конфиденциальны - лучше всего обратиться в региональный саппорт.
С уважением,
Алексей
Спасибо большое за ответ!
Да, в каждом инстансе этой группы всегда есть несколько опциональных элементов которые не найдены. Так что сразу вопрос, можно ли сделать чтоб не было штрафа за не обнаружение этих элементов? И ещё, когда я делаю повторяющуюся группу опциональным элементом, то обнаружение не осуществляется, хотя когда стоит как обязательный элемент, то всё работает? Ответы на эти вопросы мне бы очень помогли.
Спасибо.
И возможно ли как-то динамически поэлементно добавлять инстансы в переменную OutputInstances в скрипте блока повторяющейся группы?
Спасибо.
Что ж, попробем помочь "вслепую" :)
Так что сразу вопрос, можно ли сделать чтоб не было штрафа за не обнаружение этих элементов?
В статье FlexiLayout language > Advanced pre-search functions > Controlling searches есть функции Void Optional( Real q1, Real q2 ) и Void DontFind(). Думаю, это то что вы ищете.Их можно прописать в Advanced Pre-search relations.Вот, например, так:
if not SearchElements.SomeElement.isFound then {
Optional(0,1);
}
И ещё, когда я делаю повторяющуюся группу опциональным элементом, то обнаружение не осуществляется, хотя когда стоит как обязательный элемент, то всё работает?
Возможно, стоит сделать вероятность нуль-гипотезы для всей группы меньше. Или использовать функцию Optional() из пункта выше.
И возможно ли как-то динамически поэлементно добавлять инстансы в переменную OutputInstances в скрипте блока повторяющейся группы?
Нет, но можно находить все, но динамически не давать им появляться, с помощью DontFind();
Вообще, у нас есть группа Professional Services, которая занимается в том числе разработкой шаблонов любой сложности. Если хотите, можно обратиться к ним.
С уважением,
Алексей
Отлично, спасибо, это мне помогло.
Добрый день!
Можете, пожалуйста, поделиться как именно вам помогли эти функции? Ведь в Pre-search relations нельзя указать, что если текущий элемент не найден, тогда нулевая гипотеза = 1. Как вы ссылаетесь к элементу?
Спасибо,
Здравствуйте,
Функция
if not SearchElements.SomeElement.isFound then
{
Optional(1,0);
}
Пишется в том элементе, которому нужно присвоить Optional(1,0).
Please sign in to leave a comment.