Lingvistică computațională

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Lingvistica computațională se concentrează pe dezvoltarea formalismelor descriptive ale funcționării unui limbaj natural , care sunt astfel încât să poată fi transformate în programe care pot fi executate de computere .

Problemele cu care se confruntă lingvistica computațională - după cum se poate ghici din numele disciplinei - constă în găsirea unei medieri între limbajul uman, obiect de studiu în continuă evoluție și capacitatea de a înțelege mașina, limitată la ceea ce poate fi descris prin formale. reguli.

Istoria disciplinei

La începutul celei de-a doua jumătăți a secolului al XX-lea, două linii diferite de cercetare au construit bazele pe care se bazează astăzi lingvistica computațională:

a) Studiile părintelui Roberto Busa despre utilizarea computerului ca mijloc de stocare și analiză a textului (anii 1950 și 1960), al căror prim fruct a fost primul corpus electronic al operei lui Thomas Aquinas [1] ;
b) aplicarea metodelor formale analizelor textuale menționate anterior (anii 1960 și 1970), care au mers mână în mână cu progresele realizate în domeniul inteligenței artificiale .

Industria infantilă a „ Procesării limbajului natural ” (în engleză Natural Language Processing), a fost mult timp influențată de metodele deductive folosite de gramatica generativă a lui Noam Chomsky : Această teorie lingvistică, indiferent de utilizare, încearcă să identifice regulile abstracte care descriu competența a limbajului posedat de un vorbitor.

Alături de tradiția raționalistă, s-a dezvoltat și o a doua care, în schimb, a acordat prioritate colectării unor cantități mari de texte: corpusuri . Această adresă (răspândită în Marea Britanie și Statele Unite) a exploatat metodele statistice pentru a extrage regularități lingvistice din texte, puncte de plecare pentru descrierea structurii limbajului. Primul mare succes al „metodei empiriste” datează din 1964, anul apariției Corpusului Brown de Francis și Kucera: este primul exemplu de corpus creat pentru studiul unei varietăți lingvistice contemporane, în acest caz Engleza americana.

Creșterea dimensiunii corpurilor - din ce în ce mai fundamentală pentru a verifica eficiența instrumentelor - și cea paralelă a webului - cu resursele sale textuale infinite - au sancționat prevalența celei de-a doua abordări. De fapt, odată cu creșterea dimensiunii materialului de analizat, au fost necesare tehnologii care să poată face față imensei varietăți de realizări lingvistice: abstracțiile de la utilizarea metodologiei raționaliste, care au dus la crearea așa-numitelor „ modele de jucării "(aplicații de analiză lingvistică ineficiente în contexte reale), au fost inadecvate în acest scop. Mai mult, s-au născut limbaje de marcare standard, cum ar fi XML, care au sporit gradul de utilizare și ușurința schimbului reciproc de corpuri și a făcut posibilă explicitarea structurilor textului.

Astăzi, lingvistica computațională se poate baza pe numeroase grupuri de cercetare din panorama științifică internațională; un număr bun de centre sunt, de asemenea, prezente pe teritoriul italian (de exemplu, Institutul de Lingvistică Computațională al Consiliului Național de Cercetare , fondat de Antonio Zampolli ) și mai multe universități italiene au plasat informatica umanistă ca subiect fundamental al cursurilor de I studiază la jumătatea distanței dintre informatică și științe umaniste. După un lung contrast între abordările raționaliste și empiriste, ne orientăm tot mai mult către dezvoltarea instrumentelor care, în același timp, încorporează cunoștințe reprezentate ca reguli abstracte și ca module statistice. Cu toate acestea, suntem încă departe de a simula o competență lingvistică comparabilă cu cea umană cu tehnologiile computerizate, datorită limitelor care nu sunt doar tehnice, ci vizează și înțelegerea noastră a modurilor în care limbajul este procesat de mintea umană.

Analizează textul

Principala problemă, atunci când vrem să începem analiza de calcul a textului, este să stabilim criterii de identificare pentru care este unitatea sa de bază: cuvântul .

Jetoane

