Редактирование XPDL-правил для пользовательских сущностей
На вкладке Редактор правил вы можете задать правило для извлечения новой сущности на основе синтаксиса XPDL.
На скриншоте выше в поле редактора в качестве примера приведено правило для извлечения прилагательных, за которыми следуют существительные.
Поле Исходный текст, содержит первый документ набора данных, с которым вы работаете в данный момент. Текст может быть показан тремя различными способами, например, в том виде, в каком он приведен в исходном наборе данных.
Нажмите кнопку Тегированный текст, чтобы увидеть размеченный текст.
В данном режиме каждому слову добавляется тег с указанием морфологической категории слова.
Нажмите кнопку Фрагментированный, чтобы увидеть текст, разделенный на именные группы.
Для получения дополнительной информации см. данный раздел.
В нижней части вкладки Редактор правил расположена Тестовая панель для проверки нового правила. Пользователи могут указать номер записи (в пределах указанного общего количества) в специальном окне под полем Исходный текст, после чего нажать на кнопку Выполнить проверку для проведения соответствующей процедуры.
В поле Результаты будут отображены сущности, которые извлечет данное правило в ходе выполнения узла:
Если вы работаете с несколькими правилами, вы можете протестировать каждое правило отдельно. Для этого выделите правило, удерживая левую кнопку мыши, и нажмите кнопку Запустить проверку текущего правила.
В соответствующем поле будет отображено название правила и его результаты.
Если поле Результаты остается пустым, это может означать, что в выбранной записи искомые сущности отсутствуют, или правило не извлекло никаких сущностей. Попробуйте выбрать другую запись и снова нажать на кнопку проверки правила.
Данная опция позволяет пользователям оценить качество правила и при необходимости корректировать его, не выходя из окна редактора и окна настройки узла еще до его выполнения.
При настройке сущностей нет необходимости отдельно сохранять изменения на каждой вкладке: изменения сохраняются автоматически при переходе с одной вкладки на другую. Если вы попытаетесь закрыть окно настроек сущности без сохранения внесенных изменений (с помощью кнопки ОК), система напомнит вам об изменении настроек и спросит, нужно ли их сохранить.
Вместо того, чтобы вводить номер в поле Запись, для перехода к нужной записи/документу воспользуйтесь кнопками со стрелками для перехода к самой первой/предыдущей/следующей/следующей результативной/самой последней записи или документу. В этой же строке указывается язык исходного текста (Английский), а также текущий режим тестирования (По умолчанию). Для смены режима тестирования нажмите правой кнопкой мыши на активный режим.
Нажмите на кнопку Настройки… для вызова окна Настройки текста.
Откроется новое окно:
Здесь можно задать режим тестирования: По умолчанию, Упрощенная проверка или Отладка. Доступны следующие опции (только для режима тестирования По умолчанию):
-
Применить фильтры – опция включена по умолчанию. У каждой сущности имеются SRL-фильтры (см. вкладку Фильтры), которые обрабатывают найденные правилом сущности. Если отключить данную опцию, фильтры использоваться не будут.
-
Использовать постобработчики – опция включена по умолчанию. Если отключить данную опцию, выбранные постобработчики (см. Постобработка) использоваться не будут.
-
Выполнить разрешение конфликтов между сущностями – см. раздел Разрешение конфликтов ниже.
-
Выполнить разрешение конфликтов между правилами – опция включена по умолчанию. См. раздел Разрешение конфликтов ниже.
-
Создать колонку с именем сработавшего правила – опция включена по умолчанию. В получившемся массиве данных появится дополнительная колонка с именем сработавшего правила.
-
Создать колонку(и) для соответствий – опция включена по умолчанию. В получившемся массиве данных появится дополнительная колонка, которая будет включать сущность в том виде, в котором она встречается в тексте. Если у одной сущности имеется несколько вариантов написания, в получившийся массив данных будут включены все варианты.
Использование фильтров
Вкладка Фильтры позволяет пользователям выбирать, какие записи должны войти в отчет узла.
Для добавления фильтра используйте кнопку Добавить на панели инструментов.
Вы можете сразу задать имя фильтра или сделать это позже.
Выберите фильтр и в поле справа введите SRL-выражение. Выражение должно соответствовать модели [параметр] = "имя"
. Список параметров доступен в меню Колонки.
Для этого необходимо выполнить следующие шаги:
-
Выберите тип сущностей 'Organizations' на вкладке Сущности в Настройках узла.
-
Дважды нажмите на выбранный тип сущностей или нажмите на кнопку Настройки на панели инструментов.
-
Перейдите на вкладку Фильтры.
-
Нажмите на кнопку Новая сущность на панели инструментов.
-
Задайте имя фильтра (например, School).
-
Выберите фильтр и переместите курсор в поле редактора выражения и откройте список доступных колонок (они выступают в роли параметров), используя меню Колонки.
-
С помощью двойного клика вставьте колонку Type в поле редактора выражения:
-
Присвойте колонке значение "School".
-
Нажмите ОК для сохранения фильтра.
После того, как узел будет выполнен, в отчете на вкладке Сущности в разделе "Organizations" будут отображены только отфильтрованные результаты. В нашем случае было извлечено 46 сущностей типа Школа (School):
Вы можете добавлять несколько фильтров. Используйте чекбоксы рядом с именем фильтра для его включения/отключения. При отключении фильтра его выражение сохраняется.
Постобработка
Вкладка Постобработка позволяет настроить дополнительную обработку сущностей, которая выполняется после применения XPDL-правила.
Таким образом вы, например, можете выполнить разные виды нормализации (нормализация регистра, слияние синонимов, обрезание строкового значения и др.), или исключать некоторые сущности из анализа путем занесения их в список стоп-слов.
Используйте панель инструментов для добавления нового постобработчика.
Затем выберите постобработчик из меню:
Вы можете сразу задать ему имя или сделать это позже, дважды нажав по нему.
После того как вы выбрали постобработчики, добавьте соответствующие атрибуты в поле Настройки постобработчика:
Затем установите параметры атрибута:
Обратите внимание на то, что опции могут отличаться в зависимости от типа постобработчика.
Вы можете добавить несколько постобработчиков. Используйте чекбоксы справа от имени постобработчика для его включения/отключения. При отключении постобработчика все его настройки сохраняются.
Подробная информация о постобработчиках представлена в специальном разделе.
Разрешение конфликтов
Вкладка Разрешение конфликтов отличается от остальных вкладок окна настройки сущностей. Настройки на этой вкладке относятся не к одной сущности, а ко всем сущностям, с которыми работает узел. Вкладку можно также открыть, нажав правой кнопкой мыши в любом месте списка сущностей на вкладке Сущности и выбрав опцию Разрешение конфликтов….
Все возможные конфликты между стандартными сущностями уже прописаны, но для удобства скрыты от пользователя. Поэтому на данной вкладке вы можете задать условия для разрешения конфликтов между стандартными и пользовательскими сущностями, или только между пользовательскими сущностями. При попытке разрешения конфликта между стандартными сущностями вы получите предупреждение о некорректной настройке разрешения конфликтов. |
Данная вкладка используется для разрешения конфликтов между сущностями. При извлечении сущностей одни и те же позиции могут попадать в результаты, относящиеся к разным типам сущностей. Разные типы сущностей могут пересекаться, входить одна в другую, либо полностью совпадать.
При первом открытии вкладка будет пустой:
Обычно при работе с данной вкладкой пользователям понадобится выполнить следующие действия:
-
Добавить пару конфликтующих сущностей.
-
Указать имена сущностей и, при необходимости, их атрибуты и правила, извлекающие данные сущности.
-
Выбрать одно или несколько условий разрешения конфликта между выбранными сущностями.
-
При необходимости повторить первые три шага нужное количество раз для настройки разрешений нескольких конфликтов.
-
Проверить конфликты.
-
Сохранить разрешения конфликтов.
Рассмотрим эти операции несколько подробнее.
Для добавления пары конфликтующих сущностей нажмите на соответствующую кнопку на панели инструментов.
Пара сущностей отобразится в списке слева, а поля справа станут доступны для редактирования. Обратите внимание на то, что пары конфликтующих сущностей рассматриваются по порядку сверху вниз, начиная с первой. Вы можете менять порядок конфликтов, используя кнопки со стрелками вверх и вниз на панели инструментов. Они станут активны только после того, как в списке будет две и более конфликтующих пар сущностей.
Поле Имя для каждого участника вы можете заполнить вручную, либо использовать выпадающий список:
Вы можете также указать атрибуты конфликтующих сущностей и правила, которые их извлекают. Например, атрибутами сущностей типа People могут быть звание (Title), фамилия (SecondName) и др. В поле Правила указываются маски правил, например, r1. Есть возможность через косую черту (/) указывать вложенные правила, например, r1/r2. Атрибуты и правила позволяют пользователям дополнительно фильтровать конфликтующие сущности.
Если вы хотите настроить разрешение конфликтов между одной пользовательской сущностью и всеми стандартными, вы можете использовать маску Standard/ в поле Имя для обозначения всех стандартных сущностей в качестве одной стороны конфликта. |
Перейдем к разделу настроек Разрешение. Добавим новое условие в список с помощью кнопки с изображением плюса и выберем нужное условие из выпадающего списка:
В выпадающем списке доступны следующие условия:
-
А внутри В;
-
В внутри А;
-
А равно В;
-
А частично пересекается с В (сущности так или иначе пересекаются друг с другом, не равны друг другу и не входят друг в друга).
Исходя из задачи в нашем примере, выберем условие А внутри В. Для выбранной пары конфликтующих сущностей пользователь может задать несколько условий, которые будут выполняться по принципу "сверху вниз". Пользователь может изменить очередность их выполнения, используя кнопки со стрелками на панели инструментов в разделе Условия. Если данные кнопки не отображаются, необходимо развернуть панель инструментов.
Теперь добавим новое действие и откроем выпадающий список:
Доступны следующие действия:
-
Сохранить обе – конфликт при этом считается разрешенным. Данное действие может быть полезно, если конфликт предшествует другому, более широкому конфликту. Например, представьте, что мы создали два конфликта: один между сущностями "People" с атрибутом SecondName и "Companies", а другой – между "People" и "Companies". Если первый конфликт будет разрешен с результатом сохранить обе сущности, итерация правила на этом завершится. Если первый конфликт не будет разрешен, будет рассмотрен следующий конфликт;
-
Сохранить А – только Участник А будет включен в отчет узла;
-
Сохранить В – только Участник B будет включен в отчет узла;
-
Сохранить сущность большей длины – если длины сущностей равны, сохраняется сущность большей длины.
-
Сохранить сущность меньшей длины – если длины сущностей равны, сохраняется сущность меньшей длины.
-
Сохранить сущность с большей достоверностью – если обе сущности имеют одинаковую достоверность, сохраняется сущность с большей достоверностью.
-
Удалить обе – обе сущности (участника) не будут включены в отчет узла.
Для каждого условия можно создавать несколько действий. Например, если действие Сохранить сущность с большей достоверностью не приведет к решению конфликта, т.е. две сущности будут иметь одинаковую достоверность, можно дать узлу команду рассмотреть следующее разрешение – Сохранить сущность большей длины. Действия, как и условия, будут выполняться по принципу "сверху вниз". Пользователь может изменить очередность их выполнения, используя кнопки со стрелками на панели инструментов в разделе Действия.
Далее необходимо проверить настроенные конфликты. Для этого используйте кнопку Проверить конфликты на панели инструментов рядом с таблицей участников.
Если по результатам проверки все конфликты будут разрешены, то настройку вкладки Разрешение конфликтов можно считать завершенной, и вы можете продолжить работу на других вкладках. При наличии каких-либо ошибок узел выдаст соответствующее сообщение.
Общие настройки
Вкладка Общие содержит общие настройки сущности.
При наведении курсора на отдельную опцию в нижней части окна отобразится ее описание.
Вы можете задать Полное имя сущности, чтобы дочерние узлы могли вызывать данную сущность с помощью PDL/XPDL-функции entity(). Данная опция доступна только для пользовательских сущностей.
Цвет подсветки сущности можно изменять как для стандартных, так и для пользовательских сущностей, однако, кнопка Сбросить доступна только для стандартных.
Если вы не хотите, чтобы узел извлек выбранную сущность, снимите флажок рядом с опцией Извлекать сущность. Обратите внимание, что данная настройка дублирует функционал колонки Включить на вкладке Сущности.
Опция Восстановить настройки сущности по умолчанию актуальна только для стандартных сущностей и позволяет сбрасывать все пользовательские настройки сущности до настроек по умолчанию при каждом выполнении узла.
Отметьте флажком опции Создать колонку(и) для соответствий и Создать колонку с именем сработавшего правила для добавления соответствующих колонок. В отчете узла данные колонки могут быть скрыты (используйте меню Выбор колонок на вкладке Сущности в окне просмотра результатов узла).
Опция Колонки для валидации позволяет указывать колонки, на которые аналитику следует в первую очередь обращать внимание при оценке результатов узла. Валидация используется разработчиками узла для оценки качества его результатов. Данный функционал может быть также полезен и некоторым пользователям узла.
Вы можете задать порядок расположения колонок в отчете основного и дочерних узлов с помощью опции Предпочитаемый порядок колонок. Колонки, которые не вошли в список, будут отсортированы в том же порядке, что и при использовании XPDL-правил.
Опция Колонки, скрытые по умолчанию позволяет пользователям выбрать колонки, которые будут скрыты при первом открытии отчета узла. Данная опция может быть полезна, например, в том случае, когда вам известно, что сущность может иметь множество атрибутов, но вы уверены, что некоторые из них вам не понадобятся в ходе дальнейшего анализа, или вы просто не хотите отображать все свойства сущностей в окне просмотра, чтобы таблица выглядела более лаконичной и понятной.
Обратите внимание, что данная опция применима только при первом просмотре отчета узла. Позже список скрытых/видимых колонок кэшируется (т.е. сохраняется), и изменение опции никак не влияет на него. Также важно знать, что если вы настроите список скрытых по умолчанию колонок, выполните узел, просмотрите отчет и затем решите отобразить/скрыть другие колонки, это можно сделать с помощью меню Выбор колонок на вкладке Сущности в окне просмотра результатов узла:
Опция Зависимости сущности позволяет указать те сущности, которые должны быть посчитаны узлом до обработки правила для извлечения выбранной в данный момент сущности, поскольку она является зависимой.
Опция Отключать некритичные ошибки используется для создания списка ошибок, которые будут игнорироваться при проверке правила. Таким образом, для указанных ошибок не будут выводиться сообщения с предупреждениями.
В поле Описание пользователи могут добавить и редактировать описание сущности, которое будет отображаться при выборе данной сущности в списке на вкладке Сущности.
После завершения настройки сущности нажмите ОК для сохранения изменений и закрытия окна.