stringtranslate.com

Представление знаний и рассуждения

Представление знаний и рассуждение ( KRR , KR&R , KR² ) — это область искусственного интеллекта (ИИ), посвященная представлению информации о мире в форме, которую компьютерная система может использовать для решения сложных задач, таких как диагностика состояния здоровья или ведение диалога на естественном языке . Представление знаний включает в себя выводы из психологии [1] о том, как люди решают проблемы и представляют знания, с целью разработки формализмов , которые облегчат проектирование и создание сложных систем. Представление знаний и рассуждение также включают в себя выводы из логики для автоматизации различных видов рассуждений .

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

История

Самая ранняя работа в области компьютерного представления знаний была сосредоточена на общих решателях проблем, таких как система General Problem Solver (GPS), разработанная Алленом Ньюэллом и Гербертом А. Саймоном в 1959 году, и Advice Taker, предложенная Джоном Маккарти также в 1959 году. GPS включала структуры данных для планирования и декомпозиции. Система начиналась с цели. Затем она разлагала эту цель на подцели и затем приступала к построению стратегий, которые могли бы достичь каждой подцели. Advisor Taker, с другой стороны, предлагал использовать исчисление предикатов для представления рассуждений здравого смысла .

Многие из ранних подходов к представлению знаний в ИИ использовали графовые представления и семантические сети , похожие на графы знаний сегодня. В таких подходах решение проблем было формой обхода графа [2] или поиска пути, как в алгоритме поиска A* . Типичные приложения включали в себя формирование плана робота и игровые действия.

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

В то же время Джон Маккарти и Пэт Хейз разработали исчисление ситуаций как логическое представление знаний здравого смысла о законах причины и следствия. Корделл Грин , в свою очередь, показал, как сделать робота-планообразующим, применяя резолюцию к исчислению ситуаций. Он также показал, как использовать резолюцию для вопросов и ответов и автоматического программирования. [3]

Напротив, исследователи из Массачусетского технологического института отвергли парадигму единообразной процедуры доказательства резолюции и вместо этого выступили за процедурное внедрение знаний. [4] Возникший в результате конфликт между использованием логических представлений и использованием процедурных представлений был разрешен в начале 1970-х годов с развитием логического программирования и Пролога , с использованием резолюции SLD для обработки предложений Хорна как процедур снижения цели.

Раннее развитие логического программирования было в основном европейским явлением. В Северной Америке исследователи ИИ, такие как Эд Фейгенбаум и Фредерик Хейс-Рот, выступали за представление знаний, специфичных для предметной области, а не за рассуждения общего назначения. [5]

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

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

Между тем, Марвин Мински разработал концепцию фрейма в середине 1970-х годов. [8] Фрейм похож на класс объектов: это абстрактное описание категории, описывающей вещи в мире, проблемы и потенциальные решения. Фреймы изначально использовались в системах, ориентированных на человеческое взаимодействие, например, понимание естественного языка и социальных условий, в которых различные ожидания по умолчанию, такие как заказ еды в ресторане, сужают пространство поиска и позволяют системе выбирать соответствующие ответы на динамические ситуации.

Вскоре сообщества фреймов и исследователи, работающие на основе правил, поняли, что между их подходами существует синергия. Фреймы были хороши для представления реального мира, описываемого как классы, подклассы, слоты (значения данных) с различными ограничениями на возможные значения. Правила были хороши для представления и использования сложной логики, такой как процесс постановки медицинского диагноза. Были разработаны интегрированные системы, которые объединяли фреймы и правила. Одной из самых мощных и известных была среда разработки знаний (KEE) 1983 года от Intellicorp . KEE имела полный механизм правил с прямой и обратной цепочкой . Она также имела полную базу знаний на основе фреймов с триггерами, слотами (значениями данных), наследованием и передачей сообщений. Хотя передача сообщений возникла в объектно-ориентированном сообществе, а не в ИИ, она была быстро принята исследователями ИИ, а также в таких средах, как KEE и в операционных системах для машин Lisp от Symbolics , Xerox и Texas Instruments . [9]

