Sciences des donnŽes :

De la Logique du premier ordre ˆ la Toile

 

Serge Abiteboul

Collge de France, INRIA Saclay, ENS Cachan

8/2/12


 

Monsieur lĠAdministrateur, 

Mes chers collgues,

Chers amis.

En cette journŽe internationale de la femme, jĠaimerais dŽdier ma leon inaugurale ˆ lĠŽtudiante en informatique, lĠŽtudiante en mathŽmatiques 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 leon :

Je ne connais pas dĠtre vivant, de cellule, tissu, organe, individu et peut-tre mme espce, dont on ne puisse pas dire quĠil stocke de lĠinformation, quĠil traite de lĠinformation, quĠil Žmet et quĠil reoit de lĠinformation.                                                                                                                                                           Michel Serres

LĠinformation stockŽe, traitŽe, ŽchangŽe, est au cÏur de lĠactivitŽ des tres vivants, des objets du monde, des associations humaines. Les systmes informatiques, en nous aidant ˆ gŽrer de lĠinformation, reprŽsentŽe sous forme numŽrique, ont transformŽ nos vies en profondeur. GŽrard Berry[1] a dŽjˆ parlŽ dans sa leon inaugurale de la numŽrisation de lĠinformation. Le sujet que jĠai le grand honneur dĠaborder dans le cadre de la chaire Ç Informatique et sciences numŽriques È du Collge de France est la gestion dĠinformations numŽriques par des systmes informatiques. JĠespre que, dans la lignŽe de mes brillants prŽdŽcesseurs ˆ 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 systme de gestion de bases de donnŽes. Pour ce faire, nous nous exprimons dans un langage informatique simple, peut-tre graphique, peut-tre mme dans notre langue naturelle[3]. Le systme traduit cette demande dans un langage formel. Par cela, nous entendons une syntaxe qui permet au systme de prŽciser la demande de lĠutilisateur, et une sŽmantique formelle qui donne un sens exact ˆ cette syntaxe. La logique mathŽmatique offre un tel langage formel. Nous Žvoquerons dans cette leon les liens profonds entre ce que nous appellerons ici les sciences des donnŽes et la logique mathŽmatique et plus prŽcisŽment la Ç Logique du premier ordre È, le terme technique du titre de cette leon.

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 prŽdominant en informatique, le franais est parfois plus prŽcis, plus ŽlŽgant. Je prŽfre rŽsolument Ç informatique È (pour science et technologie de lĠinformation) ˆ Ç computer science È (trop limitatif) et Ç courriel È ˆ Ç email È. Je prŽfre aussi le mot Ç Toile È ˆ lĠanglicisme plus commun, Ç Web È, parce que dans Toile, la rŽfŽrence ˆ la toile dĠaraignŽe Žtymologique est si joliment complŽtŽe par le clin dĠÏil ˆ la toile du peintre ou la toile de cinŽma. Le mot Toile nous permet aussi de dŽpasser la vision trop restrictive dĠun support particulier, le World Wide Web, pour envisager plus gŽnŽralement un monde de contenus interconnectŽs ˆ lĠŽchelle de la plante. Il mĠarrivera pourtant dĠutiliser le mot Web dans des expressions comme Ç Web sŽmantique È.

Nous considrerons les systmes dĠinformation de la Toile qui servent de point dĠentrŽe vers des informations de nature globale. LĠexemple le plus rŽpandu dĠun tel systme 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 donnŽes gigantesque. Un systme de rŽseau social comme Facebook sert lui de point dĠentrŽe vers les donnŽes personnelles de ses centaines de millions dĠutilisateurs.

Les systmes dĠinformation de la Toile comme les systmes de gestion de donnŽes centralisŽes sont des mŽdiateurs entre des individus intelligents peu soucieux de sĠembarrasser de dŽtails de programmation et des objets physiques comme des disques ou des clŽs USB. Nous nous intŽressons donc ˆ des systmes intelligents qui grent de lĠinformation, la comprennent et lĠutilisent au service dĠutilisateurs humains. Cette dernire phrase tient volontairement dĠune vision anthropomorphique des systmes 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 systme de gestion de bases de donnŽes est une Žtape modeste vers lĠintelligence artificielle comme dŽfinie par Alan Turing, lĠintelligence de la Toile est un questionnement rŽcent, tant philosophique que scientifique. Nous parlerons dans cette leon 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 interconnectŽes, raisonneront collectivement.

Cette leon est organisŽe de la manire suivante. En premier lieu, nous visiterons quelques notions fondamentales sur les donnŽes, lĠinformation et les connaissances. Dans un deuxime temps, nous parlerons de deux des plus belles rŽussites de lĠinformatique du 20e sicle :

1.     lĠune concerne les donnŽes avec les systmes de gestion de base de donnŽes relationnelles.

2.     lĠautre lĠinformation avec les moteurs de recherche de la Toile.

Puis, nous considrerons deux grands dŽfis du 21e sicle :

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

1. DonnŽes, information et connaissances

Des mesures de tempŽrature relevŽes chaque jour dans une station mŽtŽo, ce sont des donnŽes. Une courbe donnant l'Žvolution dans le temps de la tempŽrature moyenne dans un lieu, cĠest une information. Le fait que la tempŽrature sur Terre augmente du fait de lĠactivitŽ humaine, cĠest une connaissance. Ces trois notions sont trs proches lĠune de lĠautre. Grossirement, voici le sens que nous leurs donnerons[5] :

á       Une donnŽe est une description ŽlŽmentaire, typiquement numŽrique ici, d'une rŽalitŽ. CĠest par exemple une observation ou une mesure.

á       A partir de donnŽes collectŽes, de lĠinformation est obtenue en organisant ces donnŽes, en les structurant pour en dŽgager du sens.

á       En comprenant le sens de lĠinformation, nous aboutissons ˆ des connaissances, cĠest-ˆ-dire ˆ des Ç faits È considŽrŽs comme vrais dans lĠunivers dĠun locuteur et ˆ des Ç lois È (des rgles logiques) de cet univers.

A la source de la reprŽsentation de donnŽes est le bit, une variable qui peut prendre la valeur 0 ou 1. Une donnŽe sera reprŽsentŽe par une sŽquence de bits. Par exemple, nous pouvons reprŽsenter la position d'un ascenseur dans un immeuble de six Žtages avec 3 bits : 000 pour le rez-de-chaussŽe, 001 pour le premier, etc., 110 pour le sixime (le nombre 6 en base 2). Nous reprŽsentons un caractre avec un octet, cĠest-ˆ-dire une sŽquence de 8 bits. (Il faut jusquĠˆ 4 octets par caractre pour certains alphabets et certains codages comme UTF-16.) Un texte peut tre vu comme une suite dĠoctets. LĠoctet est la mesure ŽlŽmentaire ; 103 octets forment un kilooctet ; 106 un mŽga ; 109 un gigaoctet ; 1012 un tŽraoctet ; etc.

Une suite de bits prise au hasard a peu de chance dĠavoir un sens. IntŽressons-nous plut™t aux donnŽes auxquelles nous pouvons donner un sens. ConsidŽrons par exemple une sŽquence de bits qui reprŽsenterait le tableau suivant :

Manon

Imperial College

London

Pierre

ENS

Cachan

JŽrŽmie

Mines de Paris

Paris

Marie

ENS

Cachan

Myriam

Paris 11

Orsay

Un extraterrestre ne comprendrait sans doute rien ˆ cette sŽquence de bits. Mais un programme, un Žditeur de texte, a pu lĠanalyser et prŽsenter ce tableau sous une forme qui nous est familire.

Des donnŽes ˆ lĠinformation. Les entrŽes de ce tableau sont des cha”nes de caractres. Pour lĠinstant, il sĠagit de donnŽes. Maintenant, nous pouvons spŽcifier que la premire colonne contient les prŽnoms de doctorants dĠune Žcole dĠŽtŽ ˆ Cargse en Corse, la deuxime, leur universitŽ, et la dernire, la ville qui hŽberge leur universitŽ. En recevant un sens, ces donnŽes sont devenues des informations. Nous noterons que lĠabsence de donnŽes 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 complte 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 dŽduire que, soit Philippe nĠest pas doctorant ˆ Cachan, soit il nĠest pas inscrit en informatique.

Nous sommes passŽs des donnŽes, aux informations, aux connaissances. Evidemment les frontires entre ces concepts sont floues. Ce monde que nous cherchons ˆ modŽliser 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.

Le stockage

Plusieurs types de supports permettent de stocker des donnŽes numŽriques notamment : la mŽmoire flash, le disque optique (qui inclut les CD et DVD), le disque dur (ou disque magnŽtique), la bande magnŽtique. Ces supports procurent de gros volumes de stockage Ç persistant[6] È contrairement aux mŽmoires vives, ou mŽmoires RAM pour Ç random access memory È, faites de composants Žlectroniques.

Nous allons fournir quelques chiffres pour fixer les idŽes. LĠordinateur sur lequel jĠŽcris ce texte a une mŽmoire vive de quatre gigas et ˆ la place dĠun disque, pour stocker ses donnŽes persistantes, il utilise une centaine de gigas de mŽmoire flash, une nouvelle technologie plus rapide que le disque dur et aussi plus chre. Cela nous donne lĠoccasion de mentionner que la technologie ne cesse de se complexifier. Les chiffres bougent trs vite pour ce qui est des matŽriels informatiques ; les prix baissent, les vitesses dĠaccs ou de transfert croissent ; les volumes augmentent[7]. Dans quelques annŽes, un lecteur de ce texte sourira des quatre gigas de mŽmoire.

Il ne faut pas non plus oublier que les donnŽes que nous utilisons se trouvent de moins en moins stockŽes localement sur notre ordinateur, mais, de plus en plus, sur des machines connectŽes quelque part sur le rŽseau. 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 donnŽes, nous dirons quĠelles sont Ç en nuages È (Òon the cloudÓ)[8]. Fonctionnellement, il nous faudra donc distinguer entre lĠaccs ˆ des donnŽes sur un rŽseau local trs rapide qui prendra quelques millisecondes, et lĠaccs via Internet ˆ des donnŽes 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 rŽaliser, comment et ˆ quel prix. Nous les avons volontairement quelque peu simplifiŽs pour faciliter leur comprŽhension. Et pour ceux qui aiment se rŽfugier derrire le Ç Je ne comprends rien ˆ lĠinformatique È, quelques mots. La vision de lĠinformatique vŽhiculŽe par les mŽdias souffre dĠune trop grande fascination pour le matŽriel et la programmation. A mon avis, il importe peu de comprendre les dŽtails du fonctionnement trs complexe dĠun processeur ou dĠune carte graphique. Il est par contre essentiel de maitriser les bases de lĠalgorithmique et de sa mŽcanique du raisonnement. Il nĠest pas non plus nŽcessaire de savoir programmer (mme si une expŽrience de programmation avec un langage comme Caml peut faciliter la comprŽhension de lĠalgorithmique). Pour des questions de performance, il peut tre utile de comprendre o lĠinformation que nous utilisons est stockŽe, en mŽmoire, sur disque, ou sur le rŽseau. Surtout, il est indispensable de comprendre le sens de cette information, comment elle est reprŽsentŽe, comment elle est organisŽe.

