Cyc

Cyc

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

Содержание

Обзор

Проект начал Дуглас Ленат в 1984 году в Microelectronics and Computer Technology Corporation. Название «Cyc» (образованное от англ. encyclopedia и произносимое как «цик») является зарегистрированной торговой маркой компании Cycorp, Inc в Остине, которой управляет Ленат и созданной для разработки Cyc. База знаний является собственностью компании, однако небольшая часть базы, предназначенная для установления общего словаря для программ автоматического рассуждения, была выпущена как OpenCyc под открытой лицензией. Позднее, Cyc стала доступной для исследователей ИИ под специальной исследовательской лицензией как ResearchCyc.

Типичным примером знаний в базе являются «Всякое дерево является растением» и «Растения смертны». Если спросить «умирают ли деревья?», машина логического вывода может сделать очевидный вывод и дать правильный ответ. База Знаний (англ. Knowledge Base или KB) содержит более миллиона занесённых туда людьми утверждений, правил и общеупотребительных идей. Они формулируются на языке CycL, который основан на исчислении предикатов и имеет схожий с лиспом синтаксис. Англоязычные пользователи шутят что они «велосипедисты» (от англ. cyclist — велосипедист).

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

Описание Базы Знаний, терминология

Концепции в Cyc называются константами. Имена констант начинаются с необязательных символов «#$» и чувствительны к регистру. Существуют константы для:

  • Отдельных элементов, которые называются individual, например #$BillClinton или #$France.
  • Совокупностей (Collections) таких, как например, #$Tree-ThePlant (в которую входят все деревья) или #$EquivalenceRelation (в которой содержатся все отношения эквивалентности). Член совокупности называется экземпляром данной коллекции.
  • Функций истинности (Truth Functions) которые можно применять к одной или нескольким концепциям и возвращающие значение истина или ложь. Например #$siblings (потомки одного родителя) является отношением родства, истинным только в том случае, когда два его аргумента являются братьями или сёстрами. По соглашению, константы функций истинности начинаются с буквы в нижнем регистре. Функции истинности поддаются разбиению на логические связки (такие как #$and, #$or, #$not, #$implies), кванторы (#$forAll, #$thereExists, и т. д.) и предикаты.
  • Функций Functions, которые образуют новые термы из данных. Например, если передать функции #$FruitFn в качестве аргумента тип (или коллекцию) растений, вернёт коллекцию их фруктов. По соглашению, имена констант функций начинаются с буквы в верхнем регистре и заканчиваются строкой «Fn».

Наиболее важными предикатами являются #$isa и #$genls. Первый является утверждением что некий элемент является экземпляром некой коллекции, а второй что коллекция является подколлекцией другой коллекции. Факты о концепциях декларируются с помощью особых высказываний языка CycL. Предикаты записываются в скобках перед своими аргументами:

