Cyc
Cyc ([saɪk], від encyclopaedia) — проект в галузі штучного інтелекту що старається скласти вичерпну онтологію та базу знань повсякденного здорового глузду, з метою дати змогу застосуванням штучного інтелекту виконувати міркування як люди. Проект початий в 1984 Дугласом Ленатом в Microelectronics and Computer Technology Corporation і розробляється в компанії Cycorp. Частини проекту випущені як OpenCyc, який надає API, RDF endpoint, та дамп даних під відкритою ліцензією.
Зміст |
Огляд [ред.]
Проект був початий в 1984. Завданням було систематизувати в машинопридатному форматі мільйони шматочків знань, які складають людський здоровий глузд. CycL - схема представлення знань, яка використовує відношення першого порядку.[1] В 1986, Дуглас Ленат оцінив зусилля потрібні для завершення проекту в 250,000 правил і 350 людино-років.[2] В 1994 проект Cyc був переданий Cycorp, Inc. з Остіна, штат Техас.
Назва "Cyc" - зареєстрована торгова марка Cycorp. Початкова база знань власницька, але менша версія випущена під ліцензією Apache. Недавно його випустили під додатковою ліцензією, яка робить його доступнішим для дослідників штучного інтелекту.
Типовими елементами знань, представлених в базі даних є "Кожне дерево це рослина", і "Рослини колись помирають". Тоді на питання "Чи дерева вмирають?", машина може провести потрібне виведення, і відповісти правильно. База знань (БЗ) містить більше мільйона описаних людьми припущень та правил. Вони всі формуються мовою CycL, яка базується на численні предикатів і має синтаксис подібний на мову LISP.
Більшість поточної роботи над проектом Cyc продовжує бути ручним введенням фактів про світ, і реалізацію ефективного механізму виведення нових знань. Також робота в Cycorp включає додавання до Cyc можливості спілкування з кінцевими користувачами природньою мовою, та допомагати формуванню знань через машинне навчання.
Як і багато інших компаній, Cycorp має амбіції використати інструменти розпізнавання природньої мови Cyc для аналізу всього інтернету з метою видобути структуровані дані.[3]
В 2008, ресурси Cyc були відображені на багато статей вікіпедії,[4] потенційно спрощуючи об'єднання з іншими колекціями даних, такими як DBpedia та Freebase.
База знань [ред.]
Назви коцептів в Cyc відомі як константи. Константи починаються з необов'язкового "#$" та чутливі до регістру. Існують константи для:
- Окремих речей, названих особовими, таких як #$BillClinton чи #$France.
- Колекцій, таких як #$Tree-ThePlant (містить всі дерева, не графи) чи #$EquivalenceRelation (містить всі відношення еквівалентності). Член колекції називається її екзепляром.
- Функції істини що можуть застосовуватись до одного чи кількох концептів, і повертати true чи false. Наприклад #$siblings - відношення брат-або-сестра, яке має значення true якщо два аргументи - брати або сестри. За домовленістю константи функцій істини починаюються з літери в нижньому регістрі.
Функції істини можуть розбиватись на логічні зв'язки (такі як #$and, #$or, #$not, #$implies), квантори (#$forAll, #$thereExists, і т. д.) та предикатів.
- Функції, які утворюють нові терми з наявних. Наприклад, #$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).
База знань поділена на мікротеорії (Mt), колекції концептів та фактів що стосуються однієї області знань. На відміну від всієї бази знань, кожна мікротеорія мусить бути вільною від протиріч. Кожна мікротеорія має ім'я, яке теж є константою, і за домовленістю містить символи "Mt". Наприклад #$MathMt, мікротеорія що містить знання з математики. Мікротеорії можуть наслідувати одна одну, і організовуються в ієрархію: наприклад #$MathMt містить вужчу мікротеорію #$GeometryGMt, про геометрію.
Машина виведення [ред.]
Машина виведення - програма що намагається вивести відповіді з бази знань. Машина виведення Cyc виконує дедуктивні правила, (наприклад Modus ponens, Modus tollens, ...).[5]
Релізи [ред.]
OpenCyc [ред.]
Остання версія OpenCyc, 2.0, випущена в липні 2009. OpenCyc 1.0 включає повну онтологію Cyc включно з сотнями тисяч термінів, з мільйонами припущень що стосуються цих термінів, хоча це в основному таксономічні припущення, а не складні правила можливі в Cyc. База знань містить 47,000 концептів та 306,000 фактів і може переглядатись прямо на сайті OpenCyc.
Перша версія OpenCyc випущена навесні 2002 та містила лише 6,000 концептів та 60,000 фактів. База знань публікується під Apache License. Cycorp заявила про наміри випустити OpenCyc під паралельними необмеженими ліцензіями щоб задовольнити вимоги користувачів. CycL та інтерпретатор SubL (програма що дозволяє вам переглядати та редагувати базу, і малювати відношення) розповсюджується безплатно, але лише в бінарному вигляді. Є версії для Лінукс та Microsoft Windows.
ResearchCyc [ред.]
В липні 2006, Cycorp випустила бінарний код ResearchCyc 1.0, версію націлену на дослідницьку спільноту, безплатно. (ResearchCyc був на бета-стадії розробки від 2004, а перша бета версія випущена в лютому 2005.) На додачу до таксономічної інформації що міститься в OpenCyc, ResearchCyc включає значно більше семантичних знань (додаткових фактів) про концепти в базі знань, включно з великим лексиконом, інструментами аналізу і генерації англійської, та інтерфейси для редагування і запитів до бази знань написані на Java.
Застосування [ред.]
База знань про тероризм [ред.]
Вичерпна база знань про Тероризм - це одне із застосувань Cyc, яке має на меті зібрати всі доречні знання про терористичні групи, їх членів, лідерів, ідеологію, засновників, спонсорів, відділи, можливості, місцезнаходження, фінанси, наміри, тактику і повний опис всіх подій що стосуються тероризму.[6]
Cyclopedia [ред.]
Cyclopedia зараз розробляється; вона накладає ключові слова Cyc на сторінки взяті з вікіпедії.[7][8]
Cleveland Clinic Foundation [ред.]
Клініка Клівленду використовувала Cyc для розробки інтерфейсу запитів природньою мовою до біометричної інформації.[9] Запит парситься в множину фрагментів з відкритими змінними CycL (логіка вищого порядку), а після застосування різноманітних обмежень (знання з медичної галузі, здоровий глузд, синтаксис), існує спосіб для зчеплення тих фрагментів разом, в один семантично значимий формальний запит.[10]
Критика проекту Сус [ред.]
Проект Cyc описувався як "одне з найсуперечливіших зусиль в історії штучного інтелекту",[11] і звісно отримав свою долю критики. Вона включала:
- Складність системи - можливо вимушена її енциклопедичними амбіціями - і як наслідок складність в ручному додаванні інформації до системи
- Проблеми з маштабованістю, пов'язані з тим, що твердження мають залежні твердження, і як наслідок кількість зв'язків між ними зростає експоненційно.
- Незадовільне трактування ідеї субстанції і пов'язаної з нею відмінності між внутрішніми та зовнішніми властивостями
- Відсутність способів оцінки продуктивності машини виведення
- Поточна незавершеність системи як в ширину так і в глибину, і складність в оцінці її завершеності.
- Обмежена документація, і нестача навчального матеріалу, що освоєння системи складним для нових людей.
- Велика кількість пропусків не тільки в онтології рядових об'єктів, але й майже повна нестача прийнятних тверджень що описують ті об'єкти.
Див. також [ред.]
Зноски [ред.]
- ↑ Lenat, Douglas. «Hal's Legacy: 2001's Computer as Dream and Reality. From 2001 to 2001: Common Sense and the Mind of HAL». Cycorp, Inc. Процитовано 2006-09-26.
- ↑ The Editors of Time-Life Books (1986). Understanding Computers: Artificial Intelligence. Amsterdam: Time-Life Books. с. 84. ISBN 0-7054-0915-5.
- ↑ «Cyc R&D». Процитовано 2009-02-19.
- ↑ «INTEGRATING CYC AND WIKIPEDIA: Folksonomy meets rigorously defined common-sense». Процитовано 2009-02-19.
- ↑ «cyc Inference engine». Процитовано 2009-02-19.
- ↑ «The Comprehensive Terrorism Knowledge Base in Cyc». Процитовано 2009-02-19.
- ↑ «DBpedia and (Open-)Cyc». Процитовано 2009-06-09.
- ↑ Cyclopedia Sampleshowing cyc highlighted cyc concept for family
- ↑ [1]
- ↑ [2]
- ↑ Bertino, Piero & Zarri 2001, p. 275
Further reading [ред.]
- Alan Belasco et al. (2004). "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.
- Elisa Bertino, Gian Piero & B.C. Zarria (2001). Intelligent Database Systems. Addison-Wesley Professional.
- John Cabral & others (2005). "Converting Semantic Meta-Knowledge into Inductive Bias". In: Proceedings of the 15th International Conference on Inductive Logic Programming. Bonn, Germany, August 2005.
- Jon Curtis et al. (2005). "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.
- Chris Deaton et al. (2005). "The Comprehensive Terrorism Knowledge Base in Cyc". In: Proceedings of the 2005 International Conference on Intelligence Analysis, McLean, Virginia, May 2005.
- Kenneth Forbus et al. (2005) ."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
- James Masters (2002). "Structured Knowledge Source Integration and its applications to information fusion". In: Proceedings of the Fifth International Conference on Information Fusion. Annapolis, MD, July 2002.
- James Masters and Z. Güngördü (2003). "Structured Knowledge Source Integration: A Progress Report". In: In Integration of Knowledge Intensive Multiagent Systems. Cambridge, Massachusetts, USA, 2003.
- Cynthia Matuszek et al. (2005) ."Searching for Common Sense: Populating Cyc from the Web". In: Proceedings of the Twentieth National Conference on Artificial Intelligence. Pittsburgh, Pennsylvania, July 2005.
- Douglas Lenat and R. V. Guha. (1990). Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project. Addison-Wesley. ISBN 0-201-51752-3.
- Tom O'Hara et al. (2003). "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.
- Kathy Panton et al. (2002). "Knowledge Formation and Dialogue Using the KRAKEN Toolset". In: Eighteenth National Conference on Artificial Intelligence. Edmonton, Canada, 2002.
- Deepak Ramachandran P. Reagan & K. Goolsbey (2005). "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.
- Stephen Reed and D. Lenat (2002). "Mapping Ontologies into Cyc". In: AAAI 2002 Conference Workshop on Ontologies For The Semantic Web. Edmonton, Canada, July 2002.
- Benjamin Rode et al. (2005). "Towards a Model of Pattern Recovery in Relational Data". In: Proceedings of the 2005 International Conference on Intelligence Analysis. McLean, Virginia, May 2005.
- Dave Schneider et al. (2005). "Gathering and Managing Facts for Intelligence Analysis". In: Proceedings of the 2005 International Conference on Intelligence Analysis". McLean, Virginia, May 2005.
- Blake Shepard et al. (2005). "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.
- Nick Siegel et al. (2004). "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.
- Nick Siegel et al. (2005). 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.
- Michael Witbrock et al. (2002). "An Interactive Dialogue System for Knowledge Acquisition in Cyc". In: Proceedings of the Eighteenth International Joint Conference on Artificial Intelligence. Acapulco, Mexico, 2003.
- Michael Witbrock et al. (2004). "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.
- Michael Witbrock et al. (2005). "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.
Посилання [ред.]
- Cycorp homepage
- Публікації Cycorp
- Opencyc.org (з кількома туторіалами)
- research.cyc.com
- The Cyc Foundation
- Публічні сервери що дозволяють огляд бази знань OpenCyc
- Cyc на SourceForge.net, реліз онтології Cyc верхнього рівня (release 1.0 створена 14 липня, 2006)
- OpenCyc C API
- David Whitten's unofficial Cyc FAQ
- Whatever happened to machines that think? 23 April 2005, New Scientist
- Common sense 15 April 2006, New Scientist
- Official Cyc blog
- "Confessions of a Cyclist" - Another blog about Cyc
- Video Tutorials on Cyc
- A commonsense knowledge acquisition system using Open Cyc