Et quelques chiffres ˆ retenir :

Support de stockage

Temps dĠaccs

Taille

MŽmoire vive

microsecondes

gigaoctets (109)

Disque dur

millisecondes

quelques centaines de gigaoctets au tŽra

RŽseau local

millisecondes ou plus

tŽraoctets (1012)

La Toile

dŽcisecondes voire secondes

virtuellement ´

Mesurer les zettaoctets ˆ la cuillre ˆ cafŽ

En alignant les bits, nous pouvons reprŽsenter des informations. Nous pouvons stocker de plus en plus dĠinformations pour les retrouver ˆ la demande, telle une sauvegarde quasi illimitŽe de notre mŽmoire personnelle.

Nous pouvons aller au-delˆ des dimensions dŽjˆ mentionnŽes en alignant les bits :

kilo

mŽga

giga

tŽra

pŽta

exa

zetta

yotta

103

106

109

1012

1015

1018

1021

1024

Discutons brivement ces unitŽs de mesures. Par exemple, cette leon 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 systme dŽcimal, le plus commun, au systme binaire, cher aux informaticiens. Une dizaine de nocturnes de Chopin sur mon tŽlŽphone prennent 75 mŽgaoctets. La vidŽo de la remise de dipl™me de ma fille et ses quelques gigaoctets nous conduisent aux frontires du gigantisme. Empruntant des chiffres de Michael Brodie[9], tous les livres jamais Žcrits ne demanderaient que 200 tŽraoctets en texte brut et la quantitŽ de donnŽes produites par le Ç collisionneur de particules È du CERN en une minute est de lĠordre dĠune centaine de pŽtaoctets. Pour reprŽsenter toutes les phrases jamais prononcŽes, 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 magnŽtiques, CD, DVD du monde entier) :

                                                                   1 000 000 000 000 000 000 000 octets !

Le vertige des puissances de 10 ! Nous crŽons chaque annŽe plus dĠinformation que nous ne pouvons en stocker. Dans cette dŽbauche dĠinformation, deux problmes surgissent :

1.     O trouver la bonne information dans cette masse ?

2.     Comment choisir ce que lĠon veut conserver ?

Bien sžr, il faudrait dŽtailler, tenir compte de la nature de ce qui est stockŽ. La part des images grossit trs vite, notamment ˆ cause de la meilleure rŽsolution des camŽras de vidŽosurveillance. Mais nous assistons aussi ˆ une forte augmentation des contenus riches en sŽmantique, directement utilisables comme les bases de donnŽes et les mŽtadonnŽes. La forme de lĠinformation dans la plupart des exemples que nous avons pris est trs simple. De lĠinformation beaucoup plus complexe peut aussi tre reprŽsentŽe numŽriquement comme celle contenue dans l'ADN d'une cellule vivante. D'une certaine faon, dŽterminer l'information mise en jeu dans un objet quelconque, depuis une bactŽrie jusqu'ˆ un phŽnomne comme le cours des actions, ou le mouvement des
plantes
, est une Žtape essentielle de notre comprŽhension de cet objet. Mais cela tient dĠautres sciences que lĠinformatique, comme la biologie, les mathŽmatiques financires, ou lĠastronomie. Une fois cette information obtenue, des machines peuvent la stocker, lĠŽchanger, lĠanalyser, etc. Nous atteignons les sciences des donnŽes.

PassŽe cette brve discussion sur la nature et le volume de lĠinformation, nous nous tournons vers les systmes de bases de donnŽes qui ont vŽritablement fondŽ le domaine, les systmes relationnels.

2. Les systmes relationnels et la Logique du premier ordre

Logic is the beginning of wisdom, not the end[10].                                                                        Mr. Spock, Star Trek 

Nous parlerons dans cette partie de systmes informatiques qui nous aident ˆ gŽrer des donnŽes. Nous avons donc, dĠun c™tŽ, un serveur de donnŽes quelque part sur la Toile, avec des disques et leurs pistes qui gardent prŽcieusement des sŽquences de bits, des structures dĠaccs compliquŽes comme des index ou des arbres-B, des hiŽrarchies de mŽmoires avec leurs caches et, de lĠautre, un utilisateur. Supposons que le serveur soit celui dĠIMDb qui gre une base de donnŽes sur le cinŽma. Supposons que lĠutilisateur, disons Alice, veuille savoir quels films ont ŽtŽ rŽalisŽs par Alfred Hitchcock. Pour ce faire, elle spŽcifie des mots-clŽs ou remplit les champs dĠun formulaire proposŽ par IMDb. Sa question voyage depuis son navigateur jusquĠau serveur de donnŽes. Lˆ, cette question est transformŽe en un programme peut-tre complexe qui sĠexŽcute pour obtenir la rŽponse. Ce qui est important : ce programme, Alice nĠa pas envie de lĠŽcrire ; elle nĠa pas ˆ lĠŽcrire.

Le systme ŽlŽmentaire qui permet de gŽrer des donnŽes est un systme de fichiers. Un fichier est une sŽquence de bits qui peut reprŽsenter une chanson, une photo, une vidŽo, un courriel, une lettre, un roman, etc. Votre ordinateur personnel et votre tŽlŽphone stockent leurs donnŽes dans des systmes de fichiers. Et parfois quand vous ne savez plus o vous avez mis quelque chose, vous faites des Ç recherches È dans ces systme 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 systme de fichiers ˆ lĠŽchelle de la plante. Dans cette partie, nous parlerons de systmes qui grent aussi des donnŽes mais qui sont bien plus sophistiquŽs que les systmes de fichiers, les systmes de gestion de bases de donnŽes. Ce sont des logiciels complexes, rŽsultats de dizaines dĠannŽes de recherche et de dŽveloppement. Ils permettent ˆ des individus ou des programmes dĠexprimer des requtes pour interroger des bases de donnŽes ou pour les modifier. Nous nous focaliserons ici sur les plus rŽpandus dĠentre ces systmes, les systmes relationnels, parmi lesquels nous trouvons des logiciels commerciaux trs rŽpandus comme celui dĠOracle et des logiciels gratuits trs utilisŽs comme MySQL.

Le calcul et lĠalgbre relationnels

Un systme de gestion de bases de donnŽes sert de mŽdiateur entre des individus et des machines. Pour mieux sĠadapter aux individus, il doit organiser et prŽsenter les donnŽes de faon intuitive. Il doit aussi proposer un langage, pour exprimer des requtes, facilement utilisable par des tres humains. Ces exigences forment le point de dŽpart du modle relationnel[11],[12] proposŽ par Ted Codd, un chercheur dĠIBM, dans les annŽes 1970. Des mathŽmaticiens avaient dŽveloppŽ ˆ la fin du 19e sicle (bien avant lĠinvention de lĠinformatique et des bases de donnŽes) la Logique du premier ordre, pour formaliser le langage des mathŽmatiques. Codd a eu lĠidŽe dĠadapter cette logique pour dŽfinir un modle de gestion de donnŽes, le modle relationnel.

Film

 

 

 

SŽance

 

 

Titre

RŽalisateur

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 LŽaud

 

Star Wars

Sel

20:30

Star Wars

G. Lucas

Harrison Ford

 

Star Wars

Sel

22:15

Figure 1 : Une base de donnŽes relationnelles

Dans le modle relationnel, les donnŽes sont organisŽes en tableaux ˆ deux dimensions que nous appellerons des relations. A la diffŽrence des mathŽmaticiens, nous supposons les relations de taille finie. Comme illustration, nous utiliserons une base de donnŽes consistant en une relation Film et une relation SŽance (Figure 1). Une ligne de ces relations est appelŽe un n-uplet n est le nombre de colonnes. Par exemple, ‡Star Wars, Sel, 22:15– est un 3-uplet, un triplet, dans la relation SŽance. Les colonnes ont des noms, appelŽs attributs, comme Titre.

Les donnŽes sont interrogŽes en utilisant comme langage le calcul relationnel. Le calcul relationnel (trs fortement inspirŽ de la Logique du premier ordre) sĠappuie sur des noms qui reprŽsentent des relations comme Film ou SŽance, des entrŽes 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 È) ô SŽance(t, s, h) )

Si cela vous parait cryptique, en franais, cela se lit : il existe un titre t et un rŽalisateur r tels que le n-uplet ‡ t, r, Ç Humphrey Bogart È – se trouve dans la relation Film, et le n-uplet ‡ t, s, h – dans SŽance. Observez que s et h ne sont pas quantifiŽes dans la formule prŽcŽdente ; nous dirons que ces deux variables sont libres. La formule qHB peut tre vue comme une requte du calcul relationnel. Elle se lit alors : donnez-moi les salles s et les horaires h, sĠil existe un rŽalisateur 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 ambigu•tŽs de nos langues naturelles. Si elles pouvaient aimer, les machines aimeraient la simplicitŽ, la prŽcision du calcul relationnel. En pratique, elles utilisent le langage SQL (pour Structured Query Language) qui exprime diffŽremment les mmes questions. Par exemple la question prŽcŽdente sĠexprime en SQL comme :

select salle, heure

from Film, SŽance

where Film.titre = SŽance.titre and acteur= ÇHumphrey BogartÈ

CĠest presque comprŽhensible. Non ? Et quĠAlice sĠexprime en franais ou quĠelle utilise une interface graphique, le systme transforme sa question en requte[13] SQL.

La question du calcul relationnel prŽcŽdente (ou en SQL) prŽcise bien ce quĠAlice demande. Cette question a un sens prŽcis, une sŽmantique. Elle dŽfinit une rŽponse, un ensemble de n-uplets. Nous ne prŽciserons pas comment dans cette leon. Ce que la question ne dit pas cĠest comment calculer la rŽponse. Pour le Ç comment È, on utilise lĠalgbre relationnelle introduite par Codd. Une Žtape importante consiste ˆ transformer une question du calcul en une expression algŽbrique qui permet de calculer la rŽponse ˆ cette question.

