УДК 811.322
МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ПОДСИСТЕМЫ СИНТЕЗА ТЕКСТА В САПР
И.Л. Коробова
Кафедра «Системы автоматизированного проектирования»,
ГОУВПО «ТГТУ»; [email protected]
Представлена членом редколлегии профессором В.И. Коноваловым
Ключевые слова и фразы: грамматика языка; диалоговая система; компьютерная лингвистика; синтаксис; семантика; фрейм; шаблонизация.
Аннотация: Рассмотрена методика разработки систем синтеза текста на естественном языке. Приведено описание математического обеспечения, в том числе методов разработки шаблонов, генерации текста, синтаксического анализа.
При разработке подсистемы синтеза текста [1, 2, 5] мы ставили задачу формализовать процесс шаблонизации [3], сделать его понятным и применимым в различных процедурах САПР. В связи с этим, наиболее трудоемким оказался процесс описания математического обеспечения.
Математическое обеспечение подсистемы автоматизированного синтеза текста на основе технологии шаблонизации состоит из множества методов, образующих три группы: методы разработки шаблонов, методы генерации текста, методы обеспечения синтаксического анализа и корректировки.
I. Методы разработки шаблонов включают:
- разработку шаблонов последовательности и связей функций, которые отвечают за правильное следование функций и правильные связи между ними;
- разработку шаблонов функций, которые предусматривают возможность добавления или удаления элемента функции, изменения приоритета элемента, его редактирование;
- разработку шаблонов элементов функций, которые предусматривают возможность добавления или удаления подэлемента, изменения приоритета подэлемента (используется сдвиг набора подэлементов), изменение значения (если это глагол-действие), изменение падежа (если это имя существительное или прилагательное).
II. Методы генерации текста включают:
- генерацию текста-шаблона, в котором отсутствуют индивидуальные данные. Производится перебор всех функций набора, начиная с первой. Для каждой функции производится перебор всех элементов в зависимости от приоритета, начиная с наименьшего. Для каждого элемента производится перебор всех подэлементов в зависимости от приоритета, начиная с наименьшего. Для каждого подэлемента производится вывод в текст-шаблон значения подэлемента;
- генерацию текста, в котором присутствуют индивидуальные данные. Подобен предыдущему методу, но в значения подэлементов, характеризующихся
индивидуальными данными, подставляются введенные ранее индивидуальные данные.
III. Методы обеспечения синтаксического анализа и корректировки.
Для их реализации в СОМ-сервер М8 WordDocument передается текст, и в диалоговом режиме производится проверка правописания, затем производится ручная корректировка текста - в выходном тексте заменяются выбранные пользователем фрагменты.
Рассмотрим подробно алгоритм блока формирования шаблона последовательности функций для выбранного сюжета (рис. 1).
Рис. 1. Блок формирования шаблона последовательности функций для выбранного сюжета
ЕСЛИ£<>^ ТО соипф'] := соипф] + 1;
ЕСЛИ соиШ[/'] = п
ТО количество несовпадений := количество несовпадений + 1; ЕСЛИ количество несовпадений > 0, ТО результат := ложь ИНАЧЕ результат := истина;
(І)
где п - количество функций в наборе; соипф'] - счетчик несовпадений £ функции, необходимой для существования текста ' є [1, да]), с £ функциями набора (і є [1, п]), т - количество функций, необходимых для существования текста; количество несовпадений - количество функций из т, которые не встретились в тексте; результат - наличие в наборе т функций, необходимых для существования текста.
Блок определения сюжета текста основан на правиле:
ЕСЛИ £=£ ТО Б^ока'] := 1; Сюжет := (йПош^ ')21)+1
j=1
(2)
где Б^ока'] - строка (изначально равна ‘000...00’) со строковым номером сюжета в двоичном виде (/ є [1, т]); сюжет - номер сюжета в десятичном виде (сюжет є [1; 2т]).
Блок добавления пар функций, групп парных функций, правильных связей функций основан на правиле:
■ ЕСЛИ£=£ ТО [ЕСЛИ НЕ£ <>^ ТО соипОД := соипОД+1]
ЕСЛИ count[k] = n ТО [массив^] :=f1; n := n+1]
(3)
где массив[и] - ячейка набора функций.
Добавление правильных связей функций выполняется блоком добавления правильных связей функций. Используется утверждение, что не для всех функций набора необходимы взаимные связи.
Блок удаления повторов функций в рамках одного хода и всех, кроме первой встречающейся, несовместимых функций основан на правиле:
ЕСЛИf= f ТО [ЕСЛИ fr=JjТО (массив[р] := массив[р + 1]; n := n - 1)] (4)
Блок удаления всех, кроме первой встречающейся, несовместимых функций основан на правиле:
ЕСЛИ j=f ТО [ЕСЛИ fr=fkl ТО (массив[р] := массив[р + 1]; n := n - 1)]
(5)
где I - номер группы несовместимых функций (I е [1, да]); 5 - количество функций в 1-й группе (/ е [1, 5], к е [1, 5],] Ф к); массив[р] - ячейка набора функций.
Блок объединения групп «парных» функций, стоящих в логической схеме текста рядом, основан на правиле:
ЕСЛИ/1=/ ТО [ЕСЛИ ((/=/к1 )И (к <> г)) ТО
ЕСЛИ г > і ТО (переменная := массив[г]; массив[р] := массив[р - 1]; массив[і + к + 1] := переменная)
ИНАЧЕ (переменная := массив[г]; массив[р] := массив[р + 1];
^массив[і + к - 1] := переменная)]________
(б)
ЕСЛИ fi=£ ТО [ЕСЛИ i < т ТО символ := ’<’ ИНАЧЕ символ := ’>’]
(7)
где символ - ячейка матрицы, схожей с матрицей операторного предшествования (изначально равен ’ ’).
Блок коррекции порядка следования функций основан на методе операторного предшествования (между функциями / и / существует отношение ‘<’, если I </; отношение ‘>’, если I >/; ‘п’ (несовместимость), если / и / не могут располагаться рядом в наборе функций.
Модифицированный метод операторного предшествования основан на правиле:
✓-----------------------------------------------------------------\
ЕСЛИ ((/' > / И матрица[/, /] = ’<’) ИЛИ (/' < / И матрица[/, /] = ’>’)) ТО [ЕСЛИ I >/ ТО (к1 :=/; к2 := I)
ИНАЧЕ (к1 := /; к2 :=/)
переменная := массив[к1]; (8)
массив [р] := массив [р - 1]; массив[к2] := переменная]
ИНАЧЕ переход на следующий шаг
Блок восстановления положения в шаблоне функций, задействованных в блоке определения положения отдельных функций относительно заранее известных функций, расположенных рядом в логической схеме, основан на правиле:
'"ЕСЛИ f=£ ТО [ЕСЛИ ((i > m И символ = ’<’) ^ ИЛИ (i < m И символ = ’>’)) ТО (а := массив[/']; массив[/'] := массив[т];
^ массив [т] := а)]_________________________________________/
(9)
Математические методы и алгоритмы синтеза текста решают задачу выбора выходного параметра системы высказываний (1) - (9) на основе правила Modus Ponens [4].
В настоящее время подсистема синтеза текста работает для формирования системы объяснений в процессе принятия решения в условиях нечеткой экспертной информации [4], а также, для создания технического задания на разработку САПР и ее составных частей [5] .
Список литературы
1. Коробова, И. Л. Автоматизированная система синтеза текста на основе технологии шаблонизации [Электронный ресурс] / И. Л. Коробова // Мат. межрегионал. науч.-практ. конф. «Информатизация системы образования Тамбовского региона». -Режим доступа : http://club-edu.tambov.ru/main/news/index.php?r=konf1&f=t12. -Загл. с экрана.
2. Коробова, И.Л. Информационное обеспечение подсистемы синтеза текста при автоматизированном проектировании технологических объектов / И.Л. Коробова, И.А. Дьяков // Теплофизика в энергосбережении и управлении качеством : мат. Шестой междунар. теплофиз. шк. / Тамб. гос. техн. ун-т. - Тамбов, 2007. - Ч. 2. - С. 27-31.
3. Информатика : энциклопед. слов. для начинающих / сост. Д. А. Поспелов. -М. : Педагогика-Пресс, 1994 - 352 с.
4. Коробова, И.Л. Анализ знаний в экспертной системе нечеткого принятия решений / И.Л. Коробова // Вест. Тамб. гос. техн. ун-та. - 2005. - Т. 11, № 4. -С. 873-881.
5. Коробова, И.Л. Подсистема синтеза текста в САПР / И.Л. Коробова, Н.В. Майстренко // Вест. Тамб. гос. техн. ун-та. - 2009. - Т. 15, № 1. - С. 49-55.
Mathematical Software for Subsystem of CAD Text Synthesis
I.L. Korobova
Department “Computer Aided Design Systems ", TSTU; ira.sapr.tstu@mail. ru
Key words and phrases: dialogue system; computer linguistics; grammar of the language; frame; syntax; semantics; standardization.
Abstract: The paper studies the method of developing systems of text synthesis in the natural language. The description of mathematical software, including the techniques for developing templates, text generation and syntactic analysis is given.
Matematische Versorgung des Subsystemes der Synthese des Textes in SAPR
Zusammenfassung: Es wird die Methodik der Erarbeitung der Systeme der Synthese des Textes auf der Natursprache betrachtet. Es ist die Beschreibung der matematischen Versorgung, darunter der Methoden der Erarbeitung der Schablonen, der Textgeneration, der syntaktischen Analyse, angefuhrt.
Le logitiel du sous-systeme de la synthese du texte dans CAO
Resume: Est examinee la methode de l’elaboration des systemes de la synthese du texte en langue naturelle. Est donnee la description du logitiel y compris des methodes de l’elaborations des cliches, de la generation des textes, de l’analyse syntaxique.
Автор: Коробова Ирина Львовна - кандидат технических наук, доцент кафедры «Системы автоматизированного проектирования», ГОУ ВПО «ТГТУ».
Рецензент: Подольский Владимир Ефимович - доктор технических наук, профессор, заведующий кафедрой «Системы автоматизированного проектирования», проректор по информатизации, ГОУ ВПО «ТГТУ».