Cyc

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 26 august 2018; verificările necesită 12 modificări .
Cyc
Tip de bază de cunoștințe , motor de inferență , program de calculator , ontologie superioară și proiect de cercetare [d]
Dezvoltator Lenat, Douglas
Scris in Lisp , CyclL [d] și SubL [d]
Prima editie 1984
Site-ul web cyc.com

Cyc ( scris în latină, pronunțat Cyc ) este un proiect de creare a unei baze de cunoștințe ontologice voluminoase care permite programelor să rezolve probleme complexe din domeniul inteligenței artificiale pe baza inferenței logice și a folosirii bunului simț .

Prezentare generală

Proiectul a fost început de Douglas Lenat în 1984 la Microelectronics and Computer Technology Corporation . Numele „Cyc” (derivat din enciclopedia engleză  : „cyc”) este o marcă înregistrată a Cycorp, Inc din Austin , operată de Lenat și creată pentru a dezvolta Cyc. Baza de cunoștințe este proprietatea companiei, dar o mică parte a bazei, menită să stabilească un vocabular comun pentru programele de raționament automat, a fost lansată ca OpenCyc sub o licență deschisă . Ulterior, Cyc a fost pus la dispoziția cercetătorilor AI sub o licență specială de cercetare de la ResearchCyc .

Exemple tipice de cunoștințe din baza de date sunt: ​​„Fiecare copac este o plantă” și „Plantele sunt muritoare”. Dacă întrebați „mor copacii?”, motorul de inferență poate trage concluzia evidentă și poate da răspunsul corect. Baza de cunoștințe (Baza de cunoștințe în engleză  sau KB) conține mai mult de un milion de declarații, reguli și idei frecvent utilizate introduse acolo de oameni. Ele sunt formulate în limbajul CycL , care se bazează pe calculul predicatului și are o sintaxă asemănătoare Lisp . Utilizatorii vorbitori de limba engleză glumesc că sunt „bicicliști” (de la biciclistul englez  - un biciclist).  

Cea mai mare parte a muncii de astăzi în proiectul Cyc este încă despre ingineria cunoașterii  - descriind manual fapte despre lumea din jurul nostru și implementând mecanisme eficiente de inferență bazate pe aceste cunoștințe. Cu toate acestea, se lucrează pentru a permite sistemului Cyc să comunice independent cu utilizatorii în limbaj natural și pentru a accelera procesul de completare a bazei folosind învățarea automată .

Descrierea bazei de cunoștințe, terminologie

Conceptele din Cyc sunt numite constante . Numele constantelor încep cu caracterele opționale „#$” și sunt sensibile la majuscule și minuscule. Există constante pentru:

Cele mai importante predicate sunt #$isa și #$genls. Prima este o declarație conform căreia un element este o instanță a unei colecții, iar a doua este că o colecție este o subcolecție a unei alte colecții. Faptele despre concepte sunt declarate folosind instrucțiuni speciale CyclL . Predicatele sunt scrise între paranteze înaintea argumentelor lor:

