Pentru anul acesta era prevăzută o "odisee
spaţială". Se presupunea că Hal, computerul, va fi nu doar
inteligent, ci chiar înzestrat cu nişte instincte... Omenirea şi-a
îndeplinit planul?
Daniel Marcu: Depinde. Dacă discutăm despre
un sistem capabil să reproducă în totalitate comportamentul lui Hal,
atunci răspunsul este negativ: nu, nu ne-am îndeplinit planul. Dacă
însă vorbim de componente, situaţia este cu totul alta. La ora
actuală există sisteme care încorporează multe dintre
funcţiile lui Hal. Avem piloţi automaţi care au
străbătut la volan 4000 km de-a lungul Americii, având nevoie de
ajutor uman pe doar 2% din distanţă. Sisteme de recunoaşterea
vorbirii şi dialog înlocuiesc un număr din ce în ce mai mare de
telefonişti. Avem programe care găsesc răspunsuri scurte (15-20
cuvinte) în colecţii de sute de mii de documente, cu acurateţe de
peste 50%. Avem calculatoare care aplică strategii de comunicare specific
umane; dacă te măgulesc destul de mult, şi tu, ca utilizator
uman, le accepţi mult mai uşor erorile. Aceste calculatoare nu au "instincte", dar ştiu să simuleze atât de bine câteva strategii de comunicare inter-umană, încât mai că-ţi vine să crezi că au "suflet". Asta îmi aduce aminte despre o
cunoştinţă care este convinsă că şi-a
învăţat Furby-ul (o jucărie de mare succes acum vreo 2 ani)
să spună 2-3 cuvinte pe care
nu le ştia înainte.
Am dat atât de multe exemple pozitive încât mi-e teamă
că o să las impresia că este foarte simplu să
construieşti la ora actuală un "Hal". Nimic mai fals. În general, cred că ultimii 30 de ani au
produs programe de succes doar în domeniile în care am reuşit să
formalizăm problemele într-un limbaj matematic şi algoritmic care
poate fi aplicat pe colecţii mari de date. Recunoaşterea vorbirii, de exemplu, a început să
progreseze substanţial abia după ce întreaga comunitate
ştiinţifică a adoptat modelul matematic numit "automat finit
Markov". Programe foarte eficiente de învăţare specifice acestui
model matematic au putut fi aplicate pe colecţii mari de date, ceea ce
explică evoluţia spectaculoasă a acestui domeniu în ultimii 20
de ani. La fel şi în şah, unde progresul poate fi explicat de
existenţa unui model matematic/algoritmic adecvat, care reduce jocul de
şah la o simplă problema de căutare. Odată ce acest model a
fost înţeles, a fost nevoie de doar 20-30 de ani până când
calculatoarele au devenit suficient de rapide pentru a explora un spaţiu
de căutare la fel de mare ca cel pe care îl explorează implicit un
campion de şah.
Pentru multe probleme însa situaţia nu este deloc atât
de roză. Indiferent cât de rapide sunt calculatoarele de azi şi
indiferent cât de rapide vor deveni în viitor, modelele matematice şi
algoritmice actuale nu sunt suficient de bune pentru a crea un calculator care
să răspundă la întrebări mai complexe decât "cine", "unde"
sau "când". Nu ştiu cât timp va mai trece până când voi putea primi
de la un calculator răspunsuri la întrebări precum "Ce s-a întâmplat
în România în decembrie 1989?" sau "De ce reforma economică e mult mai în
urmă în România decât în Cehia?". Răspunsurile la astfel de
întrebări sunt lungi, complicate şi cenuşii -- sunt greu de produs
chiar şi de către oameni. Pentru a răspunde la astfel de
întrebări trebuie să fii capabil să extragi foarte multă
informaţie relevantă dintr-o mulţime de texte, să o
abstractizezi, să o grupezi, şi să produci text care surprinde
toate faţetele problemei. Tehnicile actuale de raţionare
automată şi limbaj natural sunt departe de a oferi o bază
suficient de solidă pentru astfel de operaţii.
Ce s-a întâmplat cu interesul uriaş de care se
bucura acum 20 de ani inteligenţa artificială?
Întâi a scăzut: prea multe promisiuni fără
acoperire şi prea multă vorbărie în vânt. În ultimii 5-6 ani
însă, lucrurile au luat o altă întorsătura. Din "cu modificări mici, acest algoritm se poate aplica pe 10
milioane de exemple" retorica s-a schimbat în "am aplicat
deja acest algoritm pe 10 milioane de exemple iar rezultatele sunt în
proporţie de x% corecte". Inteligenţa artificială nu a
generat încă soluţii pentru foarte multe probleme, dar a ajuns la
nivelul la care o mulţime de aplicaţii au un impact semnificativ în
economie. Acum 15 ani numărai pe degete companiile care aplicau tehnici de
inteligenţă artificială. Acum sunt mii şi numărul lor
este în continuă creştere. Sunt căutat regulat de companii care
doresc consultanţă în materie de tehnici de inteligenţă artificială,
învăţare automată şi limbaj natural, tehnici pe care doresc
să le aplice pentru a rezolva probleme foarte concrete.
Ultima dată când ne-am întâlnit erai pasionat
de traducerea automată... Cartea
aceasta îşi are originile în acea pasiune?
Încă sunt pasionat de traducerea automată. De
fapt, am început să fac limbaj natural din dorinţa de a construi un
program care să translateze text din engleză în română.
După o vreme, au început să mă pasioneze tot mai mult de
fenomenele lingvistice specifice textului, nu propoziţiei. Dacă
translatezi, de exemplu, e posibil să produci traduceri destul de bune
chiar dacă traduci propoziţiile una câte una. Nu trebuie să
înţelegi neapărat cum se leagă propoziţiile între ele
şi cum să faci ca textul pe care îl creezi să fie nu numai
corect gramatical, ci şi coerent. Dacă însă doreşti să
faci rezumatul unui text, nu vei putea să o faci chiar dacă
înţelegi foarte bine fiecare propoziţie separat. Pentru a crea un rezumat
bun, trebuie să înţelegi de asemenea cum se leagă între ele
propoziţiile şi care e logica textului. Încetul cu încetul am ajuns
să cred că o astfel de înţelegere globală a textului poate
să creeze atât contextul în care să fie abordate şi rezolvate multe
probleme ştiinţifice care până de curând nu aveau o soluţie
şi nici baza pentru aplicaţii practice de mare potenţial
comercial. Aşa că, de vreo 6 ani investighez pe direcţia
aceasta.
Cum ţi-a venit ideea?
M-am jucat într-o seară de-a "generatorul" de text. Luam
propoziţii dintr-un text, le decupam, amestecam şi apoi încercam
să le pun la loc în ordinea în care erau în textul iniţial. E un
exerciţiu foarte bun, care te obligă să te gândeşti de ce
ordonezi propoziţiile într-o anumită secvenţa şi nu în
alta. Fiecare propoziţie e perfectă luată separat. Dar dacă
le pui una după alta la întâmplare, rezultatul poate fi de neînţeles.
Tot jucându-mă aşa mi-a venit o idee despre cum aş putea scrie
un program care să facă acelaşi lucru. Şi uite aşa,
încetul cu încetul, am fost complet absorbit de problemă.
De la modul cum să aranjezi într-o secvenţă
coerentă un set de propoziţii am început să mă gândesc la
modul cum aş putea înţelege legăturile dintre propoziţiile,
frazele şi paragrafele dintr-un text dat, cum aş putea reprezenta
aceste legături explicit şi cum le-aş putea descoperi automat...
Am citit mai întâi tot ce mi-a căzut în mână despre subiect. Am dat
peste o mulţime de studii lingvistice care m-au ajutat să
înţeleg mai bine problema pe care încercam să o rezolv. Nu existau
însă programe şi algoritmi care să facă aşa ceva
pornind de la texte reale. Încetul cu încetul am pus bazele unui model
matematic al fenomenelor textuale pe care doream (şi puteam) să le
modelez precum şi algoritmi care permit ca modelul matematic să fie
instanţiat şi folosit pe text real. Când modelul şi algoritmii
au fost suficient de robuşti, am început să mă ocup şi de
aplicaţii.
Cam ce fel de aplicaţii?
O variantă comercială a programelor pe care le-am
scris este la ora actuală folosită în industrie pentru sumarizare de
text şi corectare si diagnoză automată a eseurilor/compunerilor
scrise de studenţi şi elevi. Programul de sumarizare poate determina
care sunt cele mai importante propoziţii într-un text şi poate
să creeze un rezumat la nivelul de detaliere specificat de autor. Programul
care recunoaşte structura logică a textelor este actualmente
încorporat într-un sistem mai mare, dezvoltat de Educational Testing Service
Technologies, care notează automat eseuri sau compuneri scrise de
elevi şi studenţi. Programul nu numai "corectează" automat
eseurile, ci şi explică de ce a dat o anumită notă şi
sugerează modalităţi prin care elevii îşi pot
îmbunătăţi scrisul.
Ce mai urmează?
Aplicaţiile de care vorbeam şi-au găsit deja
locul în lumea comercială. Mai am însă prototipuri funcţionale
pentru sisteme care sumarizează colecţii de texte şi care
rescriu rezumatele obţinute prin extracţie pentru a exprima
acelaşi conţinut informaţional într-o formă mai
compactă şi mai coerentă. Într-un an sau doi sper ca şi
aceste sisteme să-şi găsească locul în lumea
comercială.
Pe plan teoretic, lucrez la o formalizare şi abordare
algoritmică probabilistă a fenomenelor lingviste specifice textului.
Dezvolt însă în continuare aplicaţii noi: împreună cu
câţiva colegi lucrez la un sistem care produce rezumatul unei
colecţii de texte şi la un alt sistem care re-scrie într-o formă
mai compactă şi mai coerentă rezumatele obţinute prin
extracţie. Pe linia de aşteptare mai sunt aplicaţii în
organizarea şi căutarea informaţiei, crearea de răspunsuri
concise la întrebări complexe şi traducerea automată. Acestea
sunt însa deocamdată doar în faza de schiţe şi de propuneri de
cercetare.
Daniel Marcu a absolvit în 1991 Facultatea de
Automatizări şi Calculatoare a Universităţii Tehnice din
Cluj-Napoca, cu teza de licenţă Prototip Translator Automat
Engleză-Română.
În 1994 obţine titlul de Master in Computer Science
la University of Toronto, cu teza A Formalism and an Algorithm for Computing Pragmatic Inferences and
Detecting Infelicities.
În 1997 devine doctor al aceleiaşi
universităţi, cu teza The Rhetorical Parsing, Summarization, and Generation of Natural
Language Texts.
Actualmente este cercetător la Information Sciences
Institute din cadrul University of Southern California şi profesor
asistent la Departamentul de Computer Science al aceleiaşi
universităţi.
Daniel urmează să predea două cursuri în
cadrul şcolii internaţionale de limbaj natural ce se va organiza în
perioada 30 iulie -11 august la Iaşi (Eurolan -
http://www.infoiasi.ro/~eurolan2001/).