А. А. Красилов информатика в семи томах том Информатика смысла Машинная лингвистика



страница16/23
Дата01.08.2016
Размер4.61 Mb.
1   ...   12   13   14   15   16   17   18   19   ...   23
    Навигация по данной странице:
  • Пример.

Пример.


раздел меток ~метк_а 1~, ~метк_а 2~;

метка 1: перейти к метке 2 ^ метка 2: Р(Х).


4.5.16.Анкеты и шаблоны. Раздел о проблемной области

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

описание анкетой: ~простое имя анкеты~ двоеточие

определение анкетой конец анкеты , конец утверждения.

строчка анкеты: термин , операция отношения , ответ.

ответ: логическое выражение ; ?.

определение анкеты: строчка анкеты , конец утверждения ;

строчка анкеты , определение анкеты.

описание шаблоном: последовательность элементов шаблона.

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

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


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

Смысл шаблона - быть образцом задания или его фрагментами для ускорения выполнения однообразных заданий.



Пример.


раздел анкеты ~имя анкеты~:

Х = 25;


У = ?

С > 0


конец анкеты.
-- пример части шаблона:

--Уравнение

для i: T(у':=???;^

--решается методом Эйлера

у[r+1] = у[r] + у' * h);
4.5.17. Неявные описания и вводные фразы. Здесь кратко рассмотрим два типа описаний: неявные и вводные. Первые описания являются вложенными в Интеллсист заведомо. Вторые создаются только пользователем для игнорирования части текста так, как это делается с текстовыми комментариями. Неявные описания известны из руководств или терминологического словаря. Неявные описания заданы системе при ее создании. К ним относятся описания всех значений или лексем, всех стандартных величин, операций, функций и процедур из лексикона. Их подробное описание дано в следующем ниже разделе. Предметная область характеризуется множествами новых допустимых значений для понятий в отличие от тех, которые называются стандартными. Вводные фразы не влияют на знания и запросы (даже эмоционально), они просто игнорируются. Вводные фразы формально определяются в разделе вводных терминов в соответствии с нижеприводимыми правилами.
Назначение. Вводные слова и предложения известны в любом ЕЯ. Они обычно передают либо эмоциональную окраску пишущего текст, либо являются краткими замечаниями или отступлениями от основного текста. Причем многие вводные слова употребляются часто. Интеллсист определяет новый термин (вводную фразу), которому тем самым автоматически предписывается быть игнорируемому. При анализе текстов знаний и запросов вводные термины (или фразы) исключаются из рассмотрения, а их присутствие в тексте не оказывает влияния на смысл знания или запроса, в текстах которых они присутствуют.
Синтаксис

описание вводных терминов: список новых терминов.


Ограничение синтаксиса. Вводная фраза имеет количественные ограничения, она может состоять из различных слов и знаков.
Семантика. Вводные фразы имеют смысла пусто (void).
Примеры.

раздел вводных ~, например,~, ~(если даже нет)~;

раздел вводных ~(как видно)~, ~[на Си ++]~.

4.6. Стандартное окружение
Назначение. Основу стандартного окружения определяют фундаментальные знания, которые представлены в БЗ «Фундаментальные знания». На основе этих знаний можно решать общие исследовательские или прикладные задачи из области знаний, которая представлена в БЗ, они же используются при решении задач в любой области знаний. К фундаментальным знаниям относятся записи, которые приведены в Приложении. К ним относятся также встроенные знания, описанные в информатической логике. В записях включены знания, передаваемые учащимся в школе или на начальных курсах вузов («знания» ВМ, математические константы, некоторые правила информатической логики.
Синтаксис определен написанием БЗ и ее кодами, ограничения синтаксиса совпадают с ограничениями, принятыми в стандартном окружении, которое может расширяться по мере накопления опыта работы с этой БЗ. Запись БЗ определяет ее смысл и примеры для иллюстрации, она дана в Приложении 9.

4.7. Связь с программированием
ИП является преемником ПП. Весь или почти весь программный материал и потенциал программистов должен использоваться в ИП. Готовые программы целесообразно подключать в качестве средств моделирования предметов, явлений или процессов. Программистам целесообразно давать заказы на изготовление программ, которые могут обеспечить точность и скорость моделирования и избежать трудности формализации или работы с ФЯ. Могут быть указаны и другие причины применения программистского труда. Здесь рассматриваются два направления использования методов программирования. Первый связан с использованием готовых программ (кроме риюза), второй - с использованием рекомендаций программистов для получения эффективного кода.

4.7.1. Вызов готовых программ. Язык Вызов. Особое место в организации вызовов готовых подпрограмм занимает язык Вызов для описания строк вызова внешних подпрограмм. Ниже дано краткое описание этого языка.

Значением подпрограммы может быть строка, которая представляет код обращения к готовой программе на некотором ФЯ. Код обращения здесь называется вызовом программы. Ниже рассматривается ФЯ, который необходим программистам, если они желают, чтобы их программы использовала Интеллсист. Кроме вызова программ может оказаться важным описание идентификатора модуля, в котором содержатся подпрограммы. Для описания модуля также необходимо использовать строку, которую укажет программист для корректного использования подпрограмм. Описание языка Вызов состоит из вводной части, синтаксиса, семантики и прагматики.


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

  • подпрограммы библиотеки динамической компоновки (Имя.dll),

  • библиотечной подпрограммы статической компоновки (Имя.lib),

  • подпрограммы модуля объектного кода Intel (Имя.obj),

  • односегментной исполняемой программы ДОС (Имя.com),

  • исполняемой программы (Имя.exe),

  • подпрограммы ссылочного вызова пакетного файла (Имя.bat),

  • подпрограммы ссылочного вызова информационного файла (Имя.pif или Имя.lnk)

  • подпрограммы паскаль-модуля (Имя.pas, Имя.dcu, Имя.tpw).

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

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

имя подпрограммы с путем , возможная череда параметров ,

свойства подпрограммы двойная кавычка строка описания модуля.

строка описания модуля: двойная кавычка тип модуля двоеточие

ссылка на модуль , свойства подпрограммы двойная кавычка.

ссылка на модуль: имя модуля ; имя модуля in имя файла в апострофах.

имя файла в апострофах: апостроф имя файла с путем апостроф.

тип модуля: dll , lib , obj , unit , тип исполняемого модуля.

тип исполняемого модуля: com , exe , bat , pif , lnk.

имя подпрограммы с путем: имя модуля ; имя модуля, косая черта, идентификатор подпрограммы.

идентификатор подпрограммы: идентификатор ; символ решетки целое.

череда параметров: косая черта , символ процента , целое ;

перечень параметров косая черта , символ процента целое.

свойства подпрограммы: косая черта , символ решетки целое ;

свойства подпрограммы косая черта , символ решетки целое.


Ограничение семантики.

Синтаксис по содержанию ограничивает возможные записи строк из обращений к подпрограммам.


Семантика

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


Описание вызова формально есть череда параметров, разделенных символами косой черты. Первыми указываются возможные фактические параметры подпрограммы с указанием символа % из обращения к ней, вторыми - свойства подпрограммы после символа #. Из фактических параметров процедуры могут использоваться только некоторые, они должны быть по значению строками для формата exe. Некоторые параметры свойств можно опускать, тогда действует значение по умолчанию. Описание вызова зависит от типа модуля. Свойство подпрограммы задается кодами, которые приведены в таблице. Если некоторое свойство пропущено, то считается, что оно задано по умолчанию. Необходимо соблюдать четкую последовательность указываемых свойств:

(#10 или #11), (#20 или #21), (#30; #31), (#40 или #41).




Свойство подпро-

граммы

Смысл свойства

Свойство по умолчанию

/#16

Подпрограмма выполнена для 16-ти разрядного процессора

нет

/#32

Подпрограмма выполнена для 32-х разрядного процессора

нет

/#10

Передача фактических параметров подпрограмме справа налево

/#10

/#11

Передача фактических параметров подпрограмме слева направо

/#10

/#20

Подпрограммное освобождение стека

/#20

/#21

Программное освобождение стека

/#20

/#30

Межсегментный вызов подпрограммы (только для 16-разрядных)

/#30

/#31

Внутрисегментный вызов подпрограммы (только для 16-разрядных)

/#30

/#40

Без ожидания завершения исполнения подпрограммы

/#40

/#41

С ожиданием завершения исполнения подпрограммы

/#40

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


Примеры.

DLL: подпрограмма библиотеки динамической компоновки (Имя.dll).

Формат строки: "dll:some.dll/func/#32/#10/#20" или

"dll:some.dll/#34/#32/#10/#20".

Расшифровка первого варианта: имя модуля some, имя подпрограммы func, разрядность 32, передача параметров справа налево, очистка стека в подпрограмме. Расшифровка второго варианта: имя модуля some, номер подпрограммы 34, разрядность 32, передача параметров справа налево, очистка стека в подпрограмме.


LIB: библиотечной подпрограмма статической компоновки (Имя.lib).

Формат строки: "lib:some.lib/func/#32/#10/#21".

Расшифровка: имя модуля some, имя подпрограммы func, разрядность 32, передача параметров справа налево, очистка стека в программе.
OBJ: подпрограмма модуля объектного кода Intel (Имя.obj).

Формат строки: "obj:some.obj/func/#16/#11/#20/#31".

Расшифровка: имя модуля some, имя подпрограммы func, разрядность 16, передача параметров слева направо, очистка стека в подпрограмме, вызов внутрисегментный.
COM: односегментная, исполняемая программа исполняемого ДОС (Имя.com).

Формат строки: "exe:some.com/#41".

Расшифровка: имя программы some, ожидание окончания или завершения исполнения программы.
EXE: исполняемая программа (Имя.exe).

Формат строки: "exe:some.exe /#40".

Формат строки: "exe: some.exe /%1 /%4 /#40".

Расшифровка: Имя программы some, нет ожидания окончания исполнения программы. Во втором варианте указаны первый и четвертый параметры из обращения к процедуре, они должны быть строками.


BAT: подпрограмма ссылочного вызова пакетного файла (Имя.bat).

Формат строки: "exe:some.bat".

Расшифровка: имя пакетного файла some, нет ожидания окончания исполнения программы.
PIF и LNK: подпрограммы ссылочного вызова информационного файла (Имя.pif или Имя.lnk).

Форматы строк: "exe:some.pif" или

"exe:some.lnk/#40".

Расшифровка: имена ссылочных файлов some, нет ожидания окончания исполнения программы.



Замечание. Для типов исполняемых модулей идентификатор подпрограммы и разрядность не указываются, так как они не несут смысла. Подпрограмма не должна иметь параметров, она может быть описана только как процедура.
UNIT: подпрограмма паскаль-модуля (Имя.pas, Имя.tpw, Имя.dcu).

Формат строки: "unit: Some in ‘SomeUnit.pas’/func/#32/#11/#20".

Расшифровка: имя модуля some, строка описания Some in ‘SomeUnit’, имя подпрограммы func, разрядность 32, передача параметров слева направо, очистка стека в подпрограмме.

Замечание: Имя модуля в подпрограмме на языке Паскаль - это строка описания unit в разделе uses.
4.7.2. Спецификации представлений.

Назначение. Спецификация представлений вводит параметры внутреннего представления данных (и знаний). Спецификатор типа задает параметры для представления данных из типа.
Синтаксис.

Спецификатор представления : спецификатор типа ; спецификатор адреса ;

спецификатор записи ; спецификатор представления перечислимого.
Ограничение синтаксиса. В качестве значений в агрегате должны использоваться различные упорядоченные целые числа в форме одномерного массива.
Семантика. Для каждого литерала перечислимого типа ставится в соответствие внутренний код, используемый при формировании некоторого результата.
4.7.3. Переработка знания с ЕЯ

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


Переработка знаний, представленных по правилам СеГ, уже рассмотрена. Что же осталось за пределами СеГ? Как позитивно использовать подобные проблемы в ЯПП? Ответам на эти вопросы посвящается настоящий раздел. Точнее. Рассмотрим те потери знания, которые следуют из ограничений СеГ, и некоторые рекомендации во избежание таких потерь. К потерям относятся: использование или устранение избыточности текстов, использование вводных слов и предложений, устранение трудностей учета ударений в словах, смысл косвенной речи и роль СеГ для разнообразных разработок. Итак, по порядку.
4.7.4. Избыточность и умолчание в языках. Избыточность в языке определяется использованием в текстах вводных или случайных слов или большого числа терминов-синонимов. Вводные слова передают обычно состояния говорящего или пишущего. Можно предположить, что без них передаваемый текстами смысл не изменяется. Вводные слова характеризуют автора текста, его эмоции или пояснения, которые в данной области знания не имеют значение. Случайные слова имеют схожесть с вводными словами. Использование синонимов не изменяет смысл текста, но лишь с пользой увеличивает состав терминологического словаря, что никоим образом не изменяет содержание знаний. Представляют особый интерес местоимения, которые являются синонимами некоторых терминов. Проблема местоимений может разрешиться просто в случае использования местоимения в качестве основного термина.
Избыточность текстов может выражаться простыми повторами фраз или абзацев. Повторы не влияют на состав знаний. С точки зрения такой избыточности Интеллсист является хорошим фильтром. Иногда в таких ситуациях говорят о свойстве программы сжимать текст (в данном случае - знания). Это важная характеристика программы обработки знаний. Совершенно не имеет никакого значения источник возникновения повторов.
Потребительская сущность избыточности в языках состоит в следующем. Знания, передаваемые текстами в книгах, имеют общий характер в смысле изложения общих или конкретных сведений о предмете совместно с поясняющими и сопутствующими сведениями. Для читателя таких знаний дополнительные сведения полезны и обеспечивают сохранение времени при знакомстве со знаниями из других источников. Кроме этого, писатель вместе с основными сведениями передает свое отношение к знанию (подчас эмоционально), а иногда дополнительные сведения передают в текстах состояние писателя. Некоторые сведения поясняют смысл сообщаемых фактов или утверждений о фактах. Интеллсист (как потребитель) содержит фундаментальные знания, которые могут быть предметом пояснений писателя. Поэтому некоторая избыточность в текстах воспримется системой как зависимые знания. Практическая оценка поясняющей избыточности показывает, что большинство текстов содержат от 5% до 20% полезных для Интеллсист сведений, а остальное - зависимые знания. Проблема использования для Интеллсист зависимого знания разрешается автоматически. Препятствием для быстрой сортировки избыточности является тот факт, что избыточная часть текстов строится на основе лексикона, который не учтен в лексиконе данного ЯПП. Поэтому при вводе текстов в Интеллсист автоматически возникает вопрос о том или ином термине, который не передает сведений об изучаемом предмете.
Умолчание возникает при желании исключать повторы некоторых фрагментов фраз, так как их смысл уже передан текстуально ранее. Умолчание возникает и в случае требований краткости изложения мыслей, поскольку интуиция человека всегда может (до)описать подробности представляемого образа. Для Интеллсист это приводит к потере информации. Умолчание можно интерпретировать как предварительный ввод БЗ, которая не связана непосредственно с данной деятельностью пользователя, и применение лексикона и знаний из БЗ во всех запросах или вновь формируемых знаний.
4.7.5. Вводные слова, термины и фразы. Вводные слова и предложения часто используются в текстах знаний (а может быть и в запросах). Исключение вводных слов и предложений для Интеллсист возможно, если их явно указать системе с пометкой «вводное слово». Вводные слова, термины и фразы в этом случае необходимо считать терминами типа вводное слово, тогда Интеллсист будет аккуратно игнорировать их в текстах знаний или запросов.
Конечно, указанный подход квалификации вводных слов и предложений едва ли является приемлемым, так как он требует определенных усилий для создания их описаний. Поэтому другой подход будет приветствоваться пользователем. Он состоит в применении операций предварительного редактирования текстов знаний и запросов с помощью подходящего редактора, которое должно исключить вводные слова и предложения. Этот подход кроме всего проще и не будет порождать побочные ошибки типа «термин не описан».
Следует обратить внимание на одно важное обстоятельство. Если за основу БЗ берется учебник (или что-то еще из опубликованного), то можно гарантировать, что 80-90% текста будет состоять из «вводных слов и предложений». Объяснения тому просты. Каждая публикация (кроме БЗ для Интеллсист) содержит дополнительные сведения или знания, которые имеются уже во встроенных или фундаментальных БЗ или являются «лирическими» отступлениями от основной темы. Здесь знаниевед должен подходить к рассмотрению публикации критически. Он будет либо редактировать исходный текст, исключая 80-90% текста, либо извлекать из публикации полезный для БЗ текст. Текст публикации должен предварительно автоматически обрабатываться в Интеллсист для составления черновых терминологических словарей и построения подсказки знаниеведу при редактировании.
4.7.6. Ударение в словах. Два слова не отличаются по написанию, но различаются ударными слогами. Если слова используются для образования уникального термина совместно с другими словами или знаками, то проблема учета ударения может и не возникнуть. Тем не менее эта ситуация порождает неопределенность. Например, слова «за’мок» и «замо’к» в текстах на взгляд неразличимы в тексте, в котором они используются одновременно. Здесь ударение показано одинарной кавычкой. Контекст позволяет разрешить проблему различимости слов, если ударение явно не проставлено. Для Интеллсист контекстом является лексикон и небольшая окрестность данного слова. Если такой контекст достаточен, то проблема ударения разрешается. Например, только одно из двух приведенных слов используется в знаниях или запросе. Другой пример малого контекста содержится во введении двух понятий: прекрасный замок и надежный замок. Здесь указаны два термина, в каждом из которых ударение косвенно используется. И тогда проблема ударения становится ненужной. Использование двух одинаковых слов одновременно ставит для Интеллсист неразрешимую проблему распознавания терминов, отличающихся ударными слогами. Ее можно разрешить путем использования двух различных терминов «за’мок» и «замо’к», используя знак «’» для обозначения ударения. Расстановка ударений устраняет трудности введения одинаковых слов с ударениями на различных слогах. Окончательно проблема может разрешиться только при использовании микрофона для ввода знаний, а расстановка одинарных кавычек несколько усложняет процесс записи знаний и запросов.
Имеется другой подход разрешения проблемы. Если вместо привычного обозначения ударения ввести пробел в слова «за мок» и «замо к» и ввести эти слова как двухсловные термины, то проблема ударений успешно разрешается с одной оговоркой, что снижена читаемость текста и увеличена вероятность введения ошибок. Вообще же говоря, вместо пробела можно ввести некоторый символ, тогда проблема обозначения ударения (как сделано выше с помощью символа одинарной кавычки) также будет разрешена, но при этом запись слов не будет этично восприниматься. Для таких действий Интеллсист является готовой, ничего специального в систему вводить нет необходимости и целесообразности.
Итак, проблема ударения так или иначе может разрешаться. Каждый пользователь может сам определить пути ее разрешения. Пожалуй, наилучшим методом ее решения является прием использования одинарной кавычки на месте знака ударения. Другие пути устранения проблемы едва ли станут наглядными. Да и предложенный способ имеет ряд неприятностей. Во-первых, слово-термин распадается на два слова, во вторых, читаемость текста человеком снижается. Важны ли эти контраргументы, пусть решает сам пользователь. Имеется два универсальных подхода: не использовать два одинаковых по написанию слова одновременно и образовывать слово из двух слов.
Несколько спасительным обстоятельством является крайняя редкость использования ударения именно для различения двух и более слов. Значит с ударением можно справиться одним из двух способов либо слова употребляются в различных областях знания, либо применяется простой прием введения ударения в тексты знаний. Можно считать, что проблема ударения в словах полностью разрешается и почти естественным способом.
4.7.7. Смысл косвенной речи. Косвенная речь определяется в СиГ как запись текстов в кавычках. Такие тексты содержат или определяют некоторый смысл. Они могут передавать знания, которыми не следует пренебрегать. Тексты знания или запросов пользователя формально являются косвенной речью. Отсюда следуют выводы о том, что тексты косвенной речи уже учитываются, но они оформлены не по правилам СиГ, что имеющиеся тексты косвенной речи должны преобразовываться в тексты знаний.
Если смысл косвенной речи важен для знаний или запроса, то она должна быть переведена в разряд (или раздел) знания (без кавычек). В противном случае косвенная речь должна быть проигнорирована в исходных текстах. Косвенная речь может выступать как термин (весь текст в кавычках), тогда необходимо определить такой термин по правила СеГ. Строки в ЯПП имеют свой собственный смысл, они являются, если можно так условно говорить, косвенной речью в СеГ.
4.7.8. Роль синтаксической грамматики ЕЯ. СиГ ЕЯ применяется главным образом в двух случаях. Первый случай применения - это автоматический анализ исходных текстов знаний для автоматического выбора терминов и построения начального терминологического словаря, который может служить шпаргалкой при составлении текстов знаний и запросов. Второй случай применения - это автоматическая генерация текстов с результатами разрешения запроса (создание отчета). Обратный перевод с ФЯ на ЕЯ связан с трудностями реализации СиГ этого ЕЯ. Действительно, если СеГ допускает игнорирование рода, числа и падежа слов, то печать результатов на основе вводимых (зафиксированных) терминов зачастую не будет соответствовать СиГ. Приведение в соответствие требует учета всех правил СиГ. Эта проблема наиболее остро возникает при построении Интеллсист перевода с одного ЕЯ на другой. Но об этом необходим специальный разговор.
Для решения технических задач в широком смысле этого понятия вполне достаточно использование вводимых пользователем терминов для показа результатов решения его задач. Рассмотрим пример логической задачи «о лжеце», которая заключается в поиске лжеца при следующих условиях для трех собеседников A, B и C. Используются логические понятия: «говорит правду А», «говорит правду В», «говорит правду С». Для сокращения записей некоторых сведений о собеседниках вводятся синонимы: А для понятия «говорит правду А», В для понятия «говорит правду В» и С для понятия «говорит правду С». Для замены знаков операции также вводятся синонимы: «или» для операции \/, «не» для операции not и «и» для операции &.
Имеются три города А, В и С. Жители города А во всех случаях говорят правду, жители города В всегда лгут, жители города С говорят правду. Жители этих городов ходят друг к другу в гости. Наблюдатель хочет выяснить, в каком городе он находится и в каком городе живет его собеседник? Примерно так выглядит запись задачи для человека. Более точно в задаче сформулированы утверждения, являющиеся условиями: если говорит правду А, то не говорит правду В. Если говорит правду В, то не говорит правду С. Если говорит правду С, то говорит правду А и не говорит правду В.
раздел запроса ~найти лжеца~:

-- включает следующие тексты

раздел синонимов

~ А ~ = говорит правду А;

~ В ~ = говорит правду В;

~ С ~ = говорит правду С.

-- условие задачи состоит в поиске одного (!) из трех собеседников:

не А и В и С или

А и не В и С или

А и В и не С.

-- кроме этого имеются соотношения для характеристики собеседников:

если говорит правду А, то не говорит правду В;

если говорит правду В, то не говорит правду С;

если говорит правду С, то говорит правду А и не говорит правду В.

-- на этом завершается запрос.
конец.
Решение логической задачи будет таким (единственный вариант):

говорит правду А, не говорит правду В, говорит правду С.


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

Каталог: files
files -> Чисть I. История. Введение: Предмет философии науки Глава I. Философия науки как прикладная логика: Логический позитивизм
files -> Занятие № Философская проза Ж.=П. Сартра и А. Камю. Философские истоки литературы экзистенциализма
files -> -
files -> Взаимодействие поэзии и прозы в англо-ирландской литературе первой половины XX века
files -> Эрнст Гомбрих История искусства москва 1998
files -> Питер москва Санкт-Петарбург -нижний Новгород • Воронеж Ростов-на-Дону • Екатеринбург • Самара Киев- харьков • Минск 2003 ббк 88. 1(0)
files -> Антиискусство как социальное явлеНИе
files -> Издательство
files -> Список иностранных песен
files -> Репертуар группы


Поделитесь с Вашими друзьями:
1   ...   12   13   14   15   16   17   18   19   ...   23


База данных защищена авторским правом ©uverenniy.ru 2019
обратиться к администрации

    Главная страница