birmaga.ru
добавить свой файл

1
НЕЧЕТКАЯ АТРИБУТНАЯ ГРАММАТИКА ТЕКСТА ТЕХНИЧЕСКОГО ЗАДАНИЯ

Заболеева-Зотова А.В., д.т.н., профессор

e-mail: zabzot@vstu.ru

Орлова Ю.А., к.т.н.

e-mail: yulia.orlova@gmail.com

Волгоградский государственный технический университет

400131, г. Волгоград, пр. Ленина, 28

тел.: (8442) 23-42-46

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

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


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

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


Практически непреодолимой причиной неполноты лингвистической информации является открытость и постоянное развитие ЕЯ: появление новых языковых единиц, изменение свойств существующих единиц и правил их сочетаемости. Такая динамика особенно заметна в подъязыках новых предметных областей с неустоявшейся терминологией.

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

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

Основными причинами, ведущими к образованию ошибочной информации в ТЗ является устаревание информации, Ошибки ручного ввода, несогласованности при формировании ТЗ различными экспертами, ошибки автоматизированного формирования.

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

Рассматривая ТЗ как информационный ресурс и выделим его особенности.

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

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


При проведении исследований было рассмотрено множество различных вариантов ТЗ и детально изучены ГОСТ 19.201-78 и ГОСТ 34.602-89.

В результате было отмечено, что:


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

  • текст не содержит образных выражений, оценочных прилагательных, почти лишен наречий, естественная полисемичность языка сводится к минимуму использованием заранее определенных терминов;

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

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

  2. Как правило, для элементов данных указан тип, число элементов данных и название.

  3. Для функций часто указывается тип: «Основная», «Дополнительная» или «Вспомогательная».

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

  5. Текстовая строка, описывающая функцию, как правило, содержит название действия, объект, над которым оно выполняется и источник действия.
  6. Очень часто входом является источник действия, а выходом – объект, реже и входом и выходом функции является объект, тогда источник отсутствует (за счет совпадения источника и объекта), например, функция «сортировка числового массива по возрастанию» имеет числовой массив в качестве входа, выхода, источника и объекта.


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

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


Рис. 1. Методика анализа текста технического задания

Методика анализа текста технического задания состоит из трех этапов: семантическая обработка текста, создание фреймовой структуры и создание диаграмм потоков данных системы, описанной в техническом задании.

Для реализации первого этапа методики была разработана семантическая модель текста технического задания, включающая требования, сформулированные в виде документа на ограниченном естественном языке; второго этапа фреймовая структура, являющаяся внутренним представлением требований; третьего этапа модель программного обеспечения в виде описания требований на графическом языке Data Flow Diagrams.

Семантическая модель текста технического задания содержит разработанную расширенную нечеткую атрибутную грамматику над фреймовой структурой формального документа “Техническое задание”, которая позволяет наиболее полно отобразить содержимое ТЗ.

Расширенная нечеткая атрибутная грамматика, необходимая для автоматизированного анализа текста технического задания, определена в виде:

AG = ,

где N – конечное множество нетерминальных символов; T – непересекающееся с N множество терминальных символов; Р – конечное множество правил; S – выделенный символ из N, называемый начальным символом; B – множество лингвистических переменных βk,i, соответствующих терминальным символам T (переменная i на k уровне); F – множество функций принадлежности fk,i, определяющих степень принадлежности лингвистических переменных βk,i; A – конечное множество атрибутов, A = AsinUAsem, где Asin – синтаксические атрибуты, Asem – семантические атрибуты; R(A) – конечное множество семантических действий.


Лингвистические переменные из множества B={βk,i}k,i используемые для анализа текста технического задания описывается следующей пятеркой:

βk,i =<β, T(β), U, G, M>,

где β название лингвистической переменной (наименование и область применения, основание для разработки, назначение разработки, технические требования к программному изделию, стадии и этапы разработки и т.д.); T(β) языковые выражения. Для лингвистических переменных верхнего уровня они являются лингвистическими переменными, соответствующими терминалам правой части правила. Для лингвистических переменных нижнего уровня – нечеткими переменными, то есть выражениями естественного языка; U – универсум, T(β) Ì U; G – правила морфологического и синтаксического описания языковых выражений, которые определяют синтаксические атрибуты Asin.

Язык представления выражений состоит из констант и правил их последовательного применения. На морфологическом уровне константами являются граммемы (рд родительный падеж, мн множественное число). На синтаксическом названия отношений и групп (ПОДЛ – отношение между подлежащим и сказуемым, ПГ предложная группа). Для каждого слова входного текста выдается множество морфологических интерпретаций следующего вида: лемма; морфологическая часть речи; набор общих граммем; множество наборов граммем.

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


М – семантическое правило для лингвистических переменных, которое индуцируется морфологическими и синтаксическими правилами, так как смысл терма в Т частично определяется его синтаксическим деревом, и семантическими атрибутами Asem.

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

Лингвистические переменные верхнего уровня являются составными, то есть включают лингвистические переменные нижнего уровня. Благодаря этому можно поcтроить дерево лингвистических переменных и установить зависимость между ними.

Функции принадлежности из множества F={fk,i}k,i лингвистических переменных {βk,i}k,i, необходимы для построения нечеткого вывода. В частности, каждому правилу грамматики из множества P ставится в соответствие функция принадлежности fk,i. Эта двойственная система подстановок используется для вычисления смысла лингвистической переменной.

Синтаксические атрибуты Asin, используемые в грамматике: ’Название’ – текст представляет собой наименование раздела; ’Содержимое’ текст представляет собой содержимое раздела; ’Клауза’ – клауза; ’Клауза ТИРЕ’ Фрагмент с тире; ’Группа ГЕНИТ_ИГ’ – именительная группа, связанная родительным падежом и др.

Семантические атрибуты, используемые в грамматике, содержат название атрибута Asem и семантические действие R(A): “Фрейм СИСТЕМА=Создание” создается фрейм СИСТЕМА; ”Слот НАЗВАНИЕ СИСТЕМЫ=Присваивание” – значение присваивается слоту НАЗВАНИЕ СИСТЕМЫ; “Фрейм ПОТОК ДАННЫХ = Создание” – создается фрейм ПОТОК ДАННЫХ; “Слот ВХОД = Присваивание”, “Слот ВЫХОД = Присваивание” значение присваивается слотам ВХОД, ВЫХОД; “Слот КОЛ-ВО ДАННЫХ = Присваивание” значение присваивается слоту КОЛИЧЕСТВО ДАННЫХ; “Слот ТИП ДАННЫХ = Присваивание” – значение присваивается слоту ТИП ДАННЫХ; “Слот НАЗВАНИЕ ПОТОКА ДАННЫХ = Присваивание” – значение присваивается слоту НАЗВАНИЕ ПОТОКА ДАННЫХ; “Фрейм ФУНКЦИЯ =Создание” “Слот НАЗВАНИЕ ФУНКЦИИ = Присваивание”– значение присваивается слоту НАЗВАНИЕ ФУНКЦИИ; “Слот НАЗВАНИЕ ДЕЙСТВИЯ = Присваивание” – значение присваивается слоту НАЗВАНИЕ ДЕЙСТВИЯ; “Слот ОБЪЕКТ = Присваивание” – значение присваивается слоту ОБЪЕКТ; “Слот ОГРАНИЧЕНИЕ НА ФУНКЦИЮ = Присваивание значение присваивается слоту ОГРАНИЧЕНИЕ НА ФУНКЦИЮ и др.


Фрагмент грамматики представлен в таблице 1.
Таблица 1. Фрагмент разработанной расширенной нечеткой атрибутной грамматики над фреймовой структурой технического задания

β1

<Список входов>

:=

< Название списка входов> ::’Название’ ;<Описание входа> ::’Содержимое’<Список входов> | ε

β1,1

<Название списка входов>

:=

Текст на ЕЯ, содержащий слова “входные данные” ::’Клауза НЕОПРЕД’

β1,2

<Описание входа>

:=

Текст, содержащий “входы” или “входные данные” ::’Клауза’ <Вход> ::“Фрейм ПОТОК ДАННЫХ = Создание”, “Слот ВХОД=Присваивание”

β12,1

<Вход>

:=

[< Число единиц данных>] ::“Слот КОЛ-ВО ДАННЫХ = Присваивание” [<Тип данных>] ::“Слот ТИП ДАННЫХ = Присваивание” <Название потока данных> :: “Слот НАЗВАНИЕ ПОТОКА ДАННЫХ = Присваивание”

β121,1

<Число единиц данных>

:=

ε | «Список» | «Коллекция» | «Файл» | «Де­рево» | «Сеть» | «Массив»

β121,2


<Тип данных>

:=

«структура»|«число»|«объект»|«значение»|«дата»|«время»

β2

<Список функций>

:=

<Название списка функций> ::’Название’ <Описание функции> ::”Фрейм ФУНКЦИЯ=Создание” ;<Список функций> | ε

β2,1

<Название списка функций>

:=

Текст на ЕЯ, содержащий слова “функции” или “функциональные характеристики” ::’Клауза НЕОПРЕД’

β2,2

<Описание функции>

:=

<Название функции> ::’Название’, “Слот НАЗВАНИЕ ФУНКЦИИ = Присваивание” < Список входов><Список выходов>.

β22,1

<Название функции>

:=

[<Субъект>] <Действие>::“Слот НАЗВАНИЕ ДЕЙСТВИЯ = Присваивание”<Объект>::“Слот ОБЪЕКТ = Присваивание” <Ограничение>::“Слот ОГРАНИЧЕНИЕ НА ФУНКЦИЮ = Присваивание” [<Источник>]

β221,2

<Действие>

:=

слово из списка операций Коллера (А.И. Половинкина)


Семантический анализ текста производится на основе разработанной грамматики текста ТЗ:

1. Каждая лингвистическая переменная технического задания подвергается разбору, в результате чего получается лингвистическое дерево, конечными вершинами которого являются нечеткие переменные.

2. Нечетким переменным на конечных вершинах дерева назначается их смысл и затем с помощью системы правил Р и соответствующих функций принадлежности fk,i вычисляется смысл лингвистической переменной, соответствующей левой части правила.

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

Для некоторой лингвистической переменной βk,i значение функции принадлежности: µk,i=fk,ik+1,1k+1,2,…,µk+1,n), где конкретное значение µk,i – степень принадлежности лингвистической переменной βk,i. Первоначально будем говорить, что все лингвистические переменные нижнего уровня несут одинаковый вклад в значение функции принадлежности, поэтому можно говорить, что функция принадлежности лингвистической переменной βk,i:



где µk+1,j степень принадлежности лингвистической переменной βk+1,j; qk+1,j = 1/n – вклад степеней принадлежности в значение функции. На нижнем уровне k функции принадлежности определены.

Вычисленная µk,i сравнивается с µl, являющейся предельным значением степени принадлежности. Если µk,il, и в правилах указаны синтаксические или семантические атрибуты, то создаются фреймы и слоты, в которые помещается текст из соответствующей лингвистической переменной.


3. После этого дерево урезают так, чтобы вычисленные лингвистические переменные оказались конечными вершинами оставшегося поддерева.

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

Литература


  1. Заболеева-Зотова А.В. Атрибутная грамматика формального документа "Техническое задание"// Известия ВолгГТУ. Серия "Актуальные проблемы управления, вычислительной техники и информатики в технических системах": Межвузовский сборник научных статей. – Волгоград: ВолгГТУ, 2008. Вып.4, № 2. C.39-43.

  2. Заболеева-Зотова А.В. Анализ текста технического задания с помощью нечеткой атрибутной грамматики// Системные проблемы надёжности, качества, математического моделирования, информационных и электронных технологий в инновационных проектах. Материалы международной конференции и Российской научной школы. 2008. Ч.2. C.22-28.

  3. Орлова Ю.А. Грамматика для анализа текста формального документа "Техническое задание"// Дистанционное обучение образовательная среда XXI века. Материалы VI международной научно-методической конференции (Минск, 22-23 ноября 2007 г). Минск, 2007. С.124-126.