Текст книги "Искусственный интеллект"
Автор книги: Роман Душкин
Жанр: Прочая образовательная литература, Наука и Образование
сообщить о неприемлемом содержимом
Текущая страница: 7 (всего у книги 21 страниц) [доступный отрывок для чтения: 7 страниц]
Раздел 3.2. Обработка естественного языка
Обработка естественного языка – это довольно большой раздел искусственного интеллекта, лежащий на пересечении интересов математики, лингвистики и прикладных инженерных наук. Основная задача заключается в возможности интеллектуальной системы осуществлять анализ и синтез фраз на естественном языке для общения с человеком. Вопрос о том, «понимает» ли эта интеллектуальная система то, о чём ведётся диалог, в рамках этого направления не ставится, так как человек сам ещё не очень-то понимает, что значит «понимать». Это вопрос философии сознания, а обработка естественного языка решает вполне прикладную задачу.
Процесс обработки естественного языка можно представить в виде кибернетической диаграммы, состоящей из следующих шагов:
• восприятие запроса на естественном языке;
• анализ запроса;
• «понимание» смысла запроса;
• генерация ответа;
• реализация ответа.
Сама диаграмма выглядит следующим образом.
На ней очень хорошо видны уровни применения пересекающихся в рамках технологий обработки естественного языка наук.
Итак, интеллектуальная система взаимодействует со своим окружением при помощи естественного языка. Как же происходит коммуникативный акт? Его можно описать следующим образом.
1. Окружающая среда формирует для интеллектуальной системы сообщение на естественном языке. Это может быть фраза, высказанная голосом и принятая сенсорами системы в виде акустических волн. Это может быть фраза, записанная на бумаге письменным курсивом и переданная в систему уже в виде матрицы пикселей. А также это может быть напечатанная на клавиатуре фраза, и тогда она непосредственно передаётся в систему.
2. Любой вариант входной естественно-языковой фразы попадает с сенсора на первичный обработчик, который и осуществляет процесс восприятия запроса на естественном языке. Фактически задачей этого этапа является перевод фразы из входного формата в формальное представление в виде последовательности символов – букв, слов, предложений. И это чисто инженерная задача (хотя, конечно же, она также нередко решается методами искусственного интеллекта, в частности нейросетевые модели в этой задачи получили самое широкое распространение и применение).
3. Далее формализованное сообщение попадает в лингвистический процессор, где осуществляется анализ сообщения для выявления его смысла в контексте коммуникативного акта. Лингвистический процессор сам по себе является довольно сложной системой, состоящей из последовательно соединённых блоков и использующей многостороннюю лингвистическую информацию и информацию об объективной реальности. Лингвистический процессор позволяет на основе входной фразы получить варианты дальнейших действий интеллектуальной системы, в состав которой он входит. Задачами лингвистического процессора являются: выявление и исправление ошибок во входной фразе, её токенизация, морфологический анализ каждого токена, синтаксический и семантический анализы всего сообщения. Предназначением же лингвистического процессора в рамках использующей его интеллектуальной системы является преобразование формализованной входной фразы в некоторый внутренний язык представления смысла, который система может перевести в последовательность своих поведенческих актов.
4. Проблема заключается в том, что естественный язык и общение на нём используют очень много неопределённостей, неоднозначностей, умолчаний и других подобных факторов. Даже человеческий естественный интеллект не всегда может правильно распознать смысл обращённой к нему фразы. Человеку в этом отношении помогают контекст беседы и общие знания об окружающей реальности. То же самое должна иметь и интеллектуальная система – в её базе знаний должно быть достаточно информации о том, как устроен окружающий мир (как минимум, в части той проблемной области, в которой ведётся разговор), и при этом система должна владеть контекстом беседы. Более того, интеллектуальная система также должна производить и так называемый прагматический анализ, т. е. изучать взаимоотношение и взаимодействие входной коммуникационной информации по отношению к самой себе и своему состоянию. Все это позволяет выбрать из полученных на выходе лингвистического процессора вариантов смысла один – именно тот, который подразумевался собеседником. На основании выбранного варианта смысла входной фразы интеллектуальная система осуществляет поведенческий акт, который на выходе из подсистемы «понимания» смысла запроса имеет вид формального описания того, что необходимо выполнить.
5. Следующий шаг заключается в генерации ответа на естественном языке. Этот шаг не является необходимым для интеллектуальных систем, от которых не ожидается ответа на запросы, но такие классы систем, как вопрос-ответные системы, чат-боты или иные системы с использованием общения с пользователем на естественном языке, должны осуществлять этот этап работы. В любом случае в состав методов обработки естественного языка, входят алгоритмы синтеза текста, но они намного проще, чем алгоритмы анализа. Перевод поведенческого акта системы с внутреннего языка представления смысла на естественный может осуществляться по шаблонам или по достаточно простым правилам генерации.
6. Наконец, последним шагом опять осуществляется в целом инженерная задача по переводу полученного естественно-языкового ответа в ту форму представления, которая доступна собеседнику. Например, если общение осуществляется посредством голоса, то интеллектуальная система должна сгенерировать звуковое соответствие своего ответа, т. е. как бы прочитать то, что написано. Ответ может передаваться в виде радиоволн или ещё как-то. Чаще всего сгенерированный ответ в виде строки непосредственно передаётся в канал, при помощи которого происходит общение. Наиболее важными и сложными являются шаги 2 и 3, поэтому заострим на них внимание.
Второй шаг выполняется лингвистическим процессором, который является программным средством, состоящим из нескольких модулей и многочисленных языковых баз данных. Его типовая структура может быть схематично представлена так, как показано на рисунке.
Кратко рассмотрим каждый компонент.
1. Модуль исправления ошибок осуществляет первичный просмотр входной естественно-языковой фразы и отлавливает в ней слова, которые могут быть написаны с ошибками. Это довольно простая задача в том смысле, что она легко формализуется и на её выходе неоднозначность минимальна. При этом не секрет, что если подходить к решению этой задачи «в лоб», то есть, например, для каждого входного слова возвращать список возможных замен для него (изменение одной буквы, перестановки букв и прочие варианты ошибочного написания), то общая неопределённость будет крайне высокой, так как практически у каждого слова или даже формы слова есть возможность изменить одну или несколько букв и получить другое правильное слово языка. Однако современные алгоритмы вполне понимают, когда имеется ошибка, а когда нет. К тому же часто алгоритмы этого модуля реализуют две тонкости. Во-первых, вместе с входной фразой для проверки они могут принимать дополнительную метаинформацию о фразе, в том числе и о том, как она была получена. Например, при получении фразы с клавиатуры ошибки, связанные с опечатками (нажата соседняя кнопка на клавиатуре), имеют больший вес, нежели те, которые с опечатками не связаны (например, замена букв осуществлена кнопками, находящимися на разных сторонах клавиатуры). Во фразе, пришедшей после распознавания рукописного или печатного текста, напротив, больше внимания будет уделено тем ошибкам, которые связаны с заменами похожих по начертанию букв. Второй аспект таких алгоритмов связан с получением обратной связи от модулей морфологического, синтаксического и семантического анализов, на основании результатов работы которых также можно определить, имеются во входной фразе ошибки или нет.
2. Входная строка с пометками о потенциальны ошибках далее подаётся на вход в модуль лексического анализа (или «токенизации»), т. е. разделения на отдельные слова или словосочетания (иногда единицей смысла выступает не слово, а их сочетание, например «в связи с», «так же, как и» и др.). Фактически для каждого варианта входной фразы с исправленными ошибками на выходе модуля токенизации появляется список лексем, который далее подаётся на вход модулю морфологического анализа.
3. Модуль морфологического анализа принимает на вход список вариантов лексем входной фразы и при помощи морфологического словаря для каждого варианта лексемы возвращает список возможных вариантов морфологического разбора этой лексемы. Под этим понимается возвращение начальной формы лексемы и приписывание к ней всей морфологической информации – тех грамматических категорий, в которых находится изначальная форма лексемы. Для различных языков набор грамматических категорий различен, но для целей универсального морфологического анализа чаще всего используются такие категории, как синтаксический падеж, число, род – для имён существительных и имён прилагательных; вид, наклонение, лицо, время – для глаголов и т. д. Набор значений каждой грамматической категории также различается от языка к языку. В итоге далее на вход модуля синтаксического анализа подаётся список вариантов лексем, и при этом к каждому варианту приписан список возможных способов морфологического анализа соответствующего варианта. Уже это позволяет понять, как в процессе лингвистического анализа расширяется пространство возможностей.
4. Следующим шагом в разборе фразы на естественном языке осуществляется синтаксический анализ, который выполняется соответствующим модулем. На его вход подаётся результат работы модуля морфологического анализа, и функциональность синтаксического анализа пытается сузить пространство возможностей при помощи применения ко всем вариантам морфологии лексем входной фразы различных синтаксических схем. В итоге оказывается, что не каждый вариант морфологии может использоваться в том окружении, в котором находится. По результатам работы отсекается огромная часть возможностей, и на выходе модуля появляется один или несколько вариантов синтаксического дерева, которое представляет собой перечисление синтаксических отношений между лексемами. Так в предложениях выделяется подлежащее и сказуемое, определяются все дополнения, обстоятельства и определения, распознаются внутренние грамматические падежи. Этот процесс более универсален и в меньшей степени зависит от обрабатываемого естественного языка в том смысле, что если для построения синтаксического дерева необходимо знать грамматические правила языка, то на выходе уже получается более или менее универсальная структура.
5. Наконец, модуль семантического анализа, на вход которого подаётся список возможных синтаксических конструкций входной фразы (чаще всего состоящий из одной такой конструкции, но не всегда). Задачей семантического анализа является выявление «смысла» фразы, при этом во внимание должны приниматься не только смыслы каждой лексемы, входящей в неё, но и история коммуникации вместе с её контекстом. Семантический анализ является самой сложной задачей в рамках лингвистического анализа, и надо отметить, что до конца эта задача не решена именно в силу того, что пока мы не до конца знаем, как человек понимает смысл. Каким образом из сотен тысяч ассоциативных связей, которые задействуются в мозге во время коммуникативного акта, выбирается конкретный набор и как этот задействованный набор ассоциаций регулирует дальнейшее поведение человека – эти вопросы ещё ждут своего исследователя. Тем не менее возможно практическое применение уже сейчас имеющихся методов семантического анализа, в большей мере основанных на символьных вычислениях, – «понимание смысла» в данном случае видится как задействование правил или узлов семантической сети, которые наиболее релевантны входному высказыванию, и именно они определяют дальнейшее поведение интеллектуальной системы. Впрочем, восходящие методы искусственного интеллекта в этой задаче также могут помочь: если нейросетевую интеллектуальную систему обучать на входных фразах определённым классам поведенческих актов, то не будет удивительным то, что она начнёт адекватно реагировать на похожие входные фразы схожим поведением.
6. Также в составе лингвистического процессора имеются языковые базы данных. В первую очередь это база морфологии, при помощи которой осуществляется проверка на наличие ошибок, лексемный и морфологический анализы. Также есть базы для осуществления синтаксического и семантического видов анализа. В базе данных по морфологии приводятся начальные формы лексем и парадигмы их изменения. В базе данных по синтаксису описываются всевозможные синтаксические конструкции, свойственные языку. Наконец, в базе данных по семантике приводятся семантические отношения между лексемами языка, описываются классы синонимов и антонимов, даются определения терминам. Все эти данные крайне сильно зависят от того естественного языка, для анализа которого предназначается лингвистический процессор. Однако хорошая новость заключается в том, что сегодня большинство таких баз для самых распространённых естественных языков уже собрано и доступно разработчикам интеллектуальных систем.
Распознанный смысл входной фразы далее из лингвистического процессора передаётся в блок «понимания» смысла запроса. Этот компонент должен преобразовать смысл фразы в поведенческий акт системы, применив как общие знания об окружающей реальности, так и контекст коммуникаций. Кроме того, в последнее время стала понятна важность распознавания эмоциональной нагрузки входной фразы, для того чтобы более качественно отвечать на неё с учётом «невербальных» сигналов пользователя.
В целом блок «понимания» смысла запроса выглядит следующим образом.
Подробнее разберём каждый элемент.
1. Модуль анализа эмоциональной нагрузки получает на вход результат семантического анализа входной естественно-языковой фразы и саму фразу, а на выходе возвращает описание эмоциональной нагрузки в виде значения из классификатора эмоций и, возможно, степени уверенности в этом значении. Эмоциональный анализ появился в рамках обработки естественного языка сравнительно недавно, но сегодня является неотъемлемой частью разговорных интерфейсов, поскольку выявление эмоций собеседника в диалоге позволяет выбрать стратегию ведения разговора. Сам анализ эмоциональной нагрузки осуществляется эвристически – по используемой лексике, по внеязыковым характеристикам фразы, по использованию «смайлов» и т. д. В целом эта область ещё менее изучена, нежели чистый лингвистический анализ.
2. Модуль подготовки вариантов ответов также получает на вход результат семантического анализа и на основании контекста беседы (хранится в базе данных контекста) и общих знаний о реальности и предметной области (хранятся в базе знаний системы) готовит один или несколько вариантов ответов. В качестве ответа может выступать или какая-либо естественно-языковая фраза (пока закодированная на внутреннем языке представления смысла), или последовательность действий системы, либо и то, и другое вместе.
3. Наконец, процедура выбора варианта ответа получает на вход перечень вариантов (может состоять из одного пункта) и результаты анализа эмоциональной нагрузки. В зависимости от определённых внутренних критериев, основанных на анализе прагматической составляющей обсуждаемой ситуации, эта процедура должна выбирать один вариант ответа, который возвращается в качестве итогового. Под прагматическим анализом здесь понимается то, что интеллектуальная система должна осуществлять выбор, принимая во внимание, как коммуникационный акт соотносится с ней, её текущим состоянием и целями. Также факт выбора конкретного ответа записывается в базу данных контекста беседы.
В целом так выглядит схема универсального алгоритма обработки естественного языка. К сожалению, сегодня пока ещё нет полноценных реализаций этой схемы, поскольку общая сложность естественного языка всё ещё недоступна для охвата программными средствами. Тем не менее разработки и дальнейшие исследования ведутся в следующих направлениях:
• символьная обработка на основе формальных грамматик;
• статистическая обработка;
• нейросетевая обработка с поиском и сопоставлением в пространствах подобия.
Во всех этих направлениях достигнуты определённые успехи, особенно в части анализа ограниченного подмножества языка с облегчённой грамматикой и ограниченным лексическим составом (так называемая «деловая проза»). Тем не менее остаётся много открытых вопросов и белых пятен. В частности, несмотря на то что теория формальных грамматик для полноценного символьного описания языка проработана очень детально, сами формальные грамматики для естественных языков не построены в полном объёме.
Статистическая обработка больших корпусов текстов не может считаться полноценным методом обработки естественного языка, так как в расчёт не принимается семантическая сторона высказываний. Вместе с тем результаты статистической обработки полезны как при построении формальных грамматик, так и при использовании искусственных нейронных сетей. Последние получили серьёзное применение в распознавании естественно-языковых запросов и генерации таких же ответов. Сегодня это одна из самых развивающихся областей искусственного интеллекта.
Обработка естественного языка традиционно используется для осуществления машинного перевода, для использования неформальных запросов к банкам данных и поиску в них, а также для организации простых интерфейсов между человеком и интеллектуальными системами. Последнее направление используется как для электронных помощников, так и в более узконаправленных решениях – экспертных системах и системах поддержки принятия решений. О них и поговорим в одном из следующих разделов…
Раздел 3.3. Представление знаний
Теперь перейдём к представлению знаний, поскольку этот вопрос является одним из центральных как при построении систем слабого искусственного интеллекта, так и при исследовании природы сознания. Каким образом устроены знания человека? Как человеческий мозг их хранит? Каким образом знания в голове человека актуализируются? Эти и многие другие вопросы встают перед исследователями в полный рост, когда дело доходит до реализации. Особенно это касается чистого подхода, в рамках которого осуществляется символьная обработка знаний и вывод на её основе новых знаний.
Вопросы изучения знаний человека об окружающей реальности и абстрактных понятиях и методов познания действительности в рамках философии были выделены в отдельное направление эпистемологии. Далее в связи с развитием информационных технологий и возникновением исследований по искусственному интеллекту в рамках философии сознания была выделена когнитология – междисциплинарная область исследований, которая объединяет методы психологии и информатики для оптимального представления знаний определённой проблемной области и для решения конкретных задач в ней.
Чем же отличаются знания от данных? Ведь если рассматривать этот вопрос с точки зрения теории информации, то любое знание в конечном итоге можно закодировать при помощи последовательности битов, что также можно сделать и с данными, т. е. как будто бы знания и данные ничем не различаются. Это очень тонкий вопрос, и для его решения необходимо рассмотреть более конкретизированные свойства двух понятий, которые лежат вне прерогативы теории информации.
Данные – это представление фактов (информации) об окружающей реальности или абстрактных понятиях в форме, позволяющей осуществлять коммуникацию, интерпретацию и обработку информации человеком индивидуально или при помощи специальных средств. Это определение несколько затуманивает более наивное понимание того, что данные – это формализованные факты. Факты рассматриваются в рамках какой-либо предметной области и лежат в основе формирования гипотез и теорий. Таким образом, данные относятся только к фактам и используются в качестве базиса при формулировании ответов на конкретные вопросы о соответствующей предметной области. Использование данных для получения новой информации без использования механизмов логического вывода, суждений и умозаключений в общем понимании невозможно.
Знания – это совокупность утверждений об объективной реальности или абстрактных понятиях, свойствах объектов, закономерностях процессов и явлений (т. е. знания в своей основе схожи с данными), но в состав знаний входят правила логического вывода одних утверждений из других и правила использования утверждений для принятия решений. Главнейшее отличие знаний от данных состоит в том, что знания активны – появление информации о новых фактах или отношениях между ними может изменить способы принятия решений. Также, в отличие от данных, знания рассматриваются в рамках проблемной области, т. е. в совокупности предметной области и решаемых в ней задач.
Имеет смысл перечислить основные свойства знаний, которые отличают их от данных.
1. Знания имеют более сложную структуру, чем данные.
2. Знания задаются как экстенсионально (т. е. через набор конкретных фактов, соответствующих рассматриваемому понятию), так и интенсионально (т. е. через свойства рассматриваемого понятия), а данные всегда задаются только экстенсионально.
3. Знания имеют внутреннюю интерпретируемость, т. е. возможность ассоциирования с элементом данных «избыточного» набора наименований тех множеств, в которые входит понятие.
4. Знания обладают рекурсивной структурированностью, т. е. возможностью расчленяться и объединяться в иерархические и родо-видовые отношения.
5. Связность единиц знаний определяет возможность установления различных отношений, отражающих семантику и прагматику связей отдельных явлений и фактов.
6. Наличие у знаний семантического пространства с метрикой позволяет определять близость и удалённость информационных единиц друг от друга.
7. Активность знаний определяет возможность формирования мотивов поведения, постановки целей, построения процедур их достижения.
8. Функциональная целостность знаний определяет возможность выбора желаемого результата, времени и средств получения результата, средств анализа достаточности полученного результата.
Наконец, прежде чем перейти к рассмотрению методов представления знаний, осталось рассмотреть пять уровней их организации. На первом уровне лежат знания в памяти человека – весь его основанный на эмпирическом опыте багаж знаний об окружающей реальности и правилах поведения в ней. На втором уровне лежат материализованные, но неформализованные знания – учебники, справочники, энциклопедии и т. д. На третьем уровне располагается так называемое «поле знаний», которое представляет собой полуформализованное, но уже структурированное описание знаний с первых двух уровней, т. е. из справочников и из головы экспертов. На четвёртом уровне поле знаний формализуется на каком-либо языке представления знаний в виде выбранной структуры. И наконец, на пятом уровне находятся знания в системе управления базами знаний.
Теперь рассмотрим отдельные формализмы для представления знаний. Не будем забегать вперёд и изучать то, как знания хранятся в искусственных нейронных сетях, а сосредоточимся на символьных высокоуровневых формализмах. К таковым относятся:
• фреймы;
• продукции;
• семантические сети.
Рассмотрим каждый подробнее.
Термин «фрейм» ввёл в оборот Марвин Мински, когда разрабатывал системы распознавания сцен для навигации роботов. Первоначально под фреймом понималась минимальная единица описания наблюдаемой сцены, но потом понятие было расширено до описания объектов, явлений, событий, ситуаций, процессов и т. д. По своей сути иерархия фреймов представляет собой объектное описание проблемной области. Фреймы могут представлять описание абстрактной сущности (фреймы-шаблоны) и конкретных элементов объективной реальности, с которыми в текущий момент работает интеллектуальная система. У фреймов имеются слоты (как атрибуты у объектов в рамках объектно-ориентированного программирования), и эти слоты могут быть заполнены значениями, ссылаться на другие фреймы, в том числе и на фреймы-шаблоны, слоты которых, в свою очередь, должны быть заполнены при конкретизации понятия. При заполнении слотов могут вызываться сценарии для обработки воспринимаемых сигналов из внешней среды. В целом фреймы как способ представления знаний предлагают очень широкий набор методов работы со знаниями, но сам по себе этот формализм достаточно громоздкий. Сегодня существуют интеллектуальные системы, представление знаний в которых основано на фреймах, но их количество сравнительно мало с системами, основанными на других формализмах.
Продукции – это правила вида «ЕСЛИ… ТО…». Они соответствуют закону формальной логики ModusPonens и позволяют вывести некоторые заключения из имеющихся фактов. Сам формализм продукций предоставляет больше метаатрибутов для обработки таких правил, в том числе контекст продукции (проблемная область или её сегмент), условие применения продукции, различные коэффициенты значимости или достоверности, а также постусловие, которое может использоваться для изменения самой базы знаний при выполнении продукции. Для работы с продукционной базой знаний требуется машина вывода, которая получает на вход факты и при помощи продукций делает выводы. Результаты такого вывода также попадают в список текущих фактов и, в свою очередь, могут использоваться для дальнейшего вывода. Машина вывода может осуществлять прямой вывод на основе уже упомянутого правила ModusPonens, и этот способ вывода используется для получения заключения на основе наблюдаемых факторов. Но также есть и обратная стратегия вывода, которая основана на правиле ModusTollens, и эта стратегия используется для получения возможных причин для текущих наблюдаемых проявлений (фактов). Некоторые более универсальные машины вывода одновременно могут использовать обе стратегии, смешивая их для достижения более сложных целей.
Наконец, семантические сети представляют собой направленные графы, в которых рёбра также несут на себе пометки. Обычно вершины представляют собой сущности проблемной области, а рёбра – некоторые отношения между ними. В общем смысле и вершины, и рёбра могут иметь произвольные пометки – их семантика определяется машиной вывода, которая обрабатывает семантическую сеть. Более того, для представления сложных ситуаций во многих проблемных областях желательно использовать расширение графов до отношений произвольной размерности. Это позволяют делать концептуальные графы, в рамках которых многомерные отношения представляются в виде отдельных узлов со специальными пометками. Вывод на семантических сетях осуществляется при помощи перехода от начальной вершины, в отношении которой надо осуществить вывод, ко всем вершинам, связанным с нею какими-либо отношениями, и далее до вершин, из которых уже нельзя совершить новых переходов. Результатом вывода являются все пути, семантика которых интерпретируется машиной вывода для конкретной цели и задачи.
Надо отметить, что чаще всего интеллектуальные системы одновременно используют несколько формализмов представления знаний. В частности, довольно часто объединяются семантические сети и наборы продукций. Это легко сделать потому, что у каждой продукции есть контекст её выполнения, и таким контекстом могут быть вершины семантической сети. Как только машина вывода доходит до какой-либо вершины в сети, на исполнение передаются все ассоциированные с этой вершиной продукции, и они исполняются в соответствии с принятой стратегией вывода и наличием означенных фактов из проблемной области. Это очень гибкий механизм, позволяющий представить практически любые знания из произвольной проблемной области. С другой стороны, фреймы и продукции также можно объединить – в таком объединении фрейм будет представлять собой контекст для продукций, а сами продукции будут связаны со слотами. Как только управление переходит к какому-либо фрейму с необходимостью заполнить его слоты, продукции из слотов передаются в машину вывода на исполнение. Это позволяет также гибко реагировать на сигналы из окружающей среды – в продукциях, ассоциированных со слотами, могут быть записаны правила реагирования интеллектуальной системы на те или иные шаблонные и конкретизированные события в окружающей среде. Объединение семантических сетей и фреймов менее очевидно, но тоже возможно. Сами по себе фреймы уже объединены в сеть стандартными отношениями, выстраивающими иерархию фреймов. Если расширить набор отношений, то фактически получается семантическая сеть с фреймами в вершинах. Если при этом иметь возможность ассоциирования с вершинами (то есть фреймами) и их слотами наборов продукций, то получается наиболее общий и наиболее гибкий механизм представления символьных знаний.
Наконец, важным дополнением к описанным формализмам представления знаний будет язык исполнения сценариев. Это может быть язык в любой парадигме, но самая главная его особенность заключается в том, что в его рамках есть доступ к полной объектной модели проблемной области и он обладает достаточной функциональностью для её обработки. Это позволяет «на лету» создавать сценарии обработки знаний под нужды конкретных задач. Такие сценарии могут использоваться при заполнении слотов во фреймовой модели, при выполнении консеквента продукции или при активации вершины в семантической сети.
Внимание! Это не конец книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?