LĠalgbre relationnelle consiste en un petit nombre dĠopŽrations de base qui, appliquŽes ˆ des relations, produisent de nouvelles relations. Ces opŽrations peuvent tre composŽes pour construire des expressions algŽbriques de plus en plus complexes. Pour rŽpondre ˆ la question qui nous sert dĠexemple, il nous faudra trois opŽrations, la jointure, la sŽlection et la projection, que nous composerons dans lĠexpression suivante de lĠalgbre relationnelle :

EHB = Psalle,heure (Ptitre (sacteur = Ç Humphrey Bogart È(Film)) Salle)

 

Figure 2 : lĠŽvaluation dĠune requte algŽbrique

Nous pourrons suivre lĠŽvaluation de cette expression algŽbrique en Figure 2. LĠopŽration de sŽlection, dŽnotŽe s, filtre une relation, ne gardant que les n-uplets satisfaisant une condition, ici acteur = Ç Humphrey Bogart È. LĠopŽration de projection, dŽnotŽe P, permet aussi de filtrer de lĠinformation dĠune relation mais cette fois en Žliminant des colonnes. LĠopŽration peut-tre la plus exotique de lĠalgbre, la Ç jointure È, dŽnotŽe , combine des n-uplets de deux relations. DĠautres opŽrations non illustrŽes ici permettent de faire lĠunion et la diffŽrence entre deux relations ou de renommer des attributs. La puissance de lĠalgbre relationnelle tient de la possibilitŽ de composer ces opŽrations. CĠest ce que nous avons fait dans lĠexpression algŽbrique EHB qui permet dĠŽvaluer la rŽponse ˆ la question qHB.

Notre prŽsentation est rapide mais il est important que le lecteur comprenne lĠintŽrt de lĠalgbre. Il est relativement simple dĠŽcrire un programme qui Žvalue la rŽponse ˆ une question du calcul relationnel. Il est plus dŽlicat dĠobtenir un programme qui calcule cette rŽponse efficacement. LĠalgbre relationnelle dŽcoupe le travail. Un programme particulier trs efficace peut tre utilisŽ pour chacune des opŽrations de lĠalgbre ; le rŽsultat est obtenu en composant ces programmes. LĠefficacitŽ provient notamment de ce que les opŽrations considrent des ensembles de n-uplets plut™t que les n-uplets un ˆ un.

Codd a dŽmontrŽ le thŽorme suivant.

ThŽorme [Codd] : une question est exprimable en calcul relationnel si et seulement si elle peut tre ŽvaluŽe avec une expression de lĠalgbre relationnelle, et il est facile de transformer une requte du calcul en une expression algŽbrique qui Žvalue cette requte.

QuĠavons nous appris de Codd ? Pas grand-chose du point de vue des mathŽmatiques. Le calcul relationnel est empruntŽ aux logiciens. Une algŽbrisation (lŽgrement diffŽrente) avait mme dŽjˆ ŽtŽ proposŽe par Tarski. Mais dĠun point de vue informatique, Codd a posŽ les bases de la mŽdiation autour des donnŽes entre individus et machines. Gr‰ce ˆ son rŽsultat, nous savons que nous pouvons exprimer une question en calcul relationnel, quĠun systme peut traduire cette question en expression algŽbrique et calculer efficacement sa rŽponse. Pourtant, quand Codd proposa cette approche, la rŽaction des ingŽnieurs qui gŽraient alors de gros volumes de donnŽes et de grandes applications, fut unanime : Ç trop lent ! ‚a ne passera pas ˆ lĠŽchelle È. Ils se trompaient. Pour traduire lĠidŽe de Codd en une industrie de milliards de dollars, il manquait lĠoptimisation de requte. Aprs des annŽes dĠeffort, les chercheurs sont parvenus ˆ faire fonctionner les systmes relationnels avec des temps de rŽponse acceptables. Avec ces systmes, le dŽveloppement dĠapplications gŽrant des donnŽes devenait beaucoup plus simple ; cela se traduisait par un accroissement considŽrable de la productivitŽ des programmeurs dĠapplications gŽrant des gros volumes de donnŽes.

LĠoptimisation de requte

Il existe une infinitŽ dĠexpressions algŽbriques qui Žvaluent une mme requte. Si elles sont syntaxiquement diffŽrentes, elles dŽfinissent la mme question. DĠun point de vue sŽmantique, elles sont Žquivalentes. Optimiser une requte consiste ˆ la transformer en une autre qui donne les mmes rŽponses, mais qui soit la moins cožteuse possible (typiquement en temps). DĠun point de vue pratique, il nous faut choisir un Ç plan dĠexŽcution È, cĠest-ˆ-dire une expression algŽbrique avec des prŽcisions sur lĠalgorithme ˆ utiliser pour Žvaluer chacune des opŽrations. Un plan dĠexŽcution, cĠest quasiment un programme pour calculer la rŽponse. Un premier problme est que lĠ Ç espace de recherche È, cĠest-ˆ-dire lĠespace dans lequel nous voulons trouver le plan dĠexŽcution, est potentiellement gigantesque. Pour Žviter de le parcourir entirement, nous allons utiliser des Ç heuristiques È, cĠest-ˆ-dire des mŽthodes qui, si elles ne garantissent pas de trouver le plan optimal, donnent assez rapidement des plans satisfaisants. Ces heuristiques utilisent souvent des rgles de bon sens comme Ç il faut rŽaliser les sŽlections le plus t™t 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 cožt de chaque plan candidat et cĠest une t‰che complexe ˆ laquelle le systme ne peut se permettre dĠaccorder trop de ressources. Donc, lĠoptimiseur fait Ç de son mieux È. Et typiquement les optimiseurs de systmes comme Oracle ou DB2 font des merveilles sur des requtes simples. CĠest bien moins glorieux pour les requtes complexes, par exemple mettant en jeu des quantificateurs universels comme la question : quels sont les acteurs qui nĠont jouŽ que dans des comŽdies ? Heureusement, en pratique, la plupart des questions posŽes sont simples.

Sous-jacent dans la discussion sur lĠoptimisation de requte est la question de la difficultŽ dĠobtenir une certaine information. Nous rencontrons la notion de Ç complexitŽ È. Depuis Gšdel, nous savons quĠil est des propositions qui ne peuvent tre ni dŽmontrŽes ni rŽfutŽes, quĠil est des problmes qui ne peuvent tre rŽsolus. Cette notion dĠindŽcidabilitŽ commence pŽniblement ˆ arriver jusquĠau grand public. Ce mme public ne voit dans le fait quĠune requte prend plus ou moins longtemps que des raisons purement techniques. Evidemment, le temps de calcul dŽpend 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 t‰ches qui demandent intrinsquement plus de temps que dĠautres. Par exemple, nous pouvons afficher ˆ lĠŽcran le gogol, le nombre consistant en un 1 suivi de 100 zŽros, 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. Mme parmi les problmes dont la rŽponse est courte (par exemple, la rŽponse est Ç oui È ou Ç non È), il en est qui, bien que dŽcidables, sont intrinsquement bien plus complexes que dĠautres ; il en est mme que nous ne savons pas rŽsoudre en temps raisonnable. Parfois, cette difficultŽ trouve mme son utilitŽ. Le systme cryptographique RSA repose sur le fait que nous ne savons pas factoriser (en gŽnŽral) un trs grand entier en nombres premiers, en un temps raisonnable et quĠil est donc trs difficile de dŽcrypter un message sans en conna”tre la clŽ secrte.

La complexitŽ est un aspect particulirement important pour le traitement de gros volumes de donnŽes. Pour une requte particulire, nous voulons savoir :

á       quel temps il faut pour la rŽaliser ?                                                           complexitŽ en temps,

á       quel espace disque (ou quelle mŽmoire) est nŽcessaire ?       complexitŽ en espace.

Evidemment ces quantitŽs dŽpendent de la taille de la base de donnŽes. Si la requte prend un temps t et que nous doublons la taille n de nos donnŽes, nous faut-il attendre le mme temps (temps constant), le double de temps (temps linŽaire en n), ou est-ce que le temps grandit de manire polynomiale (en nkn est la taille des donnŽes) voire exponentielle (en kn) ? Ce nĠest pas anodin : sur de gros volumes de donnŽes, une complexitŽ en temps nk exigera une grosse puissance de calcul, et une complexitŽ en kn sera rŽdhibitoire.

Deux remarques nous permettent de prŽciser cette notion de complexitŽ :

1.     la complexitŽ dans les donnŽes. En informatique, la complexitŽ se mesure par la taille du problme, ici ce serait la taille des donnŽes plus la taille de la requte. Mais les requtes Žtant typiquement nettement plus petites, il est bien plus instructif de ne considŽrer la complexitŽ quĠen fonction de la taille des donnŽes. Nous parlerons de complexitŽ dans les donnŽes.

2.     les bornes infŽrieure et supŽrieure. Si un programme rŽpond ˆ une requte en temps n2 dans la taille n des donnŽes, cela prouve seulement quĠil est possible dĠy rŽpondre en temps n2, ce qui donne une borne supŽrieure. Peut-tre existe-t-il un autre programme qui calcule la rŽponse plus rapidement, peut-tre en temps constant. Si nous pouvons montrer quĠun temps nĞlog(n) au minimum est nŽcessaire, cela donne une borne infŽrieure. 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 infŽrieure et supŽrieure[14].

De nombreuses classes de complexitŽ ont ŽtŽ ŽtudiŽes. Intuitivement, une classe de complexitŽ regroupe tous les problmes qui peuvent tre rŽsolus sans dŽpasser 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 problmes quĠil est possible de rŽsoudre dans un temps nkn est la taille des donnŽes et k un entier arbitraire. Au-delˆ de P, nous atteignons les temps NP (pour non-dŽterministe polynomial[15]) et EXPTIME (temps exponentiel), des temps prohibitifs ? Pourtant, il faut relativiser. Les systmes informatiques rŽsolvent routinirement des problmes parmi les plus complexes de NP. Et, a contrario, pour 1.5 tŽraoctets de donnŽes, n3 est encore aujourdĠhui hors dĠatteinte, mme en disposant de tous les ordinateurs de la plante.

Avant de poursuivre sur dĠautres aspects du modle relationnel, interrogeons-nous sur les origines de lĠŽnorme succs des systmes relationnels :

1.     Les requtes sont fondŽes sur le calcul relationnel, un langage logique, simple et comprŽhensible pour des humains surtout dans des variantes comme SQL.

