Научная статья на тему 'Автоматизация процесса документирования путем внедрения исполняемой среды для создания лингвистических процессоров'

Автоматизация процесса документирования путем внедрения исполняемой среды для создания лингвистических процессоров Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
200
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛИНГВИСТИЧЕСКИЕ ПРОЦЕССОРЫ / МОДУЛЬ / АВТОМАТИЗАЦИЯ ПРОЦЕССА ДОКУМЕНТИРОВАНИЯ / LANGUAGE PROCESSORS / MODULES / AUTOMATION OF DOCUMENTING PROCESS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чередниченко А. В.

Чередниченко А.В. АВТОМАТИЗАЦИЯ ПРОЦЕССА ДОКУМЕНТИРОВАНИЯ ПУТЕМ ВНЕДРЕНИЯ ИСПОЛНЯЕМОЙ СРЕДЫ ДЛЯ СОЗДАНИЯ ЛИНГВИСТИЧЕСКИХ ПРОЦЕССОРОВ. Данная статья описывает реализацию механизмов интеграции отдельных модулей в единую исполняемую среду. В качестве конкретного приложения исполняемой среды приведена система для создания лингвистических процессоров путем объединения реализованных модулей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Cherednichenko A.V. AUTOMATION OF DOCUMENTING PROCESS BY IMPLEMENTATION OF THE RUNTIME ENVIRONMENT FOR NATURAL LANGUAGE PROCESSORS CREATION This article describes implementation of mechanisms for integration of external modules in the common runtime. Concrete application of described runtime is runtime for creating language processors from different external separate modules.

Текст научной работы на тему «Автоматизация процесса документирования путем внедрения исполняемой среды для создания лингвистических процессоров»

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

a

2K+1

1

2 X

х Е

M=0

(P(1 / x)) = ((2K+1)к/Л)

K (-1)M 2k-2M+1 (2K-2M -1)!!

M!(2 K-2M+1)! к = 0, 1, 2,... (15)

где для унификации удобно считать (-1)! = 1.

Отметим, что число слагаемых в сумме для a2K+x ограничено и не превышает индекс к.

Выражения (14), (15) могут быть использованы для вычисления коэффициентов Фурье по ортонормальной системе функций Эрмита для других обобщенных функций, связанных с Р(1 / x), а также для установления принадлежности этих обобщенных функций пространству S\

Функционал Pf (1 / | x |3) для n = 3 и его преобразование Фурье

Введем для n = 3 (по аналогии [2] с n = 2 ) обобщенную функцию Pf (1 / | x |3) из S\ действующую по правилу (Pf (1 / | x |3), ф) =

ф(x)dx

= j (ф(x)^(0))dx + |

(16)

|Х|<1 Ix| |Х|з1 lxl

Непосредственной проверкой убеждаемся, что эта обобщенная функция удовлетворяет уравнению

| x |2 Pf (1 / | x |3) = 1 / | x |. (17)

Вычисляем преобразование Фурье от обобщенной функции Pf (1 / | x |3), где основная функция ф(x) принадлежит S:

(F(Pf (1 / | x |3)), ф) = (Pf (1 / | x |3), А(ф)) =

1 dr 1