(#$isa #$BillClinton #$UnitedStatesPresident)

означает что «Билл Клинтон входит в совокупность президентов США», а высказывание

(#$genls #$Tree-ThePlant #$Plant)

читается как «Все деревья являются растениями».

(#$capitalCity #$France #$Paris)

значит: «Париж — столица Франции».

Высказывания также могут содержать переменные, строки начинающиеся со знака «?». Эти высказывания называются «правилами». Одно из важнейших правил, относящихся к предикату #$isa читается:

(#$implies
   (#$and
      (#$isa ?OBJ ?SUBSET)
      (#$genls ?SUBSET ?SUPERSET))
   (#$isa ?OBJ ?SUPERSET))

что означает «если OBJ является экземпляром коллекции SUBSET, а SUBSET в свою очередь является подколлекцией SUPERSET тогда также OBJ является экземпляром коллекции SUPERSET». Другой типичный пример:

(#$relationAllExists #$biologicalMother #$ChordataPhylum #$FemaleAnimal)

что означает что любой экземпляр коллекции #$ChordataPhylum (то есть любое хордовое) связан с самкой животного (экземпляром #$FemaleAnimal), которая является его матерью (что описывается предикатом #$BiologicalMother).

База знаний Cyc разделена на микротеории (Mt), коллекции концепций и фактов принадлежащих одной конкретной области знаний. В отличие от полной базы знаний, всякая микротеория должна быть свободной от противоречий. Всякая микротеория имеет название, которое является обычной константой; по соглашению константы микротеорий содержат строку «Mt». Пример — #$MathMt, микротеория содержащая математические знания. Микротеории могут наследоваться одна от другой и организованы в иерархию: одной из специализаций #$MathMt является #$GeometryGMt — микротеория о геометрии.

OpenCyc

Последняя версия OpenCyc, 1.0 была выпущена в июле 2006 года. OpenCyc 1.0 включает в себя полную онтологию Cyc содержащую сотни тысяч выражений, миллионы утверждений, связывающих термы между собой. База знаний содержит 47 000 концепций и 306 000 фактов и её можно просмотреть на сайте OpenCyc. Первая версия OpenCyc была выпущена в мае 2001 года и содержала только 6000 концепций и 60000 фактов. База знаний выпущена под лицензией Apache. Cycorp намерена выпускать OpenCyc под параллельными, менее жесткими лицензиями чтобы удовлетворить потребности своих пользователей. Интерпретатор CycL и SubL (программа, которая позволяет вам просматривать и изменять базу данных и делать выводы) выпущена бесплатно, но только в двоичном виде, без исходных текстов. Она работает как под GNU/Linux так и под Microsoft Windows.

ResearchCyc

В июле 2006 года Cycorp выпустила ResearchCyc 1.0, бесплатную (но с закрытыми исходниками) версию Cyc предназначенную для исследовательского сообщества. (ResearchCyc находился в бета версии в течение всего 2004 года, а выпущена в бета-тестирование она была в феврале 2005.) В дополнение к таксономической информации из OpenCyc, ResearchCyc включает значительно больше семантических знаний (то есть дополнительные факты) о концепциях в своей базе знаний, и включает большой лексикон, инструменты для грамматического разбора и генерации Английского языка, написанные на языке Java интерфейсы для редактирования знаний и создания запросов к базе.

Cycorp публично выразила своё намерение выпустить все термы и таксономические взаимосвязи содержащиеся в ResearchCyc как часть OpenCyc и это было сделано в версии 1.0. Одна из указанных целей — создать полностью свободный и неограниченный семантический словарь для использования в Semantic Web. Таксономия OpenCyc доступна в формате Owl на сайте проекта OpenCyc.

Критика проекта Cyc

Cyc описывают как «одно из наиболее противоречивых начинаний в истории искусственного интеллекта» (Бертино и др. стр. 275), так что он неизбежно получил свою долю критики.

  • Чрезмерная сложность системы — без сомнения необходимая в силу энциклопедических амбиций — и соответственно сложность добавления (вручную) данных в систему
  • Проблемы масштабируемости from widespread reification, особенно как константы
  • Неудовлетворительное использование концепции материи, и связанного с этим, различия между внутренними и внешними свойствами
  • Отсутствие вменяемых измерений производительности или сравнений эффективности машины вывода Cyc
  • Нынешняя неполнота системы как в ширину, так и глубину, и связанная с этим сложность в измерении её полноты
  • Недостаток документации
  • Отсутствие не устаревшего онлайнового обучающего материала усложняет изучение системы для новичков
  • Несмотря на своё название система OpenCyc не является полностью открытой: данные доступны для редактирования пользователям, но код недоступен для расширения разработчикам.[1]

Данные вопросы обсуждались в разных местах с момента запуска проекта. Даг Ленат и другие опубликовали множество аргументов в защиту своего проекта.

См. также

Библиография

  • Elisa Bertino, Gian Piero Zarri, Barbara Catania, Gian Pierro Zarri Intelligent Database Systems. — Addison-Wesley Professional, 2001. — ISBN ISBN ISBN 0-201-87736-8
  • Matuszek, Cynthia, M. Witbrock, R. Kahlert, J. Cabral, D. Schneider, P. Shah and D. Lenat. Searching for Common Sense: Populating Cyc from the Web. In Proceedings of the Twentieth National Conference on Artificial Intelligence, Pittsburgh, Pennsylvania, July 2005.[1]
  • Shepard, Blake, C. Matuszek, C.B. Fraser, W. Wechtenhiser, D. Crabbe, Z. Gungordu, J. Jantos, T. Hughes, L. Lefkowitz, M. Witbrock, D. Lenat, E. Larson. A Knowledge-Based Approach to Network Security: Applying Cyc in the Domain of Network Risk Assessment. In Proceedings of the Seventeenth Innovative Applications of Artificial Intelligence Conference, Pittsburgh, Pennsylvania, July 2005.[2]
  • Ramachandran, Deepak, P. Reagan, K. Goolsbey. First-Orderized ResearchCyc: Expressivity and Efficiency in a Common-Sense Ontology. In Papers from the AAAI Workshop on Contexts and Ontologies: Theory, Practice and Applications. Pittsburgh, Pennsylvania, July 2005.[3]
  • Cabral, John, R.C. Kahlert, C. Matuszek, M. Witbrock, B. Summers. Converting Semantic Meta-Knowledge into Inductive Bias. In Proceedings of the 15th International Conference on Inductive Logic Programming, Bonn, Germany, August 2005.[4]
  • Schneider, Dave, C. Matuszek, P. Shah, R. Kahlert, D. Baxter, J. Cabral, M. Witbrock, D. Lenat. Gathering and Managing Facts for Intelligence Analysis. In Proceedings of the 2005 International Conference on Intelligence Analysis, McLean, Virginia, May 2005.[5]
  • Forbus, Kenneth, L. Birnbaum, E. Wagner, J. Baker & M. Witbrock. Combining analogy, intelligent information retrieval, and knowledge integration for analysis: A preliminary report. In Proceedings of the 2005 International Conference on Intelligence Analysis, McLean, Virginia, May 2005.[6]
  • Deaton, Chris, B. Shepard, C. Klein, C. Mayans, B. Summers, A. Brusseau, M. Witbrock. The Comprehensive Terrorism Knowledge Base in Cyc. In Proceedings of the 2005 International Conference on Intelligence Analysis, McLean, Virginia, May 2005.[7]
  • Rode, Benjamin. Towards a Model of Pattern Recovery in Relational Data. In Proceedings of the 2005 International Conference on Intelligence Analysis, McLean, Virginia, May 2005.[8]
  • Siegel, Nick, B. Shepard, J. Cabral, M. Witbrock. Hypothesis Generation and Evidence Assembly for Intelligence Analysis: Cycorp’s Nooscape Application. In Proceedings of the 2005 International Conference on Intelligence Analysis, McLean, Virginia, May 2005.[9]
  • Curtis, Jon, G. Matthews, D. Baxter. On the Effective Use of Cyc in a Question Answering System in Papers from the IJCAI Workshop on Knowledge and Reasoning for Answering Questions, Edinburgh, Scotland: 2005.[10]
  • Witbrock, Michael, C. Matuszek, A. Brusseau, R.C. Kahlert, C.B. Fraser, D. Lenat. Knowledge Begets Knowledge: Steps towards Assisted Knowledge Acquisition in Cyc in Papers from the 2005 AAAI Spring Symposium on Knowledge Collection from Volunteer Contributors (KCVC), pp. 99-105. Stanford, California, March 2005.[11]
  • Belasco, Alan, J. Curtis, RC Kahlert, C. Klein, C. Mayans, R. Reagan. Representing Knowledge Gaps Effectively. In D. Karagiannis, U. Reimer (Eds.): Practical Aspects of Knowledge Management, Proceedings of PAKM 2004, Vienna, Austria, December 2-3, 2004, Springer-Verlag, Berlin Heidelberg.[12]
  • Siegel, Nick, G. Matthews, J. Masters, R. Kahlert, M. Witbrock and K. Pittman. Agent Architectures: Combining the Strengths of Software Engineering and Cognitive Systems in Papers from the AAAI Workshop on Intelligent Agent Architectures: Combining the Strengths of Software Engineering and Cognitive Systems, Technical Report WS-04-07, pp. 74-79. Menlo Park, California: AAAI Press, 2004.[13]
  • Witbrock, Michael, K. Panton, S.L. Reed, D. Schneider, B. Aldag, M. Reimers and S. Bertolo. Automated OWL Annotation Assisted by a Large Knowledge Base in Workshop Notes of the 2004 Workshop on Knowledge Markup and Semantic Annotation at the 3rd International Semantic Web Conference ISWC2004, Hiroshima, Japan, November 2004, pp. 71-80.[14]
  • Masters, James and Z. Gungordu. Structured Knowledge Source Integration: A Progress Report. In Integration of Knowledge Intensive Multiagent Systems, Cambridge, Massachusetts, USA, 2003.[15]
  • O’Hara, Tom, N. Salay, M. Witbrock, et al. Inducing criteria for mass noun lexical mappings using the Cyc Knowledge Base and its Extension to WordNet. In Proceedings of the Fifth International Workshop on Computational Semantics, Tilburg, 2003.[16]
  • Witbrock, Michael, D. Baxter, J. Curtis, et al. An Interactive Dialogue System for Knowledge Acquisition in Cyc. In Proceedings of the Eighteenth International Joint Conference on Artificial Intelligence, Acapulco, Mexico, 2003.[17]
  • Panton, Kathy, P. Miraglia, N. Salay, et al. Knowledge Formation and Dialogue Using the KRAKEN Toolset. In Eighteenth National Conference on Artificial Intelligence, Edmonton, Canada, 2002.[18]
  • Masters, James. Structured Knowledge Source Integration and its applications to information fusion. In Proceedings of the Fifth International Conference on Information Fusion, Annapolis, MD, July 2002.[19]
  • Reed, Stephen and D. Lenat. Mapping Ontologies into Cyc. In AAAI 2002 Conference Workshop on Ontologies For The Semantic Web, Edmonton, Canada, July 2002.[20]
  • D. Lenat and R. V. Guha. Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project. — Addison-Wesley, 1990. — ISBN ISBN 0-201-51752-3
  • Вымышленная думающая машина SAL 9000 явно обращается к энциклопедической базе чтобы понять почему её создатель использовал название «Phoenix» для диагностической симуляции которая помогла бы снова запустить её устройство-близнеца, HAL 9000, в саге 2001.
  • Вымышленная думающая машина KARR (Knight Rider) явно обращается к базе данных во время проверки основных человеческих желаний (эпизод «Trust doesn’t rust»).

Примечания

  1. Volkel M., Krotzsch M., Vrandecic D., Haller H., Studer R. Semantic Wikipedia. In Proceedings of the 15th International Conference on World Wide Web. WWW '06. ACM Press, New York, NY. Edinburgh, Scotland, May 23 — 26, 2006. — pp. 585—594

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Cyc" в других словарях:

  • Cyc — Saltar a navegación, búsqueda Cyc (de la inglés encyclopedia) es un proyecto de inteligencia artificial que intenta ensamblar una ontología comprensiva y una base datos del conocimiento general con el fin de permitir a las aplicaciones de… …   Wikipedia Español

  • Cyc — /ˈsaɪk/ (vom englischen encyclopedia) ist eine maschinenauswertbare Wissensdatenbank des Alltagswissens. Sie wird seit 1984 weiterentwickelt, um Anwendungen der künstlichen Intelligenz das logische Schlussfolgern über Sachverhalte des „gesunden… …   Deutsch Wikipedia

  • CYC — or Cyc may refer to: Cyc, an American artificial intelligence project Champions Youth Cup (CYC), an annual international youth football (soccer) tournament China Youth Corps (CYC), a Taiwanese youth organization Cyclorama (theater) (Cyc), a… …   Wikipedia

  • Cyc — (de la inglés encyclopedia) es un proyecto de inteligencia artificial que intenta ensamblar una ontología comprensiva y una base datos del conocimiento general con el fin de permitir a las aplicaciones de inteligencia artificial realizar… …   Enciclopedia Universal

  • cyc — {{/stl 13}}{{stl 8}}rz. mnż III, D. a; lm D. ów, wulg.{{/stl 8}}{{stl 7}}, zgr. od rz. cycek w zn. 1. {{/stl 7}} …   Langenscheidt Polski wyjaśnień

  • cyc — abbrev. 1. cyclopedia 2. cycle …   English World dictionary

  • cyc- — in obs. forms: see cic …   Useful english dictionary

  • Cyc — For other uses, see CYC (disambiguation). Cyc Developer(s) Cycorp Written in Lisp, CycL Type Ontology and Inference engine Cyc is an artificial intelligence project that attempts to assemble …   Wikipedia

  • cyc — an·a·cyc·lus; cyc; cyc·la·mate; cyc·la·mine; cyc·lam·mo·ni·um; cyc·lane; cyc·la·nor·bi·dae; cyc·lan·tha·ce·ae; cyc·lan·tha·les; cyc·lar·thro·sis; cyc·li·an; di·cyc·li·ca; en·do·cyc·li·ca; mono·cyc·li·ca; cyc·las; en·cyc·li·cal; cyc·lan·tha·ceous; …   English syllables

  • cyc — /suyk/, n. Informal. cyclorama (def. 2). [shortened form] * * * ▪ computer science       a project begun in 1984 under the auspices of the Microelectronics and Computer Technology Corporation, a consortium of American computer, semiconductor, and …   Universalium


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»