2.     Une requte du calcul relationnel est facilement traduisible en une expression de lĠalgbre relationnelle simple ˆ Žvaluer pour des machines.

3.     Il est possible dĠoptimiser lĠŽvaluation dĠexpressions de lĠalgbre relationnelle car cette algbre nĠoffre quĠun modle de calcul limitŽ.

4.     Enfin, nous verrons que, pour ce langage relativement limitŽ, le parallŽlisme permet de passer ˆ lĠŽchelle de trs grandes bases de donnŽes.

Pour insister sur les deux derniers points qui sont essentiels, nous pourrions choisir pour les bases de donnŽes 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.  

Logique et complexitŽ

Il se trouve quĠil est des liens profonds entre des classes de complexitŽ et des classes de problmes exprimables dans des logiques. Fagin a par exemple montrŽ que NP co•ncidait avec Ç la Logique existentielle du second ordre È (dans laquelle une variable reprŽsente un ensemble). Nous allons mentionner certains de ces liens. Mme si nous allons essayer de gommer au maximum les dŽtails techniques, cette discussion pourra para”tre 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 rŽalisent mŽcaniquement avec des ressources limitŽes.

Les requtes relationnelles sont Žvaluables en P. Cela suggre 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 requte 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 para”tre, si nous pouvons avec le calcul relationnel demander sĠil existe un chemin de longueur 3 ou mme 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 problme, nous pouvons ajouter au langage un mŽcanisme qui permette de rŽitŽrer une requte du calcul relationnel jusquĠˆ un point fixe. Par exemple, pour la requte prŽcŽdente, 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Ġˆ vŽrifier 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 rŽalisŽ en utilisant un espace polynomial dans la taille des donnŽes. Un tel programme peut entrer dans une boucle, ne jamais sĠarrter[16], et donc ne jamais atteindre de point fixe. Ces langages permettent dĠexprimer des requtes trs complexes. Pourtant, belle dŽception, des requtes hyper-simples ne sont pas exprimables en fixpoint, pas mme en while. CĠest le cas par exemple de la requte : est-ce que le graphe G a un nombre pair de nÏuds ? JĠai longtemps travaillŽ dans ce domaine notamment avec mon collgue Victor Vianu de UC San Diego. Nous avons caractŽrisŽ 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 diffŽrents. Nous ne savons dĠailleurs pas non plus si P ¹ NP, le problme ouvert le plus cŽlbre de lĠinformatique. Si nos connaissances progressent en thŽorie de la complexitŽ, de nombreux dŽfis persistent, fascinants et complexes. Et pour conclure cette discussion sur les liens entre logique et complexitŽ, nous mentionnerons un autre problme ouvert : obtenir une logique qui capture exactement les requtes dans P, intuitivement les requtes auxquelles il est possible de rŽpondre dans un temps raisonnable. En pratique, cela voudrait dire disposer dĠun langage qui ne permettrait dĠexprimer que des requtes dans P, mais qui permettrait dĠexprimer toutes les requtes de P. SĠil est probable quĠun tel langage serait de fait peu utilisable en pratique, le problme 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 donnŽes : les transactions et le parallŽlisme.

Transactions

To serve and protect data[19],                                                                                                                                Anonyme

La modernisation des cha”nes de fabrication a ŽtŽ principalement causŽe dans un premier temps par lĠŽlectronique et lĠautomatique. Avant de sĠimposer aussi dans la production, lĠinformatique a elle profondŽment pŽnŽtrŽ lĠindustrie en modifiant radicalement la manire dont des transactions, comme les commandes ou la paye, Žtaient gŽrŽes de manire automatique. Une transaction informatisŽe est la forme dŽmatŽrialisŽe dĠun contrat. Son cožt peut se trouver incomparablement plus faible que celui dĠune transaction rŽelle mettant en jeu des dŽplacements de personnes sur des Žchelles de temps bien plus longues. Avec des fonctionnalitŽs considŽrablement Žlargies par le recours ˆ lĠinformatique, les transactions se retrouvent au cÏur de nombreuses applications qui ont largement contribuŽ ˆ populariser les systmes relationnels comme, par exemple, les applications bancaires.

Les systmes relationnels rŽpondent aux besoins des transactions en supportant la notion de transaction relationnelle. Une transaction relationnelle garantit quĠune sŽquence dĠopŽrations se rŽalise correctement, par exemple en empchant quĠune somme dĠargent ne s'Žvanouisse dans la nature (avec un compte en banque dŽbitŽ sans qu'un autre ne soit crŽditŽ). Mme lĠoccurrence dĠune panne[20] ne doit pas pouvoir conduire ˆ une exŽcution incorrecte. Il nous faut donc formaliser la notion dĠexŽcution correcte. Evidemment, il serait impossible de le faire prŽcisŽment sĠil fallait tenir compte des millions de choses que font de tels systmes. Mais lĠinformatique comme les mathŽmatiques dispose dĠun outil fantastique : lĠÇ abstraction È. Nous pouvons considŽrer ce que fait un systme relationnel sous lĠangle des transactions relationnelles et des modifications quĠelles apportent aux donnŽes, en faisant abstraction de toutes les autres t‰ches quĠil rŽalise. Il devient alors possible de dŽfinir formellement la notion dĠexŽcution correcte.

Nous pouvons mentionner dĠautres t‰ches que les systmes relationnels accomplissent ˆ cotŽ de lĠŽvaluation de requtes et de la gestion de transactions relationnelles. Ils grent Žgalement :

á       les contraintes dĠintŽgritŽ (telles que Ç tout responsable de projet doit tre enregistrŽ dans la base des personnels È),

á       les dŽclencheurs ou Ç triggers È (tels que Ç si quelquĠun modifie la liste des utilisateurs, envoyer un message au responsable de la sŽcuritŽ È),

á       les droits des utilisateurs (pour contr™ler 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 donnŽes pŽrimŽes depuis des lustres),

á       le nettoyage des donnŽes (pour Žliminer les doublons, les incohŽrences).

ParallŽlisme

Pour gŽrer de gros volumes de donnŽes, lĠutilisation du parallŽlisme sĠavre essentiel. De plus en plus les machines sont multi processeurs. Mais nous insisterons ici surtout sur lĠutilisation de plusieurs machines travaillant simultanŽment sur une t‰che commune. Ce type dĠapproches est tout particulirement fondamental pour la Toile qui met en jeu des volumes considŽrables dĠinformation :

á       parallŽlisme entre peut-tre les dizaines, centaines voire milliers de serveurs dĠune Ç grappe[21] È ;

á       parallŽlisme entre les millions de serveurs de la Toile qui fonctionnent indŽpendamment mais interagissent en permanence.

Pour conclure cette partie, deux exemples en guise dĠillustration, pour faire sentir au lecteur la puissance du parallŽlisme :

á       Plut™t que de regrouper les comptes de ses clients dans un centre informatique unique, une entreprise peut choisir de les laisser gŽrer dans ses centres rŽgionaux. Regrouper les donnŽes sur une machine unique avec des performances comparables, demanderait un serveur trs sophistiquŽ, donc plus cher. Notons aussi quĠune organisation distribuŽe sĠaccorde mieux ˆ un management plus dŽcentralisŽe de lĠentreprise.

á       Deux types dĠorganisations sont possibles pour la diffusion de films. Dans une premire, 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 tŽlŽchargement devient facile et rapide.

Nous avons considŽrŽ dans cette partie la gestion de donnŽes dans des systmes relationnels. Nous nous intŽressons maintenant aux systmes dĠinformation de la Toile, et pour commencer aux plus rŽpandus dĠentre eux, les moteurs de recherche de la Toile.


 

3. 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 hypermŽdia. CĠest la Toile ˆ laquelle nous nous sommes si rapidement habituŽs. LĠinformation est en langue naturelle et les textes vaguement structurŽs avec les balises HTML pour, par exemple, des titres ou des ŽnumŽrations. Des ancres sur lesquelles lĠinternaute peut cliquer conduisent ˆ dĠautres pages HTML mais aussi ˆ des images, de la musique, des vidŽos. Dans cette partie, nous allons parler dĠun des plus beaux succs 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 bibliothque numŽrique universelle. Nous allons expliquer comment fonctionne un tel moteur. Le lecteur pourra trouver plus de dŽtails dans lĠarticle historique de Serge• Brin et Larry Page[22] ou dans notre ouvrage rŽcent[23].

Le moteur de recherche sĠintŽresse ˆ une vision de la Toile comme bibliothque universelle. LĠinternaute cherche une information. Mme si la Toile nĠa sžrement pas de rŽponses ˆ toutes ses questions, cette information se trouve peut-tre dans les masses dĠinformations et de connaissances vŽritablement extraordinaires rŽunies. 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 considŽrable 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, gr‰ce ˆ son index, les pages de la Toile qui hŽbergent les mots demandŽs. 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.

Un index de la Toile

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 entrŽe dans cet index serait :

Casablanca ¨ http://www.imdb.com/title/tt0034583/, http://films.com/Bogart/ ,...

qui indique que le mot Ç Casablanca È est prŽsent 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 sŽrieuse difficultŽ est la taille de cet index : des dizaines de tŽraoctets de donnŽes pour quelques milliards de pages. Un serveur dĠun tel index rencontre deux problmes 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 requte devient de plus en plus cožteuse ˆ Žvaluer.

2.     Si le nombre dĠutilisateurs cro”t, le serveur reoit de plus en plus de requtes.

Dans les deux cas, le serveur est vite submergŽ. Pour rŽsoudre ce problme nous allons utiliser le parallŽlisme 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, appliquŽe ˆ un mot, retourne un entier choisi alŽatoirement entre 1 et 10 (et qui retourne, pour un mot donnŽ, ˆ chaque fois le mme entier). Cette fonction est appelŽe fonction de hachage. La responsabilitŽ dĠun mot w est donnŽe ˆ la machine H(w). Supposons quĠun Ç crawler È (un programme qui parcourt la Toile en qute de pages) dŽcouvre le mot Ç France È sur une page dĠURL p. LĠentrŽe de lĠindex, qui dit que la page p contient ce mot, est stockŽe sur la machine H(Ç France È), disons M7. Les donnŽes sont donc partagŽes relativement Žquitablement entre les dix machines ce qui rŽsout le premier problme. Supposons maintenant que quelquĠun veuille les donnŽes correspondant au mot Ç France È, il interroge la machine M7. Les requtes sont donc elles-aussi partagŽes relativement Žquitablement entre les dix machines, ce qui rŽsout le second problme. Il nous faut Žvidemment rŽaliser un index sur chaque machine. Typiquement, nous pouvons lˆ-aussi utiliser une technique de hachage, centralisŽ cette fois.

