Sciences des donnes :
De la Logique du premier ordre la Toile
Serge Abiteboul
Collge de France, INRIA Saclay, ENS
Cachan
8/2/12
Mes chers collgues,
Chers amis.
En cette journe internationale de la femme, jĠaimerais ddier ma leon inaugurale lĠtudiante en informatique, lĠtudiante en mathmatiques ou en sciences qui est si rare sur nos campus. Elle est assise au premier rang. Elle pianote peut-tre un SMS en sĠaidant de ses deux pouces. Elle est peut-tre la Ç Petite Poucette È de Michel Serres, qui mĠoffre une transition vers une phrase parfaite pour situer lĠobjet de la leon :
Je ne connais pas dĠtre vivant, de cellule, tissu, organe, individu et peut-tre mme espce, dont on ne puisse pas dire quĠil stocke de lĠinformation, quĠil traite de lĠinformation, quĠil met et quĠil reoit de lĠinformation. Michel Serres
LĠinformation stocke, traite, change, est au cÏur
de lĠactivit des tres vivants, des objets du monde, des associations humaines. Les systmes informatiques, en nous aidant grer
de lĠinformation, reprsente sous forme numrique, ont transform nos vies en
profondeur. Grard Berry[1] a
dj parl dans sa leon inaugurale de la numrisation de lĠinformation. Le sujet que jĠai le
grand honneur dĠaborder dans le cadre de la chaire Ç Informatique et
sciences numriques È du Collge de France est
la gestion dĠinformations numriques par
des systmes informatiques. JĠespre que, dans la ligne de mes brillants
prdcesseurs cette chaire[2], je
saurai transmettre la richesse et la beaut de la science informatique, et
participer ainsi lĠenseignement du Ç savoir en train de se faire È.
Pour obtenir de lĠinformation, nous
pouvons interroger un systme de gestion
de bases de donnes. Pour ce faire, nous nous exprimons
dans un langage informatique simple, peut-tre graphique, peut-tre mme dans notre
langue naturelle[3].
Le systme traduit cette demande dans un langage formel. Par cela, nous
entendons une syntaxe qui permet au systme de prciser la demande de
lĠutilisateur, et une smantique formelle qui donne un sens exact cette
syntaxe. La logique mathmatique offre un tel langage formel. Nous voquerons
dans cette leon les liens profonds entre ce que nous appellerons ici les sciences des
donnes et la logique mathmatique et plus prcisment la Ç Logique du premier ordre È, le
terme technique du titre de cette leon.
AujourdĠhui, cĠest sur la Toile que lĠutilisateur cherche
le plus souvent de lĠinformation. La Toile, le dernier
terme du titre. Si lĠanglais est prdominant en informatique, le franais est
parfois plus prcis, plus lgant. Je prfre rsolument Ç informatique È (pour
science et
technologie de lĠinformation) Ç computer
science È (trop limitatif) et Ç courriel È
Ç email È. Je prfre aussi le mot Ç Toile È lĠanglicisme
plus commun, Ç Web È, parce que dans Toile, la rfrence la toile
dĠaraigne tymologique est si joliment complte par le clin dĠÏil la toile
du peintre ou la toile de cinma. Le mot Toile nous permet aussi de dpasser la
vision trop restrictive dĠun support particulier, le World Wide Web, pour
envisager plus gnralement un monde de contenus interconnects lĠchelle de
la plante. Il mĠarrivera pourtant dĠutiliser le mot Web dans des expressions
comme Ç Web smantique È.
Nous considrerons les systmes dĠinformation de la Toile qui servent de point dĠentre vers des informations de nature globale. LĠexemple le plus rpandu dĠun tel systme est un moteur de recherche, comme celui de Google, qui offre un index sur des milliards de documents de la Toile, et en quelque sorte permet de voir la Toile comme une base de donnes gigantesque. Un systme de rseau social comme Facebook sert lui de point dĠentre vers les donnes personnelles de ses centaines de millions dĠutilisateurs.
Les systmes dĠinformation de la Toile comme les systmes de gestion de donnes centralises sont des mdiateurs entre des individus intelligents peu soucieux de sĠembarrasser de dtails de programmation et des objets physiques comme des disques ou des cls USB. Nous nous intressons donc des systmes intelligents qui grent de lĠinformation, la comprennent et lĠutilisent au service dĠutilisateurs humains. Cette dernire phrase tient volontairement dĠune vision anthropomorphique des systmes informatiques. Nous interagissons avec des machines chaque jour un peu plus autonomes, des machines chaque jour de moins en moins distinguables des tres humains. Si lĠintelligence dĠun systme de gestion de bases de donnes est une tape modeste vers lĠintelligence artificielle comme dfinie par Alan Turing, lĠintelligence de la Toile est un questionnement rcent, tant philosophique que scientifique. Nous parlerons dans cette leon de lĠapparition dĠune connaissance collective nourrie de la mise en commun de grands volumes dĠinformation, et nous imaginerons ce que pourra tre la Toile de demain quand des millions, voire des milliards de machines interconnectes, raisonneront collectivement.
Cette leon est organise de la manire suivante. En premier lieu, nous visiterons quelques notions fondamentales sur les donnes, lĠinformation et les connaissances. Dans un deuxime temps, nous parlerons de deux des plus belles russites de lĠinformatique du 20e sicle :
1. lĠune concerne les donnes avec les systmes de gestion de base de donnes relationnelles.
2. lĠautre lĠinformation avec les moteurs de recherche de la Toile.
Puis, nous considrerons deux grands dfis du 21e sicle :
1. comment faire merger des connaissances collectives de la Toile, et
2. comment passer une Toile des connaissances.
Look Dave, I can see you're really upset about this. I honestly think you ought to sit down calmly, take a stress pill, and think things over[4]. HAL in 2001 : A Space Odyssey
Des mesures de temprature releves chaque jour dans une station mto, ce sont des donnes. Une courbe donnant l'volution dans le temps de la temprature moyenne dans un lieu, cĠest une information. Le fait que la temprature sur Terre augmente du fait de lĠactivit humaine, cĠest une connaissance. Ces trois notions sont trs proches lĠune de lĠautre. Grossirement, voici le sens que nous leurs donnerons[5] :
á Une donne est une description lmentaire, typiquement numrique ici, d'une ralit. CĠest par exemple une observation ou une mesure.
á A partir de donnes collectes, de lĠinformation est obtenue en organisant ces donnes, en les structurant pour en dgager du sens.
á En comprenant le sens de lĠinformation, nous aboutissons des connaissances, cĠest--dire des Ç faits È considrs comme vrais dans lĠunivers dĠun locuteur et des Ç lois È (des rgles logiques) de cet univers.
A la source de la reprsentation de donnes est le bit, une variable qui peut prendre la valeur 0 ou 1. Une donne sera reprsente par une squence de bits. Par exemple, nous pouvons reprsenter la position d'un ascenseur dans un immeuble de six tages avec 3 bits : 000 pour le rez-de-chausse, 001 pour le premier, etc., 110 pour le sixime (le nombre 6 en base 2). Nous reprsentons un caractre avec un octet, cĠest--dire une squence de 8 bits. (Il faut jusquĠ 4 octets par caractre pour certains alphabets et certains codages comme UTF-16.) Un texte peut tre vu comme une suite dĠoctets. LĠoctet est la mesure lmentaire ; 103 octets forment un kilooctet ; 106 un mga ; 109 un gigaoctet ; 1012 un traoctet ; etc.
Une suite de bits prise au hasard a peu de chance dĠavoir un sens. Intressons-nous plutt aux donnes auxquelles nous pouvons donner un sens. Considrons par exemple une squence de bits qui reprsenterait le tableau suivant :
Manon |
Imperial College |
London |
Pierre |
ENS |
Cachan |
Jrmie |
Mines de Paris |
Paris |
Marie |
ENS |
Cachan |
Myriam |
Paris 11 |
Orsay |
Un extraterrestre ne comprendrait sans doute rien cette squence de bits. Mais un programme, un diteur de texte, a pu lĠanalyser et prsenter ce tableau sous une forme qui nous est familire.
Des donnes lĠinformation. Les entres de ce tableau sont des chanes de caractres. Pour lĠinstant, il sĠagit de donnes. Maintenant, nous pouvons spcifier que la premire colonne contient les prnoms de doctorants dĠune cole dĠt Cargse en Corse, la deuxime, leur universit, et la dernire, la ville qui hberge leur universit. En recevant un sens, ces donnes sont devenues des informations. Nous noterons que lĠabsence de donnes aussi est informative. Par exemple, nous nĠavons pas de ligne, Ç Philippe, ENS, Cachan È. CĠest aussi une information !
De lĠinformation aux connaissances. Ces informations muent en connaissances quand nous les introduisons dans un univers logique. Chaque ligne devient une affirmation, par exemple Ç Manon, tudiante lĠImperial College Londres, a suivi cette cole dĠt È. Et si, par exemple, nous savons aussi que Ç cette table contient la liste complte de tous les doctorants de cette cole dĠt È et que Ç tous les doctorants de Cachan en informatique ont suivi cette cole È, nous pouvons en dduire que, soit Philippe nĠest pas doctorant Cachan, soit il nĠest pas inscrit en informatique.
Nous sommes passs des donnes, aux informations, aux connaissances. Evidemment les frontires entre ces concepts sont floues. Ce monde que nous cherchons modliser avec des connaissances est complexe et nous chappe en partie. Par exemple, si certains pensent que Manon est tudiante lĠImperial College, dĠautres peuvent croire que cette affirmation est fausse.
Plusieurs types de supports permettent de stocker des donnes numriques notamment : la mmoire flash, le disque optique (qui inclut les CD et DVD), le disque dur (ou disque magntique), la bande magntique. Ces supports procurent de gros volumes de stockage Ç persistant[6] È contrairement aux mmoires vives, ou mmoires RAM pour Ç random access memory È, faites de composants lectroniques.
Nous allons fournir quelques chiffres pour fixer les ides. LĠordinateur sur lequel jĠcris ce texte a une mmoire vive de quatre gigas et la place dĠun disque, pour stocker ses donnes persistantes, il utilise une centaine de gigas de mmoire flash, une nouvelle technologie plus rapide que le disque dur et aussi plus chre. Cela nous donne lĠoccasion de mentionner que la technologie ne cesse de se complexifier. Les chiffres bougent trs vite pour ce qui est des matriels informatiques ; les prix baissent, les vitesses dĠaccs ou de transfert croissent ; les volumes augmentent[7]. Dans quelques annes, un lecteur de ce texte sourira des quatre gigas de mmoire.
Il ne faut pas non plus oublier que les donnes que nous utilisons se trouvent de moins en moins stockes localement sur notre ordinateur, mais, de plus en plus, sur des machines connectes quelque part sur le rseau. Par exemple, le document qui sert de brouillon pour crire ce texte est sur Google Docs, stock sur le disque dĠune machine inconnue dans une localisation elle-aussi inconnue. De ces donnes, nous dirons quĠelles sont Ç en nuages È (Òon the cloudÓ)[8]. Fonctionnellement, il nous faudra donc distinguer entre lĠaccs des donnes sur un rseau local trs rapide qui prendra quelques millisecondes, et lĠaccs via Internet des donnes peut-tre lĠautre bout du monde qui pourra prendre une seconde ou plus.
Ces aspects techniques permettent de comprendre ce quĠil est possible de raliser, comment et quel prix. Nous les avons volontairement quelque peu simplifis pour faciliter leur comprhension. Et pour ceux qui aiment se rfugier derrire le Ç Je ne comprends rien lĠinformatique È, quelques mots. La vision de lĠinformatique vhicule par les mdias souffre dĠune trop grande fascination pour le matriel et la programmation. A mon avis, il importe peu de comprendre les dtails du fonctionnement trs complexe dĠun processeur ou dĠune carte graphique. Il est par contre essentiel de maitriser les bases de lĠalgorithmique et de sa mcanique du raisonnement. Il nĠest pas non plus ncessaire de savoir programmer (mme si une exprience de programmation avec un langage comme Caml peut faciliter la comprhension de lĠalgorithmique). Pour des questions de performance, il peut tre utile de comprendre o lĠinformation que nous utilisons est stocke, en mmoire, sur disque, ou sur le rseau. Surtout, il est indispensable de comprendre le sens de cette information, comment elle est reprsente, comment elle est organise.
Et quelques chiffres retenir :
Support de stockage |
Temps dĠaccs |
Taille |
Mmoire vive |
microsecondes |
gigaoctets (109) |
Disque dur |
millisecondes |
quelques centaines de gigaoctets au tra |
Rseau local |
millisecondes ou plus |
traoctets (1012) |
La Toile |
dcisecondes voire secondes |
virtuellement ´ |
En alignant les bits, nous pouvons reprsenter des informations. Nous pouvons stocker de plus en plus dĠinformations pour les retrouver la demande, telle une sauvegarde quasi illimite de notre mmoire personnelle.
Nous pouvons aller au-del des dimensions dj mentionnes en alignant les bits :
kilo |
mga |
giga |
tra |
pta |
exa |
zetta |
yotta |
103 |
106 |
109 |
1012 |
1015 |
1018 |
1021 |
1024 |
Discutons brivement ces units de mesures. Par exemple, cette leon devrait peser quelques 100 000 octets, cĠest--dire 100 kilooctets. Le kilooctet est une mesure Ç cool È car il est presque convenable de confondre 103 = 1000 et 210 = 1024, ce qui permet de passer facilement du systme dcimal, le plus commun, au systme binaire, cher aux informaticiens. Une dizaine de nocturnes de Chopin sur mon tlphone prennent 75 mgaoctets. La vido de la remise de diplme de ma fille et ses quelques gigaoctets nous conduisent aux frontires du gigantisme. Empruntant des chiffres de Michael Brodie[9], tous les livres jamais crits ne demanderaient que 200 traoctets en texte brut et la quantit de donnes produites par le Ç collisionneur de particules È du CERN en une minute est de lĠordre dĠune centaine de ptaoctets. Pour reprsenter toutes les phrases jamais prononces, il faudrait quelques exaoctets. Enfin, le zettaoctet, cĠest lĠordre de grandeur du trafic par an sur Internet de nos jours, et cĠest aussi celui du stockage disponible (en comptant tous les disques, bandes magntiques, CD, DVD du monde entier) :
1 000 000 000 000 000 000 000 octets !
Le vertige des puissances de 10 ! Nous crons chaque anne plus dĠinformation que nous ne pouvons en stocker. Dans cette dbauche dĠinformation, deux problmes surgissent :
1. O trouver la bonne information dans cette masse ?
2. Comment choisir ce que lĠon veut conserver ?
Bien
sr, il faudrait dtailler, tenir compte de la nature de ce qui est stock. La
part des images grossit trs vite, notamment cause de la meilleure rsolution
des camras de vidosurveillance. Mais nous assistons aussi une forte
augmentation des contenus riches en smantique, directement utilisables comme
les bases de donnes et les mtadonnes. La forme de lĠinformation dans la
plupart des exemples que nous avons pris est trs simple. De lĠinformation
beaucoup plus complexe peut aussi tre reprsente numriquement comme celle
contenue dans l'ADN d'une cellule vivante. D'une certaine faon, dterminer
l'information mise en jeu dans un objet quelconque, depuis une bactrie jusqu'
un phnomne comme le cours des actions, ou le mouvement
des
plantes, est une tape essentielle de notre comprhension
de cet objet. Mais cela tient dĠautres sciences que lĠinformatique, comme la
biologie, les mathmatiques financires, ou lĠastronomie. Une fois cette
information obtenue, des machines peuvent la stocker, lĠchanger, lĠanalyser,
etc. Nous atteignons les sciences des donnes.
Passe cette brve discussion sur la nature et le volume de lĠinformation, nous nous tournons vers les systmes de bases de donnes qui ont vritablement fond le domaine, les systmes relationnels.
Logic is the beginning of wisdom, not the end[10]. Mr. Spock, Star Trek
Nous parlerons dans cette partie de systmes informatiques qui nous aident grer des donnes. Nous avons donc, dĠun ct, un serveur de donnes quelque part sur la Toile, avec des disques et leurs pistes qui gardent prcieusement des squences de bits, des structures dĠaccs compliques comme des index ou des arbres-B, des hirarchies de mmoires avec leurs caches et, de lĠautre, un utilisateur. Supposons que le serveur soit celui dĠIMDb qui gre une base de donnes sur le cinma. Supposons que lĠutilisateur, disons Alice, veuille savoir quels films ont t raliss par Alfred Hitchcock. Pour ce faire, elle spcifie des mots-cls ou remplit les champs dĠun formulaire propos par IMDb. Sa question voyage depuis son navigateur jusquĠau serveur de donnes. L, cette question est transforme en un programme peut-tre complexe qui sĠexcute pour obtenir la rponse. Ce qui est important : ce programme, Alice nĠa pas envie de lĠcrire ; elle nĠa pas lĠcrire.
Le systme lmentaire qui permet de grer des donnes est un systme de fichiers. Un fichier est une squence de bits qui peut reprsenter une chanson, une photo, une vido, un courriel, une lettre, un roman, etc. Votre ordinateur personnel et votre tlphone stockent leurs donnes dans des systmes de fichiers. Et parfois quand vous ne savez plus o vous avez mis quelque chose, vous faites des Ç recherches È dans ces systme de fichiers. CĠest rudimentaire. Nous verrons pourtant quĠun moteur de recherche de la Toile ne fait pas autre chose, seulement il le fait sur un systme de fichiers lĠchelle de la plante. Dans cette partie, nous parlerons de systmes qui grent aussi des donnes mais qui sont bien plus sophistiqus que les systmes de fichiers, les systmes de gestion de bases de donnes. Ce sont des logiciels complexes, rsultats de dizaines dĠannes de recherche et de dveloppement. Ils permettent des individus ou des programmes dĠexprimer des requtes pour interroger des bases de donnes ou pour les modifier. Nous nous focaliserons ici sur les plus rpandus dĠentre ces systmes, les systmes relationnels, parmi lesquels nous trouvons des logiciels commerciaux trs rpandus comme celui dĠOracle et des logiciels gratuits trs utiliss comme MySQL.
Un systme de gestion de bases de donnes sert de mdiateur entre des individus et des machines. Pour mieux sĠadapter aux individus, il doit organiser et prsenter les donnes de faon intuitive. Il doit aussi proposer un langage, pour exprimer des requtes, facilement utilisable par des tres humains. Ces exigences forment le point de dpart du modle relationnel[11],[12] propos par Ted Codd, un chercheur dĠIBM, dans les annes 1970. Des mathmaticiens avaient dvelopp la fin du 19e sicle (bien avant lĠinvention de lĠinformatique et des bases de donnes) la Logique du premier ordre, pour formaliser le langage des mathmatiques. Codd a eu lĠide dĠadapter cette logique pour dfinir un modle de gestion de donnes, le modle relationnel.
Film |
|
|
|
Sance |
|
|
Titre |
Ralisateur |
Acteur |
|
Titre |
Salle |
Heure |
Casablanca |
M. Curtiz |
Humphrey Bogart |
|
Casablanca |
Lucernaire |
19:00 |
Casablanca |
M.
Curtiz |
Peter
Lore |
|
Casablanca |
Studio |
20:00 |
Les 400 coups |
F. Truffaut |
Jean-Pierre Laud |
|
Star Wars |
Sel |
20:30 |
Star Wars |
G. Lucas |
Harrison Ford |
|
Star Wars |
Sel |
22:15 |
Figure 1 : Une base de donnes relationnelles
Dans
le modle relationnel, les donnes sont organises en tableaux deux
dimensions que nous appellerons des relations.
A la diffrence des mathmaticiens, nous supposons les relations de taille
finie. Comme illustration, nous utiliserons une base de donnes consistant en
une relation Film et une relation Sance (Figure 1). Une
ligne de ces relations est appele un n-uplet
o n est le nombre de colonnes. Par
exemple, Star Wars, Sel, 22:15 est un 3-uplet, un triplet, dans
la relation Sance. Les colonnes ont
des noms, appels attributs, comme Titre.
Les donnes sont interroges en utilisant comme langage le calcul relationnel. Le calcul relationnel (trs fortement inspir de la Logique du premier ordre) sĠappuie sur des noms qui reprsentent des relations comme Film ou Sance, des entres de ces relations comme Ç Star Wars È, des variables comme t, h, et des symboles logiques, ô (et), ò (ou), Ż (non), Þ (implique), $ (existe), " (pour tout). Avec tout a, des formules logiques peuvent tre construites comme :
qHB = $ t,d ( Film(t, r, Ç Humphrey Bogart È) ô Sance(t, s, h) )
Si cela vous parait cryptique, en franais, cela se lit : il existe un titre t et un ralisateur r tels que le n-uplet t, r, Ç Humphrey Bogart È se trouve dans la relation Film, et le n-uplet t, s, h dans Sance. Observez que s et h ne sont pas quantifies dans la formule prcdente ; nous dirons que ces deux variables sont libres. La formule qHB peut tre vue comme une requte du calcul relationnel. Elle se lit alors : donnez-moi les salles s et les horaires h, sĠil existe un ralisateur r et un titre t tels que... En dĠautres termes, Ç O et quelle heure puis-je voir un film avec Humphrey Bogart ? È. Ce langage, le calcul relationnel, permet dĠexprimer des questions dans une syntaxe qui vite les ambiguts de nos langues naturelles. Si elles pouvaient aimer, les machines aimeraient la simplicit, la prcision du calcul relationnel. En pratique, elles utilisent le langage SQL (pour Structured Query Language) qui exprime diffremment les mmes questions. Par exemple la question prcdente sĠexprime en SQL comme :
select
salle, heure
from Film, Sance
where Film.titre = Sance.titre and acteur= ÇHumphrey BogartÈ
CĠest presque comprhensible. Non ? Et quĠAlice sĠexprime en franais ou quĠelle utilise une interface graphique, le systme transforme sa question en requte[13] SQL.
La question du calcul relationnel prcdente (ou en SQL) prcise bien ce quĠAlice demande. Cette question a un sens prcis, une smantique. Elle dfinit une rponse, un ensemble de n-uplets. Nous ne prciserons pas comment dans cette leon. Ce que la question ne dit pas cĠest comment calculer la rponse. Pour le Ç comment È, on utilise lĠalgbre relationnelle introduite par Codd. Une tape importante consiste transformer une question du calcul en une expression algbrique qui permet de calculer la rponse cette question.
LĠalgbre relationnelle consiste en un petit nombre dĠoprations de base qui, appliques des relations, produisent de nouvelles relations. Ces oprations peuvent tre composes pour construire des expressions algbriques de plus en plus complexes. Pour rpondre la question qui nous sert dĠexemple, il nous faudra trois oprations, la jointure, la slection et la projection, que nous composerons dans lĠexpression suivante de lĠalgbre relationnelle :
EHB
= Psalle,heure (Ptitre (sacteur = Ç Humphrey Bogart È(Film))
Figure 2 : lĠvaluation dĠune requte algbrique
Nous pourrons
suivre lĠvaluation de cette expression algbrique en Figure
2. LĠopration
de slection, dnote s, filtre une relation, ne gardant que les n-uplets satisfaisant une
condition, ici acteur = Ç Humphrey Bogart
È. LĠopration de projection, dnote P, permet
aussi de filtrer de lĠinformation dĠune relation mais cette fois en liminant
des colonnes. LĠopration peut-tre la plus exotique de lĠalgbre, la Ç jointure È,
dnote
Notre prsentation est rapide mais il est important que le lecteur comprenne lĠintrt de lĠalgbre. Il est relativement simple dĠcrire un programme qui value la rponse une question du calcul relationnel. Il est plus dlicat dĠobtenir un programme qui calcule cette rponse efficacement. LĠalgbre relationnelle dcoupe le travail. Un programme particulier trs efficace peut tre utilis pour chacune des oprations de lĠalgbre ; le rsultat est obtenu en composant ces programmes. LĠefficacit provient notamment de ce que les oprations considrent des ensembles de n-uplets plutt que les n-uplets un un.
Codd a dmontr le thorme suivant.
Thorme [Codd] : une question est exprimable en calcul relationnel si et seulement si elle peut tre value avec une expression de lĠalgbre relationnelle, et il est facile de transformer une requte du calcul en une expression algbrique qui value cette requte.
QuĠavons nous appris de Codd ? Pas grand-chose du point de vue des mathmatiques. Le calcul relationnel est emprunt aux logiciens. Une algbrisation (lgrement diffrente) avait mme dj t propose par Tarski. Mais dĠun point de vue informatique, Codd a pos les bases de la mdiation autour des donnes entre individus et machines. Grce son rsultat, nous savons que nous pouvons exprimer une question en calcul relationnel, quĠun systme peut traduire cette question en expression algbrique et calculer efficacement sa rponse. Pourtant, quand Codd proposa cette approche, la raction des ingnieurs qui graient alors de gros volumes de donnes et de grandes applications, fut unanime : Ç trop lent ! a ne passera pas lĠchelle È. Ils se trompaient. Pour traduire lĠide de Codd en une industrie de milliards de dollars, il manquait lĠoptimisation de requte. Aprs des annes dĠeffort, les chercheurs sont parvenus faire fonctionner les systmes relationnels avec des temps de rponse acceptables. Avec ces systmes, le dveloppement dĠapplications grant des donnes devenait beaucoup plus simple ; cela se traduisait par un accroissement considrable de la productivit des programmeurs dĠapplications grant des gros volumes de donnes.
Il existe une infinit dĠexpressions algbriques qui valuent une mme requte. Si elles sont syntaxiquement diffrentes, elles dfinissent la mme question. DĠun point de vue smantique, elles sont quivalentes. Optimiser une requte consiste la transformer en une autre qui donne les mmes rponses, mais qui soit la moins coteuse possible (typiquement en temps). DĠun point de vue pratique, il nous faut choisir un Ç plan dĠexcution È, cĠest--dire une expression algbrique avec des prcisions sur lĠalgorithme utiliser pour valuer chacune des oprations. Un plan dĠexcution, cĠest quasiment un programme pour calculer la rponse. Un premier problme est que lĠ Ç espace de recherche È, cĠest--dire lĠespace dans lequel nous voulons trouver le plan dĠexcution, est potentiellement gigantesque. Pour viter de le parcourir entirement, nous allons utiliser des Ç heuristiques È, cĠest--dire des mthodes qui, si elles ne garantissent pas de trouver le plan optimal, donnent assez rapidement des plans satisfaisants. Ces heuristiques utilisent souvent des rgles de bon sens comme Ç il faut raliser les slections le plus tt possible È. LĠautre difficult est que pour choisir le plan le moins chronophage, lĠoptimiseur (cĠest--dire le programme en charge de lĠoptimisation) doit tre capable dĠestimer le cot de chaque plan candidat et cĠest une tche complexe laquelle le systme ne peut se permettre dĠaccorder trop de ressources. Donc, lĠoptimiseur fait Ç de son mieux È. Et typiquement les optimiseurs de systmes comme Oracle ou DB2 font des merveilles sur des requtes simples. CĠest bien moins glorieux pour les requtes complexes, par exemple mettant en jeu des quantificateurs universels comme la question : quels sont les acteurs qui nĠont jou que dans des comdies ? Heureusement, en pratique, la plupart des questions poses sont simples.
Sous-jacent dans la discussion sur lĠoptimisation de requte est la question de la difficult dĠobtenir une certaine information. Nous rencontrons la notion de Ç complexit È. Depuis Gdel, nous savons quĠil est des propositions qui ne peuvent tre ni dmontres ni rfutes, quĠil est des problmes qui ne peuvent tre rsolus. Cette notion dĠindcidabilit commence pniblement arriver jusquĠau grand public. Ce mme public ne voit dans le fait quĠune requte prend plus ou moins longtemps que des raisons purement techniques. Evidemment, le temps de calcul dpend de la puissance du serveur, de la vitesse du disque ou de la qualit de lĠoptimiseur. Mais au-del de tels aspects, il est des tches qui demandent intrinsquement plus de temps que dĠautres. Par exemple, nous pouvons afficher lĠcran le gogol, le nombre consistant en un 1 suivi de 100 zros, en quelques fractions de secondes, mais nous ne nous amuserions pas afficher tous les nombres de 1 au gogol, 1, 2, É 10100. Cela prendrait trop de temps. Mme parmi les problmes dont la rponse est courte (par exemple, la rponse est Ç oui È ou Ç non È), il en est qui, bien que dcidables, sont intrinsquement bien plus complexes que dĠautres ; il en est mme que nous ne savons pas rsoudre en temps raisonnable. Parfois, cette difficult trouve mme son utilit. Le systme cryptographique RSA repose sur le fait que nous ne savons pas factoriser (en gnral) un trs grand entier en nombres premiers, en un temps raisonnable et quĠil est donc trs difficile de dcrypter un message sans en connatre la cl secrte.
La complexit est un aspect particulirement important pour le traitement de gros volumes de donnes. Pour une requte particulire, nous voulons savoir :
á quel temps il faut pour la raliser ? complexit en temps,
á quel espace disque (ou quelle mmoire) est ncessaire ? complexit en espace.
Evidemment ces quantits dpendent de la taille de la base de donnes. Si la requte prend un temps t et que nous doublons la taille n de nos donnes, nous faut-il attendre le mme temps (temps constant), le double de temps (temps linaire en n), ou est-ce que le temps grandit de manire polynomiale (en nk o n est la taille des donnes) voire exponentielle (en kn) ? Ce nĠest pas anodin : sur de gros volumes de donnes, une complexit en temps nk exigera une grosse puissance de calcul, et une complexit en kn sera rdhibitoire.
Deux remarques nous permettent de prciser cette notion de complexit :
1. la complexit dans les donnes. En informatique, la complexit se mesure par la taille du problme, ici ce serait la taille des donnes plus la taille de la requte. Mais les requtes tant typiquement nettement plus petites, il est bien plus instructif de ne considrer la complexit quĠen fonction de la taille des donnes. Nous parlerons de complexit dans les donnes.
2. les bornes infrieure et suprieure. Si un programme rpond une requte en temps n2 dans la taille n des donnes, cela prouve seulement quĠil est possible dĠy rpondre en temps n2, ce qui donne une borne suprieure. Peut-tre existe-t-il un autre programme qui calcule la rponse plus rapidement, peut-tre en temps constant. Si nous pouvons montrer quĠun temps nĞlog(n) au minimum est ncessaire, cela donne une borne infrieure. Par exemple, pour calculer le nombre de n-uplets de la jointure entre deux relations, nĞlog(n) se trouve tre la fois une borne infrieure et suprieure[14].
De nombreuses classes de complexit ont t tudies. Intuitivement, une classe de complexit regroupe tous les problmes qui peuvent tre rsolus sans dpasser certaines ressources disponibles, typiquement le temps ou lĠespace. Par exemple, vous avez peut-tre entendu parler de la classe P, temps polynomial. Il sĠagit de lĠensemble des problmes quĠil est possible de rsoudre dans un temps nk o n est la taille des donnes et k un entier arbitraire. Au-del de P, nous atteignons les temps NP (pour non-dterministe polynomial[15]) et EXPTIME (temps exponentiel), des temps prohibitifs ? Pourtant, il faut relativiser. Les systmes informatiques rsolvent routinirement des problmes parmi les plus complexes de NP. Et, a contrario, pour 1.5 traoctets de donnes, n3 est encore aujourdĠhui hors dĠatteinte, mme en disposant de tous les ordinateurs de la plante.
Avant de poursuivre sur dĠautres aspects du modle relationnel, interrogeons-nous sur les origines de lĠnorme succs des systmes relationnels :
1. Les requtes sont fondes sur le calcul relationnel, un langage logique, simple et comprhensible pour des humains surtout dans des variantes comme SQL.
2. Une requte du calcul relationnel est facilement traduisible en une expression de lĠalgbre relationnelle simple valuer pour des machines.
3. Il est possible dĠoptimiser lĠvaluation dĠexpressions de lĠalgbre relationnelle car cette algbre nĠoffre quĠun modle de calcul limit.
4. Enfin, nous verrons que, pour ce langage relativement limit, le paralllisme permet de passer lĠchelle de trs grandes bases de donnes.
Pour insister sur les deux derniers points qui sont essentiels, nous pourrions choisir pour les bases de donnes le slogan : Ç ici on ne fait que des choses simples mais on les fait vite. È Nous allons voir que nous les faisons aussi en lien troit avec la logique.
Il se trouve quĠil est des liens profonds entre des classes de complexit et des classes de problmes exprimables dans des logiques. Fagin a par exemple montr que NP concidait avec Ç la Logique existentielle du second ordre È (dans laquelle une variable reprsente un ensemble). Nous allons mentionner certains de ces liens. Mme si nous allons essayer de gommer au maximum les dtails techniques, cette discussion pourra paratre un peu ardue. Nous encourageons pourtant le lecteur essayer de saisir la beaut de certains ponts entre la logique que nous voyons ici comme le langage permettant aux tres humains de dialoguer avec des machines et les calculs que ces machines ralisent mcaniquement avec des ressources limites.
Les requtes relationnelles sont valuables en P. Cela suggre la question suivante : est-il possible dĠexprimer avec le calcul relationnel tout ce quĠune machine pourrait calculer en temps polynomial ? Il se trouve que non ! La requte suivante est dans P mais nĠest pas exprimable dans le calcul relationnel : tant donn un graphe G, et deux points a, f de ce graphe, est-ce quĠil existe un chemin de a f ? Aussi surprenant que cela puisse paratre, si nous pouvons avec le calcul relationnel demander sĠil existe un chemin de longueur 3 ou mme k, pour un k fix, il faudrait pour un chemin de longueur arbitraire une disjonction infinie : un chemin de longueur 1 ou 2 ou 3 ou É Pour corriger ce problme, nous pouvons ajouter au langage un mcanisme qui permette de ritrer une requte du calcul relationnel jusquĠ un point fixe. Par exemple, pour la requte prcdente, partant de lĠensemble T = { a }, nous ajoutons T les points que nous pouvons joindre partir de T en suivant un arc de G, et ce tant que T grandit. Quand le point fixe est atteint, il ne reste plus quĠ vrifier si f est dans T.
Le langage ainsi obtenu est appel fixpoint. Comme les programmes ne font quĠajouter des n-uplets dans des relations et nĠinventent jamais de valeurs, la complexit reste dans P. Le langage obtenu en autorisant les programmes supprimer des n-uplets est appel while. Sa complexit est pspace : il peut tre ralis en utilisant un espace polynomial dans la taille des donnes. Un tel programme peut entrer dans une boucle, ne jamais sĠarrter[16], et donc ne jamais atteindre de point fixe. Ces langages permettent dĠexprimer des requtes trs complexes. Pourtant, belle dception, des requtes hyper-simples ne sont pas exprimables en fixpoint, pas mme en while. CĠest le cas par exemple de la requte : est-ce que le graphe G a un nombre pair de nÏuds ? JĠai longtemps travaill dans ce domaine notamment avec mon collgue Victor Vianu de UC San Diego. Nous avons caractris ce qui peut tre calcul avec ces langages. Nous avons notamment prouv[17] que fixpoint tait gal while si et seulement si P tait gal pspace, tablissant ainsi un pont entre des logiques et des classes de complexit[18].
Nous notons en passant que si pspace Ç a lĠair È bien plus puissant que P, nous ne savons pas sĠils sont diffrents. Nous ne savons dĠailleurs pas non plus si P ¹ NP, le problme ouvert le plus clbre de lĠinformatique. Si nos connaissances progressent en thorie de la complexit, de nombreux dfis persistent, fascinants et complexes. Et pour conclure cette discussion sur les liens entre logique et complexit, nous mentionnerons un autre problme ouvert : obtenir une logique qui capture exactement les requtes dans P, intuitivement les requtes auxquelles il est possible de rpondre dans un temps raisonnable. En pratique, cela voudrait dire disposer dĠun langage qui ne permettrait dĠexprimer que des requtes dans P, mais qui permettrait dĠexprimer toutes les requtes de P. SĠil est probable quĠun tel langage serait de fait peu utilisable en pratique, le problme est si beau qui relie le logiquement exprimable et le rapidement calculable.
Et pour conclure cette partie, nous allons discuter deux aspects essentiels de la gestion de donnes : les transactions et le paralllisme.
To serve and protect data[19], Anonyme
La modernisation des chanes de fabrication a t principalement cause dans un premier temps par lĠlectronique et lĠautomatique. Avant de sĠimposer aussi dans la production, lĠinformatique a elle profondment pntr lĠindustrie en modifiant radicalement la manire dont des transactions, comme les commandes ou la paye, taient gres de manire automatique. Une transaction informatise est la forme dmatrialise dĠun contrat. Son cot peut se trouver incomparablement plus faible que celui dĠune transaction relle mettant en jeu des dplacements de personnes sur des chelles de temps bien plus longues. Avec des fonctionnalits considrablement largies par le recours lĠinformatique, les transactions se retrouvent au cÏur de nombreuses applications qui ont largement contribu populariser les systmes relationnels comme, par exemple, les applications bancaires.
Les systmes relationnels rpondent aux besoins des transactions en supportant la notion de transaction relationnelle. Une transaction relationnelle garantit quĠune squence dĠoprations se ralise correctement, par exemple en empchant quĠune somme dĠargent ne s'vanouisse dans la nature (avec un compte en banque dbit sans qu'un autre ne soit crdit). Mme lĠoccurrence dĠune panne[20] ne doit pas pouvoir conduire une excution incorrecte. Il nous faut donc formaliser la notion dĠexcution correcte. Evidemment, il serait impossible de le faire prcisment sĠil fallait tenir compte des millions de choses que font de tels systmes. Mais lĠinformatique comme les mathmatiques dispose dĠun outil fantastique : lĠÇ abstraction È. Nous pouvons considrer ce que fait un systme relationnel sous lĠangle des transactions relationnelles et des modifications quĠelles apportent aux donnes, en faisant abstraction de toutes les autres tches quĠil ralise. Il devient alors possible de dfinir formellement la notion dĠexcution correcte.
Nous pouvons mentionner dĠautres tches que les systmes relationnels accomplissent cot de lĠvaluation de requtes et de la gestion de transactions relationnelles. Ils grent galement :
á les contraintes dĠintgrit (telles que Ç tout responsable de projet doit tre enregistr dans la base des personnels È),
á les dclencheurs ou Ç triggers È (tels que Ç si quelquĠun modifie la liste des utilisateurs, envoyer un message au responsable de la scurit È),
á les droits des utilisateurs (pour contrler qui a le droit de lire ou de modifier quoi),
á les vues (pour sĠadapter aux besoins dĠutilisateurs particuliers),
á lĠarchivage (pour pouvoir retrouver des donnes primes depuis des lustres),
á le nettoyage des donnes (pour liminer les doublons, les incohrences).
Pour grer de gros volumes de donnes, lĠutilisation du paralllisme sĠavre essentiel. De plus en plus les machines sont multi processeurs. Mais nous insisterons ici surtout sur lĠutilisation de plusieurs machines travaillant simultanment sur une tche commune. Ce type dĠapproches est tout particulirement fondamental pour la Toile qui met en jeu des volumes considrables dĠinformation :
á paralllisme entre peut-tre les dizaines, centaines voire milliers de serveurs dĠune Ç grappe[21] È ;
á paralllisme entre les millions de serveurs de la Toile qui fonctionnent indpendamment mais interagissent en permanence.
Pour conclure cette partie, deux exemples en guise dĠillustration, pour faire sentir au lecteur la puissance du paralllisme :
á Plutt que de regrouper les comptes de ses clients dans un centre informatique unique, une entreprise peut choisir de les laisser grer dans ses centres rgionaux. Regrouper les donnes sur une machine unique avec des performances comparables, demanderait un serveur trs sophistiqu, donc plus cher. Notons aussi quĠune organisation distribue sĠaccorde mieux un management plus dcentralise de lĠentreprise.
á Deux types dĠorganisations sont possibles pour la diffusion de films. Dans une premire, chaque film est conserv sur un serveur unique. Si le nombre de clients augmente ou si un film est trop populaire, le serveur est vite satur. Dans une autre organisation, une architecture pair--pair, chaque machine est un pair, cĠest--dire la fois serveur et client. Si un pair demande un film, il peut stocker ce film et le transmettre plus tard dĠautres. Plus un film est populaire, plus il devient disponible sur un grand nombre de machines, et plus son tlchargement devient facile et rapide.
Nous avons considr dans cette partie la gestion de donnes dans des systmes relationnels. Nous nous intressons maintenant aux systmes dĠinformation de la Toile, et pour commencer aux plus rpandus dĠentre eux, les moteurs de recherche de la Toile.
Internet : on ne sait pas ce qu'on y cherche mais on trouve tout ce qu'on ne cherche pas. Anne Roumanoff
Le World Wide Web, introduit par Tim Berners-Lee et Robert Cailliau vers 1990, sĠappuie sur des documents hypermdia. CĠest la Toile laquelle nous nous sommes si rapidement habitus. LĠinformation est en langue naturelle et les textes vaguement structurs avec les balises HTML pour, par exemple, des titres ou des numrations. Des ancres sur lesquelles lĠinternaute peut cliquer conduisent dĠautres pages HTML mais aussi des images, de la musique, des vidos. Dans cette partie, nous allons parler dĠun des plus beaux succs de la Toile, le moteur de recherche. Le moteur de recherche de la Toile nous permet de fuir la navigation fastidieuse sur le graphe des pages et le monde de lĠhypertexte pour nous plonger dans une bibliothque numrique universelle. Nous allons expliquer comment fonctionne un tel moteur. Le lecteur pourra trouver plus de dtails dans lĠarticle historique de Serge Brin et Larry Page[22] ou dans notre ouvrage rcent[23].
Le moteur de recherche sĠintresse une vision de la Toile comme bibliothque universelle. LĠinternaute cherche une information. Mme si la Toile nĠa srement pas de rponses toutes ses questions, cette information se trouve peut-tre dans les masses dĠinformations et de connaissances vritablement extraordinaires runies. Tels des enfants, nous nous merveillons devant les dizaines de milliards de documents de la Toile. Mais un enfant apprend, depuis son plus jeune ge, valuer, classer, filtrer la masse considrable dĠinformations quĠil rencontre. Et nous ? Si le moteur de recherche ne nous aidait pas nous focaliser sur un petit nombre de pages, que ferions-nous ? LĠexploit technique cĠest de retrouver en un instant, grce son index, les pages de la Toile qui hbergent les mots demands. La magie, cĠest de proposer parmi les dizaines, voire centaines de millions de pages possibles, les quelques pages qui contiennent si souvent ce que lĠinternaute recherche. Nous examinons tour tour ces deux facettes des moteurs de recherche.
La mission de Google : organiser les informations
l'chelle mondiale dans le but de les rendre accessibles et utiles tous.
Google
Un index de la Toile associe chaque mot la liste des pages qui
contiennent ce mot. Par exemple, une entre dans cet index serait :
Casablanca ¨ http://www.imdb.com/title/tt0034583/, http://films.com/Bogart/ ,...
qui indique que le mot Ç Casablanca È est prsent notamment dans ces pages des sites IMDb et films.com. Si vous donnez au moteur de recherche plusieurs mots comme Ç Casablanca Bogart Bergman È, il calculera la liste des pages de la Toile qui contiennent tous ces mots.
Une srieuse difficult est la taille de cet index : des dizaines de traoctets de donnes pour quelques milliards de pages. Un serveur dĠun tel index rencontre deux problmes de passage lĠchelle :
1. Pour indexer plus de pages, le serveur a besoin de plus en plus de stockage pour garder lĠindex, et chaque requte devient de plus en plus coteuse valuer.
2. Si le nombre dĠutilisateurs crot, le serveur reoit de plus en plus de requtes.
Dans les deux cas, le serveur est vite submerg. Pour rsoudre ce problme nous allons utiliser le paralllisme et une technique fondamentale de lĠinformatique, la technique du hachage.
Pour illustrer la technique, nous allons utiliser K=10 machines M1, É, M10 et une fonction H qui, applique un mot, retourne un entier choisi alatoirement entre 1 et 10 (et qui retourne, pour un mot donn, chaque fois le mme entier). Cette fonction est appele fonction de hachage. La responsabilit dĠun mot w est donne la machine H(w). Supposons quĠun Ç crawler È (un programme qui parcourt la Toile en qute de pages) dcouvre le mot Ç France È sur une page dĠURL p. LĠentre de lĠindex, qui dit que la page p contient ce mot, est stocke sur la machine H(Ç France È), disons M7. Les donnes sont donc partages relativement quitablement entre les dix machines ce qui rsout le premier problme. Supposons maintenant que quelquĠun veuille les donnes correspondant au mot Ç France È, il interroge la machine M7. Les requtes sont donc elles-aussi partages relativement quitablement entre les dix machines, ce qui rsout le second problme. Il nous faut videmment raliser un index sur chaque machine. Typiquement, nous pouvons l-aussi utiliser une technique de hachage, centralis cette fois.
Maintenant si la taille des donnes que nous voulons indexer ou le nombre de clients grandissent, il suffit dĠajouter des machines. Par exemple, Google utilise des milliers de machines dans des Ç fermes È[24] et disperse ses fermes aux quatre coins du monde. Le paralllisme nous a permis le passage lĠchelle. Vous avez dit brillant ?
Pourquoi est-ce que cela marche ? Grce au paralllisme. De manire gnrale, pouvons-nous prendre nĠimporte quel algorithme et lĠacclrer volont en utilisant plus de machines ? La rponse est non ! Tous les problmes ne sont pas aussi aisment paralllisables. Il se trouve que la gestion dĠindex est un problme trs simple, trs paralllisable[25] (Ç embarrassingly parallel È). Donc, nous pouvons sans frmir envisager dĠindexer de plus en plus de pages, des dizaines de milliards ou plus.
Playboy: Is your company
motto really "Don't be evil"?
Brin: Yes, it's real.
Playboy: Is it a written code?
Brin: Yes. We have other rules, too.
Page: We allow dogs, for example[26].
Sergey
Brin et Larry Page, fondateurs de Google. Interview dans le magazine Playboy, 2004
Le cÏur du problme reste maintenant de choisir parmi les millions de pages qui contiennent les mots de la requte. CĠest essentiel car un utilisateur ira rarement au-del des dix ou vingt premiers rsultats qui lui seront proposs. Au dpart, les moteurs de recherche comme Alta Vista utilisaient, pour classer les pages, des techniques bases uniquement sur leurs contenus comme dans les bibliothques numriques traditionnelles. Une page tait juge plus intressante si le terme apparaissait dans un titre, ou en caractre gras. Ces moteurs utilisaient des mesures statistiques du style de TF-IDF (pour Term Frequency-Inverse Document Frequency) qui valuent l'importance d'un terme dans un document relativement un corpus de documents. Plus le terme est rpt dans le document plus il Ç pse È. Et, plus le terme est rare dans le corpus plus il pse. Ce genre de techniques qui marchent bien sur de petits corpus sĠest avr assez dcevant pour la Toile.
Les jeunes crateurs de Google ont eu lĠide de baser lĠordre des pages slectionnes sur une connaissance collective prsente de manire implicite dans la masse des pages. Plus prcisment, ils ont utilis une technique classique en mathmatiques, la marche alatoire. CĠest cette ide inspire de travaux antrieurs notamment de Jon Kleinberg[27] qui est lĠorigine de lĠalgorithme PageRank de Google, et du succs industriel de cette socit, lĠun des plus tonnants de lĠhistoire de lĠhumanit.
Imaginez un Ç surfeur de la Toile È. Il part dĠune page, disons la page www.inria.fr/. Ensuite, il se balade sur la Toile en choisissant chaque tape, au hasard, un des liens de la page, et en cliquant sur ce lien. Si la page nĠa pas de lien, il choisit alatoirement une page nĠimporte o sur la Toile. Et il continue encore et encore, pour toujours. Quelle est lĠinfini sa probabilit de se trouver sur une page prcise ? CĠest ce que nous dfinirons comme la popularit de cette page. Intuitivement, si une page est populaire (comme la page www.lemonde.fr/), de nombreuses pages la rfrencent et la probabilit de se retrouver sur cette page est bien plus grande que de se retrouver sur une page dĠune bloggeuse inconnue (comme Alice). A priori, une dfinition abstraite, un joli concept de mathmatiques totalement inutile ? Non. Car il se trouve quĠen pratique cette popularit correspond assez bien aux attentes des internautes.
Reste calculer cette popularit. Pour cela, nous allons la mettre en quation. Supposons que nous indexions dix milliards de pages. Nous les numrotons de 1 N = dix milliards. Dans une approche classique en mathmatiques, imaginons que nous connaissons dj cette popularit. Nous disposons donc dĠun vecteur pop, o pour chaque page i, pop[i] est la popularit de la page. (CĠest la probabilit de se trouver sur cette page ; notons que i=1 N pop[i] = 1.) Chaque page distribue disons 90% de sa popularit quitablement entre toutes les pages vers laquelle elle pointe, et les 10% qui restent entre toutes les pages indexes. Si une page est un cul-de-sac (elle ne conduit nulle part), elle partage toute sa popularit entre toutes les pages indexes. En ignorant quelques dtails, cela nous conduit une matrice Q qui capture ces Ç changes È de popularit et une quation de point fixe :
pop = Q Ğ pop,
une notation bien compacte pour un systme de dix milliards dĠquations dix milliards dĠinconnues. Il se trouve que ce systme a pour solution le vecteur des popularits. Et l, banco ! Une technique connue nous permet de calculer cette solution.
Dans lĠabsence dĠautre information, partons du vecteur pop0 dfini par pop0[i] = 1/N, cĠest--dire que toutes les pages sont supposes galement populaires. Et dfinissons :
pop1 = QĞ pop0 ;
pop2 = Q Ğ pop1 ;
pop3 = Q Ğ pop2 É
En poursuivant ce calcul, nous convergeons sur un point fixe qui se trouve tre la solution de notre quation. Nous avons calcul le vecteur de popularit ! (Comme, en pratique, nous pouvons nous contenter de peu de prcision, 6 ou 7 itrations suffisent.)
Vous avez dit lmentaire ? Pas tant que a. Mme si la matrice est trs Ç creuse[28] È, pour raliser ce calcul efficacement avec des volumes de donnes pareils, il faut des algorithmes trs sophistiqus, une ingnierie de fou. Ce nĠest peut-tre plus des mathmatiques mais cĠest de lĠinformatique de toute beaut.
Nous avons prsent une version trs simplifie dĠun moteur de recherche. Les moteurs de recherche modernes combinent TF-IDF et la popularit des pages que nous venons de dfinir bien dĠautres critres pour choisir quelles pages classer en tte. Chaque jour, les moteurs de recherche sont plus sophistiqus[29] pour mieux rpondre aux attentes des internautes. Ils se compliquent ne serait-ce que pour contrer les attaques comme celles des Ç spamdexeurs È qui trichent pour tre apparatre plus hauts dans les rsultats. Ils nous posent aussi des problmes essentiels. Pour nĠen citer que quelques uns :
á LĠinterrogation de la Toile est base sur des listes de mots-cls, une langue primitive quasiment sans grammaire. Il est srement possible de faire mieux.
á Une mesure qui privilgie la popularit des pages a pour effet dĠencourager lĠuniformit, les pages populaires devenant de plus en plus populaires et les autres sombrant dans lĠanonymat. CĠest certainement discutable tout comme le fait que la popularit utilise par les moteurs de recherche actuels semble ignorer si la page est cite pour sa qualit (son exactitude) ou pas.
á Faut-il exclure des pages, parce quĠelles sont racistes, vulgaires, fausses (pourquoi pas), et pour favoriser un client ou ne pas dplaire un gouvernement (au secours !) ?
á Enfin, il est quelque chose dĠextrmement embarrassant dans la puissance considrable que les moteurs de recherche ont de par leur contrle de lĠinformation surtout dans un contexte de quasi monopole (au moins en Europe). Devons-nous leur faire confiance sans comprendre le secret de leur classement ? Et pourquoi ce secret ?
Je me trouvais dans le groupe de recherche sur les systmes dĠinformation Stanford en 1995 quand deux jeunes tudiants, Sergei Brin et Larry Page y travaillaient sur le prototype du moteur de recherche Google. JĠai t tout de suite conquis par leur proposition dĠutiliser la popularit des pages. Il mĠa fallu par contre mĠhabituer lĠide de garder lĠindex en mmoire. Une telle technique aurait t irraliste quelques annes plus tt, car elle aurait conduit utiliser un nombre improbable de machines trs coteuses. En 1995, la gestion de lĠindex en mmoire devenait envisageable avec un nombre raisonnable de machines bon march. Cela illustre bien quĠen informatique, les champs du possible voluent en permanence.
De retour en France, jĠai conu avec deux tudiants, Mihai Preda et
Gregory Cobena, un algorithme pour calculer la popularit des pages[30]. Concevoir cet algorithme,
prouver quĠil calcule bien le point fixe de lĠquation, lĠimplmenter sur une
grappe de machines, fixer les bogues, lĠoptimiser, exprimenter, atteindre le
milliard de pages. Je nĠavais jamais touch de tels volumes de donnes. CĠest
parmi une de mes plus fantastiques expriences de chercheur.
Plusieurs socits se partageaient dans les annes 90 le march des
moteurs de recherche. Les utilisateurs allaient plbisciter le moteur de Google.
Comme base ce succs extraordinaire, nous pourrions mentionner une ingnierie
exceptionnelle pour faire fonctionner des milliers de machines 24 heures sur
24, des modles commerciaux rvolutionnaires, des techniques de management originales
fondes sur le culte de la crativit. Mais en ce qui me concerne, je prfre
me rappeler quĠau dbut, il y avait juste un
point fixe et quelques algorithmes.
Avoir ou
ne pas avoir de rseau : thatĠs the question. Bruno Latour
LĠcriture nous a permis dĠ Ç externaliser È en partie notre mmoire. LĠimprimerie nous a permis de transmettre cette mmoire externe. La Toile a diminu considrablement les cots de transmission de lĠinformation. Surtout, elle a permis chacun dĠapporter sa contribution personnelle au patrimoine collectif (avec des rserves comme la fracture numrique dont nous parlerons plus loin). La consommation passive dĠinformation du dbut de la Toile a ainsi cd la place des contributions actives par des internautes de plus en plus nombreux. Alice passe ses soires sur Facebook chatter avec une poigne dĠamis quand son fils est sur World of Warcraft avec des copains du monde entier, quĠil nĠa jamais rencontrs Ç pour de vrai È. Elle publie son blog. Il twitte longueur de journe.
La Toile, cĠest donc aussi une juxtaposition de milliards dĠindividus et de tous leurs rseaux. Aprs les rseaux de machines, les rseaux de contenus, nous atteignons les rseaux dĠutilisateurs. Parmi les systmes rcents les plus rpandus, nombreux sont ceux qui sĠattachent intensifier les changes dĠinformations entre des individus lĠintrieur de leurs rseaux, depuis les jeux en ligne jusquĠaux logiciels de rseaux sociaux comme Facebook ou Google+. Les jeunes ont adopt avec passion les rseaux sociaux. Les seniors, aprs un temps dĠhsitation, avec beaucoup de temps libre et peut-tre autant dĠenvie de contacts sociaux, sĠy engouffrent avec enthousiasme.
Ces nouveaux systmes nĠont plus pour cible lĠuniversalit de la Toile, mais les individus et les groupes plus ou moins bien dfinis auxquels ils appartiennent. Ils redfinissent les distances entre individus et proposent dĠautres proximits. Prenons une personne qui nous est inconnue. Il nous suffit dĠun nom, et si le nom est trop commun de quelques vagues indications, pour que sa vie se droule devant nous. Pour peu que cette personne soit un peu visible sur la Toile, elle envahit notre vie, avec ce quĠelle publie, ce qui se dit dĠelle, par ses mille liens avec les autres et les traces quĠelle laisse un peu partout. Il nĠest mme pas ncessaire que la Ç cible È soit clbre[31]. Nous nageons dans ce qui pourrait tre un paradis pour biographe dĠantan, ou peut-tre un cauchemar, car a disparu la place du rve.
Ces systmes soulvent un grand nombre de sujets de recherche, parfois la frontire de lĠinformatique et de la sociologie. Nous allons insister ici sur un aspect particulirement passionnant, lĠmergence de connaissances collectives[32]. Nous allons brivement considrer plusieurs approches qui sont utilises pour obtenir de telles connaissances :
1. La notation, par exemple, de produits ou dĠentreprises par des internautes ;
2. LĠvaluation de lĠexpertise des internautes ;
3. La recommandation, par exemple, de produits ;
4. La collaboration entre internautes pour raliser collectivement une tche qui les dpasse individuellement ; et
5. Le crowdsourcing qui met des humains au service de systmes informatiques.
LĠinternaute est invit noter dĠautres internautes, des services, des produits, et participe ainsi la construction dĠune connaissance collective. Par exemple, eBay permet aux acheteurs de donner leur avis sur les vendeurs de sa plateforme (et rciproquement). Cela conduit une fantastique incitation fournir un excellent service au risque, sinon, dĠtre mal not et de perdre des clients. Les systmes fourmillent qui utilisent les avis de leurs utilisateurs comme ViaMichelin pour les restaurants ou AlloCin pour les films. Notons que, dans ces deux cas, les critiques qui notaient jusquĠalors les restaurants ou les films perdent une forme de monopole. Des systmes plus exprimentaux essaient dĠextraire des connaissances plus fines que des notes, partir dĠavis textuels. Nous rencontrons l les difficults analyser des sentiments dĠun texte.
Ces systmes de notation ont aussi leur place au niveau global de la Toile. Par exemple, le systme Delicious demande aux internautes dĠassocier des mots-cls (de la smantique) aux pages. Une mesure de popularit, comme celle discute dans la partie prcdente, peut aussi tre vue comme tenant de la notation : une rfrence une page est interprte comme une note positive, une critique participant autant quĠune louange la popularit dĠune page. A ce propos, il a t dit quĠune socit de service dlivrait volontairement de mauvais services certains de ses clients pour que ceux-ci en parlent sur la Toile et augmentent ainsi la popularit, donc la visibilit, de la socit en question. Mme si cette information non vrifie nĠest peut-tre quĠune des lgendes de la Toile, le fait que la popularit ignore le sens des rfrences est drangeant. En analysant les liens de la Toile suivant un systme de notation plus riche (avec des notes ngatives), ce biais pourrait tre corrig.
Une technique essentielle pour valuer la qualit dĠune information est de dterminer la qualit de la source, la confiance que nous pouvons avoir dans les informations que cette source fournit en gnral. Pour illustrer ce type de techniques, nous mentionnerons un travail rcent sur la corroboration[33]. Imaginons un systme o des internautes introduisent des connaissances. Ils peuvent se tromper. Pourtant, sĠils ne faisaient que spcifier des connaissances positives comme Ç Alice possde une 2CV È, rien ne pourrait empcher le systme de croire tout ce que disent les internautes, y compris toutes leurs erreurs. Pour que le systme puisse commencer douter, il faut que des internautes se contredisent, et pour cela, quĠils se mettent publier des informations ngatives comme Ç Alice ne possde pas de BMW È. En gnral, les internautes ne veulent pas perdre de temps entrer explicitement de telles informations notamment parce que la liste des informations fausses est bien au-del de lĠaccessible. Pourtant, les internautes publient des informations ngatives sans le savoir. Par exemple, le fait quĠÇ Alice est ne Romorantin È indique quĠelle nĠest pas ne Svres, du fait dĠune Ç dpendance fonctionnelle È, cĠest--dire dĠune loi que doivent satisfaire les donnes (ici, la loi qui spcifie quĠune personne ne peut pas tre ne deux endroits distincts).
Dans le travail cit prcdemment, nous utilisons les informations incluant des ngations provenant de dpendances fonctionnelles. Nous estimons la vracit des connaissances, en dduisons les taux dĠerreurs de chaque internaute, ce qui nous procure une meilleure estimation de la vracit des connaissances, dĠo des taux dĠerreurs plus prcis pour chaque internaute, etc. Nous continuons ce processus jusquĠ atteindre un point fixe (un de plus). Ce travail illustre bien comment il est possible de dgager collectivement des connaissances.
Comme la notation, lĠvaluation de lĠexpertise a sa place sur la Toile. CĠest en particulier le cas pour ce qui concerne les informations publies par la presse. Des blogs, comme celui de Maitre Eolas pour les affaires juridiques, font maintenant autorit. De simples internautes sont de plus en plus amens remplacer les journalistes, comme rcemment en Tunisie ou en Syrie. Cela ne rend que plus crucial le besoin de croiser les informations, de les vrifier. Nous pouvons imaginer que demain des programmes participeront dterminer les rputations en termes dĠinformation dans cet espace-temps de la Toile qui donne le tournis.
Un systme comme Meetic utilise les donnes fournies par ses clients pour organiser des rencontres, pour les apparier. Un systme comme Netflix recommande des films. Pour ce faire, ces systmes ralisent typiquement des analyses statistiques dans le cadre classique trs gnral de la fouille de donnes. Ils essaient de mettre en vidence des Ç proximits È entre clients dans Meetic ou entre clients et produits dans Netflix. Ils peuvent regrouper des personnes parce quĠelles partagent les mmes gots mme si elles ne se sont jamais rencontres, ou dcouvrir des affinits inattendues entre produits. LĠexemple souvent cit est que les clients de couches-culottes achtent statistiquement beaucoup de bires. Les classifications des clients et des produits sĠenrichissent donc mutuellement et participent ainsi tablir de nouvelles proximits entre individus et produits.
De telles analyses sont ralises trs grandes chelles par exemple par Amazon ou Google. Elles sont encore souvent mathmatiquement peu fondes et leurs rsultats sont rarement satisfaisants. Raliser des analyses statistiques de qualit, sur des volumes de donnes de plus en plus grands, est un des dfis du domaine de la gestion dĠinformation.
Wikipdia est un bel exemple dĠdition cooprative. Un grand nombre dĠinternautes collaborent pour dvelopper une encyclopdie. Tout le monde peut participer. Il est facile dĠimaginer la cacophonie rsultant des incomptences, des dsaccords, des intrts personnels. La tche semble impossible. Pourtant si la qualit de son contenu est parfois conteste, il est passionnant de voir la place considrable prise si rapidement par Wikipdia dans la diffusion des connaissances[34]. Le recours une foule dĠauteurs a permis de dpasser la notion classique dĠencyclopdie avec une couverture bien plus large. Nous trouvons de tout dans Wikipdia depuis la biographie de Clmence Castel, une hrone de Koh-Lanta, jusquĠ la preuve du Lemme de lĠEtoile, un rsultat fondamental de thorie des langages. Les erreurs y sont nombreusesÉ Il y en a aussi dans les encyclopdies traditionnelles.
Wikipdia est loin dĠtre le seul exemple de telles collaborations. Tout aussi tonnant est lĠaboutissement des logiciels raliss par des communauts de dveloppeurs dans le cadre des logiciels libres, comme le systme dĠexploitation Linux. Et nous commenons voir des communauts sĠorganiser pour construire des corpus de donnes ouvertes comme le Web des donnes (en anglais, Ólinked dataÓ) du Consortium World Wide Web.
Nous utiliserons ici le terme anglais[35] Ç crowdsourcing È Il sĠagit de publier sur la Toile des problmes que des programmes ne savent pas bien rsoudre ; des internautes proposent alors des rponses, typiquement moyennant finance. Des systmes comme le Mechanical Turk[36] dĠAmazon permettent de tels contacts. Les comptences de la foule ont t utilises par exemple pour rechercher sans succs lĠun des plus clbres chercheurs du domaine des bases de donnes, Jim Gray, disparu avec son yacht au large des les Farallon. Les internautes devaient observer des photos satellites la recherche dĠindices. En utilisant un jeu vido, Foldit, des internautes sont en revanche arrivs dcoder la structure dĠune enzyme proche de celle du virus du sida[37]. Ils ont ralis ce qui bloquait experts et ordinateurs, comprendre comment cette enzyme se repliait dans un espace en trois dimensions pour construire sa structure. Le jeu se marie ici au rseau, dans le plus pur esprit des rseaux sociaux.
LĠoriginalit de tels dispositifs est que lĠindividu se retrouve au service dĠun systme informatique, qui lĠutilise, par exemple, pour complter sa base de connaissances ou rsoudre des contradictions dans cette base.
群众是真正的英雄[38]. Mao Ts-Toung
Ces approches conduisent en gnral rsoudre des problmes complexes dĠanalyse de donnes impliquant un grand nombre de personnes et de gros volumes dĠinformation. LĠvaluation de la Ç qualit È est au cÏur du sujet, la qualit dĠune information, la qualit dĠune source (un internaute, un service). Et, de plus en plus, lĠindividu est au centre du dispositif, passivement par exemple via son profil ou activement par exemple en spcifiant ce quĠil sait, ce quĠil croit, ce quĠil aime.
Confront des systmes sĠattachant construire une connaissance collective, lĠinternaute ignore le plus souvent quelles donnes ont t utilises et ne comprend parfois pas comment le rsultat a t obtenu. Il peut tre alors amen trouver les informations proposes, surprenantes, magiques, inquitantes. La difficult dĠexpliquer les rsultats est une faiblesse souvent prsente dans les approches que nous venons de discuter et qui en limite les usages.
Un autre problme srieux de ces approches est li aux atteintes la confidentialit de lĠinformation. Pour mieux servir leurs utilisateurs, ces systmes doivent runir le plus dĠinformation possible sur eux. Un rseau social comme Facebook construit par exemple une base de connaissances sur chacun de ses clients. LĠinternaute est de plus en plus souvent amen fournir des informations pour bnficier de la gratuit de services. Les systmes vont mme jusquĠ sĠchanger des informations sur leur clients ; toujours pour mieux les servir ? Cela conduit des conflits dĠintrts. Un systme de rseau social doit choisir entre le besoin de protger les donnes de ses clients (au risque sinon de les perdre) et son avidit naturelle pour les donnes confidentielles. De son cot, lĠinternaute aimerait bien que les informations le concernant restent le plus confidentiel possible mais il est aussi friand de services trs personnaliss.
Pour conclure cette partie, oublions temporairement ces problmes pour nous merveiller de voir des algorithmes faire surgir des informations disponibles sur la Toile des connaissances dont nous nĠimaginions pas lĠexistence. Ceci nous conduit un domaine plus ancien mais qui, avec la Toile, se dcouvre une nouvelle jeunesse, la gestion de connaissances. CĠest le sujet de notre prochaine partie.
[39]תָּמוּת מֹות מִמֶּנּוּ אֲכָלְךָ בְּיֹום כִּי מִמֶּנּוּ
תֹאכַל לֹא וָרָע טֹוב הַדַּעַת וּמֵעֵץ
Le domaine des bases de connaissances existait depuis longtemps quand est ne la Toile. Mais si les bases de donnes taient dj alors une industrie florissante, les bases de connaissances peinaient se faire une place au soleil. Cette place, elles sont en train de lĠacqurir avec la Toile. Nous parlerons dans cette partie de la Toile des connaissances.
La Toile des documents est fonde sur le fait que les gens aiment crire, lire, dire, couter du texte dans leurs langues naturelles. AujourdĠhui, les internautes communiquent principalement entre eux lĠaide de texte. Pourquoi et comment passer une Toile des connaissances ? Et tout dĠabord, quĠest-ce que cĠest ?
Dans sa
forme la plus homopathique, il sĠagit dĠexpliquer le sens de documents
textuels de la Toile, dĠlments qui les composent, ou, comme nous le verrons
plus loin, de services informatiques disponibles sur la Toile (les services
Web). Cela peut se faire en publiant des mtadonnes,
cĠest--dire des donnes qui expliquent les donnes. Par exemple, pour le
document que vous tes en train de lire, nous pourrions publier :
auteur
= Serge Abiteboul ;
nature
= leon inaugurale ;
institution
= Collge de France ;
date
= Mars 2012 ;
langue
= franais.
A lĠintrieur des documents, des tiquettes smantiques peuvent aussi tre attaches des fragments constitutifs dĠun texte pour les expliquer. Par exemple, accole la chane de caractres Woody Allen, lĠtiquette dbpedia:Woody_Allen prcise quĠil sĠagit dĠune personne rfrence dans Ç dbpedia È, une base de connaissances trs utilise. Nous trouverons notamment dans cette ontologie quĠil sĠagit du clbre cinaste qui a ralis Manhattan.
Les bases de connaissances comme dbpedia sont appeles des Ç ontologies È. En simplifiant, une ontologie se compose de phrases comme celles-ci :
1.
classes Personne, Ralisateur,
Cinaste
2.
Ralisateur sous classe de
Personne
3.
Ralisateur synonyme de
Cinaste
4.
dbpedia:Woody_Allen est un
Ralisateur
5.
relation a_ralis
6. dbpedia:Woody_Allen a_ralis film:Manhattan
qui spcifient des classes dĠobjets (1), des inclusions ou des galits entre classes (2,3), lĠappartenance dĠun objet une classe (4), des relations entre objets (5), des instances de ces relations (6).
Utiliser un texte brut dcouvert sur la Toile sans explication sĠapparente utiliser les rsultats dĠune exprience scientifique en ignorant les conditions de sa ralisation, ses units de mesure, etc. Des tiquettes introduites dans le texte, bases sur des ontologies, prcisent le sens de ce texte, lĠenrichissent en y ajoutant de la smantique. Par exemple, lĠtiquette dbpedia:Woody_Allen attache une phrase indique que la phrase parle de Woody Allen, un ralisateur, un cinaste, une personne, et pas du musicien Allen Woody. Et cette phrase devient une rponse la question sous forme de mots-cls Ç cinaste Woody Allen Manhattan È mme si elle ne contient ni le mot cinaste ni le mot Manhattan. Par contre, une phrase parlant dĠun sjour de Allen Woody (prcisant quĠil sĠagit du musicien dbpedia:Allen_Woody) Manhattan ne serait pas comprise comme une rponse. LĠontologie permet donc de rpondre de faon plus fine aux requtes.
Sur la Toile, nĠimporte qui peut publier ses propres ontologies. Des experts utilisent des terminologies spcifiques suivant leurs langues, leurs domaines, leurs cultures, etc., dans la pure tradition de tour de Babel. Cette diversit est une richesse mais elle complique la recherche de connaissances. La mme information peut tre reprsente de multiples manires. Surtout, nous sommes sur la Toile et nous allons trouver des masses de faits errons. Ce qui est encore plus compliqu grer, cĠest que des sites peuvent publier des rgles qui mettent en pril nos propres connaissances. Par exemple, quĠallons-nous faire si quelquĠun affirme que Ç Personne est un synonyme de Film È ? Si nous ne pouvons lĠinterdire, nous devons faire en sorte que cela ne pollue pas nos raisonnements.
Cela conduit toute une gamme de problmes passionnants : comment utiliser des ontologies pour mieux rpondre aux questions des internautes ? Comment Ç aligner È des ontologies, cĠest--dire tablir des liens entre leurs concepts et leurs relations, pour Ç intgrer È des informations venues de sources indpendantes ? Comment grer les incohrences ? Comment valuer la qualit des connaissances ?
Maintenant que nous comprenons lĠintrt de disposer de connaissances en plus de textes, la question difficile devient Ç comment acqurir ces connaissances ? È. Le plus souvent les mmes individus, qui aiment publier sur la Toile dans leur langue naturelle, apprcient peu les contraintes dĠun diteur de connaissances. Un expert chimiste va par exemple Ç entrer È dans une base (en utilisant un diteur) ses connaissances sur les molcules quĠil tudie. Il a une raison objective de le faire : lĠavancement de la science. Et ce genre de publication dans des bases de donnes contribue aujourdĠhui une visibilit scientifique au mme titre que des publications dans des journaux scientifiques. Mais les cas dĠinternautes entrant volontairement et gratuitement des connaissances dans un systme restent rares et, le plus souvent, les tches de construction de bases de connaissances sont laisses des logiciels.
Prenons par exemple la base de connaissance Yago, dveloppe partir de la version anglaise de lĠencyclopdie Wikipdia que nous avons dj mentionne. Wikipdia est au dpart une collection de textes. Pour amliorer sa prcision, ses diteurs encouragent lĠintroduction de fragments de connaissances. (Allez sur la page Wikipdia de Woody Allen et cliquez sur lĠonglet Ç Modifier È pour vous en convaincre.) CĠtait donc un excellent point de dpart pour dvelopper une vraie base de connaissances. Cette base, appele Yago, a t construite lĠaide dĠun logiciel dvelopp lĠInstitut Max Planck[40]. En 2011, Yago avait dj 2 millions dĠentits et 20 millions de relations entre ces entits.
Si la Toile reste trs largement domine par HTML et le texte, les bases de connaissances de demain sont dj en construction partir de lĠnorme ressource que constitue la masse de documents textuels. Il sĠagit essentiellement de comprendre les textes et dĠen Ç extraire È des connaissances. La tche est complexe parce quĠelle met en jeu la comprhension de la langue. Les extracteurs de connaissance font des erreurs et il est difficile de leur en vouloir : ils partent de textes qui fourmillent dĠimprcisions et dĠerreurs et de faits comme Ç Jrusalem est la capitale dĠIsral È qui peuvent tre controverss. LĠintgration des connaissances de plusieurs sources est aussi dlicate, comme lĠest la vrification des connaissances obtenues. Tout cela met en jeu une gamme de techniques complexes, notamment les techniques de corroboration ou de crowdsourcing dont nous avons dj parles.
Et demain ? A cot des documents textuels, il faut sĠattendre voir prolifrer des millions de bases de donnes ou de connaissances, de toutes tailles, de toutes natures, de qualits variables, et des liens entre elles. Le problme aura peut-tre chang mais resteront les questions fondamentales : o trouver une information spcifique et quel site est fiable ?
La publication de connaissances permet de mieux rpondre aux requtes.
Surtout, elle rend possible lĠutilisation de la Toile par des machines. Prenons
la requte trs simple suivante : Ç qui a ralis le film Manhattan ? È. Un utilisateur
humain nĠaura aucun mal trouver la bonne rponse sur la Toile, par exemple en
utilisant IMDb. Ce sera plus compliqu pour une machine. Par contre, un logiciel
pourra dialoguer avec dĠautres logiciels et comprendre des rponses comme :
( dbpedia:Woody_Allen, a_ralis, film:Manhattan )
Nous appellerons services Web des logiciels connects Internet dialoguant avec dĠautres logiciels, sĠchangeant des donnes structures suivant les protocoles de la Toile.
A la base de tout a, nous trouvons des standards. Une anecdote nous permettra de souligner leur intrt. Nous voulions utiliser un programme de classification de documents dvelopp par des collgues. Pour pouvoir faire fonctionner ce logiciel, il fallait dĠabord installer plusieurs librairies de programmes, certaines incompatibles avec notre environnement de dveloppement. Le cauchemar habituel de lĠinstallation de logiciel. Heureusement, quelquĠun a eu lĠide (pas si vidente au dbut des annes 1990) dĠutiliser le programme de classification comme service Web. Les collgues ont install leur logiciel sur une machine connecte au rseau et quelques instants plus tard, nous pouvions utiliser le service. Sans les standards de la Toile, il nous aurait sans doute fallu des jours de travail frustrant et improductif.
Mais revenons notre cinphile. Il utilise un service, disons TMLF, pour TrouveMoiLeFilm. Notre cinphile prcise (en sĠappuyant sur des ontologies) ce quĠil veut : voir le film Manhattan. TMLF cherche pour lui des offres de ce film en Vido la Demande en utilisant les descriptions de services de la Toile (aussi bases sur des ontologies). TMLF compare les prix, les prestations de chaque service, en tenant compte des abonnements de la personne, de ses prfrences, etc. Dans cette tche, TMLF collabore avec dĠautres services et change avec eux des donnes, des connaissances. Et au final, TMLF peut dmarrer le film sur la tl familiale. La Toile, qui tait lĠapanage de lĠtre humain, sĠest ainsi mise au service de services de la Toile, et les services de la Toile au service de tous.
Comprendre le sens des donnes, rpondre plus prcisment aux requtes, voil des avantages apports par les bases de connaissances. Mais le plus fascinant dĠun point de vue technique est la possibilit de sĠappuyer sur la logique pour infrer automatiquement de nouvelles connaissances. Pour expliquer cela, nous allons rexaminer la notion de fait. Nous avons rencontr jusquĠ prsent des faits extensionnels, comme Sance(Star Wars, Sel, 22:15), qui correspondent des n-uplets stocks dans la base de donnes. La base de donnes est donc dpositaire de tous les faits extensionnels du monde. Introduisons maintenant des connaissances sous forme de lois (de rgles) comme :
SouhaiteVoir( Alice, t ) Â Film( t, Hitchcock, a ), not Vu( Alice, t )
que lĠon peut lire Ç si t est le titre dĠun film dĠHitchcock, a un acteur de ce film, et si Alice nĠa pas vu ce film, alors elle souhaiterait le voir È. A partir de telles rgles et de faits comme Psychose est un film dĠHitchcock et Alice ne lĠa pas vu, nous allons pouvoir infrer un fait comme Ç Alice souhaiterait voir le film Psychose È, un fait qui nĠest stock dans aucune base de donnes. Nous parlerons de faits intentionnels. CĠest ce genre de rgles toutes simples qui permet des logiciels de raisonner.
Observez que rpondre une requte est devenu plus compliqu. Il faut maintenant infrer des faits qui permettent dĠinfrer dĠautres faits, ainsi de suite. Evidemment, il faut viter dĠinfrer tous les faits possibles, car cela demanderait trop de temps et trop dĠespace mmoire ou de stockage. Parmi les plus beaux algorithmes du domaine, nous trouvons dĠailleurs des algorithmes inspirs de la programmation logique qui permettent dĠviter dĠinfrer des faits inutilement[41]. Nous nĠaurons pas le temps de les dcrire dans cette leon.
LĠinfrence est essentielle dans le cadre dĠune Toile des connaissances en devenir, notamment pour mieux rpondre aux requtes ou pour intgrer de lĠinformation provenant de sources htrognes. Nous pouvons imaginer demain des millions, des milliards de systmes qui changent des connaissances, infrent des connaissances. Il faut pourtant raison garder. Il ne sĠagit pas ici de raisonnements trs compliqus comme par exemple ceux dĠune dmonstration mathmatique, mais juste dĠchanges dĠinformation. Se posent pourtant dĠnormes dfis techniques : comment raisonner avec de pareils volumes de connaissances ? Comment ne pas tre simplement submergs par les faits infrs ? Comment garantir la qualit des informations ? Leur confidentialit ? Comment expliquer les faits obtenus ?
Et puis notre environnement va changer. Il va nous falloir apprendre
vivre dans un monde o nous serons entours de systmes qui raisonnent,
sÔchangent des connaissance, interagissent avec nous. Comment cela va-t-il modifier notre
manire mme de savoir, de penser ?
Where
is the wisdom we have lost in knowledge? Where is the knowledge we have lost in
information[42]?
T.S.
Eliot
Le passage de biens concrets des informations numriques relativement immatrielles permet de souligner une particularit fondamentale de lĠinformatique : lĠinformatique est une science de lĠimmatriel. En cela, elle diffre des sciences du matriel comme la physique, la chimie, les sciences de la vie et de la terre, par les techniques et souvent les mathmatiques quĠelle utilise. Cela induit, pour lĠindustrie informatique, ses propres particularits tant pour la fabrication, la distribution ou la maintenance des produits que pour les modles commerciaux. CĠest cette immatrialit que nous avons rencontre presquĠ chaque page de cette leon.
La Toile est multiforme. Elle vit sur un Internet que nous souhaiterions le plus neutre[43] possible. Elle est omniprsente. Il est devenu quasi impossible de vivre sans : de trouver du travail, de travailler, de se loger, de grer ses comptes bancaires, de faire partie dĠune association, presque dĠavoir des amis, etc. Nous sommes nombreux partager la nostalgie du monde romantique, idaliste, anarchiste, anarchique, de la Toile ouverte des dbuts. La Toile volue inexorablement vers des espaces plus ferms[44] notamment sous la pression de la montarisation des contenus. Elle reste la fois la plus belle des dentelles, tissu de toutes connaissances humaines et le terreau des plus horribles fantasmes, de toutes les violences. Elle est aussi lĠunivers dĠune croissance arrogante dans ses imprcisions et ses incohrences qui noient les perles dĠhumanit et dĠune alchimie improbable qui transforme la masse en qualit.
Ce que nous avons appris ces dernires annes de la Toile, cĠest quĠau-del dĠune collection universelle de documents, elle offrait une gamme infinie dĠapplications inventer. Nous avons vu arriver le Web des tlphones Ç intelligents È, que nous sommes nombreux avoir adopts avec enthousiasme tout en nous inquitant de leurs aspects anxiognes. Mme sĠil partage des protocoles informatiques avec la Toile classique, ce monde est souvent en contradiction avec la philosophie dĠune Toile Ç libre, gratuite et universelle È, les applications payantes devenant la norme. Nous avons parl du Web des rseaux sociaux et du Web smantique. Si nous avions eu plus de temps, nous aurions considr le Web des objets et de lĠintelligence ambiante qui a transform le commerce avec les RFID (pour Radio-Frequency IDentification) et dont on nous promet quĠil va Ç rvolutionner È notre habitat. Et nous assistons au fantastique succs du Web des mondes virtuels, notamment avec des jeux vido.
Si nous avons essay dĠviter une prsentation batement optimiste des technologies de gestion de donnes, nous avons beaucoup insist dans ce texte sur les succs technologiques notamment dans le contexte de la Toile. Nous voquerons brivement certains cueils, en essayant de mettre en vidence des sujets de recherche quĠils suggrent.
Cela a t un des fils conducteurs de ce texte. Un des grands dfis des annes venir est de dvelopper les technologies qui permettront de trouver, valuer, valider, vrifier, hirarchiser lĠinformation pour aider lĠinternaute obtenir Ç la bonne information, au bon moment È. Cela implique de poursuivre les recherches dans des domaines comme lĠvaluation de la rputation, la recommandation, ou la personnalisation.
Des Ç fractures numriques È existent. La fracture gnrationnelle, grossirement, entre ceux qui sont ns avant et aprs Internet, tend disparatre avec des objets comme lĠiPad. La fracture entre urbains et ruraux pourrait disparatre facilement avec un peu de volont politique, les ruraux adoptant ces nouvelles technologies avec au moins autant dĠapptit que les citadins. Les fractures sociales[45] et nord-sud sont autrement plus proccupantes. LĠinformatique peut aider les rduire avec des logiciels toujours plus simples utiliser, des logiciels surtout libres. Mais il sĠagit dĠabord dĠun problme dĠducation. En France, nous assistons des progrs pour ce qui est de lĠenseignement de lĠinformatique. Le chemin encore parcourir reste considrable. Il faut aussi que la bibliothque gratuite du coin de la rue cde la place la bibliothque numrique, gratuite et universelle de la Toile. LĠutopie est devenue ralisable : lĠaccs pour tous toute la culture et toutes les connaissances.
La Toile et les systmes informatiques peuvent se mettre au service des gouvernants pour Ç fliquer È leurs citoyens, voire les opprimer. Ils peuvent aussi permettre dĠtablir une dmocratie des contrepouvoirs avec des rseaux de militants qui contrlent, surveillent, dnoncent, et notent les pouvoirs publics et, par l-mme, qui contribuent amliorer le fonctionnement de la dmocratie. Les choix sont principalement politiques mais les scientifiques ont un rle jouer dans lĠtablissement de ces contrepouvoirs. Il sĠagit en particulier de dvelopper les technologies permettant de contrler les puissants : les Etats, les multinationales.
Nous prenons de plus en plus conscience des risques que nous courrons disperser sur la Toile des informations que nous voudrions garder confidentielles. LĠun de ces risques les plus aigus est peut-tre lĠusurpation dĠidentit. CĠest le rle de la science de dvelopper les outils qui nous permettent, en sĠappuyant sur des lois qui protgent les donnes personnelles, de regagner le contrle sur notre information. Il sĠagit bien sr pour les gouvernements de lgifrer, mais il est important que nous nous accordions aussi sur une tique de la protection de la vie prive.
Est-ce que les outils informatiques nous rendent plus heureux ? Plus intelligents ? Plus productifs ? Le rapprochement des distances avec certains peut-il devenir la cause de lĠloignement des autres, au risque dĠenfermer lĠindividu dans des communauts dvoreuses de son identit ? Au contact de toute cette virtualit, y-a-il un risque de perdre tout contact avec la Ç vraie È vie ? Est-ce quĠune rencontre est moins vraie sur la Toile quĠau bistrot du coin ? Et peut-tre la mre de toutes les questions, allons-nous utiliser ces outils[46] pour ne plus penser ou, au contraire, pour mieux penser et tre plus cratifs.
Les rponses ces questions dpendent beaucoup des nouveaux outils informatiques qui restent inventer, avec peut-tre plus encore quĠavant, la proccupation de mieux servir les utilisateurs, et pourquoi pas de les rendre meilleurs. DĠun point de vue technique, un des dfis est de pouvoir offrir lĠindividu tous les avantages des systmes de la Toile les plus avancs, notamment les rseaux sociaux ou les systmes de recommandation, sans quĠil ait besoin dĠaliner le contrle des informations qui le concernent, comme cĠest trop le cas aujourdĠhui. Un autre dfi est dĠamliorer la production collective de connaissances. Il faut aussi nous permettre de mieux utiliser toutes ces connaissances dans nos prises de dcisions, en mieux les intgrant dans les outils logiciels que nous utilisons au quotidien comme le tlphone, le courrier ou lĠagenda lectronique.
Prediction is very difficult, especially about the future[47]. Niels
Bohr
Sous la pression de jeunes pousses trs dynamiques et de jeunes gants comme Facebook ou Google, les technologies de la Toile se sont dveloppes trs rapidement. Comme souvent en informatique, des solutions vite fait mal fait ont t bricoles. Si le domaine de la gestion de donnes montre aujourdĠhui un dynamisme tincelant, il tient pourtant encore de la fort vierge quand nous atteignons la Toile : il est compliqu dĠen dresser lĠtat de lĠart ; il nĠest pas simple de lĠenseigner ; il nĠest pas vident de prvoir quelles tendances sont l pour durer. Les bases logiques, qui faisaient la beaut du modle relationnel, se prsentent encore dans le dsordre pour ce qui est de la Toile. Une solution globale est inventer. Les liens avec la logique, la thorie de la complexit, la thorie des langages et des automates, sont revisiter. De nouvelles thories sont sans doute tablir. Les systmes que nous utilisons sont amliorer ; de nouvelles fonctionnalits sont inventer. Un vaste programme !
Il nĠest pas possible, ni souhaitable, de renoncer la Toile comme il nĠa pas t possible de refuser lĠcriture ou lĠimprimerie. Et malgr tous les cueils de la Toile, je veux continuer croire quĠelle participera fconder un meilleur futur. Quant aux aspects plus techniques, je me hasarderai prdire que la prochaine tape des sciences des donnes, que lĠon retiendra, a dj commenc : cĠest la Toile des connaissances. Elle a dj t annonce plusieurs fois. Elle arrive lentement mais elle arrive vraiment.
Des donnes, lĠinformation, aux connaissances, le cheminement est naturel.
Remerciements. Nous tenons remercier le Collge de France, lĠINRIA ainsi que le Conseil de Recherche Europen, via le projet Webdam sur Ç Foundations of Web data Management È. Nous tenons aussi remercier Martn Abadi, Jrmie Abiteboul, Manon Abiteboul, Gilles Dowek, Emmanuelle Fleury, Laurent Fribourg, Sophie Gamerman, Bernadette Goldstein, Florence Hachez-Leroy, Tova Milo, Marie-Christine Rousset, Luc Segoufin, Pierre Senellart et Victor Vianu pour leurs commentaires sur ce texte.
[1] Pourquoi et comment le monde devient numrique, leon inaugurale au Collge de France, G. Berry. 2008.
[2] Penser, modliser et matriser le calcul informatique, leon inaugurale au Collge de France, G. Berry. 2010. La scurit informatique, leon inaugurale au Collge de France, M. Abadi. 2011.
[3] Nous entendons par langues naturelles des langues labores dans le temps par des groupes de locuteurs, comme le franais ou lĠanglais. Ceci est moins par opposition avec des langues Ç construites È comme lĠespranto quĠavec des langages formels comme la Logique du premier ordre, SQL ou Java.
[4] coute Dave. Je vois bien que tu es trs affect par tout cela. Et je pense vraiment que tu devrais reprendre tes esprits, prendre un calmant et essayer de faire le point.
[5] Dfinir prcisment ces notions nĠest pas chose facile. Voir par exemple, The Philosophy of Information, Luciano Floridi, Oxford University Press, 2011.
[6] Ses donnes persistent aprs que lĠordinateur soit teint.
[7] Les volutions suivantes ont t observes approximativement jusquĠ prsent. Pour les capacits de stockage, la densit de mmoire pour les disques durs double chaque anne (Loi de Kryder). Pour ce qui est des circuits, la densit de transistors sur une puce de silicium double tous les deux ans (Loi de Moore).
[8] De manire gnrale, quand une application est hberge quelque part sur la Toile, nous parlerons dĠinformatique en nuages.
[9] Michael L. Brodie. www.michaelbrodie.com.
[10] La logique est le commencement de la sagesse, pas sa fin.
[11] Foundations of databases, S. Abiteboul, R. Hull, V. Vianu. Addison-Wesley. 1995. www.webdam.inria.fr/Alice
[12] Databases, M. Benedikt et P. Senellart, E. K. Blum et A. V. Aho, diteurs, Computer Science. The Hardware, Software and Heart of It. Springer-Verlag, 2012.
[13] SQL va plus loin que le calcul relationnel. Par exemple, il permet dĠordonner les rsultats et dĠappliquer des fonctions simples comme la somme ou la moyenne.
[14] Pour ces complexits Ç faibles È, le modle de calcul prcis est important. Nous parlons ici de calcul sur des machines RAM.
[15] Un exemple de problme difficile dans NP est celui du voyageur de commerce. Etant donnes des villes, des routes entre ces villes, et les longueurs de ces routes, trouver le plus court chemin pour relier toutes les villes.
[16] Comme il y a un nombre fini dĠtats possibles, il est possible de dtecter si le programme est entr dans une boucle, mais au prix dĠun travail supplmentaire.
[17] Generic Computation and Its Complexity, Serge Abiteboul, Victor Vianu, STOC 1991:209-219.
[18] Dans notre discussion, nous supposons que le domaine nĠest pas ordonn. Le problme est diffrent si nous considrons que le domaine est ordonn. Vardi a montr quĠalors, fixpoint permet de calculer exactement toutes les requtes dans P, et que while exprime exactement celles dans pspace.
[19] Servir et protger les donnes.
[20] Les applications qui tournent sur le systme relationnel contiennent des bogues. Le systme lui-mme contient ses propres bogues. Enfin les matriels peuvent dysfonctionner.
[21] Une grappe de serveurs ou une ferme de calcul (cluster en anglais) consiste en un regroupement dĠordinateurs, appels nÏuds, collaborant pour rsoudre un problme particulier.
[22] The Anatomy of a Large-Scale
Hypertextual Web Search Engine.
S. Brin, L. Page. WWW Conference.
1998.
[23] Web data management, S. Abiteboul, I. Manolescu, P. Rigaux, M.-C.
Rousset, P. Senellart, Cambridge University
Press. 2011. www.webdam.inria.fr/Jorge.
[24] Google appelle ses centres de donnes, des fermes. Le nombre de fermes et le nombre de processeurs dans chaque ferme sont secrets. On parle de dizaines de fermes et des sources du dbut des annes 2000 crditaient la plus grande ferme de 6000 processeurs.
[25] Ce problme fait partie de la classe AC0, cĠest--dire la classe des problmes que lĠon peut rsoudre avec des circuits de profondeur constante et un nombre de portes ET et OU polynomial dans la taille de lĠentre. LĠvaluation de requtes de lĠalgbre relationnelle est dĠailleurs dans sa totalit dans AC0.
[26] Playboy : La devise de votre socit est vraiment Ç Ne faites pas le mal È ? Brin : Oui, c'est vrai. Playboy : Est-ce un code crit ? Brin : Oui. Nous avons d'autres rgles, aussi. Page : Nous acceptons les chiens, par exemple.
[27]Authoritative
sources in a hyperlinked environment. J. Kleinberg. Journal of the ACM. 1999.
[28] Une matrice est creuse si la plupart de ses coefficients sont zro. Pour un milliard de pages, si chaque page a une trentaine de liens en moyenne, la matrice a environ 30 milliards dĠentres non vides sur un milliard de milliards dĠentres. Elle est trs creuse. Mais mme dans une reprsentation optimise, elle reste gigantesque.
[29] Le PageRank de Google actuel utiliserait des dizaines de critres combins dans une formule garde secrte.
[30]Adaptive On-Line Page Importance Computation. S. Abiteboul, M. Preda, G. Cobena. WWW Conference. 2003.
[32] Sagesse en rseaux : la passion dĠvaluer. G. Origgi. www.laviedesidees.fr. 2008.
[33] Corroborating information from disagreeing views. A. Galland, S. Abiteboul, A. Marian, P. Senellart. International Conference on Web Search and Web Data Mining. 2010.
[34] Wikipdia existe en 281 ditions et sa version anglaise a plus de 3 millions dĠarticles en juin 2011 (selon Wikipdia).
[35] Les traductions trouves sur la Toile, comme Ç externalisation ouverte È, ne nous ont pas convaincus.
[36] Rfrence au Turc mcanique, un automate joueur d'checs de la fin du 18e sicle, en ralit un canular.
[37] Predicting protein structures with a multiplayer online game, Seth Cooper et al., Nature, 2010.
[38] Les masses sont les vritables hros.
[39] Mais de l'arbre de la connaissance du bien et du mal, tu n'en mangeras pas ; car, au jour que tu en mangeras, tu mourras certainement. Gense 2:17.
[40] YAGO2: A Spatially and Temporally Enhanced Knowledge Base from Wikipedia, www.mpi-inf.mpg.de/yago-naga/yago/.
[41] Recursive Axioms in Deductive Databases, The Query/Subquery Approach. Laurent Vieille. Expert Database Conf. 1986:253-267.
[42] O est la sagesse que nous avons perdue dans la connaissance ? O est cette connaissance que nous avons perdue en information ?
[43] La neutralit du Net est le principe qui garantit l'galit de traitement de tous les flux de donnes sur Internet. Ce principe exclut toute discrimination l'gard de la source, de la destination ou du contenu de l'information transmise sur le rseau. [Wikipedia]
[44] The Web Is Dead. Long Live the Internet, Chris Anderson and Michael Wolff, Wired, 2010
[45] En France, en 2009, 40% de la population n'utilisait jamais l'informatique, CREDOC.
[46] Is Google making us Stoopid? The Atlantic. 2008.
[47] Il est difficile de faire des prvisions, surtout pour lĠavenir.