Смекни!
smekni.com

Изобретание, проектирование, разработка и сопровождение) Том Интеллектуальные системы (Системы решения проблем)  Альберт Александрович Красилов (стр. 32 из 85)

Главным результатом работы синтаксического и семантического анализов является выходной текст на объектном языке. В случае транслятора ЯПП на язык Лейбниц результатом являются словари и элементы БЗ. Содержательно, выходным «текстом» транслятора Интеллсист являются совокупности древовидной информации, кодирующих формулы, слова и термины.

С транслятором Интеллсист непосредственно соединены МЛВ и МАВ, решающие логические уравнения. После формирования фрагмента формулы ветвь дерева передается в БЗ через алгоритмы логического вывода. Во-первых, это важно для быстрого и локализованного обнаружения противоречивости знаний. Во-вторых, так поступает человек при чтении книг или статей. В третьих, разнесенная по времени работа по формированию элементов БЗ с работами по синтаксическому, семантическому, концептуальному, прагматическому и смысловому анализу привело бы к повторению или дублированию некоторых детальных работ. В четвертых, для вычисления смысла фраз важным является наличие в БЗ элементов и использование «рабочего» контекста или контекста и величин, возникающих в процессе указанных анализов. Объединение по времени выполнения алгоритмов трансляции текстов и формирования БЗ с этих позиций является необходимым. Однако при таком объединении возникает новый эффект автоматического «программирования». Для ФЯ программирования повторная трансляция является привычным и необходимым делом. Повторная трансляция знаний и запросов недопустима без восстановления исходных состояний Интеллсист, поскольку транслятор Интеллсист обладает интегральным эффектом. В БЗ откладываются элементы знаний, которые остаются при повторном запуске, например запроса. Появляются ошибки «дважды описан термин» и другие, что не позволяет продвинуться вперед с модифицированным запросом. Для Интеллсист необходимо восстанавливать исходное (до вывода запроса) состояние БЗ, для чего необходимо позаботиться о сохранении начального состояния БЗ. Аналогично обстоит дело с запоминанием знаний человеком при хорошей работе его памяти.

Проверка орфографии (терминография) состоит из идентификации терминов, грамматическая проверка состоит из синтаксического контроля текстов. Такая проверка не строит БЗ, но создает всевозможные словари.

Здесь рассмотрены лишь самые общие черты алгоритмов трансляции ЯПП на язык Лейбниц. Это сделано в угоду пользователя (кроме программистов), которому неважно во что и как транслируется текст.

7.4. Перевод с формального языка на естественный язык

Когда Интеллсист завершила логический вывод решения логического уравнения, осуществляется печать результатов в виде альтернатив совместных фактов. Тексты результатов должны (вообще говоря) удовлетворять правилам СиГ для обеспечения читаемости, поскольку с помощью СеГ хорошо передается смысл текстов, но от правил СеГ страдает красочность результирующих текстов. Приведение формальных записей результатов к грамотным (в соответствии с правильным использованием окончаний слов) текстам для человека составляет важную проблему информатики. Она является достаточно сложной в силу сложности СиГ. Правда, имеются случаи, когда результаты печатаются один к одному. Например, если решена математическая задача, то результат будет выглядеть следующим образом: Х = 23, У = 18; Х = -3, У = -8. Такая запись двух альтернатив для переменных Х и У является приемлемой. Но можно привести много примеров, когда запись становится неприемлемой: «не дождь идет», вместо текста «дождь не идет». Здесь логическая величина «дождь идет» может принимать логические значения ложь или истина (в примере ее значением является ложь).

Из приведенных примеров видна проблема перевода текстов с ФЯ Лейбниц на ЯПП, проблема выполнения правил СиГ, которая в принципе является разрешимой. Если задание имело вычислительный характер, то результаты готовы для восприятия человеком (что важно для встроенных ВМ). Если задание имело не числовой характер, то согласование слов и фраз в соответствии с правилами Сиг важно для правильно восприятия человеком (что неважно для автоматического формирования новых запросов для Интеллсист). Другая проблема касается способов формирования утверждений, являющихся результатом разрешения запросов. Сразу рассмотрим пример. Пусть решается задача с неполным знанием в многозначной логике, использующей слова «необходимо» или «возможно». Прямой результат работы МЛВ будет иметь вид: «работа выполнена = возможно» или «не построено здание = необходимо». Подобные тексты почти не воспринимаются без дополнительных размышлений. Воспринимаемыми текстами являются такие: «возможно работа выполнена» или «построение здания не необходимо» (фраза может быть сформирована более точно, если выбрано новое значение вместо значения «не необходимо», например «важно»). Проблема состоит в автоматизации (или в применении правил) анализа текстов по правилам стилистики.

Задача обратного перевода с ФЯ на ЯПП крайне необходима для наглядного представления результатов. Эта задача отпадает, если результаты используются далее некоторой Интеллсист, так как выходной текст удовлетворяет грамматике ЯПП. Задача обратного перевода крайне важна, она еще более усиливается при построении перевода с ЕЯ на другой язык. Здесь проделана большая работа [Кулагина79], ее опыт должен полностью использоваться. При построении таких трансляторов необходимо воспользоваться существующими программами перевода. Трудности учета СиГ полностью известны - это проблемы учета окончаний и правил стилистики. Алгоритмически (или через Интеллсист для гуманитарных задач) должны учитываться все правила и исключения СиГ, возможно с учетом синонимии, которая не использовалась в лексиконе.

7.5. Сохранение смысла

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

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

Хуже обстоит дело с искажением знания, выраженного логически. Локальное противоречие может нанести непоправимый ущерб для БЗ. Это происходит не всегда. Локальное противоречие в большинстве случаев «подправляет» содержимое БЗ, устраняет «шероховатости» неполного или неопределенного знания. Однако надо быть готовым к возможному искажению знаний. Интеллсист обеспечивает контроль над локальными противоречиями. Сигнализация о локальных противоречиях (если она подключена) может оказаться полезной для тщательной проверки знаний. Интеллсист не способна автоматически выправить положение с искажением знаний, но она способна обнаружить признаки такой ситуации и достаточно точно локализовать место локального противоречия. Глобальное противоречие, которое также обнаруживает Интеллсист, автоматически запрещает продвижение вперед к разрешению запросов. Зависимые знания, которые не искажают смысла знания или запроса, могут обнаруживаться по параметрическому запросу пользователя. Дело пользователя определить, что необходимо предпринять в таких случаях. Еще одно действие, которое подвластно Интеллсист. Полнота знаний контролируется в Интеллсист, но не используется для какого-либо искажения знаний. Неопределенность операций или величин может привести к индикации такой ситуации, но не более того. Здесь перечислены основные действия, так или иначе направленные на возможное изменение смысла знаний при трансляции или логическом выводе. Интеллсист может способствовать локализации причин искажения.

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