Réponse courte
Cyc est un projet, lancé par Douglas Lenat en 1984, qui vise à consigner le sens commun de tous les jours que personne ne prend la peine de dire tout haut, dans un langage logique avec lequel un ordinateur peut raisonner. Après plus de 35 ans et plus de 1 000 années-personnes de connaissances saisies à la main, c’est la plus grande tentative jamais faite pour donner du sens commun à une machine en le lui enseignant fait par fait.
Question de suivi Comment l’approche de Cyc se compare-t-elle aux modèles de langage comme GPT-2 et BERT?
Si vous dites à un ami « J’ai remis le lait dans le frigo », vous n’avez pas besoin d’ajouter que le lait est encore dans son carton, que le frigo est dans la cuisine ou que le lait ne va pas flotter jusqu’au plafond. Votre ami sait tout cela. Les ordinateurs, non. Cyc est la tentative la plus ambitieuse de régler ce problème par la force brute : consigner, sous une forme avec laquelle un ordinateur peut raisonner, les millions de petites vérités que les gens tiennent pour acquises.
Le projet a commencé en juillet 1984 à la Microelectronics and Computer Technology Corporation (MCC), à Austin, au Texas, un consortium de recherche formé par environ deux douzaines de grandes entreprises américaines. Il était dirigé par Douglas Lenat, un informaticien de l’Université Stanford. Depuis janvier 1995, il est mené par Cycorp, une entreprise d’Austin que dirige Lenat. Le nom vient de « encyclopedia » et se prononce comme le mot anglais « psych ».
Pourquoi Lenat l’a lancé
Au début des années 1980, l’IA suivait un schéma qui frustrait beaucoup de chercheurs. Un programme fonctionnait de façon impressionnante sur un problème étroit, puis s’effondrait devant la moindre situation un peu inattendue. Les systèmes experts, des programmes qui capturaient les règles d’un spécialiste pour des tâches comme le diagnostic médical, étaient le succès commercial du moment, et ils montraient clairement le problème.
Dans un article de 1985 paru dans AI Magazine, Lenat et ses collègues Mary Prakash et Mary Shepherd ont nommé deux goulots d’étranglement. Le premier était la fragilité : un logiciel casse quand il rencontre une situation que ses concepteurs n’avaient jamais imaginée. Le second était l’énorme travail humain nécessaire pour alimenter chaque nouveau système en connaissances. Ils soutenaient que l’apprentissage automatique, la programmation automatique et la compréhension du langage naturel avaient tous eu du mal à passer à grande échelle pour la même raison : aucun ne disposait d’une vaste base de connaissances sur le monde réel sur laquelle s’appuyer.
Lenat a donc proposé de construire cette base une fois pour toutes, pour tout le monde. Lors d’une rencontre tenue à Stanford en 1983, lui, Alan Kay et d’autres chercheurs de premier plan ont estimé que le travail prendrait entre 1 000 et 3 000 années-personnes. C’était beaucoup trop gros pour un laboratoire universitaire. Le projet est devenu possible quand la MCC, créée en partie comme réponse américaine à l’ambitieux projet japonais d’ordinateurs de cinquième génération, a fait de Cyc son projet phare.
Comment Cyc fonctionne
Cyc comporte trois parties principales.
- Un langage, CycL, pour énoncer des faits et des règles en logique stricte. Il ressemble un peu au langage de programmation Lisp et est devenu beaucoup plus expressif au cours de ses cinq premières années, parce que des phrases ordinaires comme « Fred ne possède pas de chien » ou « Chaque Américain a une mère » demandaient plus que de simples listes de faits.
- Une base de connaissances de concepts et d’énoncés, saisis surtout à la main par des « ingénieurs ontologiques » formés à cette tâche. En 1994, elle contenait environ 100 000 concepts et environ un million d’assertions.
- Un moteur d’inférence, le programme qui combine les faits stockés pour tirer de nouvelles conclusions. Au lieu d’un seul raisonneur général, Cyc utilise de nombreux modules spécialisés, chacun habile pour un type de problème particulier. Le site de Cycorp en décrit maintenant plus de 1 100 qui travaillent ensemble.
Deux choix de conception comptent beaucoup. La plupart des connaissances de Cyc ne sont vraies que par défaut : les parents aiment habituellement leurs enfants, mais il y a des exceptions. Et les connaissances sont réparties en « microthéories », des contextes distincts qui doivent chacun être cohérents en eux-mêmes. Ainsi, un énoncé peut être valable dans un contexte, comme une œuvre de fiction ou un seul domaine du savoir, sans être traité comme vrai partout.
Un exemple détaillé : comment Cyc répond à une question
Voici comment Cyc peut répondre à une question que personne n’a saisie directement. Supposons que sa base de connaissances contienne ces deux entrées :
| Étape | Ce que Cyc sait ou fait | Type |
|---|---|---|
| 1 | Tout arbre est une plante | Fait stocké (un lien de catégorie) |
| 2 | Les plantes finissent par mourir | Règle stockée |
| 3 | Question : les arbres meurent-ils? | Nouvelle requête |
| 4 | L’arbre est une sorte de plante, et la règle sur les plantes s’applique à toutes les sortes de plantes | Inférence |
| 5 | Réponse : oui, avec les deux étapes présentées comme son raisonnement | Conclusion expliquée |
Le même mécanisme traite des cas plus riches. Devant une légende de photo comme « Quelqu’un qui regarde sa fille faire ses premiers pas », Cyc peut déduire que la photo montre probablement un adulte souriant. Il enchaîne des règles par défaut : les parents aiment leurs enfants; un premier pas est une grande réussite; la réussite d’un être cher nous rend heureux; les gens heureux sourient; seuls les adultes ont des enfants. Et il peut énumérer ces étapes, pour qu’une personne vérifie exactement pourquoi il est arrivé à sa réponse.
À essayer : choisissez une phrase ordinaire, comme « Elle a oublié son parapluie au restaurant ». Notez tous les faits sous-entendus dont un lecteur a besoin pour la comprendre (à quoi sert un parapluie, qu’un restaurant est un endroit où l’on va, qu’elle veut probablement le récupérer). La plupart des gens s’arrêtent à dix; Cyc essaie de les avoir tous.
Ce qui en est sorti
Cyc a continué de grandir. En 2017, sa base de connaissances contenait environ 1,5 million de concepts et environ 24,5 millions d’assertions écrites à la main, dont la rédaction a pris plus de 1 000 années-personnes. Cycorp a publié en 2002 une version gratuite et partielle appelée OpenCyc, puis en 2006 une version plus complète, ResearchCyc, destinée aux universitaires; OpenCyc avait été retiré en 2017, et ResearchCyc n’est plus pris en charge depuis décembre 2019. Cycorp vend maintenant Cyc à des entreprises et à des organismes gouvernementaux, en affirmant qu’il représente plus de trente ans d’ingénierie et des centaines de millions de dollars en recherche.
Les avis sur Cyc sont très partagés. Marvin Minsky a félicité Lenat d’être l’un des très rares chercheurs à prendre le sens commun au sérieux. Le spécialiste de l’apprentissage automatique Pedro Domingos a qualifié le projet d’« échec catastrophique », en soutenant que personne ne peut saisir assez de connaissances à la main et que Cyc ne peut pas grandir par lui-même. Les deux points de vue s’entendent sur une chose : le sens commun, c’est la partie difficile.
Comment l’approche de Cyc se compare-t-elle aux modèles de langage comme GPT-2 et BERT?
Ils se trouvent aux deux extrémités de l’IA. Cyc est symbolique : des humains écrivent des faits et des règles explicites, et l’ordinateur raisonne avec eux étape par étape. GPT-2, qu’OpenAI a publié en version complète en novembre 2019, et BERT, de Google, sont statistiques : ce sont des réseaux de neurones qui lisent d’énormes quantités de texte et apprennent quels mots ont tendance à suivre ou à entourer les autres. Personne n’y saisit un seul fait.
Chaque camp a ce qui manque à l’autre. Un modèle de langage peut écrire des paragraphes fluides sur presque n’importe quel sujet, mais il ne peut pas vous montrer pourquoi il a dit quelque chose, et il affirme parfois avec assurance de pures absurdités. Cyc peut expliquer chaque conclusion, mais il ne sait que ce que quelqu’un y a saisi, et il ne peut pas lire une phrase et simplement en retenir une idée nouvelle.
Au début de 2020, bien des chercheurs soupçonnent que l’avenir est dans la combinaison des deux : des systèmes qui apprennent à partir de données à grande échelle, mais qui peuvent aussi puiser dans des connaissances structurées et expliquer leur raisonnement. Cyc reste la plus vaste réserve structurée de sens commun jamais construite, et le test le plus clair de la distance que peuvent parcourir des connaissances bâties à la main.
Sources
- CYC: Using Common Sense Knowledge to Overcome Brittleness and Knowledge Acquisition Bottlenecks — AI Magazine 6(4), p. 65, Association for the Advancement of Artificial Intelligence
- Cyc — Wikipedia (archived 24 January 2020), 24 janvier 2020
- Cyc (Cycorp home page) — Cycorp, Inc. (archived 23 February 2020), 23 février 2020