CycL - CycL - Wikipedia
CycL v počítačová věda a umělá inteligence je ontologický jazyk používá Doug Lenat Cyc projekt umělé inteligence. Ramanathan V. Guha byl pomocný v designu raných verzí jazyka. Existuje blízká varianta CycL známá jako MELD.
Původní verze CycL byla a rámcový jazyk, ale moderní verze není. Spíše je to deklarativní jazyk založené na klasice logika prvního řádu, s příponami pro modální operátoři a kvantifikace vyššího řádu.
CycL se používá k vyjádření znalostí uložených ve znalostní databázi Cyc, která je k dispozici na webu Cycorp. Zdrojový kód napsaný v CycL byl vydán společně s OpenCyc systém je licencován jako otevřený zdroj, aby se zvýšila jeho užitečnost při podpoře sémantický web.
Základní myšlenky
CycL má několik základních myšlenek:
- Pojmenování konstant použitých k odkazu na informace pro představené koncepty.
- Seskupování konstant do hierarchie generalizace / specializace (obvykle se nazývá kategorizace).
- Uvedení obecných pravidel, která podporují odvození o konceptech.
- Pravda nebo nepravdivost věty CycL je kontextově relativní; tyto kontexty jsou v CycL zastoupeny jako mikrotheorie.
Konstanty
Názvy konceptů v Cyc jsou známé jako konstanty. Konstanty začínají znakem „# $“ a rozlišují se malá a velká písmena. Existují konstanty pro:
- Jednotlivé položky známé jako Jednotlivci, například # $ BillClinton nebo # $ Francie.
- Sbírky, například # $ Tree-ThePlant (obsahující všechny stromy) nebo # $ EquivalenceRelation (obsahující všechny ekvivalenční vztahy ). Člen kolekce se nazývá an instance této sbírky.
- Pravdivé funkce které lze použít na jeden nebo více dalších konceptů a vrátit buď true, nebo false. Například # $ siblings je sourozenecký vztah, true pokud jsou dva argumenty sourozenci. Podle konvence konstanty funkce pravdy začínají malým písmenem. Pravdivé funkce lze rozdělit na logické spojky (například # $ a, # $ nebo, # $ ne, implikuje # $), kvantifikátory (# $ forAll, # $ thereExists atd.) A predikáty.
- Funkce, které z daných termínů vytvářejí nové výrazy. Například # $ FruitFn, pokud je k dispozici argument popisující typ (nebo kolekci) rostlin, vrátí kolekci jejích plodů. Podle konvence konstanty funkcí začínají velkým písmenem a končí řetězcem „Fn“.
Specializace a zobecnění
Nejdůležitější predikáty jsou # $ isa a # $ genls. První (# $ isa) popisuje, že jedna položka je instancí nějaké kolekce (tj .: specializace), druhá (# $ genls), že jedna kolekce je podkolekce jiné (tj. Zobecnění). Fakta o konceptech jsou uplatňována pomocí určitých CycL věty. Predikáty jsou psány před jejich argumenty v závorkách:
Například:
- (# $ isa # $ BillClinton # $ UnitedStatesPresident) ;
„Bill Clinton patří do sbírky prezidentů USA“ a
- (# $ genls # $ Tree-ThePlant # $ Plant) ;
"Všechny stromy jsou rostliny".
- (# $ capitalCity # $ Francie # $ Paříž) ;
"Paříž je hlavní město Francie."
Pravidla
Věty mohou také obsahovat proměnné, řetězce začínající na „?“. Jedno důležité pravidlo uplatněné při čtení predikátu # $ isa
(# $ znamená (# $ a (# $ isa? OBJ? SUBSET) (# $ genls? SUBSET? SUPERSET)) (# $ isa? OBJ? SUPERSET))
s interpretací „pokud OBJ je instancí kolekce SUBSET a SUBSET je podkolekce SUPERSET, pak OBJ je instance kolekce SUPERSET“.
Dalším komplikovanějším příkladem je ten, který vyjadřuje pravidlo o skupině nebo kategorii spíše než o konkrétním jednotlivci, je:
(# $ relationshipAllExists # $ biologická matka # $ ChordataPhylum # $ FemaleAnimal)
což znamená, že pro každou instanci kolekce # $ ChordataPhylum (tj. pro každou strunat ), existuje samice zvířete (instance # $ FemaleAnimal), která je jeho matkou (popsáno predikátem # $ biologická matka).
(nebo volnější angličtinou, pokud máte konkrétní zvíře, které má páteř, pak bude existovat odkaz od konkrétního zvířete vyjadřující koncept „biologické Matky“ tohoto zvířete. Věc, která „vyplní mezeru“ pro biologickou Matka musí být také schopna být zařazena do kategorie ženských zvířat.)
Mikroteorie
Znalostní základna je rozdělena na mikrotheorie (Mt), sbírky pojmů a faktů, které se obvykle týkají jedné konkrétní říše znalostí. Na rozdíl od znalostní základny jako celku se vyžaduje, aby každá mikrotheorie nebyla rozporuplná. Každá mikrotheorie má název, který je pravidelnou konstantou; mikrotheorické konstanty obsahují podle konvence řetězec „Mt“. Příkladem je # $ MathMt, mikroteorie obsahující matematické znalosti. Mikrotheorie mohou vzájemně dědit a jsou uspořádány v hierarchii:
jedna specializace # $ MathMt je # $ GeometryGMt, mikroteorie o geometrii.
Viz také
Reference
tento článek ne uvést žádný Zdroje.Listopadu 2008) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
- R.V. Guha; Douglas B. Lenat. «CYC: Zpráva v polovině období». AI Magazine, podzim 1990, 11 (3): 32–59.