ЦиклL
Эта статья нуждается в дополнительных цитатах для проверки . ( январь 2021 г. ) |
CycL в области информатики и искусственного интеллекта — это онтологический язык, используемый Дугласом Ленатом в Cyc проекте искусственного интеллекта . Раманатан В. Гуха сыграл важную роль в разработке ранних версий языка. Существует близкий вариант CycL под названием MELD . [1]
Первоначальная версия CycL была языком фреймов , а современная версия — нет. Скорее, это декларативный язык , основанный на классической логике первого порядка с расширениями для операторов модальной логики и количественной оценки логики более высокого порядка .
CycL используется для представления знаний, хранящихся в базе знаний Cyc, доступной на сайте Cycorp . Исходный код , написанный на CycL, выпущенный вместе с системой OpenCyc, лицензируется как бесплатное программное обеспечение с открытым исходным кодом , чтобы повысить его полезность в поддержке семантической сети .
Основные идеи [ править ]
Основные идеи CycL включают в себя:
- Именование констант, используемых для ссылки на информацию о представленных понятиях.
- Группировка констант в иерархию обобщения-специализации, обычно называемую категоризацией.
- Утверждение общих правил, которые поддерживают выводы о концепциях.
- Истинность или ложность предложения CycL зависит от контекста; эти контексты представлены в CycL как микротеории.
Константы [ править ]
Имена понятий в Cyc известны как константы . Константы начинаются с «#$» и чувствительны к регистру. Существуют константы для:
- Отдельные элементы, известные как люди , например #$BillClinton или #$France.
- Коллекции , такие как #$Tree-ThePlant (содержащие все деревья) или #$EquivalenceRelation (содержащие все отношения эквивалентности ). Член коллекции называется экземпляром этой коллекции.
- Функции истины , которые можно применять к одному или нескольким другим понятиям и возвращать либо истину, либо ложь. Например, #$siblings — это родственное отношение, истинное, если два аргумента являются одноуровневыми. По соглашению константы функции истинности начинаются со строчной буквы. Функции истинности можно разбить на логические связки (такие как #$and, #$or, #$not, #$implies), кванторы (#$forAll, #$thereExists и т. д.) и предикаты.
- Функции , которые создают новые термины из заданных. Например, #$FruitFn, если ему предоставлен аргумент, описывающий тип (или коллекцию) растений, вернет коллекцию его плодов. По соглашению, функциональные константы начинаются с заглавной буквы и заканчиваются строкой «Fn».
Специализация и обобщение [ править ]
Наиболее важными предикатами являются #$isa и #$genls. Первый (#$isa) описывает, что один элемент является экземпляром некоторой коллекции (т.е. специализации), второй (#$genls), что одна коллекция является подколлекцией другой (т.е. обобщения). Факты о понятиях утверждаются с помощью определенных предложений CycL . Предикаты пишутся перед аргументами в круглых скобках:
Например:
- (#$isa #$BillClinton #$UnitedStatesPresident) \;
«Билл Клинтон принадлежит к коллекции президентов США» и
- (#$genls #$Tree-ThePlant #$Plant) \;
«Все деревья — растения».
- (#$capitalCity #$Франция #$Париж) \;
«Париж — столица Франции».
Правила [ править ]
Предложения также могут содержать переменные, строки, начинающиеся с «?». Одно важное правило, установленное в отношении предиката #$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». Примером может служить #$MathMt, микротеория, содержащая математические знания. Микротеории могут наследовать друг друга и организованы в иерархию:
Одной из специализаций #$MathMt является #$GeometryGMt, микротеория геометрии.
См. также [ править ]
Ссылки [ править ]
- ^ Гуха, РВ ; Ленат, Дуглас Б. (январь 1991 г.). «Цик» . Прикладной искусственный интеллект . 5 (1): 45–86. дои : 10.1080/08839519108927917 .
- Гуха, РВ ; Ленат, Дуглас Б. (январь 1991 г.). «Cyc: Промежуточный отчет». Журнал AI, осень 1990 г. 11 (3): 32–59.