Maintenant si la taille des donnŽes 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 parallŽlisme nous a permis le passage ˆ lĠŽchelle. Vous avez dit brillant ?

Pourquoi est-ce que cela marche ? Gr‰ce au parallŽlisme. De manire gŽnŽrale, pouvons-nous prendre nĠimporte quel algorithme et lĠaccŽlŽrer ˆ volontŽ en utilisant plus de machines ? La rŽponse est non ! Tous les problmes ne sont pas aussi aisŽment parallŽlisables. Il se trouve que la gestion dĠindex est un problme trs simple, trs parallŽlisable[25] (Ç embarrassingly parallel È). Donc, nous pouvons sans frŽmir envisager dĠindexer de plus en plus de pages, des dizaines de milliards ou plus.

Un point fixe et quelques algorithmes

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 problme reste maintenant de choisir parmi les millions de pages qui contiennent les mots de la requte. CĠest essentiel car un utilisateur ira rarement au-delˆ des dix ou vingt premiers rŽsultats qui lui seront proposŽs. Au dŽpart, les moteurs de recherche comme Alta Vista utilisaient, pour classer les pages, des techniques basŽes uniquement sur leurs contenus comme dans les bibliothques numŽriques traditionnelles. Une page Žtait jugŽe plus intŽressante si le terme apparaissait dans un titre, ou en caractre 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 rŽpŽtŽ dans le document plus il Ç pse È. Et, plus le terme est rare dans le corpus plus il pse. Ce genre de techniques qui marchent bien sur de petits corpus sĠest avŽrŽ assez dŽcevant pour la Toile.

Les jeunes crŽateurs de Google ont eu lĠidŽe de baser lĠordre des pages sŽlectionnŽes sur une connaissance collective prŽsente de manire implicite dans la masse des pages. Plus prŽcisŽment, ils ont utilisŽ une technique classique en mathŽmatiques, la marche alŽatoire. CĠest cette idŽe inspirŽe de travaux antŽrieurs notamment de Jon Kleinberg[27] qui est ˆ lĠorigine de lĠalgorithme PageRank de Google, et du succs industriel de cette sociŽtŽ, lĠun des plus Žtonnants de lĠhistoire de lĠhumanitŽ.

La marche alŽatoire.

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 alŽatoirement 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 prŽcise ? CĠest ce que nous dŽfinirons comme la popularitŽ de cette page. Intuitivement, si une page est populaire (comme la page www.lemonde.fr/), de nombreuses pages la rŽfŽrencent 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 dŽfinition abstraite, un joli concept de mathŽmatiques 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 numŽrotons de 1 ˆ N = dix milliards. Dans une approche classique en mathŽmatiques, imaginons que nous connaissons dŽjˆ 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 indexŽes. Si une page est un cul-de-sac (elle ne conduit nulle part), elle partage toute sa popularitŽ entre toutes les pages indexŽes. En ignorant quelques dŽtails, 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 systme de dix milliards dĠŽquations ˆ dix milliards dĠinconnues. Il se trouve que ce systme a pour solution le vecteur des popularitŽs. Et lˆ, banco ! Une technique connue nous permet de calculer cette solution. 

Le point fixe

Dans lĠabsence dĠautre information, partons du vecteur pop0 dŽfini par pop0[i] = 1/N, cĠest-ˆ-dire que toutes les pages sont supposŽes Žgalement populaires. Et dŽfinissons :

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 prŽcision, 6 ou 7 itŽrations suffisent.)

Vous avez dit ŽlŽmentaire ? Pas tant que a. Mme si la matrice est trs Ç creuse[28] È, pour rŽaliser ce calcul efficacement avec des volumes de donnŽes pareils, il faut des algorithmes trs sophistiquŽs, une ingŽnierie de fou. Ce nĠest peut-tre plus des mathŽmatiques mais cĠest de lĠinformatique de toute beautŽ.

Et pour conclure sur les moteurs de recherche

Nous avons prŽsentŽ une version trs simplifiŽe dĠun moteur de recherche. Les moteurs de recherche modernes combinent TF-IDF et la popularitŽ des pages que nous venons de dŽfinir ˆ bien dĠautres critres pour choisir quelles pages classer en tte. Chaque jour, les moteurs de recherche sont plus sophistiquŽs[29] pour mieux rŽpondre aux attentes des internautes. Ils se compliquent ne serait-ce que pour contrer les attaques comme celles des Ç spamdexeurs È qui trichent pour tre appara”tre plus hauts dans les rŽsultats. Ils nous posent aussi des problmes essentiels. Pour nĠen citer que quelques uns :

á       LĠinterrogation de la Toile est basŽe sur des listes de mots-clŽs, une langue primitive quasiment sans grammaire. Il est sžrement possible de faire mieux.

á       Une mesure qui privilŽgie 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Ž utilisŽe par les moteurs de recherche actuels semble ignorer si la page est citŽe 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 dŽplaire ˆ un gouvernement (au secours !) ?

á       Enfin, il est quelque chose dĠextrmement embarrassant dans la puissance considŽrable que les moteurs de recherche ont de par leur contr™le 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 systmes 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ĠidŽe de garder lĠindex en mŽmoire. Une telle technique aurait ŽtŽ irrŽaliste quelques annŽes plus t™t, car elle aurait conduit ˆ utiliser un nombre improbable de machines trs cožteuses. En 1995, la gestion de lĠindex en mŽmoire 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 conu 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ĠimplŽmenter sur une grappe de machines, fixer les bogues, lĠoptimiser, expŽrimenter, atteindre le milliard de pages. Je nĠavais jamais touchŽ ˆ de tels volumes de donnŽes. CĠest parmi une de mes plus fantastiques expŽriences de chercheur.

Plusieurs sociŽtŽs se partageaient dans les annŽes 90 le marchŽ des moteurs de recherche. Les utilisateurs allaient plŽbisciter le moteur de Google. Comme base ˆ ce succs extraordinaire, nous pourrions mentionner une ingŽnierie exceptionnelle pour faire fonctionner des milliers de machines 24 heures sur 24, des modles commerciaux rŽvolutionnaires, des techniques de management originales fondŽes sur le culte de la crŽativitŽ. Mais en ce qui me concerne, je prŽfre me rappeler quĠau dŽbut, il y avait juste un point fixe et quelques algorithmes.

4. RŽseaux et connaissances collectives

Avoir ou ne pas avoir de rŽseau : thatĠs the question.                                                                                               Bruno Latour

LĠŽcriture nous a permis dĠ Ç externaliser È en partie notre mŽmoire. LĠimprimerie nous a permis de transmettre cette mŽmoire externe. La Toile a diminuŽ considŽrablement les cožts de transmission de lĠinformation. Surtout, elle a permis ˆ chacun dĠapporter sa contribution personnelle au patrimoine collectif (avec des rŽserves comme la fracture numŽrique dont nous parlerons plus loin). La consommation passive dĠinformation du dŽbut de la Toile a ainsi cŽdŽ la place ˆ des contributions actives par des internautes de plus en plus nombreux. Alice passe ses soirŽes sur Facebook ˆ chatter avec une poignŽe dĠamis quand son fils est sur World of Warcraft avec des copains du monde entier, quĠil nĠa jamais rencontrŽs Ç pour de vrai È. Elle publie son blog. Il twitte ˆ longueur de journŽe.

La Toile, cĠest donc aussi une juxtaposition de milliards dĠindividus et de tous leurs rŽseaux. Aprs les rŽseaux de machines, les rŽseaux de contenus, nous atteignons les rŽseaux dĠutilisateurs. Parmi les systmes rŽcents les plus rŽpandus, nombreux sont ceux qui sĠattachent ˆ intensifier les Žchanges dĠinformations entre des individus ˆ lĠintŽrieur de leurs rŽseaux, depuis les jeux en ligne jusquĠaux logiciels de rŽseaux sociaux comme Facebook ou Google+. Les jeunes ont adoptŽ avec passion les rŽseaux sociaux. Les seniors, aprs un temps dĠhŽsitation, avec beaucoup de temps libre et peut-tre autant dĠenvie de contacts sociaux, sĠy engouffrent avec enthousiasme.

Ces nouveaux systmes nĠont plus pour cible lĠuniversalitŽ de la Toile, mais les individus et les groupes plus ou moins bien dŽfinis auxquels ils appartiennent. Ils redŽfinissent les distances entre individus et proposent dĠautres proximitŽs. 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 dŽroule 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 mme pas nŽcessaire que la Ç cible È soit cŽlbre[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 rve.

Ces systmes soulvent un grand nombre de sujets de recherche, parfois ˆ la frontire de lĠinformatique et de la sociologie. Nous allons insister ici sur un aspect particulirement passionnant, lĠŽmergence de connaissances collectives[32]. Nous allons brivement considŽrer plusieurs approches qui sont utilisŽes 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 rŽaliser collectivement une t‰che qui les dŽpasse individuellement ; et

5.     Le crowdsourcing qui met des humains au service de systmes informatiques.

La notation

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 rŽciproquement). Cela conduit ˆ une fantastique incitation ˆ fournir un excellent service au risque, sinon, dĠtre mal notŽ et de perdre des clients. Les systmes 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 systmes plus expŽrimentaux essaient dĠextraire des connaissances plus fines que des notes, ˆ partir dĠavis textuels. Nous rencontrons lˆ les difficultŽs ˆ analyser des sentiments dĠun texte.

Ces systmes de notation ont aussi leur place au niveau global de la Toile. Par exemple, le systme Delicious demande aux internautes dĠassocier des mots-clŽs (de la sŽmantique) aux pages. Une mesure de popularitŽ, comme celle discutŽe dans la partie prŽcŽdente, peut aussi tre vue comme tenant de la notation : une rŽfŽrence ˆ une page est interprŽtŽe 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 sociŽtŽ de service dŽlivrait 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 sociŽtŽ en question. Mme si cette information non vŽrifiŽe nĠest peut-tre quĠune des lŽgendes de la Toile, le fait que la popularitŽ ignore le sens des rŽfŽrences est dŽrangeant. En analysant les liens de la Toile suivant un systme de notation plus riche (avec des notes nŽgatives), ce biais pourrait tre corrigŽ.

LĠŽvaluation de lĠexpertise

