Generarea limbajului natural - Natural language generation

Generarea limbajului natural ( NLG ) este un proces software care produce ieșirea limbajului natural . Deși este larg convenit că rezultatul oricărui proces NLG este text, există unele dezacorduri cu privire la faptul dacă intrările unui sistem NLG trebuie să fie nelingvistice. Aplicațiile obișnuite ale metodelor NLG includ producerea de diverse rapoarte, de exemplu rapoarte meteorologice și de pacienți; subtitrări de imagine; și chatbots .

NLG automatizat poate fi comparat cu procesul pe care îl folosesc oamenii atunci când transformă ideile în scris sau vorbire. Psiholingviștii preferă termenul de producție a limbajului pentru acest proces, care poate fi descris și în termeni matematici sau modelat într-un computer pentru cercetare psihologică. Sistemele NLG pot fi, de asemenea, comparate cu traducătorii de limbaje artificiale pentru calculatoare, cum ar fi decompilatoarele sau transpilatoarele , care produc, de asemenea, cod lizibil de către om generat dintr-o reprezentare intermediară . Limbajele umane tind să fie considerabil mai complexe și permit mult mai multă ambiguitate și varietate de expresie decât limbajele de programare, ceea ce face NLG mai provocator.

NLG poate fi privit ca fiind complementar înțelegerii limbajului natural (NLU): în timp ce în înțelegerea limbajului natural, sistemul trebuie să dezambiguizeze propoziția de intrare pentru a produce limbajul reprezentării mașinii, în NLG sistemul trebuie să ia decizii cu privire la modul de a pune un reprezentarea în cuvinte. Considerațiile practice în construirea sistemelor NLU vs. NLG nu sunt simetrice. NLU trebuie să se ocupe de aportul ambiguu sau eronat al utilizatorului, în timp ce ideile pe care sistemul dorește să le exprime prin NLG sunt, în general, cunoscute cu precizie. NLG trebuie să aleagă o reprezentare textuală specifică, auto-consistentă din multe reprezentări potențiale, în timp ce NLU încearcă, în general, să producă o reprezentare unică și normalizată a ideii exprimate.

NLG există de când ELIZA a fost dezvoltat la mijlocul anilor 1960, dar metodele au fost utilizate pentru prima dată în comerț în anii 1990. Tehnicile NLG variază de la sisteme simple bazate pe șabloane, cum ar fi o combinație de e-mail care generează litere de formă , la sisteme care au o înțelegere complexă a gramaticii umane. NLG poate fi realizat și prin instruirea unui model statistic folosind învățarea automată , de obicei pe un corpus mare de texte scrise de om.

Exemplu

Sistemul de previziune a polenului pentru Scoția este un exemplu simplu de sistem NLG simplu care ar putea fi în esență un șablon. Acest sistem ia ca intrare șase numere, care dau niveluri de polen prezise în diferite părți ale Scoției. Din aceste numere, sistemul generează un scurt rezumat textual al nivelurilor de polen ca rezultat.

De exemplu, utilizând datele istorice pentru 1 iulie 2005, software-ul produce:

Nivelurile de polen de iarbă pentru vineri au crescut de la nivelurile moderate până la cele ridicate de ieri, cu valori cuprinse între 6 și 7 în majoritatea părților țării. Cu toate acestea, în zonele din nord, nivelurile de polen vor fi moderate, cu valori de 4.

În schimb, prognoza reală (scrisă de un meteorolog uman) din aceste date a fost:

Se așteaptă ca numărul polenului să rămână ridicat la nivelul 6 în cea mai mare parte a Scoției și chiar la nivelul 7 în sud-est. Singura relief este în Insulele de Nord și în nord-estul Scoției continentale, cu un nivel mediu de polen.

Compararea acestor două ilustrează câteva dintre alegerile pe care trebuie să le facă sistemele NLG; acestea sunt discutate în continuare mai jos.

Etape

Procesul de generare a textului poate fi la fel de simplu ca păstrarea unei liste de text conservat care este copiat și lipit, posibil legat de un text lipit. Rezultatele pot fi satisfăcătoare în domenii simple, cum ar fi aparatele pentru horoscop sau generatoarele de scrisori de afaceri personalizate. Cu toate acestea, un sistem sofisticat NLG trebuie să includă etape de planificare și fuzionare a informațiilor pentru a permite generarea de text care pare natural și care nu devine repetitiv. Etapele tipice ale generării limbajului natural, așa cum au fost propuse de Dale și Reiter, sunt:

Determinarea conținutului : Decizia ce informații trebuie menționate în text. De exemplu, în exemplul de polen de mai sus, decidem dacă menționăm în mod explicit că nivelul polenului este 7 în sud-est.

Structurarea documentelor : organizarea generală a informațiilor de transmis. De exemplu, decizia de a descrie mai întâi zonele cu niveluri ridicate de polen, în loc de zonele cu niveluri scăzute de polen.

Agregare : Fuziunea unor propoziții similare pentru a îmbunătăți lizibilitatea și naturalețea. De exemplu, fuzionarea celor două propoziții următoare:

  • Nivelurile de polen pe iarbă pentru vineri au crescut de la nivelurile moderate până la cele ridicate de ieri și
  • Nivelurile de polen pe iarbă vor fi în jur de 6-7 în majoritatea părților țării

în următoarea propoziție unică:

  • Nivelurile de polen pe iarbă pentru vineri au crescut de la nivelurile moderate până la cele ridicate de ieri, cu valori cuprinse între 6 și 7 în majoritatea părților țării .

