This article needs additional citations for verification. (January 2021) |
CycL в информатике и искусственном интеллекте — это язык онтологии , используемый в проекте искусственного интеллекта Cyc Дугласа Лената . Раманатан В. Гуха сыграл важную роль в разработке ранних версий языка. Существует близкий вариант CycL под названием MELD . [1]
Первоначальная версия CycL была фреймовым языком , но современная версия таковой не является. Скорее, это декларативный язык, основанный на классической логике первого порядка , с расширениями для модальных логических операторов и квантификации логики более высокого порядка .
CycL используется для представления знаний, хранящихся в базе знаний Cyc, доступной от Cycorp . Исходный код, написанный на CycL, выпущенный с системой OpenCyc, лицензируется как свободное и открытое программное обеспечение , чтобы повысить его полезность в поддержке семантической сети .
Основные идеи CycL включают в себя:
Имена концепций в Cyc называются константами . Константы начинаются с "#$" и чувствительны к регистру. Существуют константы для:
Наиболее важными предикатами являются #$isa и #$genls. Первый из них (#$isa) описывает, что один элемент является экземпляром некоторой коллекции (т. е. специализация), второй (#$genls) описывает, что одна коллекция является подколлекцией другой (т. е. обобщение). Факты о концепциях утверждаются с помощью определенных предложений CycL . Предикаты записываются перед их аргументами в скобках:
Например:
«Билл Клинтон принадлежит к коллекции президентов США» и
«Все деревья — растения».
«Париж — столица Франции».
Предложения также могут содержать переменные, строки, начинающиеся с "?". Одно важное правило, утверждаемое относительно предиката #$isa, гласит:
(#$подразумевает (#$и (#$isa ?OBJ ?SUBSET) (#$genls ?ПОДМНОЖЕСТВО ?СУПЕРМНОЖЕСТВО)) (#$isa ?OBJ ?SUPERSET))
с интерпретацией «если OBJ является экземпляром коллекции SUBSET, а SUBSET является подколлекцией SUPERSET, то OBJ является экземпляром коллекции SUPERSET».
Другой, более сложный пример, выражающий правило, касающееся группы или категории, а не какого-либо конкретного человека:
(#$relationAllExists #$biologicalMother #$ChordataPhylum #$FemaleAnimal)
Это означает, что для каждого экземпляра коллекции #$ChordataPhylum (т. е. для каждого хордового ) существует самка животного (экземпляр #$FemaleAnimal), которая является его матерью (описываемой предикатом #$biologicalMother).
(Или, выражаясь более свободно, если у данного животного есть позвоночник, то будет существовать связь с этим животным, выражающая концепцию «биологической Матери» этого животного. То, что «заполняет пробел» для биологической Матери, также должно быть отнесено к категории Животное женского пола.)
База знаний разделена на микротеории (Mt), наборы концепций и фактов, обычно относящихся к одной конкретной области знаний. В отличие от базы знаний в целом, каждая микротеория должна быть свободна от противоречий. Каждая микротеория имеет имя, которое является обычной константой; константы микротеорий содержат строку "Mt" по соглашению. Примером является #$MathMt, микротеория, содержащая математические знания. Микротеории могут наследовать друг от друга и организованы в иерархию:
Одной из специализаций #$MathMt является #$GeometryGMt, микротеория геометрии.