Une technique essentielle pour Žvaluer la qualitŽ dĠune information est de dŽterminer la qualitŽ de la source, la confiance que nous pouvons avoir dans les informations que cette source fournit en gŽnŽral. Pour illustrer ce type de techniques, nous mentionnerons un travail rŽcent sur la corroboration[33]. Imaginons un systme o des internautes introduisent des connaissances. Ils peuvent se tromper. Pourtant, sĠils ne faisaient que spŽcifier des connaissances positives comme Ç Alice possde une 2CV È, rien ne pourrait empcher le systme de croire tout ce que disent les internautes, y compris toutes leurs erreurs. Pour que le systme puisse commencer ˆ douter, il faut que des internautes se contredisent, et pour cela, quĠils se mettent ˆ publier des informations nŽgatives comme Ç Alice ne possde pas de BMW È. En gŽnŽral, 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 nŽgatives sans le savoir. Par exemple, le fait quĠÇ Alice est nŽe ˆ Romorantin È indique quĠelle nĠest pas nŽe ˆ Svres, du fait dĠune Ç dŽpendance fonctionnelle È, cĠest-ˆ-dire dĠune loi que doivent satisfaire les donnŽes (ici, la loi qui spŽcifie quĠune personne ne peut pas tre nŽe ˆ deux endroits distincts).

Dans le travail citŽ prŽcŽdemment, nous utilisons les informations incluant des nŽgations provenant de dŽpendances fonctionnelles. Nous estimons la vŽracitŽ des connaissances, en dŽduisons les taux dĠerreurs de chaque internaute, ce qui nous procure une meilleure estimation de la vŽracitŽ des connaissances, dĠo des taux dĠerreurs plus prŽcis 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 dŽgager 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 publiŽes 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 amenŽs ˆ remplacer les journalistes, comme rŽcemment en Tunisie ou en Syrie. Cela ne rend que plus crucial le besoin de croiser les informations, de les vŽrifier. Nous pouvons imaginer que demain des programmes participeront ˆ dŽterminer les rŽputations en termes dĠinformation dans cet espace-temps de la Toile qui donne le tournis.

La recommandation

Un systme comme Meetic utilise les donnŽes fournies par ses clients pour organiser des rencontres, pour les apparier. Un systme comme Netflix recommande des films. Pour ce faire, ces systmes rŽalisent typiquement des analyses statistiques dans le cadre classique trs gŽnŽral de la fouille de donnŽes. Ils essaient de mettre en Žvidence des Ç proximitŽs È entre clients dans Meetic ou entre clients et produits dans Netflix. Ils peuvent regrouper des personnes parce quĠelles partagent les mmes gožts mme si elles ne se sont jamais rencontrŽes, ou dŽcouvrir des affinitŽs inattendues entre produits. LĠexemple souvent citŽ est que les clients de couches-culottes achtent statistiquement beaucoup de bires. Les classifications des clients et des produits sĠenrichissent donc mutuellement et participent ainsi ˆ Žtablir de nouvelles proximitŽs entre individus et produits.

De telles analyses sont rŽalisŽes ˆ trs grandes Žchelles par exemple par Amazon ou Google. Elles sont encore souvent mathŽmatiquement peu fondŽes et leurs rŽsultats sont rarement satisfaisants. RŽaliser des analyses statistiques de qualitŽ, sur des volumes de donnŽes de plus en plus grands, est un des dŽfis du domaine de la gestion dĠinformation.

La collaboration

WikipŽdia est un bel exemple dĠŽdition coopŽrative. Un grand nombre dĠinternautes collaborent pour dŽvelopper une encyclopŽdie. Tout le monde peut participer. Il est facile dĠimaginer la cacophonie rŽsultant des incompŽtences, des dŽsaccords, des intŽrts personnels. La t‰che semble impossible. Pourtant si la qualitŽ de son contenu est parfois contestŽe, il est passionnant de voir la place considŽrable prise si rapidement par WikipŽdia dans la diffusion des connaissances[34]. Le recours ˆ une foule dĠauteurs a permis de dŽpasser la notion classique dĠencyclopŽdie avec une couverture bien plus large. Nous trouvons de tout dans WikipŽdia depuis la biographie de ClŽmence Castel, une hŽro•ne de Koh-Lanta, jusquĠˆ la preuve du Lemme de lĠEtoile, un rŽsultat fondamental de thŽorie des langages. Les erreurs y sont nombreusesÉ  Il y en a aussi dans les encyclopŽdies traditionnelles.

WikipŽdia est loin dĠtre le seul exemple de telles collaborations. Tout aussi Žtonnant est lĠaboutissement des logiciels rŽalisŽs par des communautŽs de dŽveloppeurs dans le cadre des logiciels libres, comme le systme dĠexploitation Linux. Et nous commenons ˆ voir des communautŽs sĠorganiser pour construire des corpus de donnŽes ouvertes comme le Web des donnŽes (en anglais, Ólinked dataÓ) du Consortium World Wide Web.

Le crowdsourcing

Nous utiliserons ici le terme anglais[35] Ç crowdsourcing È Il sĠagit de publier sur la Toile des problmes que des programmes ne savent pas bien rŽsoudre ; des internautes proposent alors des rŽponses, typiquement moyennant finance. Des systmes comme le Mechanical Turk[36] dĠAmazon permettent de tels contacts. Les compŽtences de la foule ont ŽtŽ utilisŽes par exemple pour rechercher sans succs lĠun des plus cŽlbres chercheurs du domaine des bases de donnŽes, 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 vidŽo, Foldit, des internautes sont en revanche arrivŽs ˆ dŽcoder la structure dĠune enzyme proche de celle du virus du sida[37]. Ils ont rŽalisŽ 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 rŽseau, dans le plus pur esprit des rŽseaux sociaux.

LĠoriginalitŽ de tels dispositifs est que lĠindividu se retrouve au service dĠun systme informatique, qui lĠutilise, par exemple, pour complŽter sa base de connaissances ou rŽsoudre des contradictions dans cette base.

Le pouvoir des masses dĠinternautes

群众是真正的英雄[38].                                                                                                                              Mao TsŽ-Toung

Ces approches conduisent en gŽnŽral ˆ rŽsoudre des problmes complexes dĠanalyse de donnŽes 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 spŽcifiant ce quĠil sait, ce quĠil croit, ce quĠil aime.

ConfrontŽ ˆ des systmes sĠattachant ˆ construire une connaissance collective, lĠinternaute ignore le plus souvent quelles donnŽes ont ŽtŽ utilisŽes et ne comprend parfois pas comment le rŽsultat a ŽtŽ obtenu. Il peut tre alors amenŽ ˆ trouver les informations proposŽes, surprenantes, magiques, inquiŽtantes. La difficultŽ dĠexpliquer les rŽsultats est une faiblesse souvent prŽsente dans les approches que nous venons de discuter et qui en limite les usages.

Un autre problme sŽrieux de ces approches est liŽ aux atteintes ˆ la confidentialitŽ de lĠinformation. Pour mieux servir leurs utilisateurs, ces systmes doivent rŽunir le plus dĠinformation possible sur eux. Un rŽseau 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 bŽnŽficier de la gratuitŽ de services. Les systmes vont mme jusquĠˆ sĠŽchanger des informations sur leur clients ; toujours pour mieux les servir ? Cela conduit ˆ des conflits dĠintŽrts. Un systme de rŽseau social doit choisir entre le besoin de protŽger les donnŽes de ses clients (au risque sinon de les perdre) et son aviditŽ naturelle pour les donnŽes 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 trs personnalisŽs.

Pour conclure cette partie, oublions temporairement ces problmes 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 dŽcouvre une nouvelle jeunesse, la gestion de connaissances. CĠest le sujet de notre prochaine partie.


 

5. La Toile des connaissances

[39]תָּמוּת מֹות מִמֶּנּוּ אֲכָלְךָ בְּיֹום כִּי מִמֶּנּוּ תֹאכַל לֹא וָרָע טֹוב הַדַּעַת וּמֵעֵץ

Le domaine des bases de connaissances existait depuis longtemps quand est nŽe la Toile. Mais si les bases de donnŽes Žtaient dŽjˆ alors une industrie florissante, les bases de connaissances peinaient ˆ se faire une place au soleil. Cette place, elles sont en train de lĠacquŽrir avec la Toile. Nous parlerons dans cette partie de la Toile des connaissances.

La Toile des documents est fondŽe 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 ?

Le Web sŽmantique

Dans sa forme la plus homŽopathique, il sĠagit dĠexpliquer le sens de documents textuels de la Toile, dĠŽlŽments 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 mŽtadonnŽes, cĠest-ˆ-dire des donnŽes qui expliquent les donnŽes. Par exemple, pour le document que vous tes en train de lire, nous pourrions publier :

auteur = Serge Abiteboul ;

nature = leon inaugurale ;

institution = Collge de France ;

date = Mars 2012 ;

langue = franais.

A lĠintŽrieur des documents, des Žtiquettes sŽmantiques peuvent aussi tre attachŽes ˆ des fragments constitutifs dĠun texte pour les expliquer. Par exemple, accolŽe ˆ la cha”ne de caractres Woody Allen, lĠŽtiquette dbpedia:Woody_Allen prŽcise quĠil sĠagit dĠune personne rŽfŽrencŽe dans Ç dbpedia È, une base de connaissances trs utilisŽe. Nous trouverons notamment dans cette ontologie quĠil sĠagit du cŽlbre cinŽaste qui a rŽalisŽ Manhattan.

Les bases de connaissances comme dbpedia sont appelŽes des Ç ontologies È. En simplifiant, une ontologie se compose de phrases comme celles-ci :

1.     classes Personne, ­RŽalisateur, CinŽaste

2.     ­RŽalisateur sous classe de Personne

3.     ­RŽalisateur synonyme de CinŽaste

4.     dbpedia:Woody_Allen est un RŽalisateur

5.     relation a_rŽalisŽ

6.     dbpedia:Woody­_Allen a_rŽalisŽ film:Manhattan

qui spŽcifient des classes dĠobjets (1), des inclusions ou des ŽgalitŽs 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 dŽcouvert sur la Toile sans explication sĠapparente ˆ utiliser les rŽsultats dĠune expŽrience scientifique en ignorant les conditions de sa rŽalisation, ses unitŽs de mesure, etc. Des Žtiquettes introduites dans le texte, basŽes sur des ontologies, prŽcisent le sens de ce texte, lĠenrichissent en y ajoutant de la sŽmantique. Par exemple, lĠŽtiquette dbpedia:Woody_Allen attachŽe ˆ une phrase indique que la phrase parle de Woody Allen, un rŽalisateur, un cinŽaste, une personne, et pas du musicien Allen Woody. Et cette phrase devient une rŽponse ˆ la question sous forme de mots-clŽs Ç cinŽaste Woody Allen Manhattan È mme si elle ne contient ni le mot cinŽaste ni le mot Manhattan. Par contre, une phrase parlant dĠun sŽjour de Allen Woody (prŽcisant quĠil sĠagit du musicien dbpedia:Allen_Woody) ˆ Manhattan ne serait pas comprise comme une rŽponse. LĠontologie permet donc de rŽpondre de faon plus fine aux requtes.

