ЦиклЛ

CycL в информатике и искусственном интеллекте — это язык онтологии , используемый в проекте искусственного интеллекта Cyc Дугласа Лената . Раманатан В. Гуха сыграл важную роль в разработке ранних версий языка. Существует близкий вариант CycL под названием MELD . [1]

Первоначальная версия CycL была фреймовым языком , но современная версия таковой не является. Скорее, это декларативный язык, основанный на классической логике первого порядка , с расширениями для модальных логических операторов и квантификации логики более высокого порядка .

CycL используется для представления знаний, хранящихся в базе знаний Cyc, доступной от Cycorp . Исходный код, написанный на CycL, выпущенный с системой OpenCyc, лицензируется как свободное и открытое программное обеспечение , чтобы повысить его полезность в поддержке семантической сети .

Основные идеи

Основные идеи CycL включают в себя:

  • Наименование констант, используемых для ссылки на информацию для представляемых концепций.
  • Группировка констант в иерархию обобщения-специализации, обычно называемую категоризацией.
  • Установление общих правил, поддерживающих выводы о концепциях.
  • Истинность или ложность предложения CycL зависит от контекста; эти контексты представлены в CycL как микротеории.

Константы

Имена концепций в Cyc называются константами . Константы начинаются с "#$" и чувствительны к регистру. Существуют константы для:

  • Отдельные элементы, известные как личности , например #$BillClinton или #$France.
  • Коллекции , такие как #$Tree-ThePlant (содержащая все деревья) или #$EquivalenceRelation (содержащая все отношения эквивалентности ). Член коллекции называется экземпляром этой коллекции.
  • Функции истинности , которые могут быть применены к одному или нескольким другим понятиям и возвращают либо true, либо false. Например, #$siblings — это родственные отношения, true, если два аргумента являются родственными. По соглашению константы функций истинности начинаются с маленькой буквы. Функции истинности можно разбить на логические связки (такие как #$and, #$or, #$not, #$implies), квантификаторы (#$forAll, #$thereExists и т. д.) и предикаты.
  • Функции , которые производят новые термины из заданных. Например, #$FruitFn, если ей предоставить аргумент, описывающий тип (или коллекцию) растений, вернет коллекцию его фруктов. По соглашению константы функций начинаются с заглавной буквы и заканчиваются строкой "Fn".

Специализация и обобщение

Наиболее важными предикатами являются #$isa и #$genls. Первый из них (#$isa) описывает, что один элемент является экземпляром некоторой коллекции (т. е. специализация), второй (#$genls) описывает, что одна коллекция является подколлекцией другой (т. е. обобщение). Факты о концепциях утверждаются с помощью определенных предложений CycL . Предикаты записываются перед их аргументами в скобках:

Например:

(#$isa #$BillClinton #$UnitedStatesPresident) \;

«Билл Клинтон принадлежит к коллекции президентов США» и

(#$genls #$Tree-ThePlant #$Plant) \;

«Все деревья — растения».

(#$столица #$Франция #$Париж) \;

«Париж — столица Франции».

Правила

Предложения также могут содержать переменные, строки, начинающиеся с "?". Одно важное правило, утверждаемое относительно предиката #$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, микротеория геометрии.

Смотрите также

Ссылки

  1. ^ Гуха, Р. В .; Ленат, Дуглас Б. (январь 1991 г.). «Cyc». Прикладной искусственный интеллект . 5 (1): 45–86 . doi :10.1080/08839519108927917.
Retrieved from "https://en.wikipedia.org/w/index.php?title=CycL&oldid=1267523898"