Cyc

термін "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 має амбіції використати інструменти розпізнавання природної мови[3] для аналізу всього інтернету з метою видобути структуровані дані.[4]

В 2008 році ресурси «Cyc» були відображені на багато статей Вікіпедії,[5] потенційно спрощуючи об'єднання з іншими колекціями даних, такими як 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, ...).[6]

Релізи

OpenCyc

Остання версія, OpenCyc 2.0, випущена в липні 2009. OpenCyc 1.0 включає повну онтологію «Cyc» включно з сотнями тисяч термінів, з мільйонами припущень що стосуються цих термінів, хоча це в основному таксономічні припущення, а не складні правила можливі в Cyc. База знань містить 47,000 концептів та 306,000 фактів і може переглядатись прямо на сайті OpenCyc.

Перша версія OpenCyc випущена навесні 2002 та містила лише 6,000 концептів та 60,000 фактів. База знань публікується під Apache License. CycL та інтерпретатор SubL (програма що дозволяє вам переглядати та редагувати базу, і малювати відношення) розповсюджується безкоштовно, але лише в бінарному вигляді. Є версії для Лінукс та Microsoft Windows.

У 2017 році проєкт OpenCyc було закрито.

ResearchCyc

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

Застосування

База знань про тероризм

Вичерпна база знань про тероризм - це одне із застосувань «Cyc», яке має на меті зібрати всі доречні знання про терористичні групи, їх членів, лідерів, ідеологію, засновників, спонсорів, відділи, можливості, місцезнаходження, фінанси, наміри, тактику і повний опис всіх подій що стосуються тероризму.[7]

Cyclopedia

Cyclopedia зараз розробляється; вона накладає ключові слова «Cyc» на сторінки взяті з вікіпедії.[8][9]

Cleveland Clinic Foundation

Клініка Клівленду використовувала «Cyc» для розробки інтерфейсу запитів природною мовою до біометричної інформації.[10] Запит парситься в множину фрагментів з відкритими змінними CycL (логіка вищого порядку), а після застосування різноманітних обмежень (знання з медичної галузі, здоровий глузд, синтаксис), існує спосіб для зчеплення тих фрагментів разом, в один семантично значимий формальний запит.[11]

Критика проєкту Cyc

Проєкт «Cyc» описувався як «одне з найсуперечливіших зусиль в історії штучного інтелекту»,[12] і, звісно, не позбавлений критики. З багатьох зауважень можна виділити наступні:

  • Складність системи — можливо спричинена її енциклопедичними амбіціями — і як наслідок складність в ручному додаванні інформації до системи
  • Проблеми з маштабованістю, пов'язані з тим, що твердження мають залежні твердження, і як наслідок кількість зв'язків між ними зростає експоненційно.
  • Незадовільне трактування ідеї субстанції і пов'язаної з нею відмінності між внутрішніми та зовнішніми властивостями
  • Відсутність способів оцінки продуктивності машини виведення
  • Поточна незавершеність системи як в ширину так і в глибину, і складність в оцінці її завершеності
  • Обмежена документація і нестача навчального матеріалу, що ускладнює освоєння системи новими користувачами
  • Велика кількість пропусків не тільки в онтології рядових об'єктів, але й майже повна нестача прийнятних тверджень що описують ті об'єкти

Див. також

Зноски

  1. Lenat, Douglas. Hal's Legacy: 2001's Computer as Dream and Reality. From 2001 to 2001: Common Sense and the Mind of HAL. www.cyc.com. Cycorp, Inc.. Архів оригіналу за 6 жовтня 2006. Процитовано 26 вересня 2006.
  2. The Editors of Time-Life Books (1986). Understanding Computers: Artificial Intelligence. Amsterdam: Time-Life Books. с. 84. ISBN 0-7054-0915-5.
  3. The Cyc NL subsystem (англ.). Архів оригіналу за 31 жовтня 2010. Процитовано 31 жовтня 2010.
  4. Cyc R&D. Архів оригіналу за 20 лютого 2009. Процитовано 19 лютого 2009.
  5. Olena Medelyan; Catherine Legg. Integrating Cyc and Wikipedia: Folksonomy meets rigorously defined common-sense (PDF) (англ.). Архів оригіналу (PDF) за 9 червня 2021. Процитовано 10 вересня 2019.
  6. cyc Inference engine. Архів оригіналу за 20 лютого 2009. Процитовано 19 лютого 2009.
  7. The Comprehensive Terrorism Knowledge Base in Cyc (PDF). Архів оригіналу (PDF) за 22 лютого 2006. Процитовано 19 лютого 2009.
  8. DBpedia and (Open-)Cyc. Архів оригіналу за 12 липня 2013. Процитовано 9 червня 2009.
  9. Cyclopedia Sampleshowing cyc highlighted cyc concept for family. Архів оригіналу за 9 липня 2010. Процитовано 19 лютого 2011.
  10. Архівована копія. Архів оригіналу за 7 червня 2010. Процитовано 19 лютого 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  11. Архівована копія. Архів оригіналу за 31 грудня 2010. Процитовано 19 лютого 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  12. (Bertino, Piero та Zarri, 2001, с. 275)

Додаткова література

  • Alan Belasco et al. (2004). "Representing Knowledge Gaps Effectively" [Архівовано 24 вересня 2019 у Wayback Machine.]. 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.
  • Fisher, I. A. (17 квітня 2024). Cyc: history's forgotten AI project. Outsider Art. Процитовано 18 квітня 2024.

Посилання

  • Cycorp homepage
  • Публікації Cycorp
  • Opencyc.org [Архівовано 26 лютого 2011 у Wayback Machine.] (з кількома туторіалами)
  • research.cyc.com
  • The Cyc Foundation
  • Публічні сервери що дозволяють огляд бази знань OpenCyc [Архівовано 16 липня 2011 у Wayback Machine.]
  • Cyc на SourceForge.net, реліз онтології Cyc верхнього рівня (release 1.0 створена 14 липня, 2006)
  • OpenCyc C API [Архівовано 20 березня 2011 у Wayback Machine.]
  • David Whitten's unofficial Cyc FAQ
  • Whatever happened to machines that think? 23 April 2005, New Scientist [Архівовано 23 лютого 2008 у Wayback Machine.]
  • Common sense 15 April 2006, New Scientist [Архівовано 14 травня 2008 у Wayback Machine.]
  • Official Cyc blog [Архівовано 20 лютого 2009 у Wayback Machine.]
  • "Confessions of a Cyclist" - Another blog about Cyc [Архівовано 8 липня 2011 у Wayback Machine.]
  • Video Tutorials on Cyc [Архівовано 20 березня 2011 у Wayback Machine.]
  • A commonsense knowledge acquisition system using Open Cyc