Рекурсия в естественных языках

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

Иногда рекурсия в структурах включает несколько уровней вложенности, которые размывают смысл предложения, даже если его построение грамматически верно. Например, рассмотрим предложение:

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

Человек не пострадал.

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

Картина, которую мужчина, которого наняла женщина по соседству, повесил, упала. Новый повар, которого нанял шеф-повар, что много кричит, который не умеет жарить, был уволен.

Третий уровень анализа — контекстуальный анализ (contextual analysis). На этом уровне начинается процесс понимания контекста всего приложения. Например, в предложении

Лук выпал из его руки.

легко определить грамматическую роль каждого слова. Мы можем даже выполнить семантический анализ, выявив действие — падать, субъекта действия — лук и т. д. Но только после изучения контекста предложения становится понятным его значение. Действительно, значения будут различаться в контексте приготовления пищи и спортивных соревнований. Более того, именно на контекстуальном уровне выявляется действительный смысл вопроса «Вы знаете, который час?».

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

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

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

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

Другая форма записи данных, которая используется при извлечении информации, называется семантической сетью (semantic net). Это чрезвычайно большая связная структура данных, где связи между элементами данных обозначаются указателями. На рис. 10.26 показана часть семантической сети, в которой подсвечена информация, полученная из предложения

Мэри ударила Джона.

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

Роботы

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

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

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

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

Системы баз данных

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

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

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

С более традиционной точки зрения баз данных проблема заключается в идентификации и восстановлении информации, относящейся к теме, а не в простом получении явно запрошенных данных. Например, рассмотрим проблему пользователей, пытающихся найти определенную информацию во всемирной сети. Традиционный подход заставляет пользователей выделять ключевые слова и фразы, которые могут встретиться в требуемом документе. Затем система проводит поиск по своей базе данных и выдает те документы, в которых присутствуют указанные слова и фразы. К сожалению, эти системы — просто сито, выбирающее документы на основе синтаксиса, а не семантики. Они могут пропустить важные документы только потому, что в них упоминается слово «машины» вместо «автомобили». Что действительно необходимо пользователю — это поисковые системы, обладающие разумом и, следовательно, возможностью восстановления связанного (или ассоциированного) материала, а не просто умеющие выдавать явно запрошенную информацию.

Возьмем другой пример. Предположим, что у нас есть база данных, в которую занесены курсы, читаемые профессором в университете, и оценки, выставленные студентам. Пусть произошла следующая последовательность событий: мы запросили в базе данных количество оценок «5», выставленные профессором Джонсоном в последнем семестре. База данных выдает ответ: «нет». Мы делаем вывод, что профессор Джонсон очень требователен к ученикам, и просим количество поставленных им в последнем семестре двоек. И снова база данных отвечает «нет». Тогда мы решаем, что профессор Джонсон считает всех своих студентов средними учениками (за исключением выдающихся случаев), и запрашиваем количество троек, поставленных профессором в последнем семестре. База данных опять выдает ответ «нет». Здесь у нас возникают подозрения, и мы спрашиваем у базы данных, читал ли профессор Джонсон этот курс в последнем семестре. База данных сообщает: «нет». Но почему же она сразу не сказала нам об этом?! Нам бы хотелось, чтобы базы данных могли выдавать информацию, которую мы хотим получить, а не ту, которую мы запрашиваем.

Еще одна тема, которую исследуют науки о базах данных и искусственном интеллекте, — это разработка хранилищ данных и поисковых систем, умеющих выдавать информацию, которую подразумевают хранящиеся данные, вместо данных, которые фактически хранятся в системе. Другими словами, мы бы хотели, чтобы базы данных могли осмысливать хранящуюся информацию. Например, в базе данных содержится информация о президентах США. Если мы спрашиваем, был ли в США президент ростом 3 метра, традиционная поисковая система не сможет ответить на этот вопрос, если данные о росте каждого президента не занесены явно в базу данных. С другой стороны, интеллектуальная система сможет правильно ответить на вопрос, даже не зная роста президентов. Размышления шли бы по такому пути: если бы существоват президент ростом 3 метра, этот значительный факт был бы занесен в базу данных. Следовательно, если ни об одном президенте этого не сказано, значит, президентов ростом 3 метра просто не было.

Вывод о том, что президентов ростом 3 метра не существовало, обозначает очень важный момент в разработке баз данных — различие между базами данных, построенными на концепции закрытого мира (closed-world database), и базами, построенными на концепции открытого мира (open-world database). Проще говоря, база данных, исходящая из концепции закрытого мира, считает, что в ней содержатся все правдивые сведения о рассматриваемом вопросе, тогда как в базе данных открытого мира допускается, что это может быть не так. Умение отклонять гипотезу о трехметровом президенте в предыдущем примере основывалось на необоснованном предположении (концепция закрытого мира) о том, что если факт не зафиксирован, то он не является правдивым. Аналогично, база данных по подписчикам журнала применяет необоснованное предположение, утверждая, что определенный человек не подписан на журнал, даже не имея списка всех людей, не подписанных на этот журнал.

