Эта статья требует дополнительных ссылок для проверки . ( январь 2021 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
CycL в области информатики и искусственного интеллекта - это онтологический язык, используемый Дугом Ленатом в проекте искусственного интеллекта Cyc . Раманатан В. Гуха сыграл важную роль в разработке ранних версий языка. Существует близкий вариант CycL, известный как MELD .
Первоначальная версия CycL была языком фреймов , но современная версия - нет. Скорее, это декларативный язык, основанный на классической логике первого порядка с расширениями для модальных операторов и количественной оценкой более высокого порядка .
CycL используется для представления знаний, хранящихся в базе знаний Cyc, доступной от Cycorp . Исходный код, написанный на CycL, выпущенный вместе с системой OpenCyc, лицензирован как открытый исходный код, чтобы повысить его полезность для поддержки семантической сети .
Основные идеи [ править ]
У CycL есть несколько основных идей:
- Именование констант, используемых для ссылки на информацию для представленных концепций.
- Группирование констант в иерархию обобщения / специализации (обычно называется категоризацией).
- Установление общих правил, поддерживающих выводы о концепциях.
- Истинность или ложность предложения CycL зависит от контекста; эти контексты представлены в CycL как Microtheories.
Константы [ править ]
Имена концептов в Cyc известны как константы . Константы начинаются с "# $" и чувствительны к регистру. Есть константы для:
- Отдельные элементы, называемые личностями , например # $ BillClinton или # $ France.
- Коллекции , такие как # $ Tree-ThePlant (содержащие все деревья) или # $ EquivalenceRelation (содержащие все отношения эквивалентности ). Член коллекции называется экземпляром этой коллекции.
- Истинные функции, которые могут применяться к одному или нескольким другим концепциям и возвращать либо истину, либо ложь. Например, # $ siblings - это родственные отношения, истина, если два аргумента являются братьями и сестрами. По соглашению, константы функции истинности начинаются с строчной буквы. Функции истинности могут быть разбиты на логические связки (например, # $ and, # $ or, # $ not, # $ подразумевает), квантификаторы (# $ forAll, # $ thereExists и т. Д.) И предикаты.
- Функции , производящие новые термины из заданных. Например, # $ FruitFn при наличии аргумента, описывающего тип (или коллекцию) растений, вернет коллекцию своих плодов. По соглашению, функциональные константы начинаются с заглавной буквы и заканчиваются строкой «Fn».
Специализация и обобщение [ править ]
Наиболее важными предикатами являются # $ isa и # $ genls. Первый (# $ isa) описывает, что один элемент является экземпляром некоторой коллекции (то есть: специализация), второй (# $ genls), что одна коллекция является частью другой (то есть: обобщение). Факты о концепциях утверждаются с помощью определенных предложений CycL . Предикаты записываются перед аргументами в круглых скобках:
Например:
- (# $ isa # $ BillClinton # $ UnitedStatesPresident) \;
«Билл Клинтон принадлежит к собранию президентов США» и
- (# $ genls # $ Tree-ThePlant # $ Plant) \;
«Все деревья - растения».
- (# $ capitalCity # $ France # $ Paris) \;
"Париж - столица Франции."
Правила [ править ]
Предложения также могут содержать переменные, строки, начинающиеся с "?". Одно важное правило, установленное для предиката # $ isa, гласит:
(# $ подразумевает (# $ и (# $ isa? OBJ? SUBSET) (# $ genls? SUBSET? SUPERSET)) (# $ isa? OBJ? SUPERSET))
с интерпретацией «если OBJ является экземпляром коллекции SUBSET, а SUBSET является подколлекцией SUPERSET, тогда OBJ является экземпляром коллекции SUPERSET».
Другой более сложный пример - это тот, который выражает правило о группе или категории, а не о каком-либо конкретном человеке:
(# $ RelationsAllExists # $ologicalMother # $ ChordataPhylum # $ FemaleAnimal)
это означает, что для каждого экземпляра коллекции # $ ChordataPhylum (т.е. для каждой хордовой ) существует животное женского пола (экземпляр # $ FemaleAnimal), которое является его матерью (описывается предикатом # $ologicalMother).
(или, говоря более свободно, если у вас есть конкретное животное, у которого есть позвоночник, тогда будет ссылка от этого конкретного животного, выражающая концепцию «биологической матери» этого животного. То, что «заполняет пробел» для биологической Мать также должна быть отнесена к категории животных женского пола.)
Микротеории [ править ]
База знаний разделена на микротеории (Mt), наборы концепций и фактов, обычно относящиеся к одной конкретной области знаний. В отличие от базы знаний в целом, каждая микротеория должна быть свободна от противоречий. У каждой микротеории есть имя, которое является постоянной константой; Константы микротеории по соглашению содержат строку «Mt». Примером может служить # $ MathMt, микротеория, содержащая математические знания. Микротеории могут наследовать друг от друга и организованы в виде иерархии:
одна из специализаций # $ MathMt - # $ GeometryGMt, микротеория о геометрии.
См. Также [ править ]
Ссылки [ править ]
- RV Guha; Дуглас Б. Ленат. «CYC: среднесрочный отчет». Журнал AI , осень 1990 г., 11 (3): 32–59.