Интеграция фреймов, правил и объектно-ориентированного программирования была в значительной степени обусловлена ​​коммерческими предприятиями, такими как KEE и Symbolics, которые отделились от различных исследовательских проектов. В то же время существовало другое направление исследований, которое было менее коммерчески ориентировано и было обусловлено математической логикой и автоматизированным доказательством теорем. [ требуется ссылка ] Одним из наиболее влиятельных языков в этом исследовании был язык KL-ONE середины 80-х годов. KL-ONE был фреймовым языком , который имел строгую семантику, формальные определения для таких понятий, как отношение Is-A . [10] KL-ONE и языки, на которые он оказал влияние, такие как Loom, имели автоматизированную машину рассуждений, которая была основана на формальной логике, а не на правилах IF-THEN. Этот рассуждающий механизм называется классификатором. Классификатор может анализировать набор объявлений и выводить новые утверждения, например, переопределять класс, чтобы он был подклассом или суперклассом некоторого другого класса, который не был формально указан. Таким образом, классификатор может функционировать как механизм вывода, выводящий новые факты из существующей базы знаний. Классификатор также может обеспечить проверку согласованности в базе знаний (которая в случае языков KL-ONE также называется Онтологией). [11]

Другой областью исследования представления знаний была проблема рассуждений здравого смысла . Одним из первых осознаний, полученных при попытке создать программное обеспечение, которое может функционировать с естественным человеческим языком, было то, что люди регулярно опираются на обширную базу знаний о реальном мире, которые мы просто принимаем как должное, но которые совсем не очевидны для искусственного агента. Основные принципы физики здравого смысла, причинность, намерения и т. д. Примером является проблема фреймов , что в логике, управляемой событиями, должны быть аксиомы, которые утверждают, что вещи сохраняют положение от одного момента к другому, если они не перемещаются какой-либо внешней силой. Чтобы создать настоящего агента искусственного интеллекта, который может общаться с людьми, используя естественный язык , и может обрабатывать основные утверждения и вопросы о мире, необходимо представлять этот вид знаний. [12] Помимо ситуационного исчисления Маккарти и Хейса, одной из самых амбициозных программ по решению этой проблемы был проект Cyc Дуга Лената . Cyc создал свой собственный язык фреймов и заставил большое количество аналитиков документировать различные области рассуждений здравого смысла на этом языке. Знания, записанные в Cyc, включали в себя общепринятые модели времени, причинности, физики, намерений и многое другое. [13]

Отправной точкой представления знаний является гипотеза представления знаний, впервые формализованная Брайаном С. Смитом в 1985 году: [14]

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

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

Недавние проекты, финансируемые в основном Агентством перспективных исследовательских проектов Министерства обороны США (DARPA), интегрировали языки фреймов и классификаторы с языками разметки на основе XML. Структура описания ресурсов (RDF) обеспечивает базовую возможность определения классов, подклассов и свойств объектов. Язык веб-онтологии (OWL) обеспечивает дополнительные уровни семантики и позволяет интегрировать с механизмами классификации. [15] [16]

Обзор

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

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

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

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

Ключевым компромиссом при разработке формализмов представления знаний является компромисс между выразительностью и читаемостью. [18] Логика первого порядка (ЛП) с ее высокой выразительной силой и способностью формализовать большую часть математики является стандартом для сравнения выразительности языков представления знаний.

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

Одним из ключевых открытий исследований ИИ в 1970-х годах было то, что языки, которые не обладают полной выразительной силой FOL, все еще могут обеспечивать близкую к той же выразительной силе FOL, но могут быть проще для понимания как среднестатистическим разработчиком, так и компьютером. Многие из ранних формализмов представления знаний ИИ, от баз данных до семантических сетей и производственных систем, можно рассматривать как принятие различных проектных решений о том, как сбалансировать выразительную силу с естественностью выражения и эффективностью. [19] В частности, этот балансирующий акт был движущей силой для разработки правил IF-THEN в экспертных системах на основе правил .

Подобный балансирующий акт также был мотивацией для разработки логического программирования (LP) и языка логического программирования Prolog . Логические программы имеют синтаксис, основанный на правилах, который легко спутать с синтаксисом IF-THEN правил производства . Но логические программы имеют четко определенную логическую семантику, тогда как производственные системы ее не имеют.

Самая ранняя форма логического программирования была основана на подмножестве предложений Хорна FOL. Но более поздние расширения LP включали отрицание как правило вывода неудачи, которое превращает LP в немонотонную логику для рассуждений по умолчанию . Результирующая расширенная семантика LP является вариацией стандартной семантики предложений Хорна и FOL и является формой семантики базы данных, [20] которая включает предположение об уникальности имени и форму предположения о замкнутом мире . Эти предположения гораздо сложнее сформулировать и обосновать с явным использованием стандартной семантики FOL.

