CycL - CycL

CycL în informatică și inteligență artificială este un limbaj ontologic utilizat de proiectul de inteligență artificială Cyc al lui Doug Lenat . Ramanathan V. Guha a jucat un rol esențial în proiectarea versiunilor timpurii ale limbajului. Există o variantă apropiată a CycL cunoscută sub numele de MELD .

Versiunea originală a CycL a fost un limbaj de cadre , dar versiunea modernă nu este. Mai degrabă, este un limbaj declarativ bazat pe logica clasică de prim ordin , cu extensii pentru operatori modali și cuantificare de ordin superior .

CycL este utilizat pentru a reprezenta cunoștințele stocate în baza de cunoștințe Cyc, disponibilă de la Cycorp . Codul sursă scris în CycL lansat cu sistemul OpenCyc este licențiat ca open source, pentru a-și spori utilitatea în sprijinirea web-ului semantic .

Idei de bază

CycL are câteva idei de bază:

  • Denumirea constantelor utilizate pentru a face referire la informații pentru concepte reprezentate.
  • Gruparea constantelor împreună într-o ierarhie de generalizare / specializare (denumită de obicei categorizare).
  • Enunțând reguli generale care susțin deducerea conceptelor.
  • Adevărul sau falsitatea unei propoziții CycL sunt relative la context; aceste contexte sunt reprezentate în CycL ca microteorii.

Constante

Numele conceptelor din Cyc sunt cunoscute ca constante . Constantele încep cu „# $” și sunt sensibile la majuscule și minuscule. Există constante pentru:

  • Articole individuale cunoscute ca persoane fizice , cum ar fi # $ BillClinton sau # $ Franța.
  • Colecții , cum ar fi # $ Tree-ThePlant (care conține toți arborii) sau # $ EquivalenceRelation (care conține toate relațiile de echivalență ). Un membru al unei colecții se numește o instanță a acelei colecții.
  • Funcții Adevăr care pot fi aplicate unuia sau mai multor alte concepte și returnează fie adevărat, fie fals. De exemplu, # $ frați este relația dintre frați, adevărat dacă cele două argumente sunt frați. Prin convenție, constantele funcției adevăr încep cu o literă mică. Funcțiile adevărului pot fi împărțite în conectivități logice (cum ar fi # $ și, # $ sau, # $ nu, # $ implică), cuantificatoare (# $ forAll, # $ thereExists etc.) și predicate.
  • Funcții , care produc termeni noi din cei dați. De exemplu, # $ FruitFn, atunci când este furnizat cu un argument care descrie un tip (sau o colecție) de plante, va returna colecția fructelor sale. Prin convenție, constantele funcționale încep cu o literă mare și se termină cu șirul „Fn”.

Specializarea și generalizarea

Cele mai importante predicate sunt # $ isa și # $ genls. Primul (# $ isa) descrie că un articol este o instanță a unei colecții (adică: specializare), al doilea (# $ genls) că o colecție este o colecție a alteia (adică: generalizare). Faptele despre concepte sunt afirmate folosind anumite propoziții CycL . Predicatii se scriu înaintea argumentelor lor, între paranteze:

De exemplu:

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

„Bill Clinton aparține colecției președinților SUA” și

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

„Toți copacii sunt plante”.

(# $ capitalCity # $ Franța # $ Paris) \;

"Paris este capitala Frantei."

Reguli

Propozițiile pot conține, de asemenea, variabile, șiruri începând cu „?”. O regulă importantă afirmată despre # $ este un predicat citit

(#$implies
   (#$and
     (#$isa ?OBJ ?SUBSET)
     (#$genls ?SUBSET ?SUPERSET))
   (#$isa ?OBJ ?SUPERSET))

cu interpretarea „dacă OBJ este o instanță a colecției SUBSET și SUBSET este o colecție de SUPERSET, atunci OBJ este o instanță a colecției SUPERSET”.

Un alt exemplu mai complicat este cel care exprimă o regulă despre un grup sau categorie, mai degrabă decât despre un anumit individ, este:

 (#$relationAllExists #$biologicalMother #$ChordataPhylum #$FemaleAnimal)

ceea ce înseamnă că pentru fiecare instanță de colectare # $ ChordataPhylum ( de exemplu , pentru fiecare cordat ), există un animal de sex feminin (exemplu de # $ FemaleAnimal) , care este mama sa (descrisă de către predicatul # $ biologicalMother).

(sau într-o engleză mai slabă, dacă aveți un anumit animal care are o coloană vertebrală, atunci va exista o legătură de la acel animal care exprimă conceptul de „mamă biologică” a acelui animal. Lucrul care „umple golul” pentru Mama trebuie, de asemenea, să poată fi clasificată ca un animal feminin.)

Microteorii

Baza de cunoștințe este împărțită în microteorii (Mt), colecții de concepte și fapte care aparțin în mod tipic unui anumit domeniu al cunoașterii. Spre deosebire de baza de cunoștințe în ansamblu, fiecare microteorie trebuie să fie liberă de contradicții. Fiecare microteorie are un nume care este o constantă regulată; constantele de microteorie conțin șirul „Mt” prin convenție. Un exemplu este # $ MathMt, microteoria care conține cunoștințe matematice. Microteoriile pot moșteni unele de altele și sunt organizate într-o ierarhie:

o specializare a # $ MathMt este # $ GeometryGMt, microteoria despre geometrie.

Vezi si

Referințe

  • RV Guha; Douglas B. Lenat. „CYC: un raport intermediar”. Revista AI , toamna 1990, 11 (3): 32–59.

Note