Авт. обработка текстов на естественном языке и комп. лингвистика. Большакова (2014) (1185448), страница 47
Текст из файла (страница 47)
Для начала, о непосредственном взаимодействии.Компоненты, взаимодействующие независимо друг с другом могут совместноработать как минимум одним из нескольких способов:Подход, основанный на потоках данных (data-flow), в котором компонентыорганизуют некоторый граф и обмениваются данными друг с другом посоединениям, являющимся ребрами этого графа. Примером использованиятакого подхода является архитектура Catalyst [2]. Одним из преимуществподобного подхода является возможность осуществлять обработку различнымикомпонентами одновременно, возможно в распределенной среде.Другим вариантом организации компонентов является схема “каналов ифильтров”, в которой компоненты передают данные между собой151последовательно. Примером реализации такой схемы является архитектура LTNSL.
В этом случае одновременность обработки ограничена локальностьюанализа конкретных компонентов. Например, tokenizer и стеммер обабатываютданные локально и могут успешно работать параллельно, однако компоненты,требующие анализа более протяженных сущностей могут блокировать работупоследующих компонентов.Также, знание компонентов друг о друге вовсе не является обязательным приэтом подходе. Использование некоторого стандартизированного представленияданных в системе позволяет компонентам взаимодействовать без наличияинформации об устройстве системы.
Такая информация необходима только на этапесборки системы, осуществляемой разработчиком.Подходы, основанные на взаимодействии через центрального координаторатакже имеют несколько разновидностей, но они имеют больше специфики с точкизрения реализации, поэтому здесь не имеет смысла их рассматривать.При использовании общего хранилища данных значительным аспектом являетсяпорядок доступа компонентов к данным. В частности, в рассматриваемыхприложениях наиболее распространены две модели:Линейная схема активации, в которой компоненты работают с даннымипоследовательно, реализуя различные этапы обработки. При этомпоследовательность обработки задается на этапе сборки системы.
Подобныйподход используется в системе GATE. С точки зрения одновременностиобработки подход эквивалентен схеме “каналы и фильтры”.Другая разновидность схема представлена в системе Ellogon, где порядокактивации компонентов определяется на основе пред- и постусловий. Эта схемаявляется более гибкой и некоторые варианты ее реализации позволяютпостроить обработку, аналогичную dataflow подходу.
Кроме того, заданиепредусловий позволяет организовать автоматическое формирование порядкаобработки.Обе модели данных значительно ограничены в возможности параллельнойработы компонентов, однако при некоторых дополнительных ограничениях,накладываемых на компоненты (например, требование последовательной выдачиобработанных данных) могут достигать уровня, аналогичного подходам группы«каждый-с-каждым».§ 4.2.Процессы обработки текстаФиксированный процессОдин из базовых подходов к обработке текстов в ЕЯ-системах состоит впоследовательном применении к тексту нескольких фиксированных этапов обработки[19].
Простейшим примером такого подхода применительно к системе переводяявляется следующая цепочка этапов:Графематический анализ;Морфологический анализ;Синтаксический анализ;Преобразование;Генерация текста.Такой подход не является очень гибким - достаточно часто необходимо взависимости от тех или иных условий использовать различные этапы обработки.152Динамический процессБолее гибким вариантом является возможность использования в процессеобработки различных этапов в зависимости от выполнения каких-то условий. Такойподход называется динамическим процессом [19] и часто реализуется с помощьюспециального компонента, инкапсулирующего знания о необходимом порядкевыполнения этапов и условиях, влияющего на него.В начале обработки текст передается этому компоненту, который выбираетпервый этап обработки и передает текст на него.
По окончании этапа текствозвращается центральному компоненту, который выбирает следующий этап иливозвращает его в качестве результата.Вложенные процессыЧасто полный текст не нужен для выполнения этапа обработки (например,синтаксический анализ может производится в рамках одного предложения). В такихслучаях используется вложенный процесс обработки текста [19].Во вложенном процессе один или несколько из этапов обработки могутосуществлять разбиение текста (или его части) на более мелкие участки с тем, чтобыприменить некоторый новый процесс к каждому из них. Например, разбить текст напредложения с тем, чтобы произвести синтаксический анализ и последующийперевод каждого предложения по отдельности.При этом каждый подпроцесс может включать другие вложенные процессы(например, разбиение предложения на слова и их обработка).Итерационные процессыДругим интересным расширением процесса обработки является итеративноеприменение некоторой его части [17].
Например, если есть два компонентасинтаксического анализа, первый из которых осуществляет поверхностный анализ, авторой - глубокий, используя некоторый анализ в качестве первого приближения, томожно используя поверхностный анализ в качестве первого приближения итеративноприменять компонент глубокого синтаксического анализа к результату предыдущейитерации (или же к взвешенной сумме предыдущей и первой итерации).В некоторых случаях использование такого подхода позволяет увеличитьточность производимого анализа.153Глава 5.Системы обработки ЕЯ-текстовНиже рассмотрены некоторые системы обработки ЕЯ-текстов в рамкахнаправлений, в которых они развивались.§ 5.1.Системы на базе разметкиОдна из крупнейших ветвей систем обработки ЕЯ-текстов основана напредставлении лингвистической информации в форме разметки в одном изстандартных форматов, например SGML и XML.
При этом, различные компонентысистемы обычно обмениваются размеченными документами в текстовой форме.LT-NSLАрхитектура LT-NSL [21] была разработан в 1996 году как система дляобработки больших корпусов текста, возможно содержащих сложнуюлингвистическую информацию.Для представления лингвистической информации в системе LT-NSLиспользуется разметка в документе на языке SGML. Такое решение мотивированотем, что:SGML – четко определенный язык, позволяющий задавать структурнуюинформацию в тексте;Доступ приложения к тексту в SGML может быть осуществлен с выборомнеобходимого уровня абстракции.
В частности, приложение может простоигнорировать узлы, не затрагиваемые конкретным видом анализа;SGML способствует формальному описанию используемой нотации ипредоставляет утилиты для проверки соответствия документов этомуформальному описанию.В процессе разработки системы авторы столкнулись с тем, что использованиеполного SGML как внутреннего представления данных неэффективно, посколькутребует больших затрат на его анализ и проверку корректности. Для решения этойпроблемы было использовано решение в котором документ сначала проверяется накорректность и приводится к специальной упрощенной форме. При дальнейшейобработке предполагается, что документ находится в этой форме и заведомокорректен, что позволяет значительно упростить его обработку.
Для разборадокументов в упрощенной форме реализован специальный программный интерфейс,позволяющий осуществлять это более эффективно чем обычные парсеры.Использование разметки в тексте для представления лингвистическойинформации приводит к проблеме перекрывающихся элементов разметки.
В LT-NSLэта проблема решается путем использования ссылок на разметку, находящуюся внедокумента.Одной из важных особенностей архитектуры является то, что текст вместе слингвистической информацией рассматривается как поток данных, обрабатываемый сиспользование компонентов, соединяемых через каналы (pipe) UNIX. Каждыйкомпонент выполняет свою специфическую задачу и работает как фильтр, т.е.154принимает на вход поток данных и выдает модифицированный поток на выходе.Такой подход позволяет не хранить документ в памяти полностью, что важно приобработке больших корпусов текстов.В процессе обработки текста используется специальный язык запросов длявыделения конструкций текста, аналогичный современному XPath, позволяющийизвлекать элементы по описанию пути к ним от корня документа и задаватьдополнительные требования, такие как необходимость наличия подэлементов илитекста, удовлетворяющего регулярному выражению.WraetlicДругой системой, использующей разметку для представления лингвистическойинформации является Wraetlic NLP suite [1], разрабатываемая в 2000-2006 годах.Использование разметки мотивировано возможностью легко объединять компонентыв систему используя стандартные средства операционной системы, такие как каналы.Лингвистическая разметка представляется в форме XML, при этом проблемапредставления пересекающейся разметки решена путем использования внешнихXML-узлы и ссылок в документе.
Для обработки такой разметки реализованспециальный модуль, позволяющий извлекать участки документа по ссылкам.Преимуществом использования XML является возможность простого созданияинструментов для виузализации результатов в виде XSLT-преобразований,генерирующих данные для браузера.Для увеличения эффективности, модули могут быть объединены в один процесси использовать программный интерфейс на Java для доступа к обрабатываемымданным, что исключает накладные расходы, связанные с генерацией и разборомXML.Система имеет модульную архитектуру, предоставляя разработчикувозможность расширять его новой функциональностью.
Большинство модулейреализовано на Java, но некоторые написаны на C из соображенийпроизводительности или же использования платформо-зависимых библиотек.Система содержит модули для графематического и морфологического анализа,извлеченияименованныхсущностей,классификациииповерхностногосинтаксического анализа.§ 5.2.Системы на базе аннотацийЗначительное влияние на ЕЯ-системы оказал проект TIPSTER [15], проводимыйв 1991-1998 годах. Целью проекта было проведение исследований и разработок вобласти извлечения информации. Одним из направлений проекта было созданиестандартной архитектуры для систем, осуществляющих извлечение информации изтекстов на естественном языке, позволяющей решить следующие задачи:Предоставление программного интерфейса для задач управления документамив системе и извлечения информации из них;Поддержка одноязычных и многоязычных приложений;Обмен модулями различных разработчиков;Работоспособность в различном аппаратном и программном окружении;Масштабируемость на различные объемы документов и потоки их обработки;Небольшое время отклика приложений;Возможность использования многоуровневой системы безопасности;155В модели данных TIPSTER центральным объектом является документ, которыйявляется:Хранилищем информации о тексте в виде аттрибутов и аннотаций;Атомарным элементом коллекций;Атомарным элементом в операциях выделения;Документы организованы в коллекции, которые также могут иметь аттрибуты.Коллекции представляют хранилище для документов в рамках архтектуры TIPSTER.Аннотации хранят информацию о фрагментах документов.