Tokenizarea , sau operația prin care textul este împărțit în jetoane , este relativ simplă pentru limbile care folosesc spații pentru a delimita cuvintele; foarte complex pentru limbile cu un sistem de ortografie continuu (operația necesită algoritmi extrem de complicați). Dacă ne limităm la primul caz, simbolul poate fi definit pur și simplu ca orice succesiune de caractere delimitate de spații ; cu toate acestea, această definiție lasă loc pentru mai multe excepții. Să ne gândim, de exemplu, la semne de punctuație, care apar atașate cuvintelor: apostroful apare de obicei între două cuvinte diferite care, în virtutea definiției, ar fi identificate greșit ca un singur cuvânt.

Ambiguitatea punctuației este, de asemenea, o problemă atunci când trebuie să identificăm unitatea lingvistică superioară cuvântului, adică propoziția . Am putea defini propoziții - simplificând - ca secvențe de cuvinte separate prin puncte și spații și începând cu o literă mare; dar există și abrevieri precum „Domnul Johnson” care, conform acestei euristici, ar fi împărțite în propoziții separate.

Corzi și expresii regulate

După cum înțelegem din exemplele anterioare, tokenizarea trebuie să se bazeze pe criterii uneori complexe pentru a lua în considerare posibilele excepții. Căutarea șirurilor , adică secvențe de caractere care îndeplinesc anumite criterii, se efectuează prin intermediul unor expresii regulate , notații algebrice care descriu formal modele de șiruri. Diverse limbaje de programare , cum ar fi Perl , vă permit să specificați șabloane de șiruri folosind sintaxa expresiei regulate (în continuare ER) și să verificați dacă există șabloane de potrivire într-un text. Fiecare limbă returnează un rezultat diferit, în cazul în care se verifică potrivirea: șirul care satisface modelul, linia sa de apariție, o valoare booleană etc.

Prin RE, putem formula euristica cu o structură condițională, adică pe baza verificării unei serii de condiții. Următorul exemplu arată o euristică pentru localizarea punctului ca limită a propoziției.

/ \ b Harrapz-zz + \. \ s + markzzz /

Dacă perioada este precedată de un cuvânt cu litere mici (\ b indică limita simbolului, secvența „[az] +” indică apariția uneia sau mai multor litere mici), urmată de unul sau mai multe spații și în cele din urmă de o capital, atunci acel punct este o limită a propoziției și va fi considerat ca un simbol independent.

Cazul abrevierii (vezi mai sus) nu este astfel rezolvat, așa că vor fi necesare rafinări ale acestei euristici. Cu toate acestea, ceea ce contează este că, datorită RE-urilor, putem oficializa cu ușurință regulile pentru a tokeniza corect textul, reguli care pot fi citite de programele care se ocupă de această operațiune: tokenizatorii .

Tipuri de jetoane

Dacă suntem interesați să știm cât de bogat este un text tokenizat din punct de vedere lexical, poate fi util să clasificăm jetoanele în tipuri de jetoane, adică jetoane de grup în clase cu un fel de similaritate reciprocă. De exemplu, le-am putea grupa în funcție de forma lor grafică : două jetoane aparțin aceluiași tip dacă sunt identice indiferent de poziția lor în text. Apoi ar trebui să vă abstrați de la reprezentarea tipografică a textului, pentru a exclude diferențe precum litere mici / majuscule, tipărite / cursive etc. Când diferite forme tipografice ale aceluiași cuvânt sunt trasate la o formă standard, se spune că sunt trasate la o formă normalizată .

Vocabularul unui text este definit ca setul de cuvinte standard care apar în interiorul acestuia. Pentru a ne face o idee despre bogăția lexicală a unui text, ținând cont de diferitele lungimi posibile, să calculăm raportul dintre tipurile de jetoane - grupate în funcție de forma lor normalizată - și unitățile de jetoane ( Token ratio sau TTR ) :

TTR va fi întotdeauna între 0 și 1: cu cât valoarea obținută este mai aproape de 1, cu atât textul analizat va fi mai variat și mai bogat.

