Under the Hood at Grammarly: Detectarea scrisului dezorganizat cu AI
Publicat: 2018-07-10Ori de câte ori scrieți ceva mai lung decât o propoziție, trebuie să luați decizii despre cum să vă organizați și să vă prezentați gândurile. O scriere bună este ușor de înțeles deoarece fiecare propoziție se bazează pe cele care au apărut înaintea ei. Când subiectul se schimbă, scriitorii puternici folosesc propoziții de tranziție și pauze de paragraf ca indicatoare pentru a le spune cititorilor la ce să se aștepte în continuare.
Lingviștii numesc acest aspect al scrierii coerență a discursului și este subiectul unor noi cercetări interesante din partea echipei Grammarly Research, care va apărea la conferința SIGDIAL din Melbourne, Australia, săptămâna aceasta.
Ce este coerența discursului și de ce îi pasă de ea?
Când spunem că un text are un nivel ridicat de coerență a discursului, ne referim la faptul că toate propozițiile sunt legate între ele în mod logic. Scriitorul nu se îndepărtează de subiect. Diferite puncte sunt conectate prin tranziții. Textul este ușor de urmărit de la început până la sfârșit.
Acest tip de organizare nu vine întotdeauna de la sine. Puțini dintre noi gândesc în progresii perfect liniare de idei. Un sistem care ar putea să vă spună automat când ați scris ceva ce alți oameni se vor strădui să urmeze – și, în cele din urmă, să vă sugereze cum să remediați acest lucru – ar fi extrem de util pentru a comunica ceea ce vreți să spuneți.
Ce s-a făcut
Învățarea unui computer să judece cu exactitate nivelul de coerență al textului este o provocare. Până în prezent, cea mai comună metodă de a evalua cât de bine evaluează un computer coerența discursului se bazează pe o sarcină de ordonare a propozițiilor. Cu această metodă, cercetătorii preiau un text existent, bine editat, cum ar fi un articol de știri, și reordonează aleatoriu toate propozițiile. Presupunerea este că permutarea aleatoare poate fi văzută ca incoerentă, iar ordonarea originală poate fi văzută ca coerentă. Sarcina este de a construi un algoritm computerizat care să poată distinge între versiunea incoerentă și cea originală. În aceste condiții, unele sisteme au atins o precizie de până la 90%. Destul de impresionant.
Dar există un mare potențial defect cu această metodă. Poate ai observat-o deja. Reordonarea aleatorie a propozițiilor poate produce un text cu coerență scăzută, dar nu produce text care arată ca orice ar scrie în mod natural un om.
La Grammarly, ne concentrăm pe rezolvarea problemelor din lumea reală, așa că știam că orice lucrare pe care am făcut-o în acest domeniu ar trebui să fie comparată cu scrierea reală, nu cu scenarii artificiale. În mod surprinzător, au existat foarte puține lucrări care testează metodele de evaluare a discursului pe text real scris de oameni în circumstanțe obișnuite. Este timpul să schimbi asta.
Cercetare din lumea reală, scriitori din lumea reală
Prima problemă pe care a trebuit să o rezolvăm a fost aceeași cu care s-a confruntat toți ceilalți cercetători care lucrează pe coerența discursului: lipsa datelor din lumea reală. Nu exista un corpus de text obișnuit, scris natural, pe care să ne putem testa algoritmii.
Am creat un corpus prin colectarea de text din mai multe surse publice: Yahoo Answers, Yelp Reviews și e-mailuri guvernamentale și corporative disponibile public. Am ales aceste surse specifice deoarece reprezintă tipurile de lucruri pe care oamenii le scriu într-o zi obișnuită - postări pe forum, recenzii și e-mailuri.
Pentru a transforma tot acest text într-un corpus din care algoritmii computerizati pot învăța, a trebuit, de asemenea, să evaluăm nivelurile de coerență ale fiecărui text. Acest proces se numește adnotare. Indiferent cât de bun este algoritmul tău, adnotarea neglijentă îți va modifica drastic rezultatele. În lucrarea noastră, oferim detalii despre numeroasele abordări de adnotare pe care le-am testat, inclusiv unele care implicau crowdsourcing. În cele din urmă, am decis ca adnotatorii experți să evalueze nivelul de coerență al fiecărei părți de text pe o scară de trei puncte (coerență scăzută, medie sau ridicată). Fiecare fragment de text a fost judecat de trei adnotatori.
Punerea la încercare a algoritmilor
Odată ce am avut corpus, era timpul să testăm cât de precis ar putea identifica diferitele sisteme informatice nivelul de coerență al unei anumite porțiuni de text. Am testat trei tipuri de sisteme:
În prima categorie sunt modelele bazate pe entități. Aceste sisteme urmăresc unde și cât de des sunt menționate aceleași entități într-un text. De exemplu, dacă sistemul găsește cuvântul „transport” în mai multe propoziții, îl ia ca un semn că acele propoziții sunt logic legate între ele.
În a doua categorie, am testat un model bazat pe un grafic de coerență lexicală. Acesta este un mod de a reprezenta propoziții ca noduri într-un grafic și de a conecta propoziții care conțin perechi de cuvinte similare. De exemplu, acest tip de model ar conecta o propoziție care conține „mașină” și o propoziție care conține „camion”, deoarece ambele propoziții sunt probabil despre vehicule sau transport.
În a treia categorie se află modelele de rețele neuronale sau de învățare profundă. Am testat câteva dintre acestea, inclusiv două modele nou-nouțe construite de echipa Grammarly. Acestea sunt sisteme bazate pe inteligență artificială care învață o reprezentare a fiecărei propoziții care surprinde semnificația acesteia și pot învăța sensul general al unui document combinând aceste reprezentări ale propoziției. Ei pot căuta modele care nu sunt limitate la aparițiile de entități sau perechi de cuvinte similare.
Sarcina de ordonare a propozițiilor
Am folosit textele de înaltă coerență din noul nostru corpus pentru a crea o sarcină de ordonare a propozițiilor pentru toate cele trei tipuri de modele. Am descoperit că modelele care au avut performanțe bune pe alte seturi de date de ordonare a propozițiilor au funcționat bine și pe setul nostru de date, cu performanțe de până la 89% precizie. Modelele bazate pe entități și graficele de coerență lexicală au arătat o acuratețe decentă (în general, o precizie de 60 până la 70 la sută), dar modelele neuronale au depășit celelalte modele cu cel puțin zece puncte procentuale pe trei din cele patru domenii.
Testul de scriere reală
Ceea ce doream cu adevărat să știm era dacă vreunul dintre aceste modele ar putea funcționa la același nivel de acuratețe pe text real, scris natural. Am convertit etichetele adnotatorilor în valori numerice (scăzut=1, mediu=2, mare=3) și am făcut media numerelor împreună pentru a obține un scor de coerență pentru fiecare fragment de text.
În fiecare domeniu, cel puțin unul dintre sistemele bazate pe rețele neuronale le-a depășit pe toate celelalte. De fapt, unul dintre modelele Grammarly care ia în considerare pauzele de paragraf a fost cel mai performant pe text din Yahoo Answers, așa cum se arată în tabelul de mai jos. Modelul Neural Clique, care a fost dezvoltat de cercetătorii de la Stanford, a fost, de asemenea, un performant.
Dar ipoteza noastră inițială a fost corectă: toate modelele au avut rezultate mai proaste la sarcina din lumea reală decât la sarcina de ordine a propozițiilor – unele au fost mult mai proaste. De exemplu, metoda graficului lexical a fost cu o precizie de 78% pentru e-mailurile corporative în scenariul de reordonare artificială a propozițiilor, dar a reușit să atingă doar 45% în această evaluare mai realistă.
Ce am găsit
Se pare că lucrările anterioare privind coerența discursului au testat lucrul greșit. Sarcina de ordine a propozițiilor nu este cu siguranță un bun proxy pentru măsurarea coerenței discursului. Rezultatele noastre sunt clare: sistemele care funcționează bine în scenariul artificial se descurcă mult mai rău cu textul din lumea reală.
Este important de reținut că această constatare nu este un eșec. Departe de asta, de fapt. O parte a creșterii oricărui domeniu este să evaluezi modul în care evaluezi — să te oprești din când în când pentru a arunca o privire asupra a ceea ce ai măsurat cu adevărat. Datorită acestei lucrări, cercetătorii care lucrează la coerența discursului au acum două informații importante. Una este ideea că sarcina de ordonare a propozițiilor nu ar trebui să mai fie modul în care măsurăm acuratețea. Al doilea este un corpus adnotat, disponibil public, de text din lumea reală și noi repere (modele noastre neuronale) pentru a fi utilizate în cercetările viitoare.
Abia aștept
Există mai multă muncă de făcut și o mulțime de aplicații interesante pentru un sistem care poate judeca în mod fiabil coerența discursului într-o bucată de text. Într-o zi, un astfel de sistem ar putea nu numai să vă spună cât de coerent este mesajul dvs. general, ci și să sublinieze pasajele specifice care ar putea fi greu de urmărit. Într-o zi sperăm să vă ajutăm să faceți acele pasaje mai ușor de înțeles, astfel încât ceea ce încercați să spuneți să fie clar pentru destinatar.
La urma urmei, calea Grammarly pentru a deveni un asistent cuprinzător de comunicare nu este doar despre a te asigura că scrisul tău este corect din punct de vedere gramatical și stilistic, ci este despre a te asigura că ești înțeles așa cum s-a intenționat.
—-
Joel Tetreault este director de cercetare la Grammarly. Alice Lai este doctorand la Universitatea Illinois din Urbana-Champaign și a fost stagiar de cercetare la Grammarly. Această cercetare va fi prezentată la conferința anuală SIGDIAL 2018 din Melbourne, Australia, în perioada 12-14 iulie 2018. Lucrarea de cercetare însoțitoare, intitulată „Discourse Coherence in the Wild: A Dataset, Evaluation and Methods” va fi publicată în Proceedings of a 19-a reuniune anuală a Grupului de interes special pentru discurs și dialog. Setul de date descris în această postare de blog se numește Corpusul Gramatical al Coerenței Discursului și poate fi descărcat gratuit în scopuri de cercetare aici.