Sur la Toile, nĠimporte qui peut publier ses propres ontologies. Des experts utilisent des terminologies spŽcifiques 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 mme information peut tre reprŽsentŽe de multiples manires. Surtout, nous sommes sur la Toile et nous allons trouver des masses de faits erronŽs. Ce qui est encore plus compliquŽ ˆ gŽrer, cĠest que des sites peuvent publier des rgles qui mettent en pŽril 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 problmes passionnants : comment utiliser des ontologies pour mieux rŽpondre aux questions des internautes ? Comment Ç aligner È des ontologies, cĠest-ˆ-dire Žtablir des liens entre leurs concepts et leurs relations, pour Ç intŽgrer È des informations venues de sources indŽpendantes ? Comment gŽrer les incohŽrences ? Comment Žvaluer la qualitŽ des connaissances ?

De lĠacquisition de connaissances

Maintenant que nous comprenons lĠintŽrt de disposer de connaissances en plus de textes, la question difficile devient Ç comment acquŽrir ces connaissances ? È. Le plus souvent les mmes individus, qui aiment publier sur la Toile dans leur langue naturelle, apprŽcient 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 molŽcules 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 donnŽes contribue aujourdĠhui ˆ une visibilitŽ scientifique au mme titre que des publications dans des journaux scientifiques. Mais les cas dĠinternautes entrant volontairement et gratuitement des connaissances dans un systme restent rares et, le plus souvent, les t‰ches de construction de bases de connaissances sont laissŽes ˆ des logiciels.

Prenons par exemple la base de connaissance Yago, dŽveloppŽe ˆ partir de la version anglaise de lĠencyclopŽdie WikipŽdia que nous avons dŽjˆ mentionnŽe. WikipŽdia est au dŽpart une collection de textes. Pour amŽliorer sa prŽcision, ses Žditeurs encouragent lĠintroduction de fragments de connaissances. (Allez sur la page WikipŽdia de Woody Allen et cliquez sur lĠonglet Ç Modifier È pour vous en convaincre.) CĠŽtait donc un excellent point de dŽpart pour dŽvelopper une vraie base de connaissances. Cette base, appelŽe Yago, a ŽtŽ construite ˆ lĠaide dĠun logiciel dŽveloppŽ ˆ lĠInstitut Max Planck[40]. En 2011, Yago avait dŽjˆ 2 millions dĠentitŽs et 20 millions de relations entre ces entitŽs.

Si la Toile reste trs largement dominŽe par HTML et le texte, les bases de connaissances de demain sont dŽjˆ 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 t‰che est complexe parce quĠelle met en jeu la comprŽhension 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ĠimprŽcisions et dĠerreurs et de faits comme Ç JŽrusalem est la capitale dĠIsra‘l È qui peuvent tre controversŽs. LĠintŽgration des connaissances de plusieurs sources est aussi dŽlicate, comme lĠest la vŽrification des connaissances obtenues. Tout cela met en jeu une gamme de techniques complexes, notamment les techniques de corroboration ou de crowdsourcing dont nous avons dŽjˆ parlŽes.

Et demain ? A cotŽ des documents textuels, il faut sĠattendre ˆ voir prolifŽrer des millions de bases de donnŽes ou de connaissances, de toutes tailles, de toutes natures, de qualitŽs variables, et des liens entre elles. Le problme aura peut-tre changŽ mais resteront les questions fondamentales : o trouver une information spŽcifique et quel site est fiable ?

Les services Web

La publication de connaissances permet de mieux rŽpondre aux requtes. Surtout, elle rend possible lĠutilisation de la Toile par des machines. Prenons la requte trs simple suivante : Ç qui a rŽalisŽ le film Manhattan ? È. Un utilisateur humain nĠaura aucun mal ˆ trouver la bonne rŽponse 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 rŽponses comme :

( dbpedia:Woody­_Allen, a_rŽalisŽ, film:Manhattan )

Nous appellerons services Web des logiciels connectŽs ˆ Internet dialoguant avec dĠautres logiciels, sĠŽchangeant des donnŽes structurŽes suivant les protocoles de la Toile.

A la base de tout a, nous trouvons des standards. Une anecdote nous permettra de souligner leur intŽrt. Nous voulions utiliser un programme de classification de documents dŽveloppŽ par des collgues. Pour pouvoir faire fonctionner ce logiciel, il fallait dĠabord installer plusieurs librairies de programmes, certaines incompatibles avec notre environnement de dŽveloppement. Le cauchemar habituel de lĠinstallation de logiciel. Heureusement, quelquĠun a eu lĠidŽe (pas si Žvidente au dŽbut des annŽes 1990) dĠutiliser le programme de classification comme service Web. Les collgues ont installŽ leur logiciel sur une machine connectŽe au rŽseau 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 cinŽphile. Il utilise un service, disons TMLF, pour TrouveMoiLeFilm. Notre cinŽphile prŽcise (en sĠappuyant sur des ontologies) ce quĠil veut : voir le film Manhattan. TMLF cherche pour lui des offres de ce film en VidŽo ˆ la Demande en utilisant les descriptions de services de la Toile (aussi basŽes sur des ontologies). TMLF compare les prix, les prestations de chaque service, en tenant compte des abonnements de la personne, de ses prŽfŽrences, etc. Dans cette t‰che, TMLF collabore avec dĠautres services et Žchange avec eux des donnŽes, des connaissances. Et au final, TMLF peut dŽmarrer le film sur la tŽlŽ 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.

LĠinfŽrence

Comprendre le sens des donnŽes, rŽpondre plus prŽcisŽment aux requtes, voilˆ des avantages apportŽs 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 infŽrer automatiquement de nouvelles connaissances. Pour expliquer cela, nous allons rŽexaminer la notion de fait. Nous avons rencontrŽ jusquĠˆ prŽsent des faits extensionnels, comme SŽance(Star Wars, Sel, 22:15), qui correspondent ˆ des n-uplets stockŽs dans la base de donnŽes. La base de donnŽes est donc dŽpositaire de tous les faits extensionnels du monde. Introduisons maintenant des connaissances sous forme de lois (de rgles) 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 rgles et de faits comme Psychose est un film dĠHitchcock et Alice ne lĠa pas vu, nous allons pouvoir infŽrer un fait comme Ç Alice souhaiterait voir le film Psychose È, un fait qui nĠest stockŽ dans aucune base de donnŽes. Nous parlerons de faits intentionnels. CĠest ce genre de rgles toutes simples qui permet ˆ des logiciels de raisonner.

Observez que rŽpondre ˆ une requte est devenu plus compliquŽ. Il faut maintenant infŽrer des faits qui permettent dĠinfŽrer dĠautres faits, ainsi de suite. Evidemment, il faut Žviter dĠinfŽrer tous les faits possibles, car cela demanderait trop de temps et trop dĠespace mŽmoire ou de stockage. Parmi les plus beaux algorithmes du domaine, nous trouvons dĠailleurs des algorithmes inspirŽs de la programmation logique qui permettent dĠŽviter dĠinfŽrer des faits inutilement[41]. Nous nĠaurons pas le temps de les dŽcrire dans cette leon.

Penser global

LĠinfŽrence est essentielle dans le cadre dĠune Toile des connaissances en devenir, notamment pour mieux rŽpondre aux requtes ou pour intŽgrer de lĠinformation provenant de sources hŽtŽrognes. Nous pouvons imaginer demain des millions, des milliards de systmes qui Žchangent des connaissances, infrent des connaissances. Il faut pourtant raison garder. Il ne sĠagit pas ici de raisonnements trs compliquŽs comme par exemple ceux dĠune dŽmonstration mathŽmatique, mais juste dĠŽchanges dĠinformation. Se posent pourtant dĠŽnormes dŽfis techniques : comment raisonner avec de pareils volumes de connaissances ? Comment ne pas tre simplement submergŽs par les faits infŽrŽs ? 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 entourŽs de systmes qui raisonnent, sԎchangent des connaissance, interagissent avec nous.  Comment cela va-t-il modifier notre manire mme de savoir, de penser ?

Conclusion

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 numŽriques relativement immatŽrielles permet de souligner une particularitŽ fondamentale de lĠinformatique : lĠinformatique est une science de lĠimmatŽriel. En cela, elle diffre des sciences du matŽriel comme la physique, la chimie, les sciences de la vie et de la terre, par les techniques et souvent les mathŽmatiques quĠelle utilise. Cela induit, pour lĠindustrie informatique, ses propres particularitŽs tant pour la fabrication, la distribution ou la maintenance des produits que pour les modles commerciaux. CĠest cette immatŽrialitŽ que nous avons rencontrŽe presquĠˆ chaque page de cette leon.

La Toile est multiforme. Elle vit sur un Internet que nous souhaiterions le plus neutre[43] possible. Elle est omniprŽsente. Il est devenu quasi impossible de vivre sans : de trouver du travail, de travailler, de se loger, de gŽrer ses comptes bancaires, de faire partie dĠune association, presque dĠavoir des amis, etc. Nous sommes nombreux ˆ partager la nostalgie du monde romantique, idŽaliste, anarchiste, anarchique, de la Toile ouverte des dŽbuts. La Toile Žvolue inexorablement vers des espaces plus fermŽs[44] notamment sous la pression de la monŽtarisation 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 imprŽcisions et ses incohŽrences qui noient les perles dĠhumanitŽ et dĠune alchimie improbable qui transforme la masse en qualitŽ.

Ce que nous avons appris ces dernires annŽes 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 tŽlŽphones Ç intelligents È, que nous sommes nombreux ˆ avoir adoptŽs avec enthousiasme tout en nous inquiŽtant de leurs aspects anxiognes. Mme 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 rŽseaux sociaux et du Web sŽmantique. Si nous avions eu plus de temps, nous aurions considŽrŽ 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 Ç rŽvolutionner È notre habitat. Et nous assistons au fantastique succs du Web des mondes virtuels, notamment avec des jeux vidŽo.