Un alt indice interesant al bogăției lexicale a unui text este relația dintre numărul de hapax prezent în acesta și lungimea textului, unde „hapax” înseamnă cuvinte care apar o singură dată.

Valoarea obținută ne spune în ce procent este format textul din cuvinte „unice”; valorile mici corespund textelor foarte repetitive.


Pe baza frecvenței acestora, adică a numărului de apariții, am putea sorta cuvintele unui text într-o listă descrescătoare (de la cel mai frecvent la cel mai puțin frecvent). Apoi indicând cu un număr din ce în ce mai mare pozițiile cuvintelor, am numi acest număr rangul cuvântului. Dacă observăm care sunt cuvintele textului care apar cel mai des, vom observa că la primele rânduri există „cuvintele gramaticale”, aproximativ definibile ca acele cuvinte care nu sunt asociate cu un referent al realității concrete sau abstracte, dar servesc la exprimarea unei serii de relații interne cu sistemul lingvistic: articolele și prepozițiile sunt un exemplu; aceste cuvinte constituie țesutul conjunctiv al oricărui text, indiferent de subiect. În partea de jos a listei se vor afla „cuvintele complete din punct de vedere lexical”, a căror prezență este strict dependentă de subiect. De asemenea, trebuie amintit că cuvintele gramaticale sunt o clasă închisă, adică numărul lor total într-o limbă este scăzut și rămâne mai mult sau mai puțin constant în timp, un alt factor care determină prezența lor masivă în orice tip de text. O relație interesantă existentă între rangul cuvântului și frecvența acestuia este exprimată de legea Zipf .

Tendința vocabularului

Distribuția cuvintelor se modifică pe măsură ce textul continuă, așa că s-ar putea să ne intereseze o viziune mai dinamică a acestuia, ceea ce înseamnă studierea modului în care compoziția lexiconului său variază în timp. Un astfel de interes este ușor motivat de căutarea unor regularități statistice care să ne permită să prezicem distribuția finală a cuvintelor, pe baza doar observațiilor parțiale ale datelor. În mod intuitiv, vocabularul crește foarte repede la începutul textului, dar încetinește pe măsură ce cuvintele încep să se repete. Chiar și în texte foarte variate din punct de vedere lexical, repetarea cuvintelor cel puțin gramaticale este inevitabilă. Un alt factor în favoarea repetitivității este și coerența lexicală, deoarece atunci când vorbim despre același subiect avem tendința de a reutiliza întotdeauna aceiași termeni.

Relația inversă cu TTR - adică lungimea textului împărțită la vocabularul său - ne oferă frecvența medie a cuvintelor din acel text (f), un indice invers al bogăției sale lexicale. Dar dacă ar fi să luăm în considerare variațiile T și vT pe măsură ce textul continuă, am observa că inițial raportul T / vT este egal cu 1, începând să crească pe măsură ce cuvintele reapar. În textele cu conținut omogen, tendința este cea a funcțiilor care nu descrescă: ; ocazional se poate produce o inversare a tendinței, cu dacă în ultimele h cuvinte vocabularul crește semnificativ, reflectând probabil o oarecare discontinuitate în conținut.

Teorema limitei centrale

Cuvintele scurte sunt în general mai dificile decât cuvintele lungi, deci ar putea fi interesant să investigăm modul în care sunt distribuite cuvintele dintr-un text dacă le împărțim la parametrul lungime. Lungimea medie a cuvintelor din întregul text va avea inevitabil o valoare scăzută, datorită incidenței în datele cuvintelor gramaticale (scurte și foarte frecvente în orice tip de text). În schimb, să încercăm să comparăm valorile lungimii medii într-o serie de eșantioane de text, pentru a vedea cât de diferite diferă de media întregii populații: aranjând mediile obținute pe un grafic, vom observa că distribuția lor ia forma clopotului tipic curbei normale și că numărul acestora care se abat de la media globală scade cu cât deviația crește. Observația este anticipată de teorema limitei centrale , care face posibilă stabilirea modului exact în care se pot generaliza concluziile extrase din dovezile cantitative ale unui eșantion. Prin teoremă, având în vedere o serie de eșantioane de mărime n extrase dintr-o populație, mijloacele lor tind să fie distribuite în funcție de o curbă normală; aproximarea la această curbă se îmbunătățește pe măsură ce n crește, indiferent de modul în care populația inițială este distribuită în jurul valorii sale medii. Putem deduce asta

  • acolo unde mediile sunt mai dispersate în jurul axei principale, nu este posibil pentru noi să generalizăm observațiile asupra eșantionului la întreaga populație;
  • cu cât eșantionul este mai mare, cu atât sunt mai fiabile generalizările noastre.