Хотя необоснованные предположения с первого взгляда кажутся безобидными, их применение может привести к скрытым сложностям. Предположим, что база данных состоит из одного утверждения: Микки - это мышонок или Дональд - это утка.

Основываясь только на этом утверждении, мы не можем сделать вывод, что Микки — действительно мышь. Следовательно, это необоснованное предположение заставляет нас сделать вывод, что утверждение

Микки - это мышонок

неверно. Аналогично, наше необоснованное предположение приводит к тому, что утверждение

Дональд - это утка

также неверно. Мы видим, что первое необоснованное предположение привело нас к противоречивому выводу, что, хотя одно или оба утверждения должны быть верными, оба они неверны. Понимание ограничений таких бесхитростных техник мышления — это цель актуальных исследований в области искусственного интеллекта.

Экспертные системы

Важное расширение концепции интеллектуальных баз данных — экспертные системы (expert systems). Это пакеты программного обеспечения, предназначенные для помощи людям в ситуациях, когда требуется эксперт в определенной области знаний. Такие системы имитируют мышление по образу «причина и следствие», то есть способ мышления эксперта при столкновении с такой же ситуацией. Так, медицинская экспертная система должна предложить тот же набор действий, что и медицинский эксперт, который знает, что необходимо провести биопсию, если замечено необычное состояние организма и рентгеновское обследование показывает наличие некоторого образования в этом месте.

Главная задача при создании экспертной системы — получение необходимых знаний от эксперта. Важной областью исследований стали способы выполнения этой задачи. Фактически она состоит из двух частей. Одна — это обеспечение и поддержка сотрудничества с экспертом. Такое сотрудничество может стать достаточно сложной проблемой, так как необходимый опрос часто бывает длинным и порой бесполезным, а эксперт может не пожелать передавать знания системе, которая в конечном итоге займет его место. Другой усложняющий фактор — это то, что большинство экспертов никогда не задумывались над процессом мышления, приводящим к определенным выводам. Если спросить их: «Как вы это сделали?», ответом чаще всего будет «Я не знаю».

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

(Если вы прочитали дополнительный раздел о декларативном программировании в главе 5, то заметите сходство между структурой экспертной системы и программой на языке Prolog. Это сходство является главной причиной популярности этого языка в области искусственного интеллекта. Действительно, Prolog — прекрасный язык для разработки экспертной системы.)

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

Не следует, однако, думать, что экспертная система — это просто увеличенный вариант программы для решения головоломки, рассмотренной ранее. Некоторые экспертные системы составлены из наборов продукционных систем, объединяющих усилия для решения задачи. Например, экспертные системы, основанные на модели «классной доски» (blackboard model), где несколько систем решения задач, называемых источниками знаний, работают в одной области хранения, называемой «классной доской». «Классная доска» отображает текущее состояние решаемой задачи, и, поскольку ее используют все источники знаний, она является средством, через которое все источники знания вносят свой вклад в решение задачи. Для координации действий источников знаний предусмотрен блок управления, выполняющий задачу активации подходящего источника знаний в подходящий момент времени. В терминологии модели «классной доски» управляющий модуль должен определять центр внимания системы (focus of the attention).

Другое различие между экспертной системой и простой продукционной системой состоит в том, что экспертная система не обязательно должна достигнуть предопределенной цели; чаще всего ее задачей является предоставление хорошо обоснованного совета. Например, предположим, что экспертная система столкнулась с проблемой диагностики заболеваний. В идеальном случае мы хотели бы, чтобы система выдавала определенное утверждение в форме «Диагноз — X», где на место X ставится название болезни. К сожалению, такой точности достигнуть невозможно. Наилучший ответ, которого можно ожидать, это «Вероятнее всего, диагноз — X» или «Диагнозом может быть X или Y. Выполните следующий тест для определения верного ответа». Из-за существования такой неопределенности система управления экспертной системы может проследовать по нескольким путям в графе состояний и выдать результаты всех исследований. Если порождение, полученное в каком-либо состоянии, это (присутствует ревматоидный фактор и у пациента наблюдается боль в суставах) следовательно (вероятность ревматоидного артрита равна 80£) то любое дальнейшее размышление, основанное на факте, что диагнозом является ревматоидный артрит, с какой-то вероятностью может быть неверным.

Как и в других областях исследований, ранние приложения экспертных систем были ограничены несколькими областями. Однако сегодня количество областей, в которых применяются экспертные системы, существенно возросло. Среди прочего причиной такого распространения стало осознание того, что экспертную систему можно разделить на мыслящую составляющую и составляющую знаний. Удалив базу знаний из существующей экспертной системы, мы останемся с системой имитирующих мышление процедур — механизмом логического вывода, который можно применить и в других задачах. Новые экспертные системы в прочих областях можно создавать, присоединяя новую базу знаний к существующему механизму логического вывода. С точки зрения продукционных систем, набор порождений составляет базу знаний, а система управления является механизмом логического вывода. (Если вы прочитали дополнительный раздел о декларативном программировании в главе 5, то поймете, что программа на языке Prolog — это база знаний, а лежащая в ее основании система Prolog является механизмом логического вывода.)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: