Rezumatul textului în procesarea limbajului natural: algoritmi, tehnici și provocări
Publicat: 2020-08-07Crearea unui rezumat dintr-o anumită bucată de conținut este un proces foarte abstract la care participă toată lumea. Automatizarea unui astfel de proces poate ajuta la analizarea multor date și poate ajuta oamenii să-și folosească mai bine timpul pentru a lua decizii cruciale. Având în vedere volumul uriaș de conținut media, cineva poate fi foarte eficient prin reducerea pufului din jurul informațiilor cele mai critice. Am început deja să vedem rezumate text pe web care sunt generate automat.
Dacă frecventați Reddit, s-ar putea să fi văzut că „bot Autotldr” îi ajută în mod obișnuit pe Redditori prin rezumarea articolelor legate într-o anumită postare. A fost creat doar în 2011 și a economisit deja mii de ore persoană. Există o piață pentru rezumate de text de încredere, așa cum arată o tendință de aplicații care fac exact asta, cum ar fi Inshorts (rezumat știri în 60 de cuvinte sau mai puțin) și Blinkist (rezumat cărți).
Prin urmare, rezumarea automată a textului este o frontieră interesantă, dar provocatoare în procesarea limbajului natural (NLP) și învățarea automată (ML). Evoluțiile actuale în Rezumatul automat al textului se datorează cercetărilor în acest domeniu începând cu anii 1950, când a fost publicată lucrarea lui Hans Peter Luhn intitulată „Crearea automată a rezumatelor literaturii”.
Această lucrare a subliniat utilizarea unor caracteristici precum frecvența cuvintelor și frecvența frazelor pentru a extrage propoziții esențiale dintr-un document. Aceasta a fost urmată de o altă cercetare critică realizată de Harold P Edmundson la sfârșitul anilor 1960, care a evidențiat prezența cuvintelor de referință, a cuvintelor folosite în titlul care apar în text și locația propozițiilor pentru a extrage propoziții semnificative dintr-un document.
Acum că lumea a făcut pași în învățarea automată și publicând studii mai noi în domeniu, rezumarea automată a textului este pe punctul de a deveni un instrument omniprezent pentru a interacționa cu informațiile în era digitală.
Trebuie citit: Salariul inginerului NLP în India

Există în primul rând două abordări principale pentru a rezuma textul în NLP
Cuprins
Rezumatul textului în NLP
1. Rezumat bazat pe extracție
După cum sugerează și numele, această tehnică se bazează pe extragerea sau extragerea expresiilor cheie dintr-un document. Este apoi urmată de combinarea acestor fraze cheie pentru a forma un rezumat coerent.
2. Rezumat bazat pe abstractiv
Această tehnică, spre deosebire de extracție, se bazează pe capacitatea de a parafraza și de a scurta părți ale unui document. Când o astfel de abstractizare este făcută corect în problemele de învățare profundă, puteți fi sigur că aveți o gramatică consistentă. Dar, acest strat suplimentar de complexitate vine cu prețul de a fi mai greu de dezvoltat decât extracția.
Există o altă modalitate de a veni cu rezumate de calitate superioară. Această abordare se numește rezumare asistată, care implică un efort combinat uman și software. Și acesta vine în 2 arome diferite
- Rezumare umană asistată de mașină : tehnicile extractive evidențiază pasajele candidate care urmează să fie incluse, pe care omul le poate adăuga sau elimina text.
- Rezumat mașină asistată de om: omul editează pur și simplu rezultatul software-ului.
În afară de principalele abordări de a rezuma textul, există și alte baze pe care sunt clasificate rezumatoarele de text. Următoarele sunt acele categorii:
3. Rezumat unic versus mai multe documente
Documentele unice se bazează pe coeziunea și repetarea rară a faptelor pentru a genera rezumate. Rezumatele cu mai multe documente, pe de altă parte, cresc șansa de informații redundante și de reapariție.
4. Indicativ vs informativ
Taxonomia rezumatelor se bazează pe scopul final al utilizatorului. De exemplu, în rezumatele de tip orientativ, ne-am aștepta la puncte de nivel înalt ale unui articol. Întrucât, într-o prezentare generală informativă, ne putem aștepta la mai multă filtrare a subiectelor pentru a permite cititorului să analizeze rezumatul.
5. Lungimea și tipul documentului
Lungimea textului introdus influențează puternic tipul de abordare a rezumatului.
Cele mai mari seturi de date de rezumat, cum ar fi redacția de la Cornell, s-au concentrat pe articole de știri, care au aproximativ 300-1000 de cuvinte în medie. Rezumatele extractive se ocupă relativ bine de astfel de lungimi. Un document cu mai multe pagini sau un capitol al unei cărți poate fi rezumat adecvat doar cu abordări mai avansate, cum ar fi gruparea ierarhică sau analiza discursului.
În plus, genul textului influențează și rezumatorul. Metodele care ar rezuma o carte tehnică ar fi radical diferite de tehnicile care ar putea fi mai bine echipate pentru a rezuma o situație financiară.
În acest articol, ne vom concentra asupra detaliilor suplimentare ale tehnicii de rezumare a extracției.
Algoritmul PageRank
Acest algoritm ajută motoarele de căutare, cum ar fi, să clasifice paginile web pe Google. Să înțelegem algoritmul cu un exemplu. Să presupunem că aveți patru pagini web cu niveluri diferite de conectivitate între ele. Este posibil ca unul să nu aibă legături cu celelalte trei; unul poate fi conectat la celălalt 2, unul poate fi corelat doar cu unul și așa mai departe.
Apoi putem modela probabilitățile de a naviga de la o pagină la alta folosind o matrice cu n rânduri și coloane, unde n este numărul de pagini web. Fiecare element din matrice va reprezenta probabilitatea de a trece de la o pagină web la alta. Atribuind probabilitățile potrivite, se poate actualiza iterativ o astfel de matrice pentru a ajunge la un clasament al unei pagini web.
Citește și: Proiect și subiecte NLP
Algoritmul TextRank
Motivul pentru care am explorat algoritmul PageRank este pentru a arăta cum același algoritm poate fi folosit pentru a clasifica textul în locul paginilor web. Acest lucru se poate face prin schimbarea perspectivei prin înlocuirea legăturilor dintre pagini la asemănarea dintre propoziții și folosind matricea stilului PageRank ca scor de similaritate.
Implementarea algoritmului TextRank
Biblioteci necesare
- Numby
- panda
- Ntlk
- re
Următoarea este o explicație a codului din spatele tehnicii de rezumare a extracției:
Pasul 1
Concatenați tot textul pe care îl aveți în documentul sursă ca un bloc solid de text. Motivul pentru a face acest lucru este să oferim condiții astfel încât să putem executa pasul 2 mai ușor.
Pasul 2
Oferim condiții care definesc o propoziție, cum ar fi căutarea semnelor de punctuație, cum ar fi punctul (.), semnul de întrebare (?) și un semn de exclamare (!). Odată ce avem această definiție, pur și simplu împărțim documentul text în propoziții.
Pasul 3
Acum că avem acces la propoziții separate, găsim reprezentări vectoriale (înglobare de cuvinte) ale fiecăreia dintre aceste propoziții. Acum trebuie să înțelegem ce sunt reprezentările vectoriale. Înglobarile de cuvinte sunt un tip de reprezentare a cuvintelor care oferă o descriere matematică a cuvintelor cu semnificații similare. În realitate, aceasta este o întreagă clasă de tehnici care reprezintă cuvintele ca vectori cu valori reale într-un spațiu vectorial predefinit.

