Проблема искусственного интеллекта

 

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

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

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

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

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

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

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

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

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

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

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

Структурные элементы, составляющие систему, выполняют следующие функции:

База знаний - реализует функции представления знаний в конкретной предметной области и управление ими.

Механизм логических выводов - выполняет логические выводы на основании знаний, имеющихся в базе знаний.

Пользовательский интерфейс - необходим для правильной передачи ответов пользователю, иначе пользоваться системой крайне неудобно.

Модуль приобретения знаний - необходим для получения знаний от эксперта, поддержки базы знаний и дополнения ее при необходимости.

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

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

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

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

Обеспечение взаимодействия с ЭВМ на естественном языке (ЕЯ) является важнейшей задачей исследований по искусственному интеллекту (ИИ). Базы данных, пакеты прикладных программ и экспертные системы, основанные на ИИ, требуют оснащения их гибким интерфейсом для многочисленных пользователей, не желающих общаться с компьютером на искусственном языке. В то время как многие фундаментальные проблемы в области обработки ЕЯ (Language Processing, NLP) еще не решены, прикладные системы могут оснащаться интерфейсом, понимающем ЕЯ при определенных ограничениях.

Существуют два вида и, следовательно, две концепции обработки естественного языка:

для отдельных предложений;

для ведения интерактивного диалога.

Обработка естественного языка - это формулирование и исследование компьютерно-эффективных механизмов для обеспечения коммуникации с ЭВМ на ЕЯ. Объектами исследований являются:

Собственно естественные языки.

Использование ЕЯ как в коммуникации между людьми, так и в коммуникации человека с ЭВМ.

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

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

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

Различаются общая и прикладная NLP. Задачей общей NLP является разработка моделей использования языка человеком, являющихся при этом компьютерно-эффективными. Основой для этого является общее понимание текстов, как это подразумевается в работах Чарняка, Шенка, Карбонелла и др. Несомненно, общая NLP требует огромных знаний о реальном мире, и большая часть работ сосредоточена на представлении таких знаний и их применении при распознавании поступающего сообщения на ЕЯ. На сегодняшний день ИИ еще не достиг того уровня развития, когда для решения подобных задач в большом объеме использовались бы знания о реальном мире, и существующие системы можно называть лишь экспериментальными, поскольку они работают с ограниченным количеством тщательно отобранных шаблонов на ЕЯ.

Прикладная NLP занимается как правило не моделированием, а возможностью коммуникации человека с ЭВМ на ЕЯ. В этом случае не так важно, как введенная фраза будет понята с точки зрения знаний о реальном мире, а важно извлечение информации о том, чем и как ЭВМ может быть полезной пользователю (примером может служить интерфейс экспертных систем). Кроме понимания ЕЯ, в таких системах важно также и распознавание ошибок и их коррекция.

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

Синтаксическая (структурная) неоднозначность: во фразе Time flies like an arrow для ЭВМ неясно, идет ли речь о времени, которое летит, или о насекомых, т. е. является ли слово flies глаголом или существительным.

Смысловая неоднозначность: во фразе The man went to the bank to get some money and jumped in слово bank может означать как банк, так и берег.

Падежная неоднозначность: предлог in в предложениях He ran the mile in four minutes/He ran the mile in the Olympics обозначает либо время, либо место, то есть представлены различные отношения.

Референциальная неоднозначность: для системы, не обладающей знаниями о реальном мире, будет затруднительно определить, с каким словом - table или cake - соотносится местоимение it во фразе I took the cake from the table and ate it.

Литерация (Literalness): в диалоге Can you open the door? - I feel cold ни просьба, ни ответ выражены нестандартным способом. В других обстоятельствах на вопрос может быть получен прямой ответ yes/no, но в данном случае в вопросе имплицитно выражена просьба открыть дверь.

Центральная проблема как для общей, так и для прикладной NLP - разрешение такого рода неоднозначностей - решается с помощью перевода внешнего представления на ЕЯ в некую внутреннюю структуру. Для общей NLP такое превращение требует набора знаний о реальном мире. Так, для анализа фразы Jack took the bread from the supermarket shelf, paid for it, and left и для корректного ответа на такие вопросы, как What did Jack pay for?, What did Jack leave? и Did Jack have the bread with him when he left? необходимы знания о супермаркетах, процессах покупки и продажи и некоторые другие.

Прикладные системы NLP имеют преимущество перед общими системами, так как работают в узких предметных областях. К примеру, системе, используемой продавцами в магазинах по продаже компьютеров, не нужно «раздумывать» над неоднозначностью слова terminals в вопросе How many terminals are there in the order?

Тем не менее, создание систем, имеющих возможность общения на ЕЯ в широких областях, возможно, хотя пока результаты неудовлетворительны.

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

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

 

Тема: «Иерархия мироздания: микромир, мезомир, макромир»

(4 часа)