В ключевой статье 1993 года по этой теме Рэндалл Дэвис из Массачусетского технологического института выделил пять различных ролей для анализа структуры представления знаний: [21]

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

Semantic Web объединяет концепции из представления знаний и рассуждений с языками разметки на основе XML. Resource Description Framework (RDF) предоставляет основные возможности для определения объектов на основе знаний в Интернете с такими базовыми функциями, как отношения Is-A и свойства объектов. Web Ontology Language (OWL) добавляет дополнительную семантику и интегрируется с автоматическими рассуждениями классификации. [16]

Характеристики

В 1985 году Рон Брахман классифицировал основные проблемы представления знаний следующим образом: [23]

Онтологическая инженерия

В ранние годы систем, основанных на знаниях, базы знаний были довольно маленькими. Базы знаний, которые были предназначены для решения реальных проблем, а не для демонстрации доказательств концепции, должны были сосредоточиться на четко определенных проблемах. Так, например, не только медицинская диагностика как целая тема, но и медицинская диагностика определенных видов заболеваний.

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

После CycL было разработано несколько языков онтологий . Большинство из них являются декларативными языками и являются либо языками фреймов , либо основаны на логике первого порядка . Модульность — способность определять границы вокруг конкретных доменов и проблемных пространств — имеет важное значение для этих языков, поскольку, как заявил Том Грубер , «Каждая онтология — это договор — социальное соглашение между людьми с общим мотивом в совместном использовании». Всегда существует множество конкурирующих и различающихся взглядов, которые делают любую онтологию общего назначения невозможной. Онтология общего назначения должна быть применима в любой области, и различные области знаний должны быть объединены. [27]

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

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

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

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

Смотрите также

