Постобработка
Данный узел или опция доступны, только если они включены в лицензии PolyAnalyst Server.
1. Aggregation (Агрегирование)

Постобработчик Aggregation (Агрегирование) позволяет объединять сущности с частично совпадающими атрибутами, в результате чего происходит объединение всей доступной информации об извлеченных сущностях. Объединение происходит, если некоторые атрибуты сущностей совпадают, а другие при этом не противоречат друг другу.

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

Поле Режим объединения определяет режим такого сравнения, подробное описание которого представлено в разделе ниже.

ee post agg 0.rus

К каждому атрибуту можно применить Дополнительный поиск и настроить параметры Нормализации регистра и Нормализации формы, которые описаны далее.

(1) Пример 1:

Правило 1 извлекает упоминания людей и находит сущность с четырьмя атрибутами:

  1. Имя

  2. Фамилия

  3. Возраст

  4. Профессия

Правило 1:

/* Пример XPDL-правила, позволяющего извлекать имена людей и атрибуты */

rule: Правило 1
{
 query: {phrase(3,{optional(regex("\d+?-year-old"))}:age,
		  {optional(dictword(HumanNames, "Type=first name"))}:first,
		  {dictword(HumanNames, "Type=surname")}:last,
		  {optional(phrase(repeat(1,3,lemma(adjective|noun)),orn(physicist, actress, violinist)))}:prof)
	}:m

 result: Match = $m
	attribute: Имя = $first
	attribute: Фамилия = $last
	attribute: Профессия = $prof
	attribute: Возраст = toint(regex($age,"(\d+)","\1"))
}

Настройки агрегирования примера выглядят следующим образом:

ee post agg 1.rus

Атрибуты Имя, Фамилия, Профессия и Возраст добавляются в список, при этом выполнение агрегирования будет возможно только для тех сущностей, которые не имеют конфликтов ни по одному из добавленных атрибутов.

Текст примера:

Albert Einstein was a German-born theoretical physicist. In 1921 42-year-old Albert Einstein received Nobel Prize in Physics.

Сущности до агрегирования:

Имя

Фамилия

Профессия

Возраст

Frequency (Частота)

Albert

Einstein

German-born theoretical physicist

1

Albert

Einstein

42

1

Сущности после агрегирования:

Имя

Фамилия

Профессия

Возраст

Frequency (Частота)

Albert

Einstein

German-born theoretical physicist

42

2

Атрибуты Имя и Фамилия совпадают, а атрибуты Профессия и Возраст не противоречат друг другу, поэтому две сущности, обнаруженные правилом, объединяются.

Правило 1 без выполнения постобработки находит следующие атрибуты сущности:

ee post agg 2.rus
Обратите внимание, что некоторые колонки были вручную скрыты из результатов с помощью меню Выбор колонок.

Если постобработчик Aggregation включен, происходит объединение атрибутов сущностей:

ee post agg 3.rus

(2) Пример 2:

Используется то же правило, те же атрибуты и настройки агрегирования, что и в Примере 1.

Текст примера:

Albert Einstein was a German-born theoretical physicist. In 1921 42-year-old Albert Einstein received Nobel Prize in Physics. Also, Albert Einstein was a good violinist.

Сущности до агрегирования:

Имя

Фамилия

Профессия

Возраст

Frequency (Частота)

Albert

Einstein

German-born theoretical physicist

1

Albert

Einstein

good violinist

1

Albert

Einstein

42

1

Сущности после агрегирования:

Имя

Фамилия

Профессия

Возраст

Frequency (Частота)

Albert

Einstein

German-born theoretical physicist

1

Albert

Einstein

good violinist

1

Albert

Einstein

42

1

Атрибуты Имя и Фамилия совпадают, конфликт для атрибута Возраст отсутствует, но атрибуты Профессия противоречат друг другу, поэтому объединение не выполняется, даже если включен постобработчик Aggregation:

ee post agg 4.rus
1.1 Настройки агрегирования
1.1.1 Область

Пользователи могут выбрать область агрегирования: агрегирование может применяться к отдельному документу или к целой таблице данных. Опция Объединить атрибуты в пределах документа позволяет объединить атрибуты сущностей, найденные правилом в пределах одной записи. Опция Объединить атрибуты в пределах таблицы позволяет объединить атрибуты сущностей, найденные в одном или разных документах в таблице данных.

Для того, чтобы указать область агрегирования, отметьте галочкой соответствующие опции под списком атрибутов:

ee post agg 5.rus

(3) Пример 3:

Используется то же правило, те же атрибуты и настройки агрегирования, что и в Примере 1.

Текст примера:

Albert Einstein was a German-born theoretical physicist. Einstein is best known to the general public for his mass–energy equivalence formula E = mc2, which has been dubbed "the world’s most famous equation". Einstein was born in the German Empire but moved to Switzerland in 1895.

Имена собственные Einstein и Albert Einstein встречаются в одном и том же документе, опция Объединить атрибуты в пределах документа включена, в результате чего Einstein и Albert Einstein будут объединены:

ee post agg 6.rus

Однако если Einstein и Albert Einstein встречаются в разных документах, объединение атрибутов не произойдет.

Текст 1:

Albert Einstein was a German-born theoretical physicist. Einstein is best known to the general public for his mass–energy equivalence formula E = mc2, which has been dubbed "the world’s most famous equation".

Текст 2:

Einstein was born in the German Empire but moved to Switzerland in 1895.

В этом случае Einstein и Albert Einstein из Текста 1 будут объединены, но Einstein из Текста 2 останется без изменений.

ee post agg 7.rus

Для того, чтобы объединить сущности из разных документов, отметьте галочкой опцию Объединить атрибуты в пределах таблицы.

Если включены обе эти опции, операция объединения выполняется в два этапа: сначала объединяются сущности в пределах одного документа, а затем – в пределах всей таблицы. Если обе опции отключены, объединение сущностей не выполняется.

По умолчанию постобработчик Aggregation учитывает только те атрибуты, которые добавлены в список. Даже при конфликте прочих атрибутов он агрегирует информацию только о добавленных пользователем атрибутах.

(4) Пример 4:

Правило 2 извлекает упоминания возбудителей инфекций и создает сущность с тремя атрибутами:

  1. Возбудитель

  2. Аббревиатура

  3. Очаг

Правило 2:

/* Пример XPDL-правила для извлечения упоминаний возбудителей инфекций */

rule: Правило 2
{
 query: {phrase(3,{"Methicillin-resistant Staphylococcus aureus"}:agent or {MRSA}:abbr,
		{optional(case(upper))}:abbr,
		{optional("peg site" or "left picc site")}:site)
	}:m

 result: Match = $m
	attribute: Возбудитель = $agent
	attribute: Аббревиатура = $abbr
	attribute: Очаг = $site
}

Текст 1:

Course complicated by Methicillin-resistant Staphylococcus aureus (MRSA) PEG site infection.

Текст 2:

Pt now has MRSA infection to left picc site which is being treated with abx.

Текст 3:

He has Methicillin-resistant Staphylococcus aureus infection.

Правило 2 без выполнения постобработки находит следующие атрибуты сущностей:

ee post agg 8.rus

Первый текст предоставляет нам значения для атрибутов Возбудитель и Аббревиатура, второй – только для атрибута Возбудитель, а третий – только для атрибута Аббревиатура. Очевидно, что для одного и того же возбудителя инфекции используется одинаковая аббревиатура, поэтому мы можем использовать информацию из первого текста для дополнения сущностей из двух других текстов. Несмотря на конфликт для атрибута Очаг, он не является релевантным, т.к. не влияет на имя возбудителя и его аббревиатуру. Следовательно, в список в разделе Настройки постобработчика мы добавим только атрибуты Возбудитель и Аббревиатура.

Настройки агрегирования примера выглядят следующим образом:

ee post agg 9.rus

Сущности после агрегирования:

ee post agg 10.rus

Постобработчик заполнил пустые поля Возбудитель и Аббревиатура без учета конфликтов в колонке Очаг.

Однако иногда необходимо выполнить агрегирование информации только при отсутствии конфликтов атрибутов.

(5) Пример 5:

Правило 3 извлекает упоминания людей и создает сущность с тремя атрибутами:

  1. Имя

  2. Фамилия

  3. Атрибут

Правило 3:

/* Пример правила XPDL, которое извлекает упоминания людей и атрибуты */

rule: Правило 3
{
 query: {phrase(3,{orn("USA president",wife)}:attr,
	   {optional(dictword(HumanNames, "Type=first name"))}:first,
	   {dictword(HumanNames, "Type=surname")}:last)
	}:m

result: Match = $m
	attribute: Имя = $first
	attribute: Фамилия = $last
	attribute: Атрибут = $attr
}

Текст примера:

The USA president Mr.Trump and his wife Melania Trump made an official visit.

Правило 3 без выполнения постобработки находит следующие атрибуты сущностей:

ee post agg 11.rus

Если следовать логике Правила 1, необходимо выполнить агрегирование информации об обнаруженных сущностях, например, дополнить атрибуты сущностей при совпадении имен. Таким образом, в список в разделе Настройки постобработчика мы добавим атрибуты Имя и Фамилия, а выполнение агрегирования будет возможно только для тех сущностей, которые не имеют конфликтов по указанным атрибутам.

Сущности после агрегирования:

ee post agg 12.rus

В данном случае USA president Trump и wife Melania Trump объединились в Melania Trump, USA president и Melania Trump, wife, поскольку имеют одинаковое значение атрибута Фамилия. Проблема заключается в том, что постобработчик Aggregation игнорирует атрибуты, не включенные в список. Во избежание подобных ошибок необходимо отметить галочкой опцию Объединять только при отсутствии конфликта атрибутов. В нашем случае при включении данной опции сущности не будут объединены по причине конфликта значений для колонки Атрибут.

Настройки агрегирования примера выглядят следующим образом:

ee post agg 13.rus

Сущности после агрегирования (с включенной опцией Объединять только при отсутствии конфликта атрибутов):

ee post agg 14.rus
1.1.2 Дополнительный поиск

Дополнительный поиск позволяет объединить разные формы одного и того же атрибута в документе. Таким образом можно объединить атрибуты, которые изначально не были обнаружены правилом.

(6) Пример 6:

Используется то же правило, те же атрибуты и настройки агрегирования, что и в Примере 1.