= 2п J—((^рО'^НОФ) +

0 r -1

ш dr 1

+ 2п J—|ф(^)^Е, J exp(i|^|r р)ф, =

= |(С-4п1п|^|)ф(^)^^ , (18)

где

74nsinudu Un/sinu-u)du

" = +J------✓------

(19)

Таким образом, как следует из (18), F(Pf (1 / | x |3)) = c - 4п ln £ |. (20)

Функция (20) не является неотрицательной. Таким образом, исходная обобщенная функция Pf (1 / | x |3) не является положительно определенной обобщенной функцией. Напомним, что согласно теореме Бохнера-Шварца [2] для этого необходимо и достаточно, чтобы она являлась преобразованием Фурье неотрицательной меры медленного роста.

Точно также обобщенная функция P(1 / x) не является положительно определенной обобщенной функцией, поскольку ее преобразование известно [2], и является чисто мнимой функцией.

Библиографический список

1. Колмогоров, А.Н. Элементы теории функций и Функционального анализа / А.Н. Колмогоров, С.В. Фомин. - М.: Наука, 1976.

2. Владимиров, В.С. Обобщенные функции в математической физике В.С. Владимиров. - М.: Наука, 1979.

3. Полянин, А.Д. Справочник по линейным уравнениям математической физики / А.Д. Полянин. - М.: Физико-математическая Литература, 2001.

4. Выск, Н.Д. Оптимальное восстановление решения волнового уравнения по неточным начальным данным / Н.Д. Выск, К.Ю. Осипенко // Математические Заметки. - 2007. - Т. 81. - Вып. 6. -С. 803-815.

5. Корн, Г. Справочник по математике для научных работников и инженеров / Г. Корн, Г. Корн. - М.: Наука, 1980.

АВТОМАТИЗАЦИЯ ПРОЦЕССА ДОКУМЕНТИРОВАНИЯ

путем внедрения исполняемой среды для создания лингвистических процессоров

А.В. ЧЕРЕДНИЧЕНКО, каф. прикладной математики МГУЛ

Решение сложных задач обработки информации часто сводится к поэтапному решению более простых подзадач, которые, в свою очередь, уже решены с применением извес-

a. cherednichenko@mail. ru

тных методов и средств обработки данных. Как правило, эти решения оформлены (или могут быть оформлены) в виде отдельных программных компонент. Конкретное реше-

ЛЕСНОЙ ВЕСТНИК 6/2010

185

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

ние сложной задачи сводится к созданию некой исполняемой среды (далее ИС), которая объединяет отдельные компоненты в единый программный продукт. Сложность заключается в том, что программных реализаций, решающих каждую подзадачу, может оказаться несколько, причем каждая из них обладает своими преимуществами и недостатками. В данной статье описывается технология создания ИС, которая позволяет с минимальными затратами на реализацию адаптировать к ИС большинство имеющихся компонентов, делая их доступными пользователю ИС. Эту технологию можно охарактеризовать следующими принципами:

1. Не требуется изменение компонента при подключении его к ИС.

2. ИС не изменяется при подключении очередного программного компонента.

3. Обмен данными между ИС и программными компонентами унифицирован.

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

5. ИС предоставляет пользователям возможность создания сценариев использования подключенных компонентов.

Например, технология CORBA призвана решать задачи интеграции различных программных компонентов, но это лишь протокол (описание протокола и его реализация) для взаимодействия компонентов. Целью реализованного подхода является создание средства описания протокола, сам протокол и механизмы его использования.

В данной работе областью приложения описанного подхода является компьютерная лингвистика. Известно, что отдельные этапы задачи автоматизации обработки текстов на естественном языке (далее ЕЯ) уже решены различными способами многими коллективами. Конкретной задачей может являться автоматизация процесса документирования в какой-либо выбранной отрасли - создание специализированного лингвистического процессора (далее ЛП) для анализа и синтеза текстов на естественном языке (далее ЕЯ-текстов). Реализация описываемого подхода в рамках ИС для интеграции компонентов лингвистичес-

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

Введение

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

Если рассматривать разработку ПО, то будет понятно, что использование уже готовых библиотек позволяет получать конечный результат на порядок быстрее и с уже заранее известными характеристиками. К примеру, используя компонент program options библиотеки boost можно достаточно быстро и легко создать консольное приложение с развитым анализатором параметров командной строки. Также можно привести в качестве примера библиотеку MFC, использование которой практически незаменимо при создании приложений для ОС Windows. При создании приборов использование уже существующих компонентов является естественным решением. К примеру, создание приборов для детекции наличных денежных средств подразумевает использование единых алгоритмов для распознавания валидности предъявленных купюр.

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

186

ЛЕСНОЙ ВЕСТНИК 6/2010

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

матической обработки текстов (АОТ-систе-мы) можно разбить на следующие подзадачи (подобной подсистемой может быть, например, система машинного перевода, или поисковая система):

1. Разработка и ведение глоссария предметной области.

2. Разработка и использование ЛП для анализа существующих документов на основе формализованных (для генерации) и неформализованных или слабоформализованных (для анализа) источников данных по заданным правилам.

3. Разработка и использование ЛП для генерации документов по заданным правилам.

Как уже упоминалось в начале, необходимо разрабатывать ЛП, максимально используя существующие компоненты. Рассмотрим выделенные подзадачи на примере создания анализатора сообщений на естественном языке о дорожных пробках. Типичное предложение, описывающее пробку. На Дмитровском шоссе от 3-го Нижнелихоборского проезда до Бескудниковского бульвара в сторону центра, длина 1,2 км, длится уже 13 ч 4 мин.

Разработка и ведение глоссария предметной области

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

Разработка и использование ЛП

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

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

Считается, что задача, решаемая морфологическим компонентом ЛП, решена полностью (как анализ, так и синтез словоформ осуществляется автоматически на основе имеющихся словарей). Существующие реализации морфологического компонента ЛП могут отличаться средой исполнения и полнотой информации, предоставляемой об анализируемых лексемах. К описываемой ИС подключены три морфологических компонента, различающиеся лишь особенностями реализации (отличия в возвращаемых грамматических признаках можно считать несущественными - единственное, чем они отличаются, это наличием информации об ударении в слове). Наиболее удобным представляется использование компонента группы aot.ru [1] - он обладает наименьшим количеством ограничений и достаточно удобным программным интерфейсом.

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

Синтаксический компонент aot.ru [1]

- анализатор, который не использует модели управления для построения дерева зависимостей исходного предложения. Компонент использует правила, закодированные его разработчиками. Это является проблемой в случае активного использования конструкций языка, не предусмотренных реализацией. С другой стороны, компонент GEngine [2] самостоятельно генерирует правила синтаксического анализа текстов (модели управления

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

ЛЕСНОИ ВЕСТНИК 6/2010

187

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

Из сравнения видно, что в нашем примере анализа сообщений о пробках можно не проводить дополнительную работу, связанную с генерацией МУ для применения синтаксического компонента GEngine, и остановиться на использовании алгоритма от группы разработчиков aot.ru.

После выбора компонентов необходимо подключить их к ИС. Используя универсальный формат вызова (являющийся особенностью данной ИС), необходимо создать промежуточную интеграционную библиотеку (далее просто библиотека), осуществляющую вызов компонентов. Вызов этой библиотеки будет осуществляться ИС в процессе выполнения сценариев анализа. Программный интерфейс библиотеки является неизменным и единым для всех подключенных компонентов. Фиксированная сигнатура вызова библиотеки обеспечивает неизменность ИС при подключении новых компонентов либо при изменении реализации существующих. Единый универсальный набор входных и выходных параметров библиотеки: идентификатор компонента, к которому выполняется обращение; входные параметры для компонента в виде строки; результаты работы компонента в виде строки; описание произошедшей ошибки (если возникла). Семантика входных сообщений определяется сценарием анализа, который посредством ИС вызывает библиотеку. Таким образом, для указанных компонентов библиотека будет являться интеллектуальной оболочкой, принимающей и передающей текстовые строки. В нашем примере входным параметром будет являться предложение на естественном языке. Результат работы компонента (дерево зависимостей) библиотека должна будет сериализовать в текстовую строку вида (данная строка будет являться выходным параметром библиотеки):

ГЕНИТ_ИГ

ГЕНИТ_ИГ

ГЛ_ЛИЧН

ПГ

ПГ

ПГ

ПГ

ПРИЛ_СУЩ

сторону центра ч 4 мин

, длится уже 13 ч 4 мин.

На Дмитровском шоссе в сторону центра до Бескудниковского бульвара от 3-го Нижнелихоборского проезда 3-го Нижнелихоборского проезда

ПРИЛ_СУЩ = Бескудниковского бульвара ПРИЛ_СУЩ = Дмитровском шоссе СЛОЖ_ЧИСЛ =1,2

ТИРЕ = На Дмитровском шоссе от 3-го Ниж-

нелихоборского проезда до Бескудниковского бульвара в сторону центра , длина - 1,2 км ЧИСЛ_СУЩ =1,2 км ЧИСЛ_СУЩ = 4 мин

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

После применения морфологического и синтаксического компонентов к набору предложений (каждое предложение описывает одну дорожную пробку) в сценарии анализа необходимо описать правила, в результате которых из построенного дерева зависимостей будет выделена информация об интересующем нас объекте пробка. Такие правила достаточно просты, и они описываются как для объекта, так и для каждого его атрибута. Так, например, для выделения атрибута длина в дереве зависимостей ищется группа «ЧИСЛ-СУЩ», в которой существительное является одним из набора «км,м» (без учета регистра).

Выводы и заключение

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

Библиографический список

1. Сокирко, А. Семантические словари в автоматической обработке текста (по матералам системы ДИАЛИНГ: дисс. ... канд. техн. наук / А. Сокирко. - М., 2001.

2. Одинцев, Н.В. Адаптивный синтаксический анализатор русского языка: дисс. ... канд. физ.-мат. наук / Н.В. Одинцев. - М., 2003.

188

ЛЕСНОЙ ВЕСТНИК 6/2010

i Надоели баннеры? Вы всегда можете отключить рекламу.