Слишком много повторяющихся элементов

  • 102 Views
  • Last Post 30 May 2018
  • Topic Is Solved
qimby posted this 16 May 2018

Нужен совет. В гибком описании есть группа повторяющихся элементов, во всех документах где этих элементов относительно немного (до 300шт. примерно), они обнаруживаются отлично, но если их больше, то дальнейшее обнаружение прекращается. В дереве гипотез видно, что он обнаружил 300 элементов успешно, а дальше ничего, никаких ошибок. В итоге документ не классифицируется и даже те элементы что обнаружились не высвечиваются.

Я так понимаю, что просто снижается chain quality до недопустимого минимум, из-за не обнаруженных необязательных элементов, но если я выставляю им null hypothesis quality равной единице, то вообще ни одного элемента не обнаруживается в этой группе.

Подскажите пожалуйста, может кто с примерным сталкивался.

Спасибо.

Order By: Standard | Newest | Votes
AlexeyEfremov posted this 17 May 2018

Добрый день,

Причины может быть две.

1. В повторяющейся группе есть несколько опциональных элементов. И когда много из них не найдено, предположение о том что элемент группы не найден - выигрывает.

2. Общее число гипотез и под-гипотез элемента ограничено 10000. Нужно пройтись по древу гипотез и посмотреть где чаше всего встречаются "вилки" и, например, ограничить области поиска.

Если эти советы не помогут - выложите пожалуйста ваше гибкое, мы посмотрим. Если данные конфиденциальны - лучше всего обратиться в региональный саппорт.

С уважением,

Алексей

 

 

 

  • Liked by
  • qimby
qimby posted this 20 May 2018

Спасибо большое за ответ!

Да, в каждом инстансе этой группы всегда есть несколько опциональных элементов которые не найдены. Так что сразу вопрос, можно ли сделать чтоб не было штрафа за не обнаружение этих элементов? И ещё, когда я делаю повторяющуюся группу опциональным элементом, то обнаружение не осуществляется, хотя когда стоит как обязательный элемент, то всё работает? Ответы на эти вопросы мне бы очень помогли.

Спасибо.

qimby posted this 21 May 2018

И возможно ли как-то динамически поэлементно добавлять инстансы в переменную OutputInstances в скрипте блока повторяющейся группы?

Спасибо.

AlexeyEfremov posted this 21 May 2018

Что ж, попробем помочь "вслепую" :)

Так что сразу вопрос, можно ли сделать чтоб не было штрафа за не обнаружение этих элементов?

В статье 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, которая занимается в том числе разработкой шаблонов любой сложности. Если хотите, можно обратиться к ним.

С уважением,

Алексей

 

 

 

  • Liked by
  • qimby
qimby posted this 21 May 2018

Отлично, спасибо, это мне помогло.

Dilshat Uteshev posted this 29 May 2018

Добрый день! 

Можете, пожалуйста, поделиться как именно вам помогли эти функции? Ведь в Pre-search relations нельзя указать, что если текущий элемент не найден, тогда нулевая гипотеза = 1. Как вы ссылаетесь к элементу?

 

Спасибо,

Ekaterina posted this 30 May 2018

Здравствуйте,

Функция

if not SearchElements.SomeElement.isFound then

{

   Optional(1,0);

}

Пишется в том элементе, которому нужно присвоить    Optional(1,0).

Close