§ 5. ЧАСТЬ Д - ДЕЙСТВИЯ В СЛУЧАЕ, ЕСЛИ НЕ НАЙДЕН ВТОРОЙ ЧЛЕН
КОНФИГУРАЦИИ
Для составных предлогов, последним компонентом которых является предлог
(КНФ 15-20)
1. Проверить, является ли словоформа первая вправо от іо, словоформой друг.
2. Обозначить словоформу, первую вправо после друг, через іі.
Имеются в виду случаи, типа в зависимости друг от друга // по отношению друг к другу и т. д., где словоформа друг отделяет последний компонент составного предлога.
Рис. 1. Пример описания алгоритма автоматического синтаксического анализа из книги И. А. Мельчука. 0 - главное слово; 0 ■ зависимое слово; КНФ - конфигурация
ваемых шагами: Лер 1, 81ер2 и т. д. Такая структура объясняется наличием случаев, когда из одного класса происходит обращение к определенному шагу другого класса. На рис. 2 приводится пример структуры одного класса.
В качестве параметров процедурам передается номер текущего слова (индекс /0), и два индекса /1 и /2, связанные с данным словом, а также номер текущей конфигурации. Эти переменные не являются глобальными в связи с тем, что передача их как параметров по ссылке исключит возможные ошибки и поможет отследить места их изменения.
Для отслеживания передаваемых параметров и вызываемых блоков в процессе работы системы создается файл «journal.txt». Каждая вызываемая процедура записывает в него свои координаты и значения полученных параметров. Этот способ контроля над ходом работы блока позволяет наглядно отображать, как обрабатывалась конфигурация, на какой шаг она перешла, на каком этапе работы возникла ошибка.
Таблицы морфологических характеристик, конфигураций и сегментов реализованы в виде отдельных таблиц базы данных. Такой способ представления оказался наиболее приемлемым, т. к. он обеспечивает быстрый доступ к данным и их редактированию. Чтобы работа с базой данных не влияла на скорость работы системы, количество таблиц было минимизировано до трех. Для обеспечения наглядности таблиц и их содержимого, было решено заменить числовые значения полей таблицы на символьные. Это позволило решить проблему индексации таблиц в базе данных. В противном случае произошло бы значительное замедление работы программы.
Создание таблиц БД осуществляется с помощью утилиты Database Desktop (DBD), входящей в комплект поставки Delphi. Утилита DBD решает целый ряд задач, связанных с таблицами. С ее помощью можно создавать или изменять структуру таблицы, строить ее первичные ключи и индексы, создавать и изменять записи, просматривая их и т. д. Для хранения структуры таблиц была выбрана база данных Paradox 7.
Для интерпретации данных из базы используется компонент TTable из панели BDE. В среде Borland Delphi существует набор встроенных функций для обращения к данным в таблице TTable. Использование этих функций привело к уменьшению громоздкости кода и к исключению ошибок, связанных с написанием запросов к таблицам.
Интерфейс построения дерева зависимостей
Для наглядного отображения результатов анализа спроектировано отдельное приложение. Результат работы синтаксического анализа в виде дерева зависимостей предложения выводится на отдельную форму. Словоформы предложения с пронумерованными стрелками от главной словоформы к зависимой словоформе отображаются в виде графика с расшифровкой номеров стрелок, в виде наименований типов синтаксической связи.
Дополнительная форма, с информацией о ходе анализа в реальном масштабе времени. На этой форме отображается информация о переходе процесса обработки с одного блока в другой, сообщения об ошибках, отображение обработанных информаций и их синтаксических связей, ход выполнения анализа, время, затраченное на обработку,
Procedure TIfNotSecMem5 (var i0, i1, i2 knf: integer)
Begin
If (некоторое условие) then TIfNotSecMem35.Step3 (var i0, i1, i2 knf: integer); End;
Рис. 2. Структура программной реализации одной из обработок алгоритма синтаксического анализа
//................Класс 1 TKNF15_20-
1. Проверить, является ли словоформа, первая вправо от I0, словоформой "друг"
2. Если да, то обозначить словоформу, первую вправо после "друг" через I1
-}
procedure TIfNotSecMem1.Step1(); begin
ShowMessage ('блок IfNotSecMem1 Step1');
// ShowMessage('FormSystem.TableInformation.FieldByName('SymbolsWord').AsString'); FormSystem.TableInformation.Next;
if (FormSytem.TableInformation.FieldByName('SymbolsWord').AsString= 'друг') then Step2 else begin
I0 := I0+1; // следующая словоформа, переход кА.1.4
ShowMessage ('Если не найден 2-ой член 15_20.Step1->nepexofl к A.1.4');
end;
end;
procedure TIfNotSecMem1.Step2(); begin
ShowMessage ('Если не найден 2-ой член 15_20.Step2'); FormSystem.TableInformation.Next;
i1:= FormSystem.TableInformation.FieldByName('WordID').AsInteger;
// переход к блоку G
ShowMessage('Eonn не найден 2-ой член 15_20.Step1->nepexofl к G9'); BusyComb_V.Step1;
BusyComb_V.Free;
end;
//...........................Конец Класс! TKNF15_20.........................
Рис. 3. Пример программирования одного из блоков алгоритма синтаксического анализа
время, оставшееся до завершения обработки, номер текущего цикла анализа.
Программный блок ведения статистики
Процедуры блока статистики осуществляют сбор статистических данных. Какие типы синтаксических конструкций часто встречаются, при каких условиях (контекст), в каких программных блоках возникают ошибки - всю эту информацию упорядочивает, сортирует и классифицирует блок ведения статистики. Целью работы блока является оптимизация работы блока автоматического синтаксического анализа и сокращение времени обработки часто встречаемых синтаксических структур.
Заключение
Рассмотрена программная реализация в среде Вог1апё Delphi 7 алгоритма синтаксического анализатора текстов на естественном русском языке. Программно реализованы блоки для дополнительных обработок и исключений. Программные блоки проверки на дополнительное условие, основных обработок и основной алгоритм реализованы примерно на 50 %. В алгоритм И.А. Мельчука и структуру данных внесены существенные доработки: полностью исключен принцип «переадресации»; в структуру таблиц морфологических признаков (информаций к словоформам) и таблицы конфигураций добавлены новые поля. Все поля, связанные с переадресацией, исключены. Изменения были необходимы из-за
различия в принципе построения морфологической информации к словам. В алгоритме И.А. Мельчука используется словарь основ и флексий, а в разрабатываемом синтаксическом анализаторе используется словарь с восстановленной парадигмой слов.
Разработан и программно реализован журнал операций для тестирования работоспособности
блоков автоматического синтаксического анализа, так как осуществление тестирования программных блоков по отдельности очень сложно. Выбраны методы программирования алгоритмов и способы хранения данных, задействованных в работе программы.
СПИСОК ЛИТЕРАТУРЫ
1. Большаков И.А., Гельбух А.Ф. Модель «Смысл - Текст» тридцать лет спустя // Диалог 99: Труды Междунар. семинара. - М., 1999 - Т. 1. - С. 15-24.
2. Мельчук И.А. Автоматический синтаксический анализ. - Новосибирск: Изд-во АН СССР, 1965. - 358 с.
3. Андреев А.М., Березкин Д.В., Брик А.В., Кантонистов Ю.А. Вероятностный синтаксический анализатор для информационно-поисковой системы [Электронный ресурс]. - режим
доступа: http://www.inteltec.ru/publish/articles/textan/1kx5_9. shtml. - 16.03.2006.
4. Волкова И.А., Мальковский М.Г., Одинцев Н.В. Адаптивный Синтаксический анализатор // Диалог 2003: Труды Междунар. семинара. - М., 2003. - Т. 1. - С. 401-406.
Поступила 09.04.2009г.
УДК 681.3.068+681.5
ВЫЯВЛЕНИЕ СКРЫТЫХ ЗАКОНОМЕРНОСТЕЙ В СЛОЖНЫХ СИСТЕМАХ
О.Г. Берестнева, Я.С. Пеккер
Томский политехнический университет Сибирский государственный медицинский университет E-mail: [email protected]; [email protected]
Рассмотрены основные подходы к решению задачи выявления скрытых закономерностей в сложных медико-биологических системах. Показаны особенности решения такой задачи в случае количественных и качественных экспериментальных данных. Представлена технология выявления скрытых закономерностей на основе методов Data Mining.
Ключевые слова:
Компьютерный анализ данных, скрытые закономерности, биосистемы, деревья решений. Key words:
Computer analysis of data, hidden patterns, biological systems, decision trees.
Введение
Центральной проблемой медико-биологических исследований, независимо от их специфики, является оценка состояния биологической системы. При этом под термином «биологическая система» мы понимаем организм в целом или его часть любой степени сложности на клеточном, органном уровне или уровне функциональной системы [1]. Эти же особенности относятся к анализу как биотехнических систем, так и любых сложных систем, имеющих большое количество каналов взаимодействия с внешней средой и характеризующихся существенной стохастической составляющей функционирования.
На современном уровне исследования биологических систем имеет смысл говорить именно о системном подходе, который получил развитие в трудах И.Р. Пригожина, П.К. Анохина, К.В. Судакова, У. Эшби и других выдающихся ученых.
Начиная со второй половины XX в., биология и медицина стремительно отходят от вербального описания и все больше тяготеют к формализации процессов, происходящих в биосистемах, использованию математических моделей и технических средств, а позднее и компьютерных технологий [2, 3]. Однако, это сопряжено с колоссальными сложностями, особенно при оценке динамических характеристик поведения биосистем и процесса их адаптации.
Значительные трудности изучения количественных характеристик биологических систем предопределяются особенностями и свойствами последних, и, прежде всего [1]: структурной и функциональной сложностью; вариабельностью параметров для одного состояния; нелинейностью характеристик; невозможностью полного описания системы. Последняя особенность («ущербность» описания) существенно осложняет постро-