Sunteți pe pagina 1din 38

UNIVERSITATEA POLITEHNICA DIN BUCURESTI ,

FACULTATEA DE AUTOMATICA SI CALCULATOARE ,

DEPARTAMENTUL DE CALCULATOARE
Computer Science - Logo
HBFX

Computer Science
& Engineering
Department

Computer Science
& Engineering
Department


PROIECT DE DIPLOMA

Keyword mining din articole stiinti ce , ,

Tudor Enescu

Coordonator stiinti c: , ,

Prof. Dr. Ing. Dascalu Mihai

BUCURESTI ,

2021
CUPRINS
1 Introducere 1
1.1 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Solutia propusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
, 1
1.4 Analiza Cerintelor / Motivatie . . . . . . . . . . . . . . . . . . . . . . . . .
, , 2

2 Metode Existente 4
2.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 YAKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Principiile si modul de lucru . . . . . . . . . . . . . . . . . . . . . .
, 5
2.2.2 Testare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 TextRank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 Principiile si modul de lucru . . . . . . . . . . . . . . . . . . . . . .
, 6
2.3.2 Testare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 TopicRank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.1 Principiile si modul de lucru . . . . . . . . . . . . . . . . . . . . . .
, 8
2.4.2 Testare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 SentenceBERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Solutia Propusa
, 11
3.1 Corpus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Keyword Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1 Rake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.2 EmbedRank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.3 Extragerea cuvintelor cheie din siere de tip PDF . . . . . . . . . . .
, 13

1
3.2.4 Extragerea secventelot cheie din sinopsisuri . . . . . . . . . . . . . .
, 14
3.3 Topic classi cation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.1 Descrierea pasilor de prelucrare . . . . . . . . . . . . . . . . . . . .
, 16

4 Detalii de implementare 19
4.1 ^Incarcarea sierului PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . .
, 19
4.2 ^Incarcarea sinopsisului ^n format text . . . . . . . . . . . . . . . . . . . . . 21

5 Evaluare 24

6 Concluzii 32

Bibliogra e 33
SINOPSIS
Acest proiect exploreaza diferite tehnici de extragere a cuvintelor cheie din articole stiinti ce,
, ,

bazate pe algoritmi consacrati de^nvatare autonoma, ind, de asemenea, expuse^ntr-un format


, ,

familiar utilizatorilor, prin intermediul unei aplicatii web. Interfata expusa prin intermediul
, ,

aplicatiei permite at^at introducera datelor sub forma unui document de tip PDF, c^at si sub
, ,

forma de text, ind ulterior analizate si a sate rezultatele prelucrarii. ^In perspectiva analizarii
, ,

rezultatelor obtinute, am realizat un chestionar, prin intermediul caruia am pus persoanele


,

participante ^n situatia de a alege un set de cuvinte sau secvente de cuvinte pe care le
, ,

considera a avea cea mai mare relevanta din 5 texte, pentru a le putea compara cu alegerile
,

facute de aplicatie. Rezultatele obtinute releva similitudini semni cative, cele mai multe dintre
, ,

secventele alese de participanti regasindu-se ^ntre secventele alese de algoritmi. ^In completarea
, ,

functionalitatilor mentionate, am antrenat si un model pentru clasi carea textelor, pentru a


, , , ,

putea atribui o multime de cuvinte legate de subiectul vizat, fara ca acestea sa se regaseasca
obligatoriu ^n materialul prelucrat.

ABSTRACT
This project seeks to evaluate di erent techniques for keyword extraction from scienti c
papers, using di erent machine learning algorithms, while also being available in a user-friendly
format, through a web-based application. The interface exposed by the application allows the
user to provide data either as a PDF le, either as a plain text, which will be analyzed and
the results displayed. Regarding the relevance and validity of the results, I created a form in
which the participants were asked to pick the most relevant words or word sequences from
5 di erent texts, to be able to compare the choices made by them, to the choices made by
the application. The results showed signi cant similarities, most of the sequences picked by
the participants being also picked by the algorithm. To complement the already mentioned
functionalities, I trained a model designed for topic classi cation, to be able to assign a set
of words tied to the topic assigned to the text, that do not necessarily occur within its body.
1 INTRODUCERE
1.1 Context

Acest proiect ^si propune sa evalueze diferite tehnici prin care se pot extrage secvente
, ,

relevante din texte stiinti ce, realiz^and o analiza calitativa ^ntre algorimtul KeyBert si algoritmul
, , ,

Rake, ^n contextul ^n care nu exista un standard de facto pentru etichetarea corespunzatoare
a acestui tip de continut. Diferenta fundamentala de abordare dintre cei doi candidati este
, , ,

data de faptul ca Rake se foloseste de retele neuronale recurente, ^n tandem cu metrici
, ,

str^ans legate de frecventa cuvintelor din textul analizat, ^n timp ce KeyBert se bazeaza
,

pe transformatoare[18], un mecanism care ^i permite sa poata analiza secvente de text ^n ,

ordine aleatoare, paralelizarea procesului de codi care a textului ind mai e cienta, reusind sa ,

cuanti ce relevanta unei secvente ^n contextul fragmentului analizat. De asemenea, algoritmul
, ,

KeyBert ne permite folosirea transformatoarelor proprii, care pot accentua importanta anumitor ,

secvente, ^n functie de tipul de text analizat, fapt pentru care rezultatele obtinute arata un
, , ,

avantaj clar ^n favoarea acestuia ^n ceea ce priveste relevanta secventelor alese. Un alt factor
, , ,

important ^n etichetarea continutului unui text este reprezentat de subiectul abordat, motiv
,

pentru care, folosind un model antrenat pe un set de aproximativ 23000 de rezumate de articole
stiinti ce pe teme legate de procesarea limbajului natural, ^ncerc sa asignez textului o tema,
, ,

careia ^i corespund un set de cuvinte cheie, care pot ajuta la o etichetare corespunzatoare a
continutului.
,

1.2 Problema

Problema pe care ^si propune sa o abordeze proiectul este reprezentata de gasirea unei
,

solutii pentru etichetarea corespunzatoare a articolelor stiinti ce, solutie care ar putea facilita
, , , ,

automatizarea procesului de organizare al bazelor de date care contin lucrari stiinti ce, dar si
, , , ,

^mbunatatirea rezultatelor date de motoarele de cautare care vizeaza astfel de articole.


,

1.3 Solutia propusa,

Obiectivul proiectului este acela de a descoperi cea mai buna solutie bazata pe tehnici de ,

^nvatare autonoma[19], prin intermediul unui studiu care pune ^n evidenta performantele a 2
, , ,

algoritmi, realiz^and o comparatie directa intre rezultatele obtinute prin intermediul algoritimlor
, ,

,si alegerile facute de participantii la studiu pentru un set de 5 texte.


,

1
^In vederea atingerii acestor obiective, solutia implementata este reprezentata de o aplicatie , ,

web care permite utilizatorilor sa testeze cei 2 algoritmi, av^and posibilitatea de a ^ncarca e
un sier PDF, care contine articolul stiinti c vizat, e textul sau un rezumat su cient de
, , , ,

cuprinzator al articolului. ^In momentul submisiei, continutul este trimis server-ului pentru ,

prelucrare, ^n timp ce utilizatorul este redirectionat catre o pagina care va ^ncarca rezultatele ,

atunci c^and este nalizata procesarea. Formatul de a sare prespune ^ncarcarea a 2 liste, ,

care reprezinta rezultatele celor 2 algoritmi, iar ^n cazul sumbisiei bazate pe text, a sarea ,

textului cu secventele alese scoase ^n evidenta, alaturi de o lista suplimentara de cuvinte
, ,

asociate temei asignate, acolo unde aceasta a putut determinata. Diferentele de a sare a , ,

rezultatelor dintre cele 2 modalitati de submisie sunt date de tehnicile imperfecte de extragere
,

a datelor din cadrul sierelor de tip PDF, care fac imposibila scoaterea^n evidenta a secventelor
, , ,

selectate si ^ngreuneaza considerabil asignarea textului la un topic, ^n ciuda multiplelor tehnici
,

de normalizare utilizate pentru a curata continutul de elemente nedorite. , ,

1.4 Analiza Cerintelor / Motivatie , ,

Motivatia acestui proiect este data de necesitatea creari unui instrument care sa vina ^n
,

sprijinul cercetatorilor ^n ceea ce priveste organizarea unui set larg de date, fara a necesara
,

interventia directa a acestora. Astfel, ^mi propun sa gasesc niste candidati ^n forma unor
, , ,

algoritmi de procesare a limbajului natural si sa implementez o aplicatie care demonstreaza , ,

capabilitatile acestora de a extrage secvente cheie si de a asocia unui text stiinti c o tematica,
, , , , ,

av^and urmatoarele obiective principale:

ˆ Etichetarea corespunzatoare a textelor, ^n vederea indexarii si, implicit, a ^mbunatatirii , ,

calitatii rezultatelor furnizate de motoarele de cautare care se raporteaza la baze de date


,

cu lucrari stiinti ce , ,

ˆ Asocierea automata a lucrarilor stiinti ce cu o tematica, cu scopul organizarii e ciente


, ,

a bazei de date, dar si de extindere a functionalitatii de etichetare, prin atasarea unor


, , , ,

secvente de cuvinte speci ce tematicii alese


,

ˆ Aplicarea functionalitatilor mentionate direct pe documente de tip PDF, pentru a e cientiza


, , ,

si automatiza suplimentar procesele de clasi care si etichetare, elimin^and necesitatea


, ,

compunerii si publicarii unui rezumat de catre autorii lucrarilor stiinti ce


, , ,

^Indeplinirea obiectivelor propuse poate conduce la mai multe scenarii care aduc, dupa
caz, diferite c^astiguri. ^In primul scenariu, ^n care baza de date retine at^at sinposisul, c^at
, ,

si documentul propriu-zis al lucrarii stiinti ce, poate conduce la etichetarea si clasi carea
, , , ,

mai e cienta, prin agregarea rezultatelor procesarii ambelor surse de informatii. ^In al doilea ,

scenariu, documentul reprezinta singura sursa de informatie disponibila procesarii, caz ^n ,

care este redusa dimensiunea informatiei din baza de date. Pentru a pune in evidenta o
, ,

situatie concreta pentru cel de-al doilea scenariu, voi face o referinta catre portalul web ACL
, ,

Anthology[8], prin intermediu caruia pot accesate, p^ana ^n acest moment, un numar de

2
aproximativ 66000 de lucrari. Portalul pune la dispozitie posibilitatea de a descarca bibliogra a
,

completa ^n varianta cu si fara sinopsis inclus. Fisierul care contine si sinopsisurile este de
, , , ,

aproape 2 ori mai mare, av^and o dimensiune de 59.1 MB, prin comparatie cu cel fara, care
,

are o dimensiune de doar 35.7 MB.

3
2 METODE EXISTENTE
2.1 Introducere

Privind problema extragerii cuvintelor sau a secventelor cheie din text, ^nt^alnim 2 tipuri
,

fundamentale de algoritmi de ^nvatare autonoma: algoritmi supervizati, care folosesc seturi


, ,

de antrenare etichetate manual si algoritmi nesupervizati, care folosesc seturi de antrenare


, ,

neetichetate. ^In acest proiect ne vom orienta catre solutiile nesupervizate de extragere.
,

Cea de-a doua categorie se potriveste situatiilor, destul de frecvente ^n aplicatiile moderne, ^n
, ,

care setul de date este foarte mare, ind foarte di cila etichetarea manuala a acestora.

Categorie de algoritmi nesupervizati , Exemple


Statistics-based TF-IDF
KP-Miner [7]
YAKE
Rake
Graph-based TextRank
SingleRank
CollabRank[17]
PositionRank
Transfer learning-based KeyClustering
CommunityCluster
Topical PageRank
Single Topical PageRank
Clustering-based TopicRank
Language model-based SentenceBERT
Tabela 1: Sumarizarea metodelor nesupervizate[16]

4
2.2 YAKE

2.2.1 Principiile si modul de lucru ,

YAKE este un algoritm nesupervizat de extragere a secventelor cheie din text, care nu ,

se bazeaza pe dictionare de cuvinte si poate lucra cu texte de diferite marimi si limbi, fara
, , ,

informatii exterioare acestora. Sistemul propus de acest algoritm ia forma unei benzi de
,

asamblare care are urmatoarele segmente[5]:

ˆ Preprocesarea textului, care presupune ^mpartirea acestuia ^n functie de delimitatori


, ,

precum spatiile si semnele de punctuatie


, , ,

ˆ Extragerea caracteristicilor pentru ecare termen obtinut la pasul anterior ,