(#$isa #$BillClinton #$Președintele Statelor Unite)

înseamnă că „Bill Clinton este unul dintre președinții Statelor Unite”, și declarația

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

scrie „Toți copacii sunt plante”.

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

înseamnă „Paris este capitala Franței”.

De asemenea, instrucțiunile pot conține variabile, linii care încep cu „?”. Aceste afirmații se numesc „reguli”. Una dintre cele mai importante reguli referitoare la predicatul #$isa este:

(#$implică (#$și (#$isa ?OBJ ?SUBSET) (#$genls ?SUBSET ?SUPERSET)) (#$isa ?OBJ ?SUPERSET))

ceea ce înseamnă „dacă OBJ este o instanță a colecției SUBSET și SUBSET la rândul său este o subcolecție a SUPERSET, atunci OBJ este, de asemenea, o instanță a colecției SUPERSET”. Un alt exemplu tipic:

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

ceea ce înseamnă că orice instanță a colecției #$ChordataPhylum (adică orice cordat ) este asociată cu un animal femelă (o instanță de #$FemaleAnimal) care este mama sa (așa cum este descris de predicatul #$BiologicalMother).

Baza de cunoștințe Cyc este împărțită în microteorii (Mt), culegeri de concepte și fapte aparținând unui anumit domeniu de cunoaștere. Spre deosebire de o bază completă de cunoștințe, orice microteorie trebuie să fie lipsită de contradicții. Fiecare microteorie are un nume care este o constantă obișnuită; prin convenție, constantele microteoriei conțin șirul „Mt”. Un exemplu este #$MathMt, o microteorie care conține cunoștințe matematice. Microteoriile pot fi moștenite una de la alta și sunt organizate într-o ierarhie: una dintre specializările #$MathMt este #$GeometryGMt - o microteorie despre geometrie.

opencyc

Cea mai recentă versiune a OpenCyc, 1.0, a fost lansată în iulie 2006. OpenCyc 1.0 include o ontologie Cyc completă care conține sute de mii de expresii, milioane de declarații care leagă termeni între ei. Baza de cunoștințe conține 47.000 de concepte și 306.000 de fapte și poate fi vizualizată pe site-ul OpenCyc. Prima versiune a OpenCyc a fost lansată în mai 2001, cu doar 6.000 de concepte și 60.000 de fapte. Baza de cunoștințe este lansată sub licența Apache . Cycorp intenționează să lanseze OpenCyc sub licențe paralele, mai puțin restrictive, pentru a satisface nevoile utilizatorilor săi. Interpretul CycL și SubL (un program care vă permite să vizualizați și să modificați baza de date și să trageți concluzii) este lansat gratuit, dar numai în formă binară, fără cod sursă. Funcționează atât sub GNU/Linux , cât și sub Microsoft Windows .

ResearchCyc

În iulie 2006, Cycorp a lansat ResearchCyc 1.0, o versiune gratuită (dar cu sursă închisă) a Cyc destinată comunității de cercetare. (ResearchCyc a fost în versiune beta pe tot parcursul anului 2004 și a fost lansat în testare beta în februarie 2005.) Pe lângă informațiile taxonomice de la OpenCyc, ResearchCyc include mult mai multe cunoștințe semantice (adică fapte suplimentare) despre conceptele din baza sa de cunoștințe și include un lexicon mare, instrumente pentru analizarea și generarea limbii engleze , scrise în interfețe Java pentru editarea cunoștințelor și crearea de interogări la baza de date.

Cycorp și-a exprimat public intenția de a elibera toți termenii și relațiile taxonomice conținute în ResearchCyc ca parte a OpenCyc, iar acest lucru a fost făcut în versiunea 1.0. Unul dintre scopurile declarate este acela de a crea un vocabular semantic complet gratuit și nerestricționat pentru a fi utilizat pe Web-ul semantic . Taxonomia OpenCyc este disponibilă în format Owl de pe site-ul web al proiectului OpenCyc.

Critica proiectului Cyc

Cyc a fost descris ca fiind „una dintre cele mai controversate eforturi din istoria inteligenței artificiale” (Bertino et al. p. 275), așa că a primit inevitabil partea echitabilă de critici.

Aceste probleme au fost discutate în diferite locuri de la lansarea proiectului. Doug Lenat și alții au publicat multe argumente în apărarea proiectului lor.

Vezi și

Bibliografie

Note

  1. Volkel M., Krotzsch M., Vrandecic D., Haller H., Studer R. Semantic Wikipedia Arhivat la 31 decembrie 2019 la Wayback Machine . În Proceedings of the 15th International Conference on the World Wide Web. WWW '06. ACM Press, New York, NY. Edinburgh, Scoția, 23-26 mai 2006. - pp. 585-594

Link -uri