Si nous avons essayŽ dĠŽviter une prŽsentation bŽatement optimiste des technologies de gestion de donnŽes, nous avons beaucoup insistŽ dans ce texte sur les succs technologiques notamment dans le contexte de la Toile. Nous Žvoquerons brivement certains Žcueils, en essayant de mettre en Žvidence des sujets de recherche quĠils suggrent.

Eviter la noyade dans un ocŽan de donnŽes

Cela a ŽtŽ un des fils conducteurs de ce texte. Un des grands dŽfis des annŽes ˆ venir est de dŽvelopper les technologies qui permettront de trouver, Žvaluer, valider, vŽrifier, hiŽrarchiser 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 rŽputation, la recommandation, ou la personnalisation.

Accs ˆ lĠinformation pour tous

Des Ç fractures numŽriques È existent. La fracture gŽnŽrationnelle, grossirement, entre ceux qui sont nŽs avant et aprs Internet, tend ˆ dispara”tre avec des objets comme lĠiPad. La fracture entre urbains et ruraux pourrait dispara”tre facilement avec un peu de volontŽ politique, les ruraux adoptant ces nouvelles technologies avec au moins autant dĠappŽtit que les citadins. Les fractures sociales[45] et nord-sud sont autrement plus prŽoccupantes. LĠinformatique peut aider ˆ les rŽduire avec des logiciels toujours plus simples ˆ utiliser, des logiciels surtout libres. Mais il sĠagit dĠabord dĠun problme dĠŽducation. En France, nous assistons ˆ des progrs pour ce qui est de lĠenseignement de lĠinformatique. Le chemin encore ˆ parcourir reste considŽrable. Il faut aussi que la bibliothque gratuite du coin de la rue cde la place ˆ la bibliothque numŽrique, gratuite et universelle de la Toile. LĠutopie est devenue rŽalisable : lĠaccs pour tous ˆ toute la culture et toutes les connaissances.

DŽmocratie ou pas

La Toile et les systmes informatiques peuvent se mettre au service des gouvernants pour Ç fliquer È leurs citoyens, voire les opprimer. Ils peuvent aussi permettre dĠŽtablir une dŽmocratie des contrepouvoirs avec des rŽseaux de militants qui contr™lent, surveillent, dŽnoncent, et notent les pouvoirs publics et, par lˆ-mme, qui contribuent ˆ amŽliorer le fonctionnement de la dŽmocratie. Les choix sont principalement politiques mais les scientifiques ont un r™le ˆ jouer dans lĠŽtablissement de ces contrepouvoirs. Il sĠagit en particulier de dŽvelopper les technologies permettant de contr™ler les puissants : les Etats, les multinationales.

Et la vie privŽe ?

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 r™le de la science de dŽvelopper les outils qui nous permettent, en sĠappuyant sur des lois qui protgent les donnŽes personnelles, de regagner le contr™le sur notre information. Il sĠagit bien sžr pour les gouvernements de lŽgifŽrer, mais il est important que nous nous accordions aussi sur une Žtique de la protection de la vie privŽe.

Pour des individus meilleurs ou pires ?

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 communautŽs dŽvoreuses 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 mre de toutes les questions, allons-nous utiliser ces outils[46] pour ne plus penser ou, au contraire, pour mieux penser et tre plus crŽatifs.

Les rŽponses ˆ ces questions dŽpendent beaucoup des nouveaux outils informatiques qui restent ˆ inventer, avec peut-tre plus encore quĠavant, la prŽoccupation de mieux servir les utilisateurs, et pourquoi pas de les rendre meilleurs. DĠun point de vue technique, un des dŽfis est de pouvoir offrir ˆ lĠindividu tous les avantages des systmes de la Toile les plus avancŽs, notamment les rŽseaux sociaux ou les systmes de recommandation, sans quĠil ait besoin dĠaliŽner le contr™le des informations qui le concernent, comme cĠest trop le cas aujourdĠhui. Un autre dŽfi est dĠamŽliorer la production collective de connaissances. Il faut aussi nous permettre de mieux utiliser toutes ces connaissances dans nos prises de dŽcisions, en mieux les intŽgrant dans les outils logiciels que nous utilisons au quotidien comme le tŽlŽphone, le courrier ou lĠagenda Žlectronique.

Prediction is very difficult, especially about the future[47].                                                                              Niels Bohr

Et demain ?

Sous la pression de jeunes pousses trs dynamiques et de jeunes gŽants comme Facebook ou Google, les technologies de la Toile se sont dŽveloppŽes trs rapidement. Comme souvent en informatique, des solutions vite fait mal fait ont ŽtŽ bricolŽes. Si le domaine de la gestion de donnŽes montre aujourdĠhui un dynamisme Žtincelant, il tient pourtant encore de la fort 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 prŽvoir quelles tendances sont lˆ pour durer. Les bases logiques, qui faisaient la beautŽ du modle relationnel, se prŽsentent encore dans le dŽsordre pour ce qui est de la Toile. Une solution globale est ˆ inventer. Les liens avec la logique, la thŽorie de la complexitŽ, la thŽorie des langages et des automates, sont ˆ revisiter. De nouvelles thŽories sont sans doute ˆ Žtablir. Les systmes que nous utilisons sont ˆ amŽliorer ; de nouvelles fonctionnalitŽs 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 ˆ fŽconder un meilleur futur. Quant aux aspects plus techniques, je me hasarderai ˆ prŽdire que la prochaine Žtape des sciences des donnŽes, que lĠon retiendra, a dŽjˆ commencŽ : cĠest la Toile des connaissances. Elle a dŽjˆ ŽtŽ annoncŽe plusieurs fois. Elle arrive lentement mais elle arrive vraiment.

Des donnŽes, ˆ lĠinformation, aux connaissances, le cheminement est naturel.

Remerciements. Nous tenons ˆ remercier le Collge de France, lĠINRIA ainsi que le Conseil de Recherche EuropŽen, via le projet Webdam sur Ç Foundations of Web data Management È. Nous tenons aussi ˆ remercier Mart’n Abadi, JŽrŽmie 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 numŽrique, leon inaugurale au Collge de France, G. Berry. 2008.

[2] Penser, modŽliser et ma”triser le calcul informatique, leon inaugurale au Collge de France, G. Berry. 2010. La sŽcuritŽ informatique, leon inaugurale au Collge de France, M. Abadi. 2011.

[3] Nous entendons par langues naturelles des langues ŽlaborŽes dans le temps par des groupes de locuteurs, comme le franais ou lĠanglais. Ceci est moins par opposition avec des langues Ç construites È comme lĠespŽranto quĠavec des langages formels comme la Logique du premier ordre, SQL ou Java.

[4] ƒcoute Dave. Je vois bien que tu es trs affectŽ par tout cela. Et je pense vraiment que tu devrais reprendre tes esprits, prendre un calmant et essayer de faire le point.

[5] DŽfinir prŽcisŽment ces notions nĠest pas chose facile. Voir par exemple, The Philosophy of Information, Luciano Floridi, Oxford University Press, 2011.

[6] Ses donnŽes persistent aprs que lĠordinateur soit Žteint.

[7] Les Žvolutions suivantes ont ŽtŽ observŽes approximativement jusquĠˆ prŽsent. Pour les capacitŽs de stockage, la densitŽ de mŽmoire pour les disques durs double chaque annŽe (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 manire gŽnŽrale, quand une application est hŽbergŽe 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 rŽsultats et dĠappliquer des fonctions simples comme la somme ou la moyenne.

[14] Pour ces complexitŽs Ç faibles È, le modle de calcul prŽcis est important. Nous parlons ici de calcul sur des machines RAM.

[15] Un exemple de problme difficile dans NP est celui du voyageur de commerce. Etant donnŽes 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 dŽtecter si le programme est entrŽ dans une boucle, mais au prix dĠun travail supplŽmentaire.

[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 problme est diffŽrent si nous considŽrons que le domaine est ordonnŽ. Vardi a montrŽ quĠalors, fixpoint permet de calculer exactement toutes les requtes dans P, et que while exprime exactement celles dans pspace.

[19] Servir et protŽger les donnŽes.

[20] Les applications qui tournent sur le systme relationnel contiennent des bogues. Le systme lui-mme contient ses propres bogues. Enfin les matŽriels peuvent dysfonctionner.

[21] Une grappe de serveurs ou une ferme de calcul (cluster en anglais) consiste en un regroupement dĠordina­teurs, appelŽs nÏuds, collaborant pour rŽsoudre un problme 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 donnŽes, 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 dŽbut des annŽes 2000 crŽditaient la plus grande ferme de 6000 processeurs.

[25] Ce problme fait partie de la classe AC0, cĠest-ˆ-dire la classe des problmes que lĠon peut rŽsoudre avec des circuits de profondeur constante et un nombre de portes ET et OU polynomial dans la taille de lĠentrŽe. LĠŽvaluation de requtes de lĠalgbre relationnelle est dĠailleurs dans sa totalitŽ dans AC0. 

[26] Playboy : La devise de votre sociŽtŽ est vraiment Ç Ne faites pas le mal È ? Brin : Oui, c'est vrai. Playboy : Est-ce un code Žcrit ? Brin : Oui. Nous avons d'autres rgles, 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 ˆ zŽro. Pour un milliard de pages, si chaque page a une trentaine de liens en moyenne, la matrice a environ 30 milliards dĠentrŽes non vides sur un milliard de milliards dĠentrŽes. Elle est trs creuse. Mais mme dans une reprŽsentation optimisŽe, elle reste gigantesque.

[29] Le PageRank de Google actuel utiliserait des dizaines de critres combinŽs dans une formule gardŽe secrte.

[30]Adaptive On-Line Page Importance Computation. S. Abiteboul, M. Preda, G. Cobena. WWW Conference. 2003.

[31] Voir www.le-tigre.net/Marc-L.html.

[32] Sagesse en rŽseaux : 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] WikipŽdia existe en 281 Žditions et sa version anglaise a plus de 3 millions dĠarticles en juin 2011 (selon WikipŽdia).

[35] Les traductions trouvŽes sur la Toile, comme Ç externalisation ouverte È, ne nous ont pas convaincus.

[36] RŽfŽrence au Turc mŽcanique, un automate joueur d'Žchecs de la fin du 18e sicle, en rŽalitŽ un canular.

[37] Predicting protein structures with a multiplayer online game, Seth Cooper et al., Nature, 2010.

[38] Les masses sont les vŽritables hŽros.

[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. Gense 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 donnŽes sur Internet. Ce principe exclut toute discrimination ˆ l'Žgard de la source, de la destination ou du contenu de l'information transmise sur le rŽseau. [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 prŽvisions, surtout pour lĠavenir.