Для атрибута Имя включен режим Дополнительный поиск:

ee post agg add 1.rus

Текст примера:

Albert Einstein was a German-born theoretical physicist. Albert developed the theory of relativity, one of the two pillars of modern physics.

Сущности до агрегирования:

Имя

Фамилия

Профессия

Возраст

Frequency (Частота)

Albert

Einstein

German-born theoretical physicist

1

Сущности после агрегирования:

Имя

Фамилия

Профессия

Возраст

Frequency (Частота)

Albert

Einstein

German-born theoretical physicist

2

Если Дополнительный поиск выключен, результат узла будет следующим:

ee post agg add 2.rus

Если Дополнительный поиск включен, результат изменится:

ee post agg add 3.rus

Таким образом, опция Дополнительный поиск используется для поиска случаев употребления значения атрибута, которые не были найдены с помощью правила.

1.1.3 Настройки нормализации регистра

Таблица Настройки постобработчика включает раздел Нормализация регистра, с помощью которого пользователи могут может выбрать стратегию нормализации регистра для каждого атрибута.

Доступные стратегии можно разделить на два вида – стандартные и специальные. Стандартные стратегии нормализации регистра имеют общий характер, в то время как специальные стратегии нормализации регистра предназначены для сущностей конкретного типа. Например, если атрибутом является имя компании, рекомендуется выбрать стратегию Companies в выпадающем списке. Нормализацию регистра для атрибута можно отключить, сохранив его исходную форму.

ee post agg case 1.rus

Ниже приводится описание стратегий нормализации регистра. Обратите внимание, что специальные стратегии нормализации регистра разработаны с учетом норм и особенностей конкретного языка. Приведенные примеры актуальны только для английского языка.

Стратегии нормализации регистра:

Стандартные стратегии нормализации регистра:

  • Начальные заглавные буквы – преобразует начальный символ значения атрибута в верхний регистр, например: canada → Canada;

  • Строчные буквы – преобразует значения атрибута в нижний регистр, например: President → president;

  • Заглавные буквы – преобразует значения атрибута в верхний регистр, например: u.s. → U.S.

Специальные стратегии нормализации регистра:

  • Заголовок – нормализация регистра, характерная для заголовков СМИ, например: Parliament backs a new constitution → Parliament Backs a New Constitution.

  • Обычный текст – нормализация регистра, характерная для обычного текста, например: Parliament backs a new constitution → Parliament backs a new Constitution.

  • Companies – нормализация регистра, характерная для названий компаний, например: Microsoft corp. → Microsoft Corp.

  • Organizations – нормализация регистра, характерная для названий организаций, например: AMERICAN ACADEMY OF NEUROLOGY → American Academy of Neurology.

  • People – нормализация регистра, характерная для имен людей, например: george bush → George Bush

  • GeoAdministrative – нормализация регистра, характерная для названий географических объектов и административных единиц, например: Olmsted county → Olmsted County.

  • Landforms – нормализация регистра, характерная для названий элементов ландшафта, например: Los Angeles harbor → Los Angeles Harbor.

  • Facilities – нормализация регистра, характерная для названий локаций и мест в городе, например: John F. Kennedy international airport → John F. Kennedy International Airport.

  • Technologies – нормализация регистра, характерная для обозначения технологий, патентов и технологических продуктов, например: bluetooth → Bluetooth.

  • Sentence– нормализация регистра как в предложениях: преобразует начальный символ первого слова в верхний регистр, например: canadian specialist → Canadian specialist.

Отключение нормализации регистра:

  • Без нормализации – сохраняется исходное форматирование.

1.1.4 Настройки нормализации формы

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

ee post agg form 1.rus

Для каждого типа атрибутов сущностей применяется своя стратегия нормализации формы. Так, например, название организации "Children’s of Alabama" не должно быть преобразовано в "Children of Alabama". Именно поэтому настройки нормализации формы предлагают ряд специальных стратегий в зависимости от типа сущностей. Прежде всего, все стратегии нормализации формы зависят от словарных статей, однако существуют и некоторые общие принципы. При необходимости можно полностью отключить нормализацию формы.

Ниже приводится описание стратегий нормализации формы. Обратите внимание, что настройки нормализации формы разработаны с учетом норм и особенностей конкретного языка. Приведенные ниже примеры и параметры актуальны только для английского языка.

Стратегии нормализации формы:

Люди

  • FirstName – сохраняется начальная форма существительного, например: John’s → John;

  • MiddleName – сохраняется начальная форма существительного, например: Anna Maria’s → Anna Maria;

  • LastName – сохраняется начальная форма существительного, например: Smiths → Smith;

  • PeopleAttribute – сохраняется исходная форма слова, например: Company’s CEO → Company’s CEO.

Компании

  • CompanyName:

    • Существительное: сохраняются формы множественного числа и притяжательного падежа

    • Прилагательное: сохраняется степень сравнения

    • Глагол: сохраняется форма глагола, например: John Wiley & Sons → John Wiley & Sons

  • CompanyType:

    • Существительное: сохраняются формы множественного числа и притяжательного падежа

    • Глагол: сохраняется форма глагола, например: Limited → Limited

Географические объекты и административные единицы

  • GeoAdministrative – сохраняется начальная форма существительного, например: Wisconsin’s → Wisconsin;

  • Landforms – сохраняется начальная форма существительного, например: Great Salt Lake’s → Great Salt Lake;

  • CountryName – притяжательный падеж существительных нормализуется, форма множественного числа сохраняется, например: Germany’s → Germany, United States → United States;

  • CityName – притяжательный падеж существительных нормализуется, форма множественного числа сохраняется, например: Bristol’s → Bristol, Athens → Athens.

Объекты

  • FacilityName – форма множественного числа существительных нормализуется, притяжательный падеж сохраняется, например: St. Peter’s Square → St. Peter’s Square;

  • FacilityType – сохраняется начальная форма существительного, например: streets → street.

Организации

  • OrganizationName:

    • Существительное: сохраняются формы множественного числа и притяжательного падежа

    • Глагол: сохраняется форма глагола, например: Children’s Hospital of Philadelphia → Children’s Hospital of Philadelphia.

  • OrganizationType: сохраняется начальная форма существительного, например: hotels → hotel.

Отключение нормализации и нормализация формы по умолчанию

  • Без нормализации – сохраняется исходная форма слова;

  • По умолчанию – сохраняется начальная форма.

1.1.5 Настройки режима объединения

Поле Режим объединения используется для указания условия сравнения атрибутов. Нажмите на текущее значение для отображения списка доступных опций:

ee merging.rus
  • Точное соответствие – объединение происходит в случае, если имеется точное соответствие значений атрибутов (например, "President" и "President");

  • Любая подстрока – объединение происходит в случае, если одно значение атрибута является подстрокой другого атрибута (например, "President" и "the President of the USA");

  • Подстрока слева – объединение происходит в случае, если одно значение атрибута является подстрокой другого атрибута с левой стороны (например, "President" и "President of the USA");

  • Подстрока справа – объединение происходит в случае, если одно значение атрибута является подстрокой другого атрибута с правой стороны (например, "President" и "the President");

  • Конкатенация строк – при объединении выполняется конкатенация только совпадающих значений атрибутов (например, "Trump, politician" + "Trump, president" → "Trump, politician; president");

  • Точная конкатенация строк – при объединении выполняется конкатенация всех значений атрибутов (например, "Company; Car manufacturer" → "Company, car manufacturer").

Обратите внимание, что мы сняли флажок со колонки Match в меню Выбор колонок.

(7) Пример 7

Правило 4 извлекает упоминания людей и создает сущность с тремя атрибутами:

  1. Имя

  2. Фамилия

  3. Профессия

Правило 4:

/* Пример XPDL-правила, которое извлекает имена людей и атрибуты */

rule: Правило 4
{
 query: {phrase(0, {optional(the)}:prof,{orn(President, Politician)}:prof, {optional("of the USA")}:prof,
		{optional("Donald")}:first, {"Trump"}:last)
 	 }:m

 result: Match = $m
	attribute: Имя = $first
	attribute: Фамилия = $last
   	attribute: Профессия = $prof
}

Настройки агрегирования примера выглядят следующим образом:

ee post agg merge settings.rus

Атрибуты Имя, Фамилия и Профессия добавлены в таблицу Настройки постобработчика. Для атрибутов Имя и Фамилия выбран режим режим Точное соответствие, а для атрибута ПрофессияЛюбая подстрока. Следовательно, если одно значение атрибута Профессия является подстрокой другого значения, а между атрибутами Имя и Фамилия нет конфликта, эти сущности будут объединены.

Текст примера:

President Donald Trump.

President of the USA Donald Trump.

The President of the USA Donald Trump.

President Trump.

Politician Donald Trump.

The Politician Donald Trump.

Сущности до агрегирования:

ee post agg merge no.rus

Сущности после агрегирования в режиме Точное соответствие для атрибута Профессия:

ee post agg merge exact.rus

Сущности после агрегирования в режиме Любая подстрока для атрибута Профессия:

ee post agg merge any.rus

Сущности после агрегирования в режиме Подстрока слева для атрибута Профессия:

ee post agg merge left.rus

Сущности после агрегирования в режиме Подстрока справа для атрибута Профессия:

ee post agg merge right.rus

Сущности после агрегирования в режиме Конкатенация строк для атрибута Профессия:

ee post agg merge string.rus

Обратите внимание, что необходимо установить разделитель в соответствующем поле настроек постобработчика: в примерах выше и ниже мы используем точку с запятой и пробел в качестве разделителя.

ee post agg merge delimiter.rus

Сущности после агрегирования в режиме Точная конкатенация строк для атрибута Профессия:

ee post agg merge exact string.rus
2. Normalization (Нормализация)

Постобработчик Normalization (Нормализация) позволяет изменять форматирование атрибутов сущностей в отчете узла. Данный постобработчик характеризуется следующими параметрами: Атрибут, Настройки нормализации и Описание настроек.

ee norm common.rus

В поле Атрибут содержатся имена атрибутов сущностей, которые были обнаружены правилом. Необходимое значение можно выбрать в выпадающем списке.

В поле Настройки нормализации укажите режим нормализации: Нормализация регистра (см. здесь), Нормализация формы (см. в данном разделе), Усечение (см. раздел 2.1.1), Замена строк (см. раздел 2.1.2), Приведение в цифровой формат (см. раздел 2.1.3), Объединение синонимов (см. раздел 2.1.4).

