термін "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 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 було закрито.
В липні 2006, Cycorp випустила бінарний код ResearchCyc 1.0, версію націлену на дослідницьку спільноту, безплатно. (ResearchCyc був на бета-стадії розробки від 2004, а перша бета версія випущена в лютому 2005.) На додачу до таксономічної інформації що міститься в OpenCyc, ResearchCyc включає значно більше семантичних знань (додаткових фактів) про концепти в базі знань, включно з великим лексиконом, інструментами аналізу і генераціїанглійської, та інтерфейси для редагування і запитів до бази знань написані наJava.
Вичерпна база знань протероризм - це одне із застосувань «Cyc», яке має на меті зібрати всі доречні знання про терористичні групи, їх членів, лідерів, ідеологію, засновників, спонсорів, відділи, можливості, місцезнаходження, фінанси, наміри, тактику і повний опис всіх подій що стосуються тероризму.[7]
Cyclopedia зараз розробляється; вона накладає ключові слова «Cyc» на сторінки взяті з вікіпедії.[8][9]
Клініка Клівленду використовувала «Cyc» для розробки інтерфейсу запитів природною мовою до біометричної інформації.[10]Запит парситься в множину фрагментів з відкритими зміннимиCycL (логіка вищого порядку), а після застосування різноманітних обмежень (знання з медичної галузі, здоровий глузд, синтаксис), існує спосіб для зчеплення тих фрагментів разом, в один семантично значимий формальний запит.[11]
Проєкт «Cyc» описувався як «одне з найсуперечливіших зусиль в історії штучного інтелекту»,[12] і, звісно, не позбавлений критики. З багатьох зауважень можна виділити наступні:
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання){{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)