{ Tipul literelor cu care este scris termenul (litere mari sau mici)
{ Pozitionarea termenului^n cadrul textului, plec^and de la presupunerea ca un termen
,

a at la^nceputul textului este mai probabil sa e mai relevant pentru textul analizat
{ Frecventa termenului^n text, plec^an de la presupunerea ca exista o relatie aproximativa
, ,

de proportionalitate ^ntre acest indicator ^i relevanta termenului


, ,

{ Numarul de termeni diferiti din jurul termenului analizat, plec^and de la presupunerea


,

ca un termen ^nconjurat de multi termeni diferiti, nu este relevant ^n text
, ,

{ Frecventa aparitiei termenului ^n diferite propozitii ale textului


, , ,

ˆ Calculul unui scor pe baza unei euristici care combina toate caracteristicile enumerate
mai sus
ˆ Generarea listei de candidati folosind o fereastra glisanta de dimensiune 3 (permite
,

analizarea n-gramelor formate din cel mult 3 termeni consecutivi), ecarui candidat
indu-i atribuit un scor cumulat bazat pe scorul anterior calculat pentru ecare termen
care intra ^n alcatuirea n-gramei alese
ˆ Selectia nala a secventelor de text cheie din lista de candidati anterior alcatuita, pe
, , ,

baza scorurilor calculate

Similar algritmului RAKE, este bazat pe metode statistice de extragere a secventelor cheie, ,

fapt care constituie un avantaj prin prisma arhitecturii sale de tip "plug'n'play", dar si un ,

dezavantaj, dat ind faptul ca sensul contextual al cuvintelor nu este cuanti cat.

2.2.2 Testare
Folosind urmatorul sinopsis:
"Speech directed to children di ers from adult-directed speech in linguistic aspects such as
repetition, word choice, and sentence length, as well as in aspects of the speech signal itself,
such as prosodic and phonemic variation. Human language acquisition research indicates that
child-directed speech helps language learners. This study explores the e ect of child-directed

5
speech when learning to extract semantic information from speech directly. We compare the
task performance of models trained on adult-directed speech (ADS) and child-directed speech
(CDS). We nd indications that CDS helps in the initial stages of learning, but eventually,
models trained on ADS reach comparable task performance, and generalize better. The results
suggest that this is at least partially due to linguistic rather than acoustic properties of the
two registers, as we see the same pattern when looking at models trained on acoustically
comparable synthetic speech."
am testat algoritmul folosind interfata web disponibila la adresa https://boiling-castle-88317.
,

herokuapp.com/demo/user si am obtinut urmatoarele rezultate:


, ,

Secventa extrasa
, Scor
word choice 0.031
sentence length 0.036
phonemic variation 0.036
directed to children 0.043
children di ers 0.043
prosodic and phonemic 0.043
Speech 0.0482
child-directed speech 0.064
models trained 0.069
aspects 0.086
Tabela 2: Top 10 rezultate ^n urma rularii YAKE

Remarcam faptul ca desi secventele cheie se a a ^ntre cele selectate, nu ocupa primele pozitii
, , ,

conform relevantei lor in text, prima mentiune a unei variatii a cuv^antului "child" a ^andu-se
, , ,

pe pozitia a 4-a.
,

2.3 TextRank

2.3.1 Principiile si modul de lucru


,

TextRank este un algoritm nesupervizat de extragere a secventelor cheie bazat pe grafuri,


,

inspirat de algoritmul Google PageRank[3], ^n care sunt alcatuite ierarhii locale, bazate pe
cunostinte inferate la nivelul ^ntregului set de date. Ideea de baza presupune stabilirea unor
, ,

ponderi ale v^arfurilor grafului, pe baza informatiilor legate de contextul global, extrase ^n mod
,

recursiv. Atunci c^and un v^arf are o muchie care ^l leaga de un alt v^arf, spunem ca v^arful din
urma a primit un vot. Ponderea unui v^arf este in uentata de numarul voturilor primite. De
,

asemenea, ponderea v^arfului votant impacteaza ponderea votului primit de v^arful votat.

6
^In contextul procesarii limbajului natural, ^n speta, extragerea de cuvinte cheie, v^arfurile
,

grafului sunt reprezentate de unitati lexicale, scopul ind acela de a alege unitatatile cu
, ,

ponderile cele mai favorabile ca ind cele mai relevante pentru un text dat. Daca doua unitati ,

lexicale se a a la o distanta de maxim N unitati una de cealalta, unde N este un parametru


, ,

care poate lua valori ^ntre 2 si 10, atunci exista o muchie ^ntre cele 2 v^arfuri asociate. Se
,

pot aplica ltre asupra textului procesat, ^nainte de construirea grafului propriu-zis, pentru
a elimina unitatile lexicale care nu sunt relevante cautarii, un exemplu ^n acest sens ind
,

conjunctiile. De asemenea, poate conditionata suplimentar crearea muchiilor, ^n baza unor
, ,

reguli arbitrare, cum ar imposibilitatea stabilirii unei muchii ^ntre 2 substantive. Astfel de
reguli au si rolul de a micsora complexitatea temporala a unei iteratii, micsor^and numarul de
, , ,

muchii si, implicit, ad^ancimea calculului recurent al ponderilor. Ponderile initiale ale v^arfurilor
, ,

sunt egale cu 1, iar numarul de iteratii care asigura o eroare de convergenta neglijabila este
, ,

cuprins ^ntre 20 si 30. Dupa nalizarea iteratiilor, se selecteaza topul v^arfurilor cu cea mai
, ,

mica pondere pentru procesarea nala, unde, unitatile lexicale lexicale adiacente ^n textul
,

initial sunt comasate intr-o singura secventa[12].


, ,

2.3.2 Testare
Am alcatuit un mediu de testare bazat pe interpretorul Python 3.8.10, pentru a vedea
rezultatele algoritmului TextRank pentru acelasi sinopsis ca cel utilizat anterior, folosind 2
,

biblioteci care pun la dispozitie functionalitatile necesare "out of the box", numite "spacy" si
, , , ,

"pytextrank".
Secventa extrasa
, Scor
Speech 0.162
speech 0.162
child-directed speech 0.111
adult-directed speech 0.108
comparable task performance 0.105
linguistic aspects 0.101
acoustically comparable synthetic speech 0.097
models 0.093
children 0.091
the speech signal 0.087
Tabela 3: Top 10 rezultate ^n urma rularii TextRank

Remarcam faptul ca rezultatele sunt semni cativ mai bune dec^at ^n cazul algoritmului
YAKE, fapt ce se datoreaza modelului folosit, care encapsuleaza functionalitati de interpretare
, , ,

si lematizare a textului speci ce limbii engleze. Din aceasta cauza, functionarea la parametrii
, ,

7
optimi pentru texte ^n alta limba nu mai este garantata, asa cum era ^n cazul algoritmilor
nesupervizati bazati pe elemente statistice. De asemenea, se observa o tendinta de overlapping
, , ,

mai pronuntata, dar si un interval de lungime mai larg pentru n-gramele selectate. O alta
, ,

diferenta este reprezentata de arhitectura, care, ^n acest caz, nu permite rularea fara atasarea
, ,

unui model corespunzator tipului de text analizat.

2.4 TopicRank

2.4.1 Principiile si modul de lucru ,

TopicRank este un algoritm nesupervizat care se foloseste de principii similare TextRank,


,

diferenta fundamentala ind faptul ca un v^arf din graful format nu reprezinta o unitate lexicala,
,

ci o grupare de cuvinte cheie similare, numite ^n mod generic topic. Plec^and de la premisa ca o
secventa cheie este mult mai probabil sa e alcatuita din substantive, o astfel de grupare este
,

alcatuita dintr-un set de secvente de substantive care ^ndeplinesc un criteriu de similaritate


,

care spune ca 2 secvente sunt considerate similare daca au un overlapping al unitatilor lexicale
, ,

componente de cel putin 25%. Reducerea cuvintelor din aceeasi familie lexicala la o forma
, ,

comuna ^n etapata de preprocesare ^mbunatateste semni cativ procesul de grupare, proces
, ,

pentru care este folosit un algoritm de tip HAC(Hierarchical Agglomerative Clustering)[10].

Dupa nalizarea procesului de grupare, obtinem un graf ^n care v^arfurile sunt reprezentate
,

de temele rezultate, iar ponderile muchiilor de legatura reprezinta relatiile semantice dintre
,

acestea. Spunem ca doua grupari au o relatie semantica puternica daca secventele care intra
, ,

^n componenta acestora se a a la distante relativ scurte unele de celelalte ^n textul dat. Odata
, ,

stabilite aceste metrici, ^ncepe procesul de "votare", dupa acelasi principiu ca la TextRank,
,

av^and un numar de iteratii su cient de mare pentru ca eroarea de convergenta sa e neglijabila.
, ,

Dupa nalizarea procesului de "votare", se face o selectie a gruparilor cu cel mai bun scor,
,

pentru ecare dintre ele aleg^andu-se un singur candidat, pentru reduce redundanta setului ,

nal de secvente cheie. ^In ceea ce priveste selectia candidatului unei grupari, se pot pune ^n
, , ,

aplicare mai multe strategii[4]:

ˆ Alegerea secventei care apare prima ^n text, plec^and de la premisa ca o secventa a ata
, ,

la ^nceputul textului are probabilitatea mai mare sa e mai relevanta


ˆ Alegerea secventei care are cea mai mare similaritate ^n relatie cu toate celelate secvente
, , ,

ale gruparii

8
2.4.2 Testare
Pentru a testa algoritmul TopicRank, voi folosi acelasi mediu de dezvoltare ca ^n exemplul
,

anterior, la care voi adauga biblioteca "topicrankpy" si dependintele sale si acelasi sinopsis.
, , , ,

^In tabelul de mai jos se a a primele 10 rezultate ^n ordinea scorurilor obtinute dupa rulare.
,

Secventa extrasa
, Scor
speech 0.128
child 0.068
models 0.056
ads 0.048
cds 0.045
adult 0.042
phonemic variation 0.028
human language acquisition research 0.028
language learners 0.028
due 0.028
Tabela 4: Top 10 rezultate ^n urma rularii TopicRank

Observam faptul ca overlap-ul este inexistent ^ntre candidatii gruparilor care fac parte
,

din selectia nala, conform asteptarilor, ^nsa, spre deosebire de algoritmii testati anterior,
, , ,

secventele de text extrase au un caracter mai general, fapt datorat procesului de selectie
, ,

interna din cadrul ecarei topici. ^In situatia ^n care scopul nal este alcatuirea unei multimi
, ,

de topici pentru un set larg de texte, acest lucru ne poate avantaja, ^nsa, strict din punct
de vedere al obiectivului constituit de extragerea de secvente cheie, rezultatele algoritmilor
,

testati anterior sunt potrivite, ind particularizate textului analizat.


,

2.5 SentenceBERT

SentenceBERT reprezina o varianta ^mbunatatita a embed-urilor clasice BERT, care permit


,

transformarea secventelor de text de dimensiuni mai mari, cum sunt propozitiile, ^n vectori cu
, ,

ajutorul carora putem determina relatiile semantice ^ntre structuri lexicale complexe.
,

Primul pas, pentru a putea cuanti ca relatia lexicala a 2 structuri complexe, este aplicarea
,

embed-ului BERT pentru ecare element al ecarei structuri. Pentru a putea obtine o ,

perspectiva uni cata asupra proiectiei ecarei dintre cele 2 structuri ^n spatiul vectorial,
, ,

9
este necesara implementarea unei modalitati de agregare a vectorilor obtinuti la primul pas.
, , ,

Strategia standard pentru acest pas de agregare este calcularea mediei vectorilor asociati ,

structurii lexicale analizate. O alternativa este reprezentata de calculul elementului maxim


pentru ecare pozitie, de-a lungul vectorilor obtinuti ^n urma transformarii, rezultatul ind tot
, , ,

un vector. Aplic^and una din cele 2 strategii, se obtin 2 vectori, v si w, care pot prelucrati
, , ,

ulterior ^n scopul cuanti carii unei relatii lexicale.


,

Folosind cei 2 vectori rezultati, se poate calcula cosinusul unghiului dintre ei, pentru
,

a determina similaritatea, tehnica utilizata si ^n algoritmul de extagere a cuvintelor cheie


,

EmbedRank, sau se poate calcula distanta euclidiana dintre punctele de nite de acestia.
, ,

Pentru a putea antrena un model de clasi care, se aplica o functie de normalizare softmax
,

produsului dintre o matrice de ponderi antrenabila si rezultatul concatenarii dintre v, w si


, ,

jv wj. [14]

Figura 1: Fluxul de veri care a similiraitatii dintre 2 propozitii


, , ,

Algoritmul EmbedRank, parte din solutia implementata ^n acest proiect, foloseste astfel
, ,

de embed-uri pentru a putea calcula similaritatea dintre secvente de text candidate pentru
,

selectie si documentul din care fac parte, cu ajutorul formulei de calcul a relevantei marginale
, , ,

maxime.

10

3 SOLUTIA PROPUSA ,

3.1 Corpus

Speci cul textelor pe care se axeaza acest proiect este cel al lucrarilor siinti ce din aria
, ,

cercetarii tehnicilor de procesare a limbajului natural. Sursa sinopsisurilor pe baza carora voi
realiza evaluarile si a setului de texte de antrenament crearea pentru modelului necesar task-
,

ului de topic classi cation este reprezentat de platforma web dedicata agregarii textelor de
acest tip numita ACL Anthology[8].

3.2 Keyword Mining

Pentru prima problema, cea a extragerii de secvente cheie din articole stiinti ce, ^n acest
, , ,

proiect am optat pentru folosirea a 2 biblioteci care encapsuleaza functionalitatile a 2 algoritmi:


, ,

ˆ Rake
ˆ EmbedRank

3.2.1 Rake
Am ales Rake(Rapid Automatic Keyword Extraction) pentru a putea evalua performantele ,

unui algoritm nesupervizat, ale carui metrici de extragere bazate pe statistici interne textului
analizat nu iau^n considerare relatiile semantice^ntre unitatile lexicale. Prin natura sa, Rake nu
, ,

este conditionat de limba ^n care este scris textul, singurul factor extern capabil sa in uenteze
, ,

rezultatul nal al rularii acestuia ind etapa de pre-procesare. Pe l^anga caracterul angostic
^n raport cu limba ^n care este scris documentul, implementarea Rake mai are avantajul de
a avea o arhitectura "plug'n'play", similara cu cea a lui YAKE, care ne permite o integrare
extrem de facila ^ntr-o aplicatie. Prin contrast cu YAKE, metricile calculate pentru Rake sunt:
,

ˆ frecventa unui cuv^ant, care favorizeaza cuvintele care apar des ^n document
,

ˆ gradul unui cuv^ant, care favorizeaza cuvintele care apar des si ^n secvente mai lungi
, ,

ˆ raportul dintre grad si frecventa, care favorizeaza cuvintele care apar predominant ^n
, ,

secvente mai lungi


,

rezultatul celor 3 ind cuanti cat ^n forma unui scor al cuv^antului si ulterior ^nsumat pentru
,

secventele compuse din mai multe cuvinte, pentru a obtine scorul secventei[15].
, , ,

11
Figura 2: Fluxul de prelucrare al documentelor folosind algoritmului Rake

Selectia nala a secventelor cheie se face ^n ordinea descrescatoare a scorurilor obtinute.
, , ,

3.2.2 EmbedRank
Spre deosebire de toti algoritmii nesupervizati prezentati p^ana acum, EmbedRank^si propune
, , , ,

2 noi obiective: sa minimizeze overlap-ul secventelor extrase, fara sa sacri ce speci citatea
,

acestora(ca ^n cazul TopicRank), pentru o selctie mai diversi cata si sa ia ^n calcul relatiile
, , ,

semantice dintre cuvinte. Elementul de noutate care permite cuanti carea acestor relatii sunt ,

niste structuri numite "word embeddings", care ^si propun sa transforme cuvintele ^n vectori
, ,

a ati ^ntr-un spatiu vectorial continuu. Pentru problema abordata de acest proiect, am folosit
, ,

biblioteca KeyBERT care include posibilitatea aplicarii algoritmului EmbedRank folosind o


gama variata de embed-uri, potrivite pentru diverse tipuri de text, e ca vorbim de lungimea
acestora, de domeniul din care provin sau de limba ^n care sunt scrise. Un astfel de embed
cuanti ca relatia semantica dintre 2 cuvinte prin intermediul distantei dintre vectorii asociati,
, , ,

^n spatiul vectorial continuu. Pentru cazul speci c al textelor stiinti ce ^n limba engleza
, , ,

de dimensiuni variabile, am ales sa folosesc embed-ul pre-antrenat "SciBERT"[1], care s-a
dovedit a o solutie potrivita. Aceasta trecere ^ntr-un spatiu vectorial se face at^at la nivelul
, ,

^ntregului document, aceasta etapa incluz^and si o procedura care pastreaza doar adjectivele
,

,si substantivele din text, c^at si la nivel de secventa.


, ,

Pentru a face o selectie nala de secvente relevante, avem la dispozitie 2 posibilitati:


, , , ,

ˆ se aleg secventele ^n ordine crescatoare a cosinusului ungiului format de reprezentarea


,

vectoriala a documentului si reprezentarea vectoriala a secventei, metoda predispusa la


, ,

rezultate cu un grad de redundanta mai ridicat ,

ˆ se aleg secventele ^n baza unui scor numit relevanta marginala maxima, calculat dupa
, ,

formula:
MMR = [  Sim 1 (Di ; Q) (1 )  max Sim 2 (Di ; Dj )] (1)
Dj 2S
unde Di este secventa pentru care calculam MMR, Q este documentul, S este multimea
, ,

tuturor secventelor evaluate din document, functiile Sim 1 si Sim 2 reprezinta cosinusul
, , ,

12
unghiului format de reprezentarile vectoriale a doua secvente, iar  2 [0; 1] este un
parametru ales la implementare, astfel ^nc^at pentru  = 0 rezultatul este o lista cu
,

diversitate maxima, iar pentru  = 1 rezultatul este identic cu selectia bazata exclusiv
,

pe cosinusul unghiul format de vectorul documentului si cel al secventei[2]


, ,

Pentru solutia implementata ^n acest proiect, am ales sa ma folosesc de MMR, cu  = 0:5,
,

pentru a obtine un overlap acceptabil si diversitate, fara a sacri ca speci citatea secventeor
, , ,

alese. De asemenea, am limitat intervalul dimensiunilor n-gramelor selectate ^n intervalul


[1; 5], deoarece timpul de procesare creste considerabil pentru dimensiuni mai mari, iar pentru
,

texte mai scurte, selectiile curpind secvente mult prea lungi raportate la lungimea totala a
, ,

documentului.

Figura 3: Fluxul de prelucrare al documentelor folosind algoritmului EmbedRank

3.2.3 Extragerea cuvintelor cheie din siere de tip PDF ,

Pentru a putea obtine un set de secvente cheie chiar si ^n absenta unui rezumat curpinzator,
, , , ,

proiectul include si o banda de asamblare care contine mai multi pasi meniti sa extraga textul
, , , , ,

propriu-zis dintr-un document PDF, sa ^l ltreze, deoarece adesea contine caractere invalide,
,

care nu pot intra ^n componenta unui text, si sa ^ncerce sa extraga, pe baza a ceea ce s-a
, ,

obtinut, secventele cheie. Aceasta abordare pleaca de la premisa ca documentul prelucrat are
, ,

13
o structura bine de nita, fara foarte multe insertii gra ce, raportat la dimensiunea totala si
, ,

cu text inserat folosind etichete speci ce LaTeX, extragerea ne ind posibila ^n cazului unui
document scanat si transformat ^n sier PDF, deoarece solutia nu include functionalitati de
, , , , ,

tip OCR. Motivatia din spatele neincluderii unei astfel de tehnologii este data de structurarea
,

pe 2 coloane a majoritatii documentelor de acest tip, care ar putea da rezultate slabe din
,

punct de veredere al continuitatii textului rezultat.


,

^In vederea extragerii textului din document, am folosit functionalitatile puse la dispozitie de , , ,

biblioteca "pdfminer", disponibila prin inermediul repozitorului standard pentru interpretorul


Python 3.8. Odata extras, textul obtinut este trecut print-o serie de prelucrari, care au rolul
,

de a aduce textul la o forma su cient de buna c^at sa poata prelucrat de catre algoritmii
EmbedRank, respectiv Rake:

ˆ am reconstruit cuvintele despartite la nal de r^and, folosind o expresie regulata cu


,

ajutorul careia elimininat combinatia de caractere "-nn" ,

ˆ am eliminat continutul parantezelor, deoarece, ^n cele mai multe cazuri contin referinte
, , ,

catre elemente gra ce sau catre alte lucrari stiinti ce, irelevante din perspectiva prelucrarii
, ,

textului
ˆ am eliminat portiunea de referinte de la nalul lucrarii, pe baza tiparului obervat pe
, ,

textele extrase, care contin aceste referinte dupa secventa de text "nnReferences"
, , ,

ˆ am eliminat caracterele care indica nalul de r^and pentru a nu ma a a ^n situatia de a ,

avea caractere care delimineaza secvente cu continuitate ,

ˆ am eliminat datele de contact(adrese de e-mail si numere de telefon) si adresele web , ,

din text, deoarece sunt irelevante din punct de vedere al obiectivului


ˆ am eliminat numerele din text, folosind acelasi criteriu al lipsei de relevanta ca la punctele
, ,

anterioare

Dupa aplicarea acestor prelucrari, pentru a elimina artefactele ramase ^n urma extragerii
imperfecte a textului din document, am preaplicat stemmer-ul disponibil prin intermediul
bibliotecii "nltk" numit "TreebankWord", ltr^and ^nacelasi timp unitatile lexicale care nu , ,

fac parte din dictionarul limbii engleze. Pentru a putea realiza aceasta ltrare, am folosit
,

dictionarul precompilat "words" pus la dispozitie prin intermediul aceleiasi biblioteci.


, , ,

^In nal, textul prelucrat este dat celor 2 algoritmi, Rake si EmbedRank, pentru a realiza ,

extragerea propriu-zisa.

3.2.4 Extragerea secventelot cheie din sinopsisuri ,

Spre deosebire de extragerea din PDF, textul unui sinopsis nu necesita la fel de multa
sanitizare, datorita faptului ca nu contine artefacte rezultate ^n urma extragerii, ^nsa, poate
,

14
Figura 4: Fluxul de prelucrare al unui document PDF

contine elemente irelevante obiectivului, care pot eliminate, fapt care poate in uenta pozitiv
, ,

rezultatele extragerii secventelor cheie. Pe baza observatiilor facute pe un set relativ redus de
, ,

sinopsisuri analizare din baza de date ACL Anthology, am concluzionat faptul ca urmatoarele
actiuni de preprocesare sunt necesare:
,

ˆ eliminarea datelor de contact si a adreselor web, un fapt des ^n^alnit


, ind prezenta
,

referintelor catre repozitoare care contin codul sursa al unei aplicatii care modeleaza
, , ,

continutul lucrarii ^n cauza


,

ˆ eliminarea numerelor din text

Av^and la dispozitie un text fara artefacte, putem sa omitem pasul de lematizare. Acest
,

lucru nu este ^nsa singurul avantaj al unei surse de text clare. De aceasta data putem include
si o functionalitate estetica de subliniere a secventelor extrase de ecare dintre cei 2 algoritmi.
, , ,

Deoarece EmbedRank omite cuvintele de legatura in formarea secventelor, dupa extragere,


,

este necesara re^mpartirea textului initial ^n unitati lexicale folosind tokenizer-ul embed-ului
, , ,

15
"SciBERT" pentru a putea realiza marcarea corespunzatoare a textului. ^In cazul Rake, o
simpla substitutie textuala este su cienta.
,

Figura 5: Fluxul de prelucrare al unui document text

3.3 Topic classi cation

Procesul de asignare a unei teme pentru un text dat nu are numai rolul de organizare
automata a unui set de texte siinti ce, ind si o solutie de a ^mbunatati rezultatul procesului
, , , , ,

de extragere de cuvinte cheie, prin adaugarea cuvintelor care caracterizeaza tematica la setul
deja existent, cuvinte care nu sunt neaparat prezente ^n text. Pentru a putea ^ndeplini si ,

acest obiectiv, am ales sa folosesc un algoritm care are la baza aceeasi idee a transformarii
,

documentelor ^n vectori, folosind acelasi embed pre-antrenat pentru texte stiinti ce ca la
, , ,

partea de extragere a secventelor.


,

3.3.1 Descrierea pasilor de prelucrare


,

Spre deosebire de algoritmii prezentati p^ana acum, de aceasta data este nevoie de un
,

set de documente pe care algoritmul sa antreneze un model, care va ^ncerca sa produca
un set de topici caracterizate de c^ate o lista de cuvinte. Acest model va folosit ulterior
pentru a ^ncerca atribuirea textului celei mai apropiate topici din punct de vedere semantic,
prin transformarea documentului analizat ^n vector si prin calcularea similaritatii cu topicile
, ,

esantionate la pasul de antrenare. Pentru a putea produce un set de topici su cient de


,

curpinzator pentru orice arie de cercetare, este necesar un set de documente foarte mare si ,

divers, asa ca, pentru scopul demonstrativ al acestui proiect, am limitat setul la texte din aria
,

de cercetare a procesarii limbajului natural, esantionate folosind sinopsisurile din referintele


, ,

bibliogra ce puse la dispozitie de ACL Anthology.


,

16
Antrenarea propriu-zisa este realizata premergator utilizarii, se bazeaza pe un set de aproximativ
23000 de sinopsisuri, extrase din bibliogra a completa a platformei ACL Anthology, si parcurge
,

urmatorii pasi: ,

ˆ folosirea embeding-ului "Specter" pentru transformarea ecarui document din set ^n
vectori
ˆ reducerea dimensionalitatii vectorilor rezultati folosind UMAP[9]
, ,

ˆ gruparea vectorilor rezultati ^n clustere folosind HDBSCAN[13]


,

ˆ extragerea cuvintelor cheie, bazata pe TF-IDF, metrica statistica care cuanti ca relatia
,

dintre frecventa unui cuv^ant ^ntr-un document si numarul documentelor care contin
, , ,

acel cuv^ant, aplicata de aceasta data pe clase de documente, prin uni carea textelor
din acelasi cluster
,

ˆ folosirea indicelui de relevanta marginala maxima pentru a reduce overlap-ul dintre


,

multimile de cuvinte extrase pentru ecare topic


,

Pentru a putea evita overlap-ul cuvintelor care fac parte din acelasi topic, am lematizat
,

ecare sinopsis din setul de antrenare, folosind modelul TreeWordBank. O ^ncercare anterioara
de antrenare a unui set de 8900 de texte, fara lematizare, a rezultat ^n obtinerea unor clase
,

caracterizate predominant de cuvinte care apartin aceleiasi radacini:


, ,

ˆ declinari ale aceluiasi substantiv


,

ˆ conjugari ale aceluiasi verb


,

Desi overlap-ul a fost redus semni cativ, nu este 0%, deoarece modelul folosit face distinctie
, ,

^ntre partile de vorbire cu aceeasi radacina, cum este cazul cuvintelor "speech"(substantiv) si
, , ,

"speaking"(verb la gerunziu), ele ne ind aduse la aceeasi forma comuna.


,

Cele 2 uxuri asociate procedurii de antrenare, respectiv procedurii de asociere a unui


document nou la un topic sunt ilustrate ^n Figura 6.

17
Figura 6: Fluxul de antrenare(fundal rosu) si uxul de asociere a unui text nou unei
, ,

topici(fundal verde)

18
4 DETALII DE IMPLEMENTARE
Implementarea propriu-zisa a interfetei de testare consta ^ntr-un server web care pune la
,

dispozitia utilizatorului 2 formulare care permit ^ncarcarea datelor sub forma unui document
,

PDF sau sub forma de text. Ambele formulare sunt accesibile ^n orice moment printr-un meniu
de navigare amplasat ^n partea de sus a paginii.

Tehnologia folosita pentru crearea endpoint-urilor site-ului este NodeJS, cu framework-ul


ExpressJS, pentru design-ul paginilor am folosit sabloanele Bootstrap, iar pentru partea de
,

procesare a input-ului, am folosit scripturi Python 3.8, alaturi de medii de dezvoltare virtuale
care contin bibliotecile necesare rularii acestora. Printre bibliotecile cele mai importante
,

folosite pentru aplicarea algoritmilor descrisi ^n capitolul anterior se regasesc:


,

ˆ nltk, pentru dictionarele de cuvinte si modelul de lematizare WordTreeBank


, ,

ˆ pdfminer, pentru functionalitatile integrate de extragere a textului din documente PDF


, ,

ˆ transformers si sentence transformers, pentru embed-ul "Specter"[6] si "SciBERT",


, ,

necesare pentru rularea EmbedRank si pentru rularea si antrenarea BERTopic


, ,

ˆ rake nltk, pentru implementarea "plug'n'play" a algoritmului Rake


ˆ keybert, pentru implementarea parametrizata a algoritmului EmbedRank, compatibila
cu o multitudine de embed-uri
ˆ bertopic, pentru implementarea algoritmului de clasi care a textelor
ˆ cleantext, pentru functionalitatile de normalizare a textului puse la dispozitie, printre
, , ,

care se numara eliminarea datelor de contact, a adreselor web si a numerelor ,

ˆ bibtexparser, pentru interpretorul de siere care contin referinte pentru documente


, , ,

redactate ^n LaTeX

4.1 ^Incarcarea sierului PDF ,

Primul forumular permite utilizatorului sa ^ncarce un sier PDF si sa ^l previzualizeze, ^nainte
, ,

de upload. Odata efectuata ^ncarcarea, endpoint-ul dedicat submisiei, rutat la "/upload",


va genera un GUID unic acestei submisii si va scrie sierul primit ^ntr-o locatie temporara,
, , ,

^n directorul "tmp" ar radacinii serverului, cu numele de forma [guid].pdf. Urmatorul pas
efectuat de server este sa genereze o pagina web speci ca acestei prelucrari, care, odata
trimisa utilizatorului si ^ncarcata de catre browser, va ^ntreba serverul periodic(un request
,

pe secunda) daca procesarea documentului ^ncarcat a fost nalizata. Dupa ce serverul


nalizeaza trimiterea acestei pagini, apeleaza, folosind interpretorul asociat mediului virtual
de lucru, scriptul Python pdf mine.py, cu un parametru reprezentat de locatia temporara ,

19
a sierului ^ncarcat. La nalul executiei, ^n interiorul directorului se vor gasi 3 siere text
, , ,

cu numele [guid].clean, [guid].bert.txt si [guid].rake.txt, care contin rezultatele serializate ^n


, ,

format JSON[11] ale rularii celor 2 algoritmi de extragere, respectiv textul sanitizat al sierului ,

PDF, pentru etapa de clasi care. Urmatorul pas este apelarea scriptului Python get topic.py
cu 2 parametri, primul parametru, care contine locatia modelului serializat binar, pentru a-
, ,

l putea ^ncarca, si al doilea parametru, care contine locatia sierului text sanitizat. Dupa
, , , ,

nalizarea acestui script, ^n directorul "tmp" se va regasi acum si sierul text [guid].topic.txt,
, ,

care contine lista cuvintelor asociate topicului ales, serializata ^n format JSON, sau textul
,

"No topic", ^n cazul ^n care nu i s-a putut asocia textului un topic. Ulterior executiei celor ,

2 scripturi, sierul ^ncarcat este sters si este adaugata o intrare ^ntr-un dictionar global, care
, , , ,

marcheaza nalizarea prelucrarii.

Endpoint-ul care raspunde la cererile de tip GET de veri care al progresului prelucrarii,
poate raspunde ^n 2 feluri, ^n functie de status:
,

ˆ cu un obiect de tip JSON, cu un singur c^amp de tip boolean, isDone = false, care nu
va determina nici o schimbare ^n pagina ultilizatorului
ˆ cu un obiect de tip JSON, cu 4 c^ampuri:
{ isDone, care de aceasta data are valoarea true
{ bert, care contine lista secventelor extrase de EmbedRank
, ,

{ rake, care contine lista secventelor extrase de Rake


, ,

{ topic, care contine lista cuvintelor asociate topicului ales, ^n cazul ^n care a fost
,

ales unul, sau un sir de caractere gol, ^n caz contrar


,

Raspunsul este preluat, si, ^n cazul ^n care isDone este true, a seaza pe ecran cele 3 liste,
, ,

^ntrerup^and bucla de cereri catre server. ^In functie de documentul prelucrat, listele de
,

secvente extrase pot varia ^n lungime. Dupa trimiterea raspunsului favorabil, intrarea asociata
,

acestei prelucrari din dictionarul global este eliminata, iar cele 3 siere generate ^n urma
, ,

prelucrarii sunt sterse. Ruta endpoint-ului care raspunde la aceste cereri este de forma
,

"/minestatus?id=[guid]", unde guid reprezinta id-ul asignat de server prelucrarii, ^n momentul
submisiei.

20
Figura 7: Arhitectura aplicatiei web pentru prelucrarea de siere PDF
, ,

4.2 ^Incarcarea sinopsisului ^n format text

Primul pas pentru ^ncarcarea sinopsisului este accesarea formularului de submisie, rutat la
"/abstractmining". De aceasta data, pagina este alcatuita doar dintr-o caseta de inserare a
textului si un buton de trimitere. Odata apasat, se trimite o cere de tip POST la endpoint-
,

ul rutat la "/uploadabstract", care, asemenea procesului descris pentru PDF, genereaza


un GUID, si, de aceasta data, salveaza textul ^ntr-un sier numit [guid], urm^and ca, dupa
, ,

aceea, sa trimita utilizatorului pagina personalizata care sa interogheze serverul ^n legatura
cu statusul prelucrarii. Dupa trimiterea paginii, cele 2 scripturi de Python , abstract mine.py
si get topic.py sunt apelate secvential, produc^and 3 siere, similar cu ceea ce se produce ^n
, , ,

cazul PDF-urilor, [guid].bert.txt, [guid].rake.txt si [guid].topic.txt. De aceasta data, structurile


,

serializate ^n formatul JSON care se a a ^n sierele [guid].bert.txt si [guid].rake.txt contin si
, , , ,

textul partial sanitizat, cu tag-uri HTML de marcare a sceventelor selectate pentru ecare
, ,

algoritm. Aceste tag-uri sunt folosite ulterior la a sare rezultatelor ^ntr-o maniera intuitiva.
,

Dupa nalizarea executiei scripturilor, sierul initial este sters si este adaugat un marcaj ^n
, , , , ,

21
dictionarul global.
,

Figura 8: Exemplu de marcare a secventelor extrase


,

Endpoint-ul folosit pentru interogarea server-ului ^n legatura cu progresul prelucrarii este
rutat la "/higlightedtext?id=[guid]". Obiectul returnat are o structura identica cu cel de la
PDF, atunci c^and prelucrarea nu este nalizata, iar atunci c^and prelucrarea a fost nalizata,
obiectul pastreaza cele 4 c^ampuri, dintre care "bert " si "rake" se vor transforma la r^andul lor^n
,

obiecte, cu alte 2 c^ampuri, "text" si "keywords", unde "text" contine sinopsisul cu marcaje, iar
, ,

"keywords" contine lista de rezultate. Similar ca ^n uxul anterior, dupa trimiterea obiectului,
,

marcajul din dictionarul global este sters, la fel si sierele care contin rezultatele. Clasa "text-
, , , , ,

success" folosita pentru stilul tag-ului mark face parte din sabloanele de stiluri Bootrstrap si
, ,

este responsabil de colorarea textului din interior cu verde. Listele de rezultate prezente ^n
pagina pentru documente PDF, sunt prezente si aici, imediat sub textele marcate.
,

Datorita numarului redus de pasi pentru acest ux de prelucrare, timpul mediu de asteptare
, ,

pentru un sinopsis de dimensiune medie este semni cativ mai mic. Printre elementele care
sporesc complexitatea ^n cazul sierelor PDF se numara cantitatea mult mai mare de text
,

extrasa din acest tip de document si necesitatea pre-procesarii suplimentare a acestuia.


,

22
Figura 9: Arhitectura aplicatiei web pentru prelucrarea sinopsisurilor
,

23
5 EVALUARE
Pentru a evalua calitatea selectiilor facute de algoritmii Rake si EmbedRank cu embed-ul
, ,

SciBERT, am compus o lista de 5 sinopsisuri cu tematici variate pe care le-am introdus ^ntr-un
chestionar, care le cere participantilor sa faca o selectie proprie de secvente cheie. Sinopsisurile
, , ,

alese pentru efectuarea studiului sunt urmatoarele:

ˆ We propose two novel methodologies for the automatic generation of rhythmic poetry
in a variety of forms. The rst approach uses a neural language model trained on a
phonetic encoding to learn an implicit representation of both the form and content
of English poetry. This model can e ectively learn common poetic devices such as
rhyme, rhythm and alliteration. The second approach considers poetry generation as
a constraint satisfaction problem where a generative neural language model is tasked
with learning a representation of content, and a discriminative weighted nite state
machine constrains it on the basis of form. By manipulating the constraints of the latter
model, we can generate coherent poetry with arbitrary forms and themes. A large-scale
extrinsic evaluation demonstrated that participants consider machine-generated poems
to be written by humans 54% of the time. In addition, participants rated a machine-
generated poem to be the best amongst all evaluated.
ˆ Accurately diagnosing depression is dicult{ requiring time-intensive interviews, assessments,
and analysis. Hence, automated methods that can assess linguistic patterns in these
interviews could help psychiatric professionals make faster, more informed decisions
about diagnosis. We propose JLPC, a model that analyzes interview transcripts to
identify depression while jointly categorizing interview prompts into latent categories.
This latent categorization allows the model to de ne high-level conversational contexts
that in uence patterns of language in depressed individuals. We show that the proposed
model not only outperforms competitive baselines, but that its latent prompt categories
provide psycholinguistic insights about depression.
ˆ High quality arguments are essential elements for human reasoning and decision-making
processes. However, e ective argument construction is a challenging task for both
human and machines. In this work, we study a novel task on automatically generating
arguments of a di erent stance for a given statement. We propose an encoder-decoder
style neural network-based argument generation model enriched with externally retrieved
evidence from Wikipedia. Our model rst generates a set of talking point phrases
as intermediate representation, followed by a separate decoder producing the nal
argument based on both input and the keyphrases. Experiments on a large-scale
dataset collected from Reddit show that our model constructs arguments with more
topic-relevant content than popular sequence-to-sequence generation models according

24
to automatic evaluation and human assessments.
ˆ The COVID-19 pandemic is having a dramatic impact on societies and economies
around the world. With various measures of lockdowns and social distancing in place, it
becomes important to understand emotional responses on a large scale. In this paper,
we present the rst ground truth dataset of emotional responses to COVID-19. We
asked participants to indicate their emotions and express these in text. This resulted
in the Real World Worry Dataset of 5,000 texts (2,500 short + 2,500 long texts). Our
analyses suggest that emotional responses correlated with linguistic measures. Topic
modeling further revealed that people in the UK worry about their family and the
economic situation. Tweet-sized texts functioned as a call for solidarity, while longer
texts shed light on worries and concerns. Using predictive modeling approaches, we
were able to approximate the emotional responses of participants from text within 14%
of their actual value. We encourage others to use the dataset and improve how we
can use automated methods to learn about emotional responses and worries about an
urgent problem.
ˆ Speech directed to children di ers from adult-directed speech in linguistic aspects such
as repetition, word choice, and sentence length, as well as in aspects of the speech
signal itself, such as prosodic and phonemic variation. Human language acquisition
research indicates that child-directed speech helps language learners. This study explores
the e ect of child-directed speech when learning to extract semantic information from
speech directly. We compare the task performance of models trained on adult-directed
speech (ADS) and child-directed speech (CDS). We nd indications that CDS helps in
the initial stages of learning, but eventually, models trained on ADS reach comparable
task performance, and generalize better. The results suggest that this is at least partially
due to linguistic rather than acoustic properties of the two registers, as we see the same
pattern when looking at models trained on acoustically comparable synthetic speech.

Pentru a putea masura e cienta algoritmilor av^and datele chestionarelor, am ^ntocmit


,

o metrica pentru secventele alese de cei 2 algoritmi, care sa arate, din punct de vedere
,

procentual, c^ate din secventele alese de respondenti, pentru un anumit sinopsis, au un overlap
, ,

de cel putin 75% din lungimea relevanta a acestora. De nesc lungimea relevanta a unei
,

secvente ca ind numarul de litere ale cuvintelor care apartin secventei, care nu fac parte din
, , ,

multimea cuvintelor de legatura. Procentul de 75% a fost ales pentru a contabiliza si secvente
, , ,

formate din cuvinte care apartin majoritar unei secvente extrase de algoritm. Cuvintele de
, ,

legatura nu sunt luate ^n calcul, deoarece ambii algoritmi nu le iau ^n calcul, av^and un impact
minimal asupra extragerii. De asemenea, voi calcula o metrica globala ambilor algoritmi,
pentru a veri ca necesitatea folosirii ambilor algoritmi ^n tandem, pentru a obtine cele mai
,

bune rezultate.

25
Figura 10: Statistici pentru sinopsisul 1

Se observa o performanta semni cativ mai buna a algoritmului EmbedRank, care acopera
,

75.4% din totalul secventelor respondentilor, spre deosebire de doar 54.4% ale lui Rake.
, ,

Presupun^and ca cei 2 algoritmi furnizeaza un set unitar de secvente cheie, avem un c^astig
, ,

de doar 3.5 procente de acoperire fata de cel mai bun rezultat individual, fapt care releva
,

o incluziune aproape totala multimii de secvente acoperite de Rake, ^n multimea secventelor
, , , ,

acoperite de EmbedRank.

26
Figura 11: Statistici pentru sinopsisul 2

De aceasta data rolurile de la primul sinopsis sunt inversate, EmbedRank av^and un procent
de acoperire de doar 58.2%, prin comparatie cu Rake, care urca la 70.9%. Overlap-ul dintre
,

multimile acoperite de cei 2 algoritmi este, de aceasta data, mai mic, c^astigul combinarii celor
, ,

2 algoritmi ind de 4.5%. Procentul de acoperire rezultat ^n urma combinarii, de 76.4%,
este apropiat de cel de 78.9% al primului sinopsis, ^n ciuda modi carilor semni cative ale
procentelor de acoperire la nivelul ecarui algoritm.

27
Figura 12: Statistici pentru sinopsisul 3

Observam o scadere drastica a procentului de acoperire al algoritmului EmbedRank, p^ana


la 26.7%, spre deosebire de Rake, care are o acoperire de 64.4%, de aproximativ 2.4 ori mai
mare. Cu toate acestea, datorita unui overlap mai redus, combinarea lor duce la un procent
de acoperire de 71.1%, surplusul adus de EmbedRank reprezent^and aproximativ 20% din
^ntreaga sa multime de secvente acoperite. Una din potentialele cauze ale rezultatului slab al
, , ,

algoritmului EmbedRank este reprezentat de limbajul folosit ^n cadrul acestui sinopsis, care
este predominant uzual, prin contrast cu embed-ul folosit pentru transformarea secventelor ^n
,

vectori, care este antrenat sa scoata ^n evidenta cuvintele din sfera academica.
,

28
Figura 13: Statistici pentru sinopsisul 4

Procentul de acoperire al lui EmbedRank^nregistreaza o crestere fata de exemplul precedent,


, ,

ajung^and la 36%, ^n timp ce Rake ram^ane la 64%. Acoperirea ^nregistrata de combinarea celor
2 algoritmi este de 70%. De aceasta data, rezultatul relativ slab al algoritmului EmbedRank,
se datoreaza acronimelor prezente ^n sinopsis. Desi embed-ul nu le poate valori ca, ^n acest
,

caz speci c, ele fac parte din majoritatea secventelor alese de respondenti.
, ,

29
Figura 14: Statistici pentru sinopsisul 5

Pentru acest sinopsis, EmbedRank a obtinut un procent de acoperire de 67.4%, semni cativ
,

mai bun fata de ultimele sinopsisuri, iar Rake, 52.2%, cel mai slab rezultat al sau. Desi
, ,

rezultatele celor 2 algoritmi nu sunt foarte bune, procentul de secvente ale respondentilor
, ,

acoperite de secventele extrase de cei 2 algoritmi ^mpreuna este cel mai mare de p^ana acum,
,

78.3%.

Analiz^and evolutiile celor 2 agloritmi pe setul reprezentat de cele 5 sinopsisuri, observam


,

uctuatii semni cative, mai ales ^n cazul algoritmului EmbedRank. Rezultatele acestuia se
^ncadreaza ^n intervalul [26:7%; 75:4%], av^and o medie de 52.74%, si o deviatie standard
,

, ,

de 18.52%. Acest lucru se datoreaza diferentelor de limbaj folosite de diferite sinopsisuri.


,

Embed-ul SciBERT poate ajuta la obtinerea unor rezultate foarte bune ^n cazul ^n care textul
,

analizat are un limbaj c^at mai academic si nu contine acronime sau substantive proprii, mai
ales ca parte relevanta a textului. De asemenea, folosirea MMR cu indicele  = 0:5 rezulta
, ,

^ntr-o selectie de secvente cu un overlap mic, lucru pe care, participantii la studiu nu ^l iau
, , ,

neaparat ^n calcul, fapt care conduce la situatii ^n care acelasi cuvant se regaseste in mai
, , ,

multe secvente extrase de utilizator, ^n timp ce, printre secventele extrase de algoritm nu se
, ,

regasesc toate instantele apartiei acelui cuv^ant.


, ,

30
^In cazul algoritmului Rake, rezultatele se gasesc ^n intervalul [52:2%; 70:9%], av^and o medie
de 61.18% si o deviatie standard de 6.91%. Cu alte cuvinte, raport^andu-ne la rezultatele
, ,

studiului, e cienta algoritmului Rake este mult mai putin uctuanta si ofera,^n medie, rezultate
, , ,

mai bune dec^at EmbedRank. Cu toate acestea, EmbedRank, av^and la dispozitie un text care ,

respecta conditiile mai sus enuntate, are potentialul de a oferi rezultate mai bune.
, , ,

Analiz^and rezultatele celor 2 algoritmi puse la un loc, obtinem un interval de [70%; 78:9%],
,

cu o medie de 74.94% si o deviatie standard de doar 3.69%. Observam ca, cupl^and rezultatele
, ,

extragerilor celor 2 algoritmi, putem obtine rezultate bune ^n mod constant. Acest lucru se
,

datoreaza unui nucleu de secvente asigurat de algoritmul Rake, pe baza statisticilor interne ale
,

cuvintelor componente, EmbedRank venind ^n completare cu secvente suplimentare extrase ,

pe baza relatiilor semantice inferate cu ajutorul embed-ului antrenat special pentru a scoate
,

^n evidenta limbajul speci c task-ului.


,

^In ceea ce priveste clasi carea textelor, modelul antrenat a asociat pentru 4 din cele 5
,

sinopsisuri procesate un topic si, implicit, o lista de cuvinte care caracterizeaza acel topic.
,

Asocierile facute de clasi care sunt urmatoarele:

ˆ pentru sinopsisul 2: depression, forum, social, suicide, illness, disorder, self, posts,
emotional and depressive
ˆ pentru sinopsisul 3: argument, argumentation, argumentative, debate, persuasive, discourse,
arguments, rhetorical and opinion controversial
ˆ pentru sinopsisul 4: twitter, tweet, social, tweets, political, pandemic, topic, disaster,
hashtags and outbreak
ˆ pentru sinopsisul 5: dialogue, speech, dialog, conversation, utterance, speaker, spoken,
conversational, transcription and audio

Pentru ecare din cele 4 selectii, se observa o legatura semnatica puternica ^ntre setul de
,

cuvinte ales si tematica textului ^n cauza.


,

Gazduind serverul web pe o con guratie cu un procesor Intel Core i7 4790K 4.0 GHz 4C/8T,
,

pe sistemul de operare MacOS BigSur 11.4, timpul mediu de procesare de la sumbmisia unuia
dintre sinopsisuri, p^ana la a sarea rezultatelor este de aproximativ 21 de secunde. Timpii de
,

procesare pentru analizarea documentelor asociate acestei liste de sinopsisuri este de ordinul
minutelor, ating^and limita superioara de 2 minute si 49 de secunde, de aproximativ 8 ori mai
,

mult. Acest lucru se datoreaza operatiilor suplimentare de extragere si sanitizare, dar si lucrul
, , ,

algoritmilor cu o cantitate de text semni cativ mai mare, sinopsisul reprezent^an un fragment
relativ mic raportat la ^ntregul corp al unei lucrari stiinti ce. , ,

31
6 CONCLUZII
^In ceea ce priveste extragerea secventelor cheie din lucrarile stiinti ce, putem spune faptul
, , , ,

ca nu ne putem baza pe calitatea rezultatelor unui singur algoritm, ^n orice situatie. Variatii ale , ,

limbajului folosit pot afecta drastic rezultatele unui algoritm precum EmbedRank, care, desi ,

are potentialul de a furniza rezultate foarte bune cu un embed BERT antrenat corespunzator
,

necesitatilor, poate cu usurinta "deturnat" de un text ^n care gradul de redundanta al


, , , ,

secventelor componente este unul ridicat sau limbajul deviaza putin de la formula standard
, ,

a textelor vizate. Pe de alta parte, rezultatele lui Rake ne arata ca, desi metricile statistice ,

de analiza a cuvintelor furnizeaza rezultate relativ constante, ^n raport cu alegerile umane,
rezultatele sale au un potential semni cativ mai redus. Concluzia care se poate trage este
,

aceea ca solutia cea mai buna este combinarea rezultatelor celor 2 algoritmi, pentru a putea
,

bene cia at^at de potentialul embed-urilor BERT, si a modurilor de valori care a relatiilor
, , ,

semantice, c^at si de constanta oferta de metricile statistice, pentru ca cercetatorii sa poata
, ,

bene cia de un instrument e cient de automatizare a procesului de etichetare si indexare a ,

lucrarilor stiinti ce.


, ,

Functionalitatea de extragere a cuvintelor cheie din siere PDF, desi are un potential mai
, , , ,

mare de a extrage secvente relevante, av^and ^ntregul text la dispozitie, are un timp de rulare
, ,

semni cativ mai mare. Folosind o estimare medie de 2 minute per document, pentru a putea
indexa o baza de date cum este cea de pe platforma ACL Anthology, care contine 66 de mii ,

de lucrari stiinti ce, ar trebui sa ruleze timp de aproximativ 92 de zile pentru a putea indexa
, ,

corespunzator. Bine^nteles acest numar poate mai mic sau mai mare, ^n functie de puterea
, ,

de procesare disponibla. Conlcluzia, la acest moment, este ca o astfel de functionalitate poate ,

utila, ^n conditiile ^n care timpul de procesare poate redus, e prin upgrade hardware, e
,

prin optimizare software.

Av^and^n vedere rezultatele promitatoare ale modelului de clasi care antrenat pentru subsetul
,

lucrarilor stiinti ce legate de procesarea limbajului natural, putem concluziona ca solutia este
, , ,

promitatoare pentru un astfel de subset bine de nit, dar nu putem prezice cu exactitate
,

scalabiliatea acestuia pentru ^ntregul set, deoarece exista o varietate foarte mare, care ar
conduce la necesitatea unei multimi de antrenare foarte mare, despre care nu avem certitudinea
,

ca va da rezultatele scontate.

32
BIBLIOGRAFIE
[1] Iz Beltagy, Kyle Lo, and Arman Cohan. Scibert: A pretrained language model for scienti c
text, 2019.
[2] Kamil Bennani-Smires, Claudiu Musat, Andreea Hossmann, Michael Baeriswyl, and
Martin Jaggi. Simple Unsupervised Keyphrase Extraction using Sentence Embeddings.
arXiv e-prints, page arXiv:1801.04470, January 2018.
[3] Monica Bianchini, Marco Gori, and Franco Scarselli. Inside pagerank. ACM Trans.
Internet Technol., 5(1):92{128, February 2005.
[4] Adrien Bougouin, Florian Boudin, and Beatrice Daille. TopicRank: Graph-based topic
ranking for keyphrase extraction. In Proceedings of the Sixth International Joint
Conference on Natural Language Processing, pages 543{551, Nagoya, Japan, October
2013. Asian Federation of Natural Language Processing.
[5] Ricardo Campos, Vtor Mangaravite, Arian Pasquali, Alpio Jorge, Celia Nunes, and
Adam Jatowt. Yake! keyword extraction from single documents using multiple local
features. Information Sciences, 509:257{289, 2020.
[6] Arman Cohan, Sergey Feldman, Iz Beltagy, Doug Downey, and Daniel S. Weld. Specter:
Document-level representation learning using citation-informed transformers, 2020.
[7] Samhaa R. El-Beltagy and Ahmed Rafea. Kp-miner: A keyphrase extraction system for
english and arabic documents. Information Systems, 34(1):132{144, 2009.
[8] Association for Computational Linguistics. Acl anthology. https://www.aclweb.org/
anthology/.

[9] Leland McInnes, John Healy, and James Melville. Umap: Uniform manifold approximation
and projection for dimension reduction, 2020.
[10] Daniel Mullner. Modern hierarchical, agglomerative clustering algorithms, 2011.
[11] Felipe Pezoa, Juan L. Reutter, Fernando Suarez, Martn Ugarte, and Domagoj Vrgoc.
Foundations of json schema. In Proceedings of the 25th International Conference on
World Wide Web, WWW '16, page 263{273, Republic and Canton of Geneva, CHE,
2016. International World Wide Web Conferences Steering Committee.
[12] Mihalcea Rada and Tarau Paul. TextRank: Bringing order into text. In Proceedings
of the 2004 Conference on Empirical Methods in Natural Language Processing, pages
404{411, Barcelona, Spain, July 2004. Association for Computational Linguistics.

33
[13] Md Farhadur Rahman, Weimo Liu, Saad Bin Suhaim, Saravanan Thirumuruganathan,
Nan Zhang, and Gautam Das. Hdbscan: Density based clustering over location based
services, 2016.
[14] Nils Reimers and Iryna Gurevych. Sentence-bert: Sentence embeddings using siamese
bert-networks. CoRR, abs/1908.10084, 2019.
[15] Stuart Rose, Dave Engel, Nick Cramer, and Wendy Cowley. Automatic keyword
extraction from individual documents. Text mining: applications and theory, 1:1{20,
2010.
[16] Chengyu Sun, Liang Hu, Shuai Li, Tuohang Li, Hongtu Li, and Ling Chi. A review of
unsupervised keyphrase extraction methods using within-collection resources. Symmetry,
12(11):1864, 2020.
[17] Xiaojun Wan and Jianguo Xiao. Collabrank: towards a collaborative approach to single-
document keyphrase extraction. In Proceedings of the 22nd International Conference on
Computational Linguistics (Coling 2008), pages 969{976, 2008.
[18] Thomas Wolf, Lysandre Debut, Victor Sanh, Julien Chaumond, Clement Delangue,
Anthony Moi, Pierric Cistac, Tim Rault, Remi Louf, Morgan Funtowicz, Joe Davison,
Sam Shleifer, Patrick von Platen, Clara Ma, Yacine Jernite, Julien Plu, Canwen Xu,
Teven Le Scao, Sylvain Gugger, Mariama Drame, Quentin Lhoest, and Alexander M.
Rush. Huggingface's transformers: State-of-the-art natural language processing, 2020.
[19] Xian-Da Zhang. Machine Learning, pages 223{440. Springer Singapore, Singapore, 2020.

34

S-ar putea să vă placă și