Настройки Нормализации регистра и Нормализации формы могут быть установлены либо с помощью постобработчика Агрегирования, либо с помощью постобработчика Нормализация.

Поле Описание настроек заполняется автоматически в зависимости от выбранных опций нормализации и используется в справочных целях.

2.1 Настройки нормализации
2.1.1 Настройки усечения

Усечение позволяет удалять символы, принадлежащие к конкретным категориям, из результатов работы правила. Всего доступно пять категорий: Пробел (пробелы между токенами), Пунктуация (знаки пунктуации), Цифра (числовые символы), Буква (алфавитные символы) и StopList (слова и фразы, представленные в соответствующем словаре). Усечение применяется только к атрибутам строкового типа. Часть строки, подлежащая усечению, определяется с помощью привязки. Доступны следующие типы привязки:

  1. Слева – удаляет символы указанной категории в начале строки, например: 1107 Broad St → Broad St;

  2. Справа – удаляет символы указанной категории в конце строки, например: Broad St 028648360 → Broad St;

  3. Слева и справа – удаляет символы указанной категории в начале и в конце строки, например: 1107 Broad St 028648360 → Broad St;

  4. Строка целиком – удаляет символы указанной категории в рамках целой строки, например: 1501 Main Street, Suite 17 Tewksbury, MA 01876-2061 → Main Street, Suite Tewksbury, MA -.

Пример результатов усечения цифровых символов с использованием опции усечения Слева представлен на скриншоте ниже:

ee post norm left.rus
2.1.2 Настройки замены строк

Замена строк позволяет использовать замены для выбранного атрибута. Данная опция также поддерживает использование регулярных выражений.

ee post norm strings settings.rus

Пример замены строки представлен на скриншоте ниже:

ee post norm strings example.rus
2.1.3 Настройки приведения в цифровой формат

Приведение в цифровой формат преобразует числовые значения в цифровой формат, например: four million → 4000000:

ee post norm digits.rus
2.1.4 Настройки объединения синонимов

Объединение синонимов позволяет объединить атрибуты сущностей на основе их семантического сходства, позволяя обобщить результаты для целого класса объектов. Атрибуты могут быть объединены при условии, что они принадлежат к одному классу в словаре синонимов.

ee post norm syn settings.rus

Для корректной работы режима Объединение синонимов убедитесь в том, что узел настроен на использование словаря синонимов (в окне настроек узла выберите вкладку Словари).

ee post norm syn dicts.rus

(8) Пример 8

В словаре синонимов слова car и motorcar зарегистрированы как синонимы.

Текст примера:

He reported to the insurance company that his car was damaged. The damage to the motorcar is to be estimated by a team of experts.

До объединения синонимов:

Объект

Frequency (Частота)

Car

1

Motorcar

1

После объединения синонимов:

Объект

Frequency (Частота)

Car

2

Например, правило может найти следующие атрибуты:

ee post norm syn merged.rus

Если Объединение синонимов включено, результат будет другим:

ee post norm syn example.rus
3. StopList (Список стоп-слов)

Постобработчик StopList (Список стоп-слов) позволяет отфильтровать ненужные слова и фразы, например, слова, не имеющие самостоятельного лексического значения (артикли, предлоги и др.) или любой другой "шум", который может не относится к атрибуту сущности.

ee post stop settings.rus

Окно настройки постобработчика StopList включает два поля: Атрибут и Класс стоп-слов. В поле Атрибут указываются имена атрибутов сущностей, найденных правилом. Необходимое значение можно выбрать в выпадающем списке. В поле Класс стоп-слов укажите имя класса слов из словаря StopLists.

ee post stop example.rus

Для одного атрибута можно добавить несколько классов слов, отделив их друг от друга запятой. Если найденный атрибут относится к указанному классу слов, сущность будет исключена из отчета узла.

ee post stop another class.rus

Для корректной работы постобработчика StopList убедитесь в том, что узел настроен на использование словаря StopLists (в окне настроек узла выберите вкладку Словари).

Списки стоп-слов – это удобный инструмент, позволяющий исключать лишние слова из результатов. При работе с таблицей данных, которая содержит очевидные ложноположительные результаты, наиболее эффективной мерой будет добавление новых позиций в список стоп-слов вместо редактирования исходного правила. Например, при работе с текстами медицинской тематики названия бактерий, болезней и микроорганизмов часто извлекаются как имена людей, поэтому целесообразно будет создать отдельный класс в словаре StopLists с наиболее часто встречающимися названиями.

(9) Пример 9:

Правило находит сущность с двумя атрибутами:

  1. FirstName

  2. LastName

Класс слов Medical в словаре StopLists включает следующие статьи:

  • Escherichia;

  • Mycobacterium;

  • Dysrhythmia.

Текст примера:

C4b-связывающий белок усиливает реакцию организма на Escherichia coli (возбудитель кишечной палочки).

Без использования постобработчика StopList:

ee post stop text.rus

Извлеченные сущности:

FirstName

LastName

Escherichia

При включении постобработчика StopList нежелательные слова исключаются из результатов:

