Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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.