Ссылки

  1. ^ Шанк, Роджер; Абельсон, Роберт (1977). Сценарии, планы, цели и понимание: исследование структур человеческого знания . Lawrence Erlbaum Associates, Inc.
  2. ^ Доран, Дж. Э.; Мичи, Д. (1966-09-20). «Эксперименты с программой Graph Traverser». Proc. R. Soc. Lond. A. 294 ( 1437): 235–259. Bibcode : 1966RSPSA.294..235D. doi : 10.1098/rspa.1966.0205. S2CID  21698093.
  3. ^ Грин, Корделл. Применение доказательства теорем к решению проблем (PDF) . IJCAI 1969.
  4. ^ Хьюитт, К., 2009. Устойчивость к несоответствиям в логических программах. Препринт arXiv arXiv:0904.3036.
  5. ^ Ковальски, Роберт (1986). «Ограничение логики». Труды четырнадцатой ежегодной конференции ACM по информатике 1986 года — CSC '86 . С. 7–13. doi :10.1145/324634.325168. ISBN 0-89791-177-6. S2CID  17211581.
  6. ^ Нильссон, Нильс (1995). «Взгляд на приз». Журнал AI . 16 : 2.
  7. ^ Хейс-Рот, Фредерик; Уотерман, Дональд; Ленат, Дуглас (1983). Построение экспертных систем. Addison-Wesley. ISBN 978-0-201-10686-2.
  8. Марвин Мински, Структура представления знаний, Меморандум 306 лаборатории MIT-AI, июнь 1974 г.
  9. ^ Меттри, Уильям (1987). «Оценка инструментов для построения больших систем, основанных на знаниях». Журнал AI . 8 (4). Архивировано из оригинала 10.11.2013 . Получено 24.12.2013 .
  10. ^ Брахман, Рон (1978). «Структурная парадигма представления знаний» (PDF) . Технический отчет Болта, Беранека и Неймана (3605). Архивировано (PDF) из оригинала 30 апреля 2020 г.
  11. ^ МакГрегор, Роберт (июнь 1991 г.). «Использование классификатора описаний для улучшения представления знаний». IEEE Expert . 6 (3): 41–46. doi :10.1109/64.87683. S2CID  29575443.
  12. ^ Маккарти, Дж. и Хейс, П. Дж. 1969. Некоторые философские проблемы с точки зрения искусственного интеллекта в Wayback Machine (архивировано 25 августа 2013 г.). В Meltzer, B. и Michie, D., ред., Machine Intelligence 4. Эдинбург: Издательство Эдинбургского университета. 463–502.
  13. ^ Lenat, Doug; RV Guha (январь 1990). Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project . Addison-Wesley. ISBN 978-0201517521.
  14. ^ Смит, Брайан С. (1985). «Пролог к ​​размышлениям и семантике в процедурном языке». В Рональде Брахмане и Гекторе Дж. Левеске (ред.). Чтения по представлению знаний . Морган Кауфман. стр. 31–40. ISBN 978-0-934613-01-9.
  15. ^ ab Бернерс-Ли, Тим; Хендлер, Джеймс; Лассила, Ора (17 мая 2001 г.). «Семантическая паутина — новая форма веб-контента, значимая для компьютеров, откроет революцию новых возможностей». Scientific American . 284 (5): 34–43. doi :10.1038/scientificamerican0501-34. Архивировано из оригинала 24 апреля 2013 г.
  16. ^ ab Knublauch, Holger; Oberle, Daniel; Tetlow, Phil; Wallace, Evan (2006-03-09). "A Semantic Web Primer for Object-Oriented Software Developers". W3C . Архивировано из оригинала 2018-01-06 . Получено 2008-07-30 .
  17. ^ Хейс-Рот, Фредерик; Уотерман, Дональд; Ленат, Дуглас (1983). Построение экспертных систем. Addison-Wesley. стр. 6–7. ISBN 978-0-201-10686-2.
  18. ^ Левек, Х. Дж. и Брахман, Р. Дж., 1987. Выразительность и трактуемость в представлении знаний и рассуждениях 1. Вычислительный интеллект, 3(1), стр. 78-93.
  19. ^ Левек, Гектор; Брахман, Рональд (1985). "Фундаментальный компромисс в представлении знаний и рассуждениях". В Рональде Брахмане и Гекторе Дж. Левек (ред.). Чтения по представлению знаний . Морган Кауфман. стр. 49. ISBN 978-0-934613-01-9. Хорошая новость в сведении службы KR к доказательству теорем заключается в том, что теперь у нас есть очень четкое, очень конкретное представление о том, что должна делать система KR; плохая новость заключается в том, что также ясно, что услуги не могут быть предоставлены... решение о том, является ли предложение в FOL теоремой... неразрешимо.
  20. ^ Рассел, Стюарт Дж .; Норвиг, Питер. (2021). Искусственный интеллект: современный подход (4-е изд.). Хобокен: Pearson. стр. 282. ISBN 978-0134610993. LCCN  20190474.
  21. ^ abcdefghijk Дэвис, Рэндалл; Шроб, Говард; Соловиц, Питер (весна 1993 г.). «Что такое представление знаний?». Журнал AI . 14 (1): 17–33. Архивировано из оригинала 06.04.2012 . Получено 23.03.2011 .
  22. ^ Macgregor, Robert (13 августа 1999 г.). "Retrospective on Loom". isi.edu . Information Sciences Institute. Архивировано из оригинала 25 октября 2013 г. Получено 10 декабря 2013 г.
  23. ^ Брахман, Рон (1985). «Введение». В Рональде Брахмане и Гекторе Дж. Левеске (ред.). Чтения по представлению знаний . Морган Кауфман. стр. XVI–XVII. ISBN 978-0-934613-01-9.
  24. ^ Би, Джозеф (2006). «Смена парадигмы: Введение в нечеткую логику» (PDF) . Потенциалы IEEE . 25 : 6–21. doi :10.1109/MP.2006.1635021. S2CID  15451765. Архивировано (PDF) из оригинала 12 июня 2014 г. . Получено 24 декабря 2013 г. .
  25. ^ Златарва, Нелли (1992). «Системы поддержания истинности и их применение для проверки баз знаний экспертных систем». Обзор искусственного интеллекта . 6 : 67–110. doi :10.1007/bf00155580. S2CID  24696160.
  26. ^ Левек, Гектор; Брахман, Рональд (1985). «Фундаментальный компромисс в представлении знаний и рассуждениях». В Рональде Брахмане и Гекторе Дж. Левек (ред.). Чтения по представлению знаний . Морган Кауфман. стр. 41–70. ISBN 978-0-934613-01-9.
  27. ^ Рассел, Стюарт Дж.; Норвиг, Питер (2010), Искусственный интеллект: современный подход (3-е изд.), Аппер Сэдл Ривер, Нью-Джерси: Prentice Hall, ISBN 0-13-604259-7 , стр. 437-439 
  28. ^ Хейс П., Наивная физика I: Онтология жидкостей. Отчет Эссекского университета, 1978, Эссекс, Великобритания.
  29. ^ Дэвис Р., Шроб Х. Э., Представление структуры и поведения цифрового оборудования, IEEE Computer, Специальный выпуск по представлению знаний, 16(10):75-82.

Дальнейшее чтение

Внешние ссылки