De la texte la corpuri

Un corpus este un set de texte care au fost selectate pentru a fi funcționale pentru analiza lingvistică. Datorită interesului crescând pentru metodele statistice în lingvistică de calcul și a conștientizării cât de importante sunt datele lingvistice efective în scopul investigației, corpusurile constituie astăzi principala sursă de date pentru disciplină. Evoluția computerelor a jucat, de asemenea, un rol fundamental, deoarece computerul ne permite să stocăm cantități tot mai mari de text și să le explorăm mai rapid și mai eficient.

Corpusurile pot fi clasificate în diferite tipuri, în funcție de criteriile utilizate pentru selectarea textelor care îl compun. Exista:

  • corpusuri specializate , concepute pentru a studia un anumit sector al limbii (cel al medicinei, birocrației etc.) și corpusuri generale , ale căror texte sunt selectate transversal în raport cu diferitele varietăți ale unei limbi, pentru a fi apoi capabil să o exploreze ca un intreg, per total;
  • corpusuri de limbă scrisă, vorbită sau mixtă;
  • corpusuri monolingve sau multilingve;
  • corpuri sincronice , ale căror texte aparțin tuturor aceluiași moment în timp și „corpuri diacronice”, inclusiv texte aparținând unor perioade diferite;
  • corpusuri adnotate și ne-adnotate.

Corpusele adnotate , din ce în ce mai răspândite astăzi, sunt corpusuri în care informațiile privind structura lingvistică a textului sunt codificate la diferite niveluri (sintactic, semantic etc.).

Reprezentativitatea corpurilor

Corpurile trebuie să servească drept sursă de date în scopul investigației lingvistice, dar pot cuprinde doar un subset al tuturor produselor lingvistice într-o anumită limbă. Pentru ca observațiile făcute pe baza unui corpus să fie generalizabile pentru setul mai larg al limbii, acest corpus trebuie să fie reprezentativ pentru limba respectivă (sau sectorul respectiv al limbii) la un moment dat, adică constituie un „model la scară redusă” al limbii. 'subiect de investigație. Pe de o parte, trebuie să includă cel mai mare număr posibil de texte, pe de altă parte, textele trebuie selectate în așa fel încât să respecte proporțiile existente în ansamblul principal. Deoarece limba vorbită este mai răspândită decât cea scrisă, de exemplu, ar fi greșit să generalizăm observațiile luate dintr-un corpus de scrieri asupra limbii ca întreg. Dacă corpusul este capabil să reproducă întreaga gamă de variabilitate a trăsăturilor și proprietăților unui limbaj, îl putem considera un eșantion de încredere pentru acesta din urmă și putem trage concluzii generalizabile din observația sa. Disciplina care se ocupă de selecția științifică a textelor care vor alcătui un corpus este Corpus Linguistics .

Adnotarea corpurilor