Alegerea lexicală : Aducerea cuvintelor la concepte. De exemplu, a decide dacă mediu sau moderat trebuie utilizat atunci când se descrie un nivel de polen de 4.

Generarea expresiei de referință : crearea expresiilor de referință care identifică obiecte și regiuni. De exemplu, luarea deciziei de utilizare în Insulele de Nord și în nord-estul Scoției continentale pentru a se referi la o anumită regiune din Scoția. Această sarcină include, de asemenea, luarea deciziilor cu privire la pronume și alte tipuri de anaforă .

Realizare : Crearea textului propriu-zis, care ar trebui să fie corect conform regulilor de sintaxă , morfologie și ortografie . De exemplu, folosirea va fi pentru timpul viitor de a fi .

O abordare alternativă la NLG este de a folosi învățarea automată „end-to-end” pentru a construi un sistem, fără a avea etape separate ca mai sus. Cu alte cuvinte, construim un sistem NLG prin instruirea unui algoritm de învățare automată (adesea un LSTM ) pe un set mare de date de date de intrare și texte de ieșire corespunzătoare (scrise de om). Abordarea end-to-end a avut probabil cel mai mare succes în subtitrarea imaginii , care generează automat o subtitrare textuală pentru o imagine.

Aplicații

Mass-media populară a acordat cea mai mare atenție sistemelor NLG care generează glume (vezi umorul de calcul ), dar dintr-o perspectivă comercială, cele mai reușite aplicații NLG au fost sistemele de date-text care generează rezumate textuale ale bazelor de date și seturilor de date; aceste sisteme efectuează de obicei analiza datelor , precum și generarea de text. Cercetările au arătat că rezumatele textuale pot fi mai eficiente decât graficele și alte imagini pentru sprijinirea deciziilor și că textele generate de computer pot fi superioare (din perspectiva cititorului) textelor scrise de om.

Primele sisteme comerciale de date-text au produs prognoze meteo din datele meteo. Primul sistem care a fost implementat a fost FoG, care a fost utilizat de Environment Canada pentru a genera prognoze meteo în franceză și engleză la începutul anilor 1990. Succesul FoG a declanșat alte lucrări, atât de cercetare, cât și comerciale. Aplicațiile recente includ prognoza îmbunătățită text a UK Met Office .

În prezent există un interes comercial considerabil în utilizarea NLG pentru a rezuma datele financiare și de afaceri. Într-adevăr, Gartner a spus că NLG va deveni o caracteristică standard a 90% din platformele moderne de BI și de analiză. NLG este, de asemenea, utilizat comercial în jurnalism automatizat , chatbots , generând descrieri de produse pentru site-urile de comerț electronic, rezumând înregistrările medicale și îmbunătățind accesibilitatea (de exemplu, prin descrierea graficelor și seturilor de date persoanelor nevăzătoare).

Un exemplu de utilizare interactivă a NLG este cadrul WYSIWYM . Aceasta înseamnă ceea ce vedeți este ceea ce ați vrut să spuneți și permite utilizatorilor să vadă și să manipuleze vizualizarea redată continuu (ieșire NLG) a unui document de limbaj formal subiacent (intrare NLG), editând astfel limbajul formal fără a-l învăța.

Evaluare

Ca și în alte domenii științifice, cercetătorii NLG trebuie să testeze cât de bine funcționează sistemele, modulele și algoritmii lor. Aceasta se numește evaluare . Există trei tehnici de bază pentru evaluarea sistemelor NLG:

  • Evaluare bazată pe sarcini (extrinseci) : dați textul generat unei persoane și evaluați cât de bine îl ajută să îndeplinească o sarcină (sau altfel își atinge scopul comunicativ). De exemplu, un sistem care generează rezumate de date medicale poate fi evaluat prin prezentarea acestor rezumate medicilor și evaluarea dacă rezumatele îi ajută pe medici să ia decizii mai bune.
  • Evaluări umane : dați textul generat unei persoane și rugați-o să evalueze calitatea și utilitatea textului.
  • Valori : comparați textele generate cu textele scrise de oameni din aceleași date de intrare, utilizând o valoare automată, cum ar fi BLEU , METEOR , ROUGE și LEPOR .

Un obiectiv final este cât de utile sunt sistemele NLG pentru a ajuta oamenii, care este prima dintre tehnicile de mai sus. Cu toate acestea, evaluările bazate pe sarcini sunt consumatoare de timp și costisitoare și pot fi dificil de realizat (mai ales dacă necesită subiecți cu expertiză specializată, cum ar fi medicii). Prin urmare, (ca și în alte domenii ale PNL), evaluările bazate pe sarcini sunt excepția, nu norma.

Recent, cercetătorii evaluează cât de bine se corelează evaluările și valorile umane cu (prezice) evaluările bazate pe sarcini. Lucrările se desfășoară în contextul evenimentelor cu sarcini partajate Generation Challenges. Rezultatele inițiale sugerează că evaluările umane sunt mult mai bune decât valorile în acest sens. Cu alte cuvinte, evaluările umane prezic de obicei eficiența sarcinii cel puțin într-o anumită măsură (deși există excepții), în timp ce evaluările produse de metrici nu prezic adesea eficacitatea sarcinii. Aceste rezultate sunt preliminare. În orice caz, evaluările umane sunt cea mai populară tehnică de evaluare în NLG; acest lucru este contrast cu traducerea automată , unde metricele sunt utilizate pe scară largă.

Vezi si

Referințe

Lecturi suplimentare

linkuri externe