ee post stop text empty.rus

Извлеченные сущности:

FirstName

LastName

-

-

Пользователи могут добавлять новые классы слов в словарь StopLists через Менеджер словарей, либо напрямую через настройки постобработчика StopList. В последнем случае необходимо указать имя класса слов в поле Класс стоп-слов, а затем вручную добавить в него любые слова прямо из окна просмотра результатов узла, как показано ниже.

ee post stop word add.rus

В отдельном диалоговом окне укажите часть речи и нажмите OK.

ee post stop word dict.rus

После повторного выполнения узла словарь StopLists будет дополнен соответствующими статьями.

Постобработчик Semantic Links (Семантические связи) позволяет находить слова (синсеты), связанные с аргументами определенным типом отношений. Информация об отношениях между объектами содержится в словарях группы Semantics. В качестве примера мы будем использовать словарь Default.

Для получения корректных результатов:

  1. Словарь Semantics должен включать необходимый аргумент и иметь выбранный тип отношений.

    ee post sl dict example.rus
  2. Убедитесь, что узел настроен на использование соответствующего словаря (в окне настроек узла выберите вкладку Словари).

    ee post sl dicts.rus

В качестве примера мы выполним поиск отношений для компании "Canon Inc.". Для лучшего понимания в окне настроек узла Извлечение сущностей на вкладке Сущности включите только одну стандартную сущность Companies.

ee post sl standard.rus

Наша цель – представить в отчете узла информацию о том, для каких устройств компания является брендом.

"Canon Inc." – один из брендов фотографического оборудования. В словаре Default группы Semantics "Canon Inc." имеет отношение is brand и характеризуется тремя синсетами: camera (камера), flash (вспышка) и printer (принтер).

ee post sl example.rus

Нажмите дважды на имя сущности и перейдите на вкладку Постобработка для добавления и настройки постобработчика Semantic Links.

ee post props.rus

Процедура настройки постобработчика выполняется поэтапно, сверху вниз.

  • Атрибут – имя исходной колонки, где содержатся аргументы. В нашем случае мы выбираем колонку с сущностью "Canon Inc." (Name).

  • Разделитель источников – если в строке колонки представлено несколько сущностей, укажите символ, который отделяет одну сущность от другой (запятая, точка с запятой и т.д.). Поскольку мы работаем только с одной сущностью, выберите Нет.

  • Описание настроек – содержит сведения о текущих настройках постобработчика.

В разделе Настройки действия выберите один или несколько словарей, в которых будет осуществляться поиск синсетов. Как уже было обозначено ранее, мы используем только словарь Default группы Semantics.

ee post sl action.rus

После выбора необходимых словарей перейдите к заполнению таблицы Путь отношения.

ee post sl relation.rus

Для этого нажмите на кнопку с изображением плюса, добавьте новый элемент в таблицу и щелкните на поле "Отношение":

ee post sl mapping.rus
  • Уровень – позволяет исключить из отчета синсеты, находящиеся на расстоянии менее N от аргумента. По умолчанию используется значение "0", при котором также возвращается сам исходный аргумент. При выборе значения "1" возвращаются все связанные с аргументом синсеты, кроме самого аргумента. В нашем примере мы используем интервал по умолчанию.

  • Отношение – отметьте галочкой типы отношений, по которым будет производиться поиск в словаре Semantics. нашем примере мы используем обратное отношение is brand.

  • Возвращать синсеты – используется для определения синсетов, которые должны быть получены из выбранного словаря:

    • Все – возвращает синсеты всех уровней.

    • Последнее значение – возвращает только синсеты самого нижнего уровня при поиске нижележащих понятий (гипонимы, меронимы), либо только синсеты самого верхнего уровня при поиске вышележащих понятий (гиперонимы, холонимы).

При необходимости вы также можете настроить поле Фильтр в таблице Путь отношения. Среди доступных режимов фильтрации:

  • EndSynset – только к конечному синсету (выбран по умолчанию);

  • StartSynset – только к начальному синсету;

  • StartAndEndSynsets – только к начальному и конечному синсету;

  • AllSynsets – ко всем синсетам.

При работе с таблицей Путь отношения обратите внимание на то, что в колонке Шаг на Шаге 1 используется колонка, указанная для строки Действие в таблице выше. Для последующих шагов (Шаг 2, Шаг 3 и т.д) в качестве исходных будут выступать данные, полученные в результате выполнения предыдущего шага.

В таблице Отображение результатов:

ee post sl attribute.rus
  • Атрибут синсета – атрибут выходного синсета, т.е. колонка в соответствующем словаре, данные из которой будут добавлены в выходную таблицу. Как вы можете видеть на скриншоте выше, мы используем атрибут Synonyms.

  • Колонка таблицы – колонка выходной таблицы данных, в которой будут отображены данные атрибута синсета. Пользователь может выбрать колонку из списка или ввести имя новой колонки, которая будет добавлена в выходную таблицу. В нашем случае мы добавим новую колонку (Бренд) в выходную таблицу данных.

После того, как узел будет выполнен, в колонке Бренд для сущности "Canon Inc." отобразятся следующие синсеты: camera;flash;printer. Для данных синсетов "Canon Inc." является брендом. У остальных компаний в словаре Semantics не указан искомый вид отношений, поэтому их значения в этой колонке пустые.