După cum sa menționat anterior, corpusurile adnotate sunt corpusuri în care informațiile lingvistice sunt codificate în asociere cu textul. Codificarea explicită a nivelurilor informaționale, cum ar fi structura sintactică sau rolurile semantice ale unei propoziții, face ca aceste niveluri să fie accesibile computerului, ceea ce a determinat importanța adnotării lingvistice în lingvistica de calcul actuală. Fiecare dintre nivelurile descrierii limbajului pune probleme specifice în reprezentarea informațiilor:

  • în adnotarea morfologică este necesar să se facă lematizarea (cuvântul este readus la propria lemă ) a fiecărui jeton al textului și să se atribuie fiecărei categorii gramaticale respective;
  • în adnotarea sintactică este necesar să se facă explicită analiza sintactică a propozițiilor textului, care se poate face diferit în funcție de diferitele abordări teoretice. Reprezentarea de către constituenți - în care sunt identificate frazele care alcătuiesc propoziția și se analizează relațiile lor de colectare - și reprezentarea dependenței - care descrie propoziția în termeni de dependențe între cuvinte care indică relații gramaticale (subiect, obiect etc.) - sunt cele două abordări fundamentale ale reprezentării nivelului sintactic;
  • în adnotarea semantică este necesar să se codifice în mod explicit semnificația expresiilor lingvistice ale textului. Cuvintele lexicale ar putea fi clasificate în funcție de o serie de categorii conceptuale predefinite, astfel încât să surprindă cele mai importante trăsături ale semnificației lor (PERSOANĂ, LOC, PROCES); în caz contrar, marcați rolurile semantice , care descriu funcția semantică îndeplinită de o sintagmă în cazul exprimat de verb;
  • adnotarea pragmatică poate implica diverse fenomene privind funcția comunicativă a unei propoziții sau relațiile dintre elementele lingvistice care depășesc propoziția unică. De exemplu, în corpusurile care conțin transcripții ale vorbirii dialogice este util să se identifice funcția ilocutivă a enunțurilor (care poate fi definită ca tipul de acțiune pe care o desfășurăm în emiterea unui anumit enunț: întrebare, cerere, ordine etc.). De asemenea, este posibil să trebuiască să evidențiem relațiile dintre anaforă și cataforă , acele fenomene pentru care, pentru a interpreta corect un element, este necesar să ne raportăm la contextul lingvistic anterior și respectiv ulterior.

Ilustrez pe scurt, mai jos, modul în care aceste cunoștințe pot fi reprezentate în corpusuri.

Deși posibilele scheme de adnotare diferă, există constante, identificabile în trei tipuri de informații de bază. Acestea, individual sau combinate între ele, constituie un fel de „coloană vertebrală” a oricărei scheme:

1) informații categorice , exprimate ca etichete care asociază categorii cu unitățile textului. Adnotările categoriei gramaticale și ale lemei, sau chiar ale rolurilor semantice, sunt de obicei făcute sub formă de informații categorice. Cel mai intuitiv mod de a reprezenta acest tip de informații pe XML este prin utilizarea atributelor asociate cu elementul de referință;

<phrase> Giovanni <token pos = "verb" lemma = "go back"> du-te înapoi </token> acasă </frase>

2) Informațiile structurale se referă la identificarea unităților structurale în text și organizarea lor în structuri ierarhice. Sintaxa este nivelul cel mai strâns legat de acest tip de informații; relațiile ierarhice dintre constituenți sunt reprezentate în XML cu includerea unor elemente mai mici în elemente mai mari.

<phrase> <Cos> Giovanni </Cos> <Cos> <cos> întoarce </cos> <cos> acasă </cos> </Cos> </frase>

Constituenții etichetați "cos" sunt incluși în elementul constitutiv de gradul superior "Cos";

3) informațiile relaționale leagă împreună diferite unități lingvistice, permițând să se ia în considerare relațiile reciproce (de exemplu, dependențele dintre subiect și obiect sau între pronumele anaforic și pronumele antecedent).

În XML, informațiile relaționale presupun că fiecărui element i s-a atribuit un identificator unic sub forma unui atribut ID, astfel încât să poată fi recuperat prin intermediul unui atribut IDREF.

<text> <frase> <token ID = "n1"> Amintiri </token> <token ID = "n2"> Luigi </token> <token ID = "n3">? </token> </frase> < propoziție> <token ID = "n4"> Nu </token> <token ID = "n5" reference = "n2"> lo </token> <token ID = "n6"> Văd </token> <ID token = "n7"> din </token> <token ID = "n8"> ani </token> <token ID = "n9">. </token> </frase> </text>

