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 (англ.). Архів оригіналу за 9 червня 2021. Процитовано 10 вересня 2019. 
  6. cyc Inference engine. Архів оригіналу за 20 лютого 2009. Процитовано 19 лютого 2009. 
  7. The Comprehensive Terrorism Knowledge Base in Cyc. Архів оригіналу за 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. 
  11. Архівована копія. Архів оригіналу за 31 грудня 2010. Процитовано 19 лютого 2011. 
  12. (Bertino, Piero та Zarri, 2001, с. 275)

Further reading ред.

Посилання ред.