ee post sl result.rus
5. Dictword (Дополнение из словарей)

Постобработчик Dictword (Дополнение из словарей) позволяет дополнить сущности аргументами, которые содержатся в выбранных словарях.

ee post dictword settings.rus

Начните с добавления новой строки в таблицу Настройки постобработчика. Поле Описание можно оставить пустым – оно не является обязательным для заполнения. Содержимое поля Резюме обновляется автоматически по мере изменения настроек.

Щелкните по полю Словарь в разделе Настройки действия и выберите словарь, по которому будет выполняться поиск.

ee post dictword dicts.rus

Обратите внимание, что в списке будут представлены только те словари, которые были включены на вкладке Словари в окне настроек узла.

После выбора необходимых словарей, перейдите к таблице Фильтры. Фильтры используются для определения колонки выбранного словаря, с которой необходимо сопоставить найденную сущность.

Добавьте новую строку в таблицу Фильтры:

  • Колонка словаря – укажите колонку словаря, которая будет использована в качестве фильтра.

  • Операция – выберите отношение между колонкой словаря и значением.

  • Значение – укажите выражение фильтра, которое будет сопоставлено со значением в словаре. В качестве выражения может выступать значение атрибута, константа, домен или константа регулярного выражения.

  • Настройки:

    • Применить при наличии значения – при включении данной опции операция сопоставления значений будет проигнорирована в случае, если какой-либо из аргументов имеет пустое значение.

    • Нечеткое соответствие – при включении данной опции применяется алгоритм нечеткого соответствия. Использование алгоритма нечеткого соответствия позволяет находить соответствия, которые отдаленно напоминают искомые значения, но пригодны для дальнейшего анализа.

    • Порог достоверности – показатель того, насколько алгоритм нечеткого соответствия уверен в правильности предлагаемого соответствия. Измеряется по шкале от 0 до 100, которая становится активной при включении опции Нечеткое соответствие.

В разделе Отображение результатов:

  • Колонка словаря – укажите колонку соответствующего словаря.

  • Колонка таблицы – укажите колонку выходной таблицы данных, где будут сохранены результаты. Пользователь может выбрать текущую колонку из списка, либо указать имя новой колонки, которая будет добавлена в отчет.

  • Настройки – содержит дополнительные настройки отчета.

Для доступа к дополнительным опциям нажмите на поле Настройки:

ee post dictword actions.rus

Несколько значений – определяет поведение постобработчика при обнаружении более одного совпадения.

Предположим, что в словаре имеются следующие значения: Model, Type, Developer, Canon Pixma, Printer, Canon, HP Laserjet, Printer, HP.

В результате извлечения мы получили значение Printer, но нам также необходимо получить значение Developer:

MyType

Developer

Printer

?

Мы обращаемся к словарю для поиска значений Developers во всех статьях, где встречается тип Printer, и как следствие получим несколько результатов – HP and Canon.

Выпадающий список Несколько значений содержит следующие позиции:

1) Отменить выбор – если найдено несколько значений, ни одно из них не будет выбрано:

MyType

Developer

Printer

2) Выбрать первые – если найдено несколько значений, будет выбрано только первое соответствие:

MyType

Developer

Printer

Canon

3) Выбрать все – если найдено несколько значений, будут выбраны все соответствия:

MyType

Developer

Printer

Canon HP

4) Выбрать по умолчанию – выбрать одно или несколько значений по умолчанию. При выборе данного режима станут доступны опции раздела По умолчанию:

  • Если ничего не найдено – укажите значение по умолчанию, которое будет отображено в результатах узла в случае, если не было найдено соответствий.

  • Несколько значений – укажите несколько значений по умолчанию, которые будут отображены в результатах узла в случае, если не было найдено соответствий.

5) Применить только к пустым – настройки применяются к пустому значению в результатах извлечения:

X

X

Y

X

Новое значение из постобработчика Dictword

Если данная опция отключена, настройки применяются ко всем результатам независимо от того, являются ли они пустыми или содержат значение:

X

Новое значение из постобработчика Dictword

Y

Новое значение из постобработчика Dictword

Новое значение из постобработчика Dictword

6) Добавить старое значение к результату – определяет, должно ли старое значение (которое уже имеется в результатах) появляться в результатах узла:

X

X, Новое значение из постобработчика Dictword

Y

Y, Новое значение из постобработчика Dictword

Новое значение из постобработчика Dictword

6. Synonyms (Синонимы)

Постобработчик Synonyms (Синонимы) позволяет объединить сущности, между атрибутами которых имеется семантическое подобие. Атрибуты объединяются только в том случае, если они входят в одну группу слов в словаре синонимов.

ee post syn settings.rus

Рассмотрим следующий пример:

Text 1:

Российский Президент посетил Узбекистан на этой неделе. Глава страны, Владимир Путин, встретился со своим узбекским коллегой, Шавкатом Мирзиёевым.

Text 2:

С Днем защитника Отечества россиян поздравил президент Владимир Путин.

Сущности до агрегирования:

FirstName

LastName

Attribute

Frequency

Шавкат

Мирзиёев

коллега

1

Владимир

Путин

Глава страны

1

Владимир

Путин

Президент

2

Без какой-либо постобработки мы увидим следующие атрибуты сущности:

ee post syn before merge.rus

Обратите внимание, что мы добавили слова "президент" и "глава страны" в Словарь синонимов заранее.

ee post syn dicts.rus

Также необходимо подключить словарь в настройках узла.

ee post syn set dicts.rus

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

ee post syn case.rus

Сущности после агрегирования:

FirstName

LastName

Attribute

Frequency

Шавкат

Мирзиёев

коллега

1

Владимир

Путин

Президент

2

Если постобработчик включен, то атрибуты сущностей объединяются:

ee post syn after merge.rus
7. Tables (Таблицы)

Постобработчик Tables (Таблицы) распределяет сущности по ячейкам выходной таблицы, предоставляет дополнительную информацию о них (имя строки, имя столбца, имя таблицы и т.д.), а также способен распознавать использованные в таблице единицы измерения.

ee post tables settings.rus

Данный постобработчик используется при работе с текстовыми файлами, которые содержат таблицы. Поддерживаются следующие форматы файлов:

  • pdf;

  • docx;

  • doc;

  • pptx;

  • ppt;

  • html;

  • odt;

  • ppt;

  • rtf.

Обратите внимание, что в данный список не входят CSV-файлы.

Для импорта соответствующих документов в PolyAnalyst используйте следующие узлы: Файлы, Интернет, FTP, RSS или SharePoint.

Порядок работы с постобработчиком Tables:

  1. Выполните импорт одного или нескольких файлов с таблицами, используя один из вышеупомянутых узлов.

  2. (Необязательно) Добавьте дочерний узел Индекс и выполните его для ознакомления с результатами.

  3. Добавьте узел Извлечение сущностей и создайте новую пользовательскую сущность с соответствующим правилом. Например:

    rule: Извлечение таблиц
    {
        query: {table(number:=1)}:m
    
        result: TablePart = $m
    }
  4. Переключитесь на вкладку Постобработка для добавления и настройки постобработчика Tables:

    ee post tables settings example.rus
    • В поле Атрибут правила укажите имя выходной колонки. Вы можете выбрать значение в выпадающем списке, либо ввести новое имя.

    • Для разграничения сущностей, которые были извлечены во вложенных таблицах, и тех, что относятся к основной таблице, отметьте галочкой опцию Обработать вложенные таблицы.

    • Если одно значение распространяется сразу на несколько ячеек, отметьте галочкой опцию Дублировать ячейки, занимающие несколько строк для отображения соответствующего значения в каждой строке/колонке.

    • Во избежание конфликтов между сущностями, отметьте галочкой опцию Распределить положение сущностей по ячейкам. При этом позиция каждой сущности будет соответствовать конкретной ячейке.

    • Для того, чтобы узел выполнил поиск единиц измерения в именах колонок/строк, отметьте галочкой опцию Обнаружить указанные элементы. Обнаруженные единицы измерения будут добавлены в колонку CellUnit.

    • Для приведения значений в соответствие с обнаруженными единицами измерения, отметьте галочкой опцию Преобразовать значения в указанные единицы.

    • Для сохранения исходного форматирования (включая имена колонок/строк и специальные символы), отметьте галочкой опцию Оригинальное форматирование текста.

  5. Выполните узел Извлечение сущностей. В отчете узла сущности будут распределены по таблице:

ee post tables example.rus
8. Derive (Производные колонки)

Постобработчик Derive (Производные колонки) позволяет добавить дополнительную колонку к выводимым данным так же, как это делается с использованием узла Производные колонки.

Откройте параметры сущности и добавьте постобработчик Derive

ee post derive settings.rus

Нажмите на кнопку с изображением плюса, чтобы добавить колонку. Затем введите SRL-правило.

ee post derive rule.rus

Выполните узел и откройте окно просмотра результатов узла. В выходной набор данных будет добавлена новая колонка.

ee post derive result.rus
8. Special (Специальный постобработчик)

Постобработчик Special (Специальный постобработчик) позволяет агрегировать информацию о сущностях выбранного класса, находить сущности, пропущенные правилом, а также изменять форматирование выходных данных. Данный постобработчик можно использовать в том случае, когда результаты работы какого-либо правила не являются удовлетворительными.

Начните с добавления правила для вашей сущности – для получения дополнительной информации см. Редактирование XPDL-правил для пользовательских сущностей. В качестве примера мы изменим настройки стандартной сущности Companies. Отключив все предварительно настроенные постобработчики, мы получим следующие результаты:

ee post special before.rus

Как можно заметить, сущности были успешно извлечены, но большая часть колонок атрибутов содержит пустые значения. Для повышения качестве результатов включим постобработчик Companies:

ee post special settings.rus

Все постобработчики группы Special имеют таблицу соответствий:

  • Атрибут постобработчика – содержит тип атрибута сущности, который определяется постобработчиком.

  • Атрибут правила – содержит имя выходной колонки. Вы можете выбрать значение в выпадающем списке, либо ввести новое имя.

Под таблицей соответствий размещаются дополнительные опции, набор которых зависит от выбранного постобработчика.

С включенным постобработчиком Companies отчет узла будет выглядеть следующим образом:

ee post special after.rus