Pentru același nivel de descriere, se pot folosi în mod evident mai multe tipuri de informații; într-adevăr, este rar că un nivel poate fi descris cu un singur tip de informații. Schemele de adnotare tind să le contamineze între ele, astfel încât aproape niciunul dintre aceste tipuri nu apare în starea „pură” în corpus. Pe de altă parte, identificarea modului în care sunt codificate și evaluarea cât de bine sunt exprimate descriptiv reprezintă pași fundamentali pentru verificarea validității schemelor de adnotare.

Noua frontieră

S-a spus deja că adnotarea face ca nivelurile noi de informații lingvistice să fie accesibile computerului. Cu toate acestea, adnotarea unui text de către ființe umane necesită o cantitate mare de timp și energie și poate prezenta probleme de inconsecvență. O abordare complet opusă este aceea de a încerca să îmbogățești computerul cu cunoștințele lingvistice necesare pentru a înțelege structura și conținutul textului , simulând comportamentul unui cititor uman.

Instrumentele create în această perspectivă diferă unele de altele prin complexitatea cunoștințelor cu care sunt înzestrate și prin nivelul de abstractizare a reprezentărilor pe care le produc. Gândiți-vă doar la diferența dintre un stemmer și un analizor morfologic . Primul vine cu o listă de terminații posibile într-un limbaj și ordinea în care sunt aranjate într-un cuvânt, dar inevitabil nu reușește să recunoască rădăcinile neregulate. Analizatorii, pe de altă parte, au un lexicon de rădăcini lexicale, unul de afixe, reguli pentru combinarea rădăcinilor și afixelor și reguli de normalizare care pot conduce diferitele forme ale aceleiași rădăcini la un singur exponent lexical; datorită acestor cunoștințe, ei sunt capabili să efectueze în mod autonom analiza morfologică a unui cuvânt.

În mod clar, acesta reprezintă doar un prim pas pentru a aduce computerul mai aproape de înțelegerea textului, datorită prezenței ambiguităților (expresii lingvistice care pot fi interpretate în mai multe moduri) la mai multe niveluri: o problemă care necesită chiar și aplicații extrem de complexe pentru a fi rezolvate în procente.acceptabile în cadrul unei colecții de texte. Calea lingvisticii computaționale către mașini capabile să interacționeze ca ființe umane este încă lungă și complexă și este strâns legată de înțelegerea noastră a instrumentului lingvistic: nu este dificil să ne imaginăm că procedează mână în mână cu cea a altor discipline, cum ar fi lingvistica generală , psihologie și științe cognitive.

Un computer priceput în producția orală și scrisă și înțelegerea limbajului uman este, în primul rând, un computer capabil să funcționeze așa cum știm acum, precum și una dintre principalele inovații și extensii ale informaticii actuale, care este fiica de instrumente.matematicieni ai logicii clasice și analize standard. Prin urmare, printre liniile deschise și cele mai promițătoare de cercetare pentru o extensie inovatoare a informaticii, cum ar fi lingvistica computațională, găsim cele mai inovatoare extensii ale logicii clasice ( hipercub logic ) și ale matematicii ( topologie și analiză non-standard , de la reînnoirile lui Markov la teoria spațiilor probabilistice necomutative).

Notă

  1. ^ Armando Torno, Iezuitul care l-a pus pe Sfântul Toma în PC , în Corriere della Sera , 11 august 2011, p. 39.

Bibliografie

  • Lenci, Alessandro și colab. , Text și computer. Elemente de lingvistică computațională , Roma, Carocci, 2005.
  • Pierazzo, Elena , Codificarea textelor. O introducere , Roma, Carocci, 2005.
  • Jurafsky, Daniel și Martin, James H., Vorbirea și prelucrarea limbajului. O introducere în procesarea limbajului natural , New Jersey, Prentice Hall, 2000.
  • Garside, Roger și colab. , Adnotare de corpus: informații lingvistice din computer Text Corpora , Londra, Longman, 1997.

Elemente conexe

Alte proiecte

linkuri externe

Controllo di autorità Thesaurus BNCF 17705 · LCCN ( EN ) sh85077224 · GND ( DE ) 4035843-4 · BNF ( FR ) cb11939297d (data)
Linguistica Portale Linguistica : accedi alle voci di Wikipedia che trattano di linguistica