Fiecare cuvânt este reprezentat de un vector cu valoare reală care are multe dimensiuni (peste 100 uneori). Reprezentarea distribuției se bazează pe utilizarea cuvintelor și, astfel, permite cuvintelor folosite în moduri similare să aibă descrieri similare. Acest lucru ne permite să surprindem în mod natural semnificațiile cuvintelor ca prin apropierea lor de alte cuvinte reprezentate ca vectori înșiși.
Pentru acest ghid, vom folosi Vectorii Globali ai Reprezentării Cuvântului (GloVe). GloVe este algoritmul de reprezentare a cuvintelor distribuite open-source care a fost dezvoltat de Pennington la Stanford. Combină caracteristicile a 2 familii de modele, și anume factorizarea matricei globale și metodele ferestrelor de context local.
Pasul 4
Odată ce avem reprezentarea vectorială pentru cuvintele noastre, trebuie să extindem procesul pentru a reprezenta propoziții întregi ca vectori. Pentru a face acest lucru, putem obține reprezentările vectoriale ale termenilor care constituie cuvinte într-o propoziție și apoi media/media acelor vectori pentru a ajunge la un vector consolidat pentru propoziție.
Pasul 5
În acest moment, avem o reprezentare vectorială pentru fiecare propoziție individuală. Acum este util să cuantificăm asemănările dintre propoziții folosind abordarea asemănării cosinusului. Putem apoi popula o matrice goală cu asemănările cosinus ale propozițiilor.
Pasul 6
Acum că avem o matrice populată cu asemănările cosinusului dintre propoziții. Putem converti această matrice într-un grafic în care nodurile reprezintă propozițiile, iar marginile reprezintă asemănarea dintre propoziții. În acest grafic vom folosi algoritmul util PageRank pentru a ajunge la clasarea propozițiilor.
Pasul 7
Acum am clasat toate propozițiile din articol în ordinea importanței. Acum putem extrage primele N (să zicem 10) propoziții pentru a crea un rezumat.
Pentru a găsi codul pentru o astfel de metodă, există multe astfel de proiecte pe Github; acest articol, pe de altă parte, ajută la dezvoltarea unei înțelegeri a acestuia.
Consultați: Evoluția modelării limbajului în viața modernă
Tehnici de evaluare
Un factor important în reglarea fină a unor astfel de modele este acela de a avea o metodă fiabilă de a aprecia calitatea rezumatelor produse. Acest lucru necesită tehnici bune de evaluare, care pot fi clasificate în linii mari în următoarele:
- Evaluare intrinsecă și extrinsecă :
Intrinsecă: o astfel de evaluare testează sistemul de rezumare în sine. Ele evaluează în principal coerența și caracterul informativ al rezumatului.
Extrinsecă: o astfel de evaluare testează rezumatul pe baza modului în care afectează o altă sarcină. Poate testa impactul rezumatului asupra unor sarcini precum evaluarea relevanței, înțelegerea lecturii etc.
- Inter-textual și intra-textual :
Intertextual: astfel de evaluări se concentrează pe o analiză contrastantă a mai multor sisteme de rezumat.
Intra-textual: astfel de evaluări evaluează rezultatul unui sistem de rezumat specific.
- Specific de domeniu și independent de domeniu :
Independent de domeniu: Aceste tehnici aplică în general seturi de caracteristici generale care pot fi concentrate pe identificarea segmentelor de text bogat în informații.
Specific domeniului: Aceste tehnici utilizează cunoștințele disponibile specifice unui domeniu pe un text. De exemplu, rezumarea textului literaturii medicale necesită utilizarea surselor de cunoștințe medicale și ontologii.
- Evaluarea calitativă a rezumatelor :
Dezavantajul major al altor tehnici de evaluare este că necesită rezumate de referință pentru a putea compara rezultatele rezumatelor automate cu modelul. Acest lucru face ca sarcina de evaluare să fie grea și costisitoare. Se lucrează pentru a construi un corpus de articole/documente și rezumatele lor corespunzătoare pentru a rezolva această problemă.
Provocări pentru rezumarea textului
În ciuda instrumentelor foarte dezvoltate pentru generarea și evaluarea rezumatelor, provocările rămân în continuare pentru a găsi o modalitate fiabilă de a înțelege ce este important și relevant.
După cum sa discutat, reprezentarea vectorială și matricele de similaritate încearcă să găsească asocieri de cuvinte, dar încă nu au o metodă fiabilă pentru a identifica propozițiile cele mai importante.
O altă provocare în rezumarea textului este complexitatea limbajului uman și modul în care oamenii se exprimă, în special în textul scris. Limbajul nu este compus doar din propoziții lungi cu adjective și adverbe pentru a descrie ceva, ci și propoziții relative, apoziții etc. astfel de perspective pot adăuga informații valoroase pe care nu le ajută la stabilirea esenției principale a informațiilor care trebuie incluse în rezumat.

„Problema anaforei” este o altă barieră în rezumarea textului. În limbaj, înlocuim adesea subiectul din conversație cu sinonimele sau pronumele acestuia. Înțelegerea a ce pronume înlocuiește ce termen este „problema anaforei”.
„Problema cataforei” este problema opusă problemei anaforei. În aceste cuvinte și explicații ambigue, un anumit termen este folosit în text înainte de a introduce termenul în sine.
Concluzie
Domeniul rezumatului textului se confruntă cu o creștere rapidă, iar instrumente specializate sunt dezvoltate pentru a aborda sarcini de rezumat mai concentrate. Pe măsură ce software-ul open-source și pachetele de încorporare de cuvinte devin disponibile pe scară largă, utilizatorii extind cazul de utilizare a acestei tehnologii.
Rezumarea automată a textului este un instrument care permite un salt cuantic în productivitatea umană prin simplificarea volumului mare de informații cu care oamenii interacționează zilnic. Acest lucru nu numai că le permite oamenilor să reducă numărul necesar de citire, ci și eliberează timp pentru a citi și a înțelege lucrările scrise altfel trecute cu vederea. Este doar o chestiune de timp ca astfel de rezumate să fie integrate atât de bine încât să creeze rezumate care nu se pot distinge de cele scrise de oameni.
Dacă doriți să vă îmbunătățiți abilitățile NLP, trebuie să puneți mâna pe aceste proiecte NLP. Dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, IIIT- B Statut de absolvenți, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.
Care sunt utilizările NLP?
NLP sau procesarea limbajului natural, una dintre cele mai sofisticate și interesante tehnologii moderne, este folosită în moduri diverse. Aplicațiile sale de top includ: corectare automată a cuvintelor, predicție automată, chatbot și asistenți vocali, recunoaștere a vorbirii în asistenții virtuali, analiza sentimentelor vorbirii umane, filtrarea e-mailurilor și a spamului, traducere, analiză rețelelor sociale, publicitate țintă, rezumare text și scanarea reluării pentru recrutare, printre altele. Progresele ulterioare în NLP, care au dat naștere la concepte precum Înțelegerea limbajului natural (NLU), ajută la obținerea unei acuratețe mai mari și a rezultate mult superioare din sarcinile complexe.
Trebuie să studiez matematica pentru a învăța NLP?
Cu abundența de resurse disponibile atât offline, cât și online, acum este mai ușor să accesați materiale de studiu concepute pentru învățarea NLP. Aceste resurse de studiu se referă mai degrabă la concepte specifice ale acestui domeniu vast numit NLP, decât la imaginea de ansamblu. Dar dacă vă întrebați dacă matematica face parte din oricare dintre conceptele NLP, atunci trebuie să știți că matematica este o parte esențială a NLP. Matematica, în special teoria probabilităților, statistica, algebra liniară și calculul, sunt pilonii de bază ai algoritmilor care conduc NLP. A avea o înțelegere de bază a statisticilor este utilă, astfel încât să puteți construi pe baza acesteia, după cum este necesar. Cu toate acestea, nu există nicio modalitate de a învăța procesarea limbajului natural fără a intra în matematică.
Care sunt unele tehnici NLP folosite pentru a extrage informații?
În această era digitală, a existat o creștere masivă a generării de date nestructurate, în principal sub formă de sunet, imagini, videoclipuri și texte de pe diverse canale, cum ar fi platformele de social media, plângerile clienților și sondaje. NLP ajută la extragerea de informații utile din volume de date nestructurate, care pot ajuta companiile. Există cinci tehnici comune NLP care sunt utilizate pentru a extrage date perspicace, și anume – recunoașterea entităților numite, rezumarea textului, analiza sentimentelor, explorarea aspectelor și modelarea subiectelor. Există multe alte metode de extragere a datelor în NLP